Mega Code Archive

 
Categories / XML Tutorial / XSLT StyleSheet
 

Generate-id() generates id conforming to XML spec

File: Data.xml <?xml version="1.0" encoding="utf-8"?> <data>     <AAA name="top">       <BBB pos="1" val="bbb">11111</BBB>       <BBB>22222</BBB>     </AAA>     <AAA name="bottom">       <BBB>33333</BBB>       <BBB>44444</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="/">       <DIV>         <B>           <xsl:text>generate-id(//AAA)  : </xsl:text>         </B>         <xsl:value-of select="generate-id(//AAA)  "/>       </DIV>       <DIV>         <B>           <xsl:text>generate-id(//BBB)  : </xsl:text>         </B>         <xsl:value-of select="generate-id(//BBB)  "/>       </DIV>       <DIV>         <B>           <xsl:text>generate-id(//AAA[1])  : </xsl:text>         </B>         <xsl:value-of select="generate-id(//AAA[1])  "/>       </DIV>       <DIV>         <B>           <xsl:text>generate-id(//*[1])  : </xsl:text>         </B>         <xsl:value-of select="generate-id(//*[1])  "/>       </DIV>       <DIV>         <B>           <xsl:text>generate-id(//xslTutorial/*[1])  : </xsl:text>         </B>         <xsl:value-of select="generate-id(//xslTutorial/*[1])  "/>       </DIV>     </xsl:template> </xsl:stylesheet> Output: <?xml version="1.0" encoding="UTF-8"?><DIV><B>generate-id(//AAA)  : </B>d2e3</DIV><DIV><B>generate-id(//BBB)  : </B>d2e5</DIV><DIV><B>generate-id(//AAA[1])  : </B>d2e3</DIV><DIV><B>generate-id(//*[1])  : </B>d2e1</DIV><DIV><B>generate-id(//xslTutorial/*[1])  : </B></DIV>