Mega Code Archive

 
Categories / XML / XSLT StyleSheet
 

Use text() function to get text

File: Data.xml  <?xml version="1.0" encoding="UTF-8"?> <?xml-stylesheet type="text/xsl" href="Transform.xslt" ?> <html>   <head>   <title>A simple HTML page</title>   <style type="text/css">     body { font-family: Verdana, Arial, sans-serif; font-size: 12px;}   </style>   </head> </html> 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="html" version="4.0" indent="yes"/>   <xsl:template match="node()|@*">     <xsl:copy>       <xsl:apply-templates select="node()|@*"/>     </xsl:copy>   </xsl:template>   <xsl:template match="body">     <body>       <ul>         <xsl:for-each select="h2">           <li>             <a>               <xsl:attribute name="href">                 #<xsl:value-of select="text()"/></xsl:attribute>               <xsl:value-of select="text()"/>             </a>           </li>         </xsl:for-each>       </ul>       <xsl:apply-templates/>     </body>   </xsl:template>   <xsl:template match="h2">     <a>       <xsl:attribute name="name"><xsl:value-of select="text()"/></xsl:attribute>       <h2>         <xsl:apply-templates/>       </h2>     </a>   </xsl:template> </xsl:stylesheet> Output: <?xml-stylesheet type="text/xsl" href="Transform.xslt" ><html>        <head>       <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">              <title>A simple HTML page</title>       <style type="text/css">     body { font-family: Verdana, Arial, sans-serif; font-size: 12px;}   </style>       </head>         </html>