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는 따옴표(")로 묶어줌
- Text에 "<"와 같은 글자는 문제가 되므로 < 등으로 표현
- < - <
- > - >
- & - &
- ' - '
- " - "
- 주석은 다음과 같이 표현
- XML에서 새로운 줄은 LF임
- Windows에서는 CR + LF
- Unix나 OSX는 LF
- Old Mac은 CR
- XML은 은 LF
- XML Elements (XML 요소들) - 다음을 포함한다.
- text (텍스트)
- attributes (속성들)
- <person color="blue">Wooguy</person>
- other elements (다른 요소들)
- 위의 것들을 섞어서..
- XML Attributes (XML 속성들)
- values(값들)은 따옴표(")로 묶여져야 한다.
- 자체적으로 쌍따옴표(")를 사용할 경우 홑따옴표로 묶는다.
- <gangster name='Georage "Shotgun" Ziegler'>
- <gangster name="Georage "Shotgun" 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>