match="head:header" : local name « XSLT stylesheet « XML






match="head:header"


File: Data.xml

<?xml version="1.0" encoding="utf-8"?>
<emailList>
  <head:header xmlns:head="http://www.domain.com/namespace/header">
    <title>Email List</title>
    <maintainer>Joe</maintainer>
  </head:header>
  <person type="personal" id="p001">
    <name>person1</name>
    <email>p@hotmail.com</email>
  </person>
  <person type="work" id="p002">
    <name>person2</name>
    <email>p@hotmail.com</email>
  </person>
  <person type="personal" id="p003">
    <name>person3</name>
    <email>p3@hotmail.com</email>
  </person>
</emailList>
File: Transform.xslt
<?xml version="1.0"?>
<xsl:stylesheet version="1.0"
  xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
  xmlns:head="http://www.domain.com/namespace/header">
  <xsl:output method="xml" indent="yes" />
  <xsl:template match="/">
    <xsl:apply-templates select="emailList/head:header" />
  </xsl:template>
  <xsl:template match="head:header">
    <xsl:element name="{local-name()}">
      <xsl:copy-of select="child::*" />
    </xsl:element>
  </xsl:template>

</xsl:stylesheet>

Output:

<?xml version="1.0" encoding="UTF-8"?>
<header>
   <title xmlns:head="http://www.domain.com/namespace/header">Email List</title>
   <maintainer xmlns:head="http://www.domain.com/namespace/header">Joe</maintainer>
</header>

 








Related examples in the same category

1.local-name() function
2.namespace-uri and local-name
3.Local part: