Mega Code Archive

 
Categories / XML Tutorial / Xpath
 

is short for parent

File: Data.xml <?xml version="1.0" encoding="utf-8"?> <data>     <AAA id="a1" pos="start">       <BBB id="b1"/>       <BBB id="b2"/>     </AAA>     <AAA id="a2">       <BBB id="b3"/>       <BBB id="b4"/>       <CCC id="c1">         <CCC id="c2"/>       </CCC>       <BBB id="b5">         <CCC id="c3"/>       </BBB>     </AAA>   </data>   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:template match="BBB">       <H3>         <xsl:value-of select="name()"/>         <xsl:text/>         <xsl:value-of select="@id"/>       </H3>       <TABLE border="1">         <TR>           <td>full</TH>           <td>abbreviated</TH>         </TR>         <TR>           <TD>             <xsl:text>parent::*/attribute::id</xsl:text>           </TD>           <TD>             <xsl:text>../@id</xsl:text>           </TD>         </TR>         <TR>           <TD>             <xsl:value-of select="parent::*/attribute::id"/>           </TD>           <TD>             <xsl:value-of select="../@id"/>           </TD>         </TR>       </TABLE>     </xsl:template> </xsl:stylesheet> Output: <?xml version="1.0" encoding="UTF-8"?>            <H3>BBBb1</H3><TABLE border="1"><TR><td>full</TH><td>abbreviated</TH></TR><TR><TD>parent::*/attribute::id</TD><TD>../@id</TD></TR><TR><TD>a1</TD><TD>a1</TD></TR></TABLE>       <H3>BBBb2</H3><TABLE border="1"><TR><td>full</TH><td>abbreviated</TH></TR><TR><TD>parent::*/attribute::id</TD><TD>../@id</TD></TR><TR><TD>a1</TD><TD>a1</TD></TR></TABLE>            <H3>BBBb3</H3><TABLE border="1"><TR><td>full</TH><td>abbreviated</TH></TR><TR><TD>parent::*/attribute::id</TD><TD>../@id</TD></TR><TR><TD>a2</TD><TD>a2</TD></TR></TABLE>       <H3>BBBb4</H3><TABLE border="1"><TR><td>full</TH><td>abbreviated</TH></TR><TR><TD>parent::*/attribute::id</TD><TD>../@id</TD></TR><TR><TD>a2</TD><TD>a2</TD></TR></TABLE>                              <H3>BBBb5</H3><TABLE border="1"><TR><td>full</TH><td>abbreviated</TH></TR><TR><TD>parent::*/attribute::id</TD><TD>../@id</TD></TR><TR><TD>a2</TD><TD>a2</TD></TR></TABLE>