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>
</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 노드를 찾아라