* for level : axis « XPath « XML Tutorial






File: Data.xml

<?xml version="1.0" encoding="UTF-8"?>
<employee eid="1" dept="programming">
  <contact type="spouse">
    <name>
      <firstName>Jill</firstName>
      <middleName int="A">Alicia</middleName>
      <lastName>Smith</lastName>
    </name>
    <address>
      <street>1 Drive</street>
      <city>Vancouver</city>
      <state>BC</state>
      <zipcode>80210</zipcode>
    </address>
    <phone>
      <tel type="wk">303-4668903</tel>
      <tel type="hm">222-222222</tel>
      <fax>303-4667357</fax>
    </phone>
    <email>j@hotmail.com</email>
  </contact>
</employee>

File: Transform.xslt

<?xml version="1.0" encoding="utf-8"?>
<xsl:stylesheet version="1.0"
  xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
  <xsl:output method="xml" indent="yes" />
  <xsl:param name="doc"
    select="employees/employee[1]/contact/@addInfo" />
  <xsl:variable name="contacts" select="document($doc)" />
  <xsl:template match="/">

    <html>
      <head>
        <title>Email Listing</title>
      </head>
      <body>
        Your search brought the following results:
        <xsl:value-of select="$contacts/*/firstName" />
        <xsl:text> </xsl:text>
        <xsl:copy-of select="$contacts/*/lastName/text()" />
      </body>
    </html>
  </xsl:template>
</xsl:stylesheet>

Output:

<?xml version="1.0" encoding="UTF-8"?>
<html>
   <head>
      <title>Email Listing</title>
   </head>
   <body>
        Your search brought the following results:
         </body>
</html>








4.1.axis
4.1.1.Modeling XML Documents with Axis
4.1.2.All axes were used in this example
4.1.3.select element by index
4.1.4.Decendents of
4.1.5.Check current element value, the output
4.1.6.match element by name
4.1.7.Element level matching
4.1.8.Math calculation with current value
4.1.9.If an element has a child
4.1.10.If one element has at least one child element
4.1.11.If an element has more than 3 child elements
4.1.12.match="@*|node()"
4.1.13.select dot for value-of
4.1.14.* for level
4.1.15.If element has value
4.1.16.selects only elements which occurs first in each level