XQuery 요소와 속성 추가
XML 예제 문서
아래의 예제에서는 이 "books.xml" 문서를 계속 사용하겠습니다(위 장에서 사용한 XML 파일과 동일합니다)。
결과에 요소와 속성 추가
이전 장에서 본 것처럼, 우리는 결과에서 입력 파일의 요소와 속성을 참조할 수 있습니다:
for $x in doc("books.xml")/bookstore/book/title order by $x return $x
위의 XQuery 표현식은 결과에서 title 요소와 lang 속성을 이렇게 참조합니다:
<title lang="en">Everyday Italian</title> <title lang="en">Harry Potter</title> <title lang="en">Learning XML</title> <title lang="en">XQuery Kick Start</title>
위의 XQuery 표현식은 title 요소를 반환하는 방식과 그들이 입력 문서에서 설명된 방식이 동일합니다。
지금, 우리는 결과에 우리의 요소와 속성을 추가하려고 합니다!
HTML 요소와 텍스트 추가
지금, 우리는 결과에 HTML 요소를 추가하려고 합니다. 결과를 HTML 목록에 넣을 것입니다:
<html> <body> <h1>서점</h1> <ul> { for $x in doc("books.xml")/bookstore/book order by $x/title return <li>{data($x/title)}. 카테고리: {data($x/@category)}</li> } </ul> </body> </html>
위의 XQuery 표현식은 다음과 같은 결과를 생성합니다:
<html> <body> <h1>서점</h1> <ul> <li>매일 이탈리아어. 카테고리: 요리</li> <li>Harry Potter. Category: CHILDREN</li> <li>Learning XML. Category: WEB</li> <li>XQuery Kick Start. Category: WEB</li> </ul> </body> </html>
HTML 요소에 속성 추가
다음은 category 속성을 HTML 목록의 class 속성으로 사용할 예입니다:
<html> <body> <h1>서점</h1> <ul> { for $x in doc("books.xml")/bookstore/book order by $x/title return <li class="{data($x/@category)}">{data($x/title)}</li> } </ul> </body> </html>
위의 XQuery 표현식은 다음과 같은 결과를 생성할 수 있습니다:
<html> <body> <h1>서점</h1> <ul> <li class="COOKING">Everyday Italian</li> <li class="CHILDREN">Harry Potter</li> <li class="WEB">Learning XML</li> <li class="WEB">XQuery Kick Start</li> </ul> </body> </html>