name(.) dot : name « XSLT stylesheet « XML






name(.) dot



File: Data.xml

<poem xmlns:red="http://www.java2s.com/red"
  xmlns:blue="http://www.java2s.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.java2s.com/red"
  xmlns:blau="http://www.java2s.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.java2s.com/red
    contents
    From Book IV
  
    Found a blue verse. name
    blue:verse
    local-name
    verse
    namespace-uri
    http://www.java2s.com/blue
    contents
    line 1
  
    Found a red node: name
    red:verse
    local-name
    verse
    namespace-uri
    http://www.java2s.com/red
    contents
    line 2
  
    Found a blue verse. name
    blue:verse
    local-name
    verse
    namespace-uri
    http://www.java2s.com/blue
    contents
    line 3
  
    Found a verse element from the default namespace: name
    verse
    local-name
    verse
    namespace-uri
    
    contents
    line 4

 








Related examples in the same category

1.Use name() function to get attribute name
2.Element name: