XML(eXtensible Markup Language)
- tree 구조 ( hierarchical )
- 반드시 단 하나의 root만 가져야 한다
- DTD(Document Type Definition)는 문서 당 하나여야 한다
```xml
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE note[
<!ELEMENT note (to,from,heading,body)>
<!ELEMENT to (#PCDATA)>
<!ELEMENT from (#PCDATA)>
<!ELEMENT heading (#PCDATA)>
<!ELEMENT body (#PCDATA)>
]>
<TCPIP>
<ip addr="loopback">127.0.0.1</ip>
.
.
.
```
검색
```xml
일반적으로는 /
문서 전체에서 검색 // 계층은 상관없음
attribute를 검색 @ /ip/@addr 하면 loopback이 나온다.
attribute로 검색 [] /ip[addr="loopback"]
```
xpath에서 namespace 때문에 tag가 검색이 잘 안되는데, 그럴 땐 //*[local-name()='ip']를 이용한다.
또는 NameSpaceContext를 만들어서 xpath에 붙여도 된다.
namespace
다른 parent 아래에 있지만 이름이 같은 tag 들은 ``xml //tag``로 검색시 구분이 안되기 때문에, namespace를 지원한다.
```xml
<video:TCPIP xmlns:video="URL">
<video:ip>
```
alias같은 개념으로 `` video == "URL"``이며 이를 이용해 중복을 회피할 수 있다.
Note ) namespace는 해당 element가 어느 group에 속해 있는지를 나타내는 것 이외에 어떤 의미도 가지지 않는다. 즉 element 이름이 `` video:ip``가 되는 것이 아니라, ip가 video group이라는 것만 나타낸다.
'JS Stack > Front-end' 카테고리의 다른 글
[jQuery] CDN, Usage (0) | 2017.04.13 |
---|---|
쿠키(Cookie)와 저장소(Storage) (0) | 2017.04.12 |
[Front-end] DOM 이벤트 모델 (0) | 2017.03.15 |
[JS] 팁, 문서 객체 모델(DOM) (0) | 2017.03.15 |
HTML (HTML5) (0) | 2017.03.01 |