XML, XSLT, XPath, XQuery 5 Aug 2002 Introduction XML (eXtensible Markup Language) – Holding data XSLT (eXtensible Style Language Transform) – Transform one XML to another XML or other text such as HTML XPath (XML Path) – A way to locate items in a XML file XQuery (XML Query) – Query on one or more XML file to produce another XML file Analogy XML view Database view XML Data XSLT HTML with ASP,JSP XPath Referring to a field, such as Student.id XQuery SQL Semi-structured structured Exchange and sharing storage Self-describing RDMS enforced constraint Properties Sample XML (link) <?xml:stylesheet type="text/xsl" href="classical.xsl"?> <authors> <author period="Classical"> Specify <name>Mozart</name> <nationality>Austrian</nationality> XSL for display </author> <author period="Classical"> <name>Beethoven</name> <nationality>German</nationality> </author> <author period="Baroque"> <name>Bach</name> <nationality>German</nationality> </author> <author period="Romance"> <name>Mahler</name> <nationality>Austrian</nationality> </author> </authors> DOM Tree Root Node Element Node Text Node authors author period name Attribute Node author nationality Classical name period author nationality Classical Mozart Austrian Beethoven period name nationality Bach German Baroque German Sample XSL (link) <xsl:stylesheet xmlns:xsl="http://www.w3.org/TR/WD-xsl"> <xsl:template match="/"> <HTML> XSL version <HEAD><TITLE>Authors</TITLE></HEAD> <BODY> <H1>Composers from Austria</H1> <TABLE BORDER="1"><TR><TH>Name</TH></TR> XPath <xsl:for-each select="/authors/author[nationality='Austrian']"> <TR><TD><xsl:value-of select="name" /></TD></TR> </xsl:for-each> </TABLE> </BODY> </HTML> </xsl:template> </xsl:stylesheet> Output (link) Original XML Transformed XML Sample XSL <xsl:stylesheet xmlns:xsl="http://www.w3.org/TR/WD-xsl"> <xsl:template match="/"> <HTML> <HEAD><TITLE>Authors</TITLE></HEAD> <BODY> <H1>Composers from classical period</H1> <TABLE BORDER="1"> <TR><TH>Name</TH></TR> <xsl:for-each select="/authors/author[@period='Classical']"> <TR><TD><xsl:value-of select="name" /> </TD></TR> </xsl:for-each> </TABLE> </BODY> </HTML> </xsl:template> </xsl:stylesheet> Output Original XML Transformed XML P2P Example (link) <peer ip=“137.189.89.7”> <image name=“a.jpg”> <signature>15</signature> </image> <image name=“b.jpg”> <signature>20</signature> </image> <image name=“c.jpg”> <signature>13</signature> </image> <image name=“d.jpg”> <signature>5</signature> </image> </node> XQuery (link) (xquery) <result> { FOR $i IN document(“index.xml")/peer/image WHERE $i/signature > “10” AND $i/signature < “16” RETURN $i } </result> > sample –f index.xml –a index.xml –q query.xqu <result> <image filename="a.jpg"> <signature>15</signature> </image> <image filename="c.jpg"> <signature>13</signature> </image> </result> Illustration XQuery Validating parser DTD/ schema XML XQuery engine XML Browser XSL Assist XPath XML/ text/ HTML Possible Application XML index file XML index file XQuery Web/ Gnutella gateway XML Web XML index file XML index file XQuery XML index file P2P Other P2P client Other presentation method
© Copyright 2025 ExpyDoc