2017년 8월 29일 화요일

[AJAX Study] 01. XML

https://www.w3schools.com/xml/ajax_intro.asp
  • XML (eXtensible Markup Language)
    • XML은 데이터의 저장과 전송에 맞춰져 있다.



  • XML Tree
    • Root element
    • Element
    • Attribute
    • Text



  • XML 문법
    • prolog
      • <?xml version="1.0" encoding="UTF-8"?>
    • Closing Tag가 필수
      • prolog는 XML 문서의 일부분이 아니므로 제외
    • Tag의 대소문자 구분함
    • Attribute의 Value는 따옴표(")로 묶어줌
      • <note date="12/11/2007">
    • Text에 "<"와 같은 글자는 문제가 되므로 &lt; 등으로 표현
      • &lt; - <
      • &gt; - >
      • &amp; - &
      • &apos; - '
      • &quot; - "
    • 주석은 다음과 같이 표현
      • <!-- 이부분이 주석부분 -->
    • XML에서 새로운 줄은 LF임
      • Windows에서는 CR + LF
      • Unix나 OSX는 LF
      • Old Mac은 CR
      • XML은 은 LF

  • XML Elements (XML 요소들) - 다음을 포함한다.
    • text (텍스트)
      • <title>Wooguy</title>
    • attributes (속성들)
      • <person color="blue">Wooguy</person>
    • other elements (다른 요소들)
    • 위의 것들을 섞어서..

  • XML Attributes (XML 속성들)
    • values(값들)은 따옴표(")로 묶여져야 한다.
      • <person gender="female">
    • 자체적으로 쌍따옴표(")를 사용할 경우 홑따옴표로 묶는다.
      • <gangster name='Georage "Shotgun" Ziegler'>
      • <gangster name="Georage &quot;Shotgun&quot; Ziegler">
    • element와 attribute의 사용 고려
      • 속성은 다중 값을 포함할 수 없음 (요소는 가능)
      • 속성은 Tree 구조를 포함할 수 없음 (요소는 가능)
      • 속성은 쉽게 확장할 수 없음 (향후 변경을 위해)

  • XML Namespaces
    • XML 네임스페이스는 element 이름 충돌을 피할수 있는 방법을 제공함.
    • 이름충돌
      • 개발자에 의해 정해진 요소 이름들이, 다른 XML 문서와 합쳐지는 경우 충돌이 발생한다.
      • <table>
          <tr>
            <td>Apples</td>
            <td>Bananas</td>
          </tr>
        </table>
      • <table>
          <name>African Coffee Table</name>
          <width>80</width>
          <length>120</length>
        </table>
      • <h:table>
          <h:tr>
            <h:td>Apples</h:td>
            <h:td>Bananas</h:td>
          </h:tr>
        </h:table>

        <f:table>
          <f:name>African Coffee Table</f:name>
          <f:width>80</f:width>
          <f:length>120</f:length>
        </f:table>
    • xmlns 속성
      • <root xmlns:h="http://www.w3.org/TR/html4/" xmlns:f="https://www.w3schools.com/furniture">

        <h:table>
          <h:tr>
            <h:td>Apples</h:td>
            <h:td>Bananas</h:td>
          </h:tr>
        </h:table>

        <f:table>
          <f:name>African Coffee Table</f:name>
          <f:width>80</f:width>
          <f:length>120</f:length>
        </f:table>

        </root>