1~5장까지는 훑어보면 알만한 내용.
6장 XML 스키마 언어는 조금 보다가 복잡해지고, 이번 프로젝트랑은 크게 상관없을 듯 하여 pass.
나중에 필요하면 찾아보는 걸로 해도 괜찮을 듯.
7장 XPath와 그 뒤의 DOM 기반 문서 처리, SAX 기반 문서 처리 쪽은 중요!
XPath관련
/child::booklist/child::book
루트 노드의 자식 노드인 booklist의 자식 노드인 book을 찾아라
/child::booklist/child::book/attribute::kind
루트 노드의 자식 노드인 booklist의 자식 노드인 book의 속성 kind값을 찾아라
/child::booklist/child::book[attribute::kind="computer"]
루트 노드의 자식 노드인 booklist의 자식 노드인 book 중에서, 속성 kind 값이 "computer"인 book 노드를 찾아라
/child::booklist/child::book[contains(child::title, "전자")]
루트 노드의 자식 노드인 booklist의 자식 노드인 book 중에서, book의 자식인 title 노드의 문자 데이터 값 중에 "전자" 가 포함된 book 노드를 찾아라.
<book>
<title>전자사전</title>
6장 XML 스키마 언어는 조금 보다가 복잡해지고, 이번 프로젝트랑은 크게 상관없을 듯 하여 pass.
나중에 필요하면 찾아보는 걸로 해도 괜찮을 듯.
7장 XPath와 그 뒤의 DOM 기반 문서 처리, SAX 기반 문서 처리 쪽은 중요!
XPath관련
/child::booklist/child::book
루트 노드의 자식 노드인 booklist의 자식 노드인 book을 찾아라
/child::booklist/child::book/attribute::kind
루트 노드의 자식 노드인 booklist의 자식 노드인 book의 속성 kind값을 찾아라
/child::booklist/child::book[attribute::kind="computer"]
루트 노드의 자식 노드인 booklist의 자식 노드인 book 중에서, 속성 kind 값이 "computer"인 book 노드를 찾아라
/child::booklist/child::book[contains(child::title, "전자")]
루트 노드의 자식 노드인 booklist의 자식 노드인 book 중에서, book의 자식인 title 노드의 문자 데이터 값 중에 "전자" 가 포함된 book 노드를 찾아라.
<book>
<title>전자사전</title>
</book>
뭐 이런거...
//book
XML문서 전체에서 book 노드를 찾아라. /booklist/book 은 booklist의 자식 노드인 book을 찾는 것이므로 다르다.
/booklist/book[@kind="computer"]
루트 노드의 자식 노드인 booklist의 자식 노드인 book 중에서, book의 속성 kind의 값이 computer인 book 노드를 찾아라
//book[@kind="computer"]
XML문서 전체에서 속성 kind의 값이 computer인 book 노드를 찾아라
/booklist/book/title[../@kind="computer"]
루트 노드의 자식 노드인 booklist의 자식 노드인 book의 자식 노드인 title 중에서, title의 부모인 book 노드의 속성 kind 값이 computer인 title 노드를 찾아라
XPath 함수 사용
/booklist/book[position()=last()] 또는 /booklist/book[last()]
루트 노드의 자식 노드인 booklist의 자식 노드인 book 중에서, 마지막 위치에 있는 book 노드를 찾아라
/booklist/book[position()=2] 또는 /booklist/book[2]
루트 노드의 자식 노드인 booklist의 자식 노드인 book 중에서, 두번째 위치에 있는 book 노드를 찾아라
count(/booklist/book)
booklist 밑의 book 노드의 총 개수를 얻는다
/booklist/book[starts-with(title, '사')]
booklist 밑의 book 노드 밑의 title 노드의 컨텐츠 내용이 '사'로 시작하는 book 노드를 찾아라
/booklist/book[contains(title, 'XML')]
book 노드 중에서 자식 노드인 title 노드의 컨텐츠 내용에 'XML'이 포함되어 있는 book 노드를 찾아라
/booklist/book[not(contains(title, 'XML'))]
book 노드 중에서 자식 노드인 title 노드의 컨텐츠 내용에 'XML'이 포함되어 있지 않은 book 노드를 찾아라
뭐 이런거...
//book
XML문서 전체에서 book 노드를 찾아라. /booklist/book 은 booklist의 자식 노드인 book을 찾는 것이므로 다르다.
/booklist/book[@kind="computer"]
루트 노드의 자식 노드인 booklist의 자식 노드인 book 중에서, book의 속성 kind의 값이 computer인 book 노드를 찾아라
//book[@kind="computer"]
XML문서 전체에서 속성 kind의 값이 computer인 book 노드를 찾아라
/booklist/book/title[../@kind="computer"]
루트 노드의 자식 노드인 booklist의 자식 노드인 book의 자식 노드인 title 중에서, title의 부모인 book 노드의 속성 kind 값이 computer인 title 노드를 찾아라
XPath 함수 사용
/booklist/book[position()=last()] 또는 /booklist/book[last()]
루트 노드의 자식 노드인 booklist의 자식 노드인 book 중에서, 마지막 위치에 있는 book 노드를 찾아라
/booklist/book[position()=2] 또는 /booklist/book[2]
루트 노드의 자식 노드인 booklist의 자식 노드인 book 중에서, 두번째 위치에 있는 book 노드를 찾아라
count(/booklist/book)
booklist 밑의 book 노드의 총 개수를 얻는다
/booklist/book[starts-with(title, '사')]
booklist 밑의 book 노드 밑의 title 노드의 컨텐츠 내용이 '사'로 시작하는 book 노드를 찾아라
/booklist/book[contains(title, 'XML')]
book 노드 중에서 자식 노드인 title 노드의 컨텐츠 내용에 'XML'이 포함되어 있는 book 노드를 찾아라
/booklist/book[not(contains(title, 'XML'))]
book 노드 중에서 자식 노드인 title 노드의 컨텐츠 내용에 'XML'이 포함되어 있지 않은 book 노드를 찾아라
'프로그래밍 > Web' 카테고리의 다른 글
[스터디] Java개발자를 위한 XML 3 (0) | 2009.02.12 |
---|---|
[스터디] Java개발자를 위한 XML 2 (0) | 2009.02.12 |
[스터디] Ajax 마스터하기, Part 2: JavaScript와 Ajax를 이용한 비동기식 요청 (0) | 2009.02.06 |
[스터디] Ajax 마스터하기 Part 1: Ajax 소개 (0) | 2009.02.06 |
[펌] Ajax, jQuery 관련 강의 (0) | 2009.02.06 |