XQuery - HTML Biçimi

XQuery, bir XML belgesini bir HTML sayfasına dönüştürmek için de kolayca kullanılabilir. XQuery'nin bunu nasıl yaptığını anlamak için aşağıdaki örneğe bir göz atın.

Misal

Aynı books.xml dosyasını kullanacağız. Aşağıdaki örnek, XQuery'nin books.xml'den veri ayıklamasını kullanır ve ilgili fiyatları ile birlikte tüm kitapların başlıklarını içeren bir HTML tablosu oluşturur.

books.xml

<?xml version="1.0" encoding="UTF-8"?>
<books>
   
   <book category="JAVA">
      <title lang="en">Learn Java in 24 Hours</title>
      <author>Robert</author>
      <year>2005</year>
      <price>30.00</price>
   </book>
   
   <book category="DOTNET">
      <title lang="en">Learn .Net in 24 hours</title>
      <author>Peter</author>
      <year>2011</year>
      <price>70.50</price>
   </book>
   
   <book category="XML">
      <title lang="en">Learn XQuery in 24 hours</title>
      <author>Robert</author>
      <author>Peter</author> 
      <year>2013</year>
      <price>50.00</price>
   </book>
   
   <book category="XML">
      <title lang="en">Learn XPath in 24 hours</title>
      <author>Jay Ban</author>
      <year>2010</year>
      <price>16.50</price>
   </book>
   
</books>

Aşağıda, yukarıdaki XML belgesinde çalıştırılacak Xquery ifadesi verilmiştir.

books.xqy

let $books := (doc("books.xml")/books/book) return <table><tr><th>Title</th><th>Price</th></tr> { for $x in $books order by $x/price
   return <tr><td>{data($x/title)}</td><td>{data($x/price)}</td></tr>
}
</table>
</results>

Sonuç

<table>
   <tr>
      <th>Title</th>
      <th>Price</th>
   </tr>
   <tr>
      <td>Learn XPath in 24 hours</td>
      <td>16.50</td>
   </tr>   
   <tr>
      <td>Learn Java in 24 Hours</td>
      <td>30.00</td>
   </tr>
   <tr>
      <td>Learn XQuery in 24 hours</td>
      <td>50.00</td>
   </tr>   
   <tr>
      <td>Learn .Net in 24 hours</td>
      <td>70.50</td>
   </tr>
</table>

Sonucu Doğrula

Sonucu doğrulamak için, books.xqy'nin içeriğini ( Ortam Kurulumu bölümünde verilmiştir) yukarıdaki XQuery ifadesiyle değiştirin ve XQueryTester java programını çalıştırın.

XQuery İfadeleri

Burada aşağıdaki XQuery ifadelerini kullandık -

  • title öğesinin değerini değerlendirmek için data () işlevi ve

  • {} operatörü, XQuery işlemcisine verileri () bir işlev olarak kabul etmesini söyler. {} Operatörü kullanılmazsa, data () normal metin olarak değerlendirilecektir.