Mega Code Archive

 
Categories / XML / XSLT StyleSheet
 

Name( ) dot

File: Data.xml <poem xmlns:red="http://www.rntsoft.com/red"   xmlns:blue="http://www.rntsoft.com/blue">   <red:title>From Book IV</red:title>   <blue:verse>line 1</blue:verse>   <red:verse>line 2</red:verse>   <blue:verse>line 3</blue:verse>   <verse>line 4</verse> </poem> File: Transform.xslt <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"   xmlns:red="http://www.rntsoft.com/red"   xmlns:blau="http://www.rntsoft.com/blue" version="1.0">   <xsl:output method="text" />   <xsl:template match="poem">     Namespace nodes:     <xsl:for-each select="namespace::*">       <xsl:value-of select="name()" />       <xsl:text> </xsl:text>     </xsl:for-each>     <xsl:apply-templates />   </xsl:template>   <xsl:template match="blau:verse">     Found a blue verse. name     <xsl:value-of select="name()" />     local-name     <xsl:value-of select="local-name()" />     namespace-uri     <xsl:value-of select="namespace-uri()" />     contents     <xsl:apply-templates />   </xsl:template>   <xsl:template match="red:*">     Found a red node: name     <xsl:value-of select="name(.)" />     local-name     <xsl:value-of select="local-name(.)" />     namespace-uri     <xsl:value-of select="namespace-uri(.)" />     contents     <xsl:apply-templates />   </xsl:template>   <xsl:template match="verse">     Found a verse element from the default namespace: name     <xsl:value-of select="name(.)" />     local-name     <xsl:value-of select="local-name(.)" />     namespace-uri     <xsl:value-of select="namespace-uri(.)" />     contents     <xsl:apply-templates />   </xsl:template>   <xsl:template match="*" /> </xsl:stylesheet> Output: Namespace nodes:     xml blue red         Found a red node: name     red:title     local-name     title     namespace-uri     http://www.rntsoft.com/red     contents     From Book IV        Found a blue verse. name     blue:verse     local-name     verse     namespace-uri     http://www.rntsoft.com/blue     contents     line 1        Found a red node: name     red:verse     local-name     verse     namespace-uri     http://www.rntsoft.com/red     contents     line 2        Found a blue verse. name     blue:verse     local-name     verse     namespace-uri     http://www.rntsoft.com/blue     contents     line 3        Found a verse element from the default namespace: name     verse     local-name     verse     namespace-uri          contents     line 4