요소 와 속성 을 추가하는 XQuery
XML 예제 문서
아래 예제에서 "books.xml" 문서를 사용할 것입니다(이전 장에서와 동일한 XML 파일).
결과에 요소 및 속성 추가
이전 장에서 보았듯이 입력 문서("books.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 표현식은 입력 문서에 설명된 것과 똑같은 방식으로 제목 요소를 반환합니다.
이제 결과에 고유한 요소와 속성을 추가하려고 합니다!
HTML 요소 및 텍스트 추가
이제 결과에 일부 HTML 요소를 추가하려고 합니다. 결과를 일부 텍스트와 함께 HTML 목록에 넣습니다.
<html>
<body>
<h1>Bookstore</h1>
<ul>
{
for $x in doc("books.xml")/bookstore/book
order by $x/title
return <li>{data($x/title)}. Category: {data($x/@category)}</li>
}
</ul>
</body>
</html>
위의 XQuery 표현식은 다음 결과를 생성합니다.
<html>
<body>
<h1>Bookstore</h1>
<ul>
<li>Everyday Italian. Category: COOKING</li>
<li>Harry Potter. Category: CHILDREN</li>
<li>Learning XML. Category: WEB</li>
<li>XQuery Kick Start. Category: WEB</li>
</ul>
</body>
</html>
HTML 요소에 속성 추가
다음으로 카테고리 속성을 HTML 목록의 클래스 속성으로 사용하려고 합니다.
<html>
<body>
<h1>Bookstore</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>Bookstore</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>