Firstly I will say im a complete and total novice when it comes to XSLT and XML so this could be a very obvious mistake on my behalf.

<xsl:stylesheet version="1.0"
                xmlns:xsl="http://www.w3.org/1999/XSL/Transform">

  <xsl:template match="node()">
    <xsl:copy>
      <xsl:copy-of select="@*"/>
      <xsl:apply-templates/>
    </xsl:copy>
  </xsl:template>

  <xsl:template match="TestNode">
    <RenamedNode>
      <xsl:copy-of select="."/>
    </RenamedNode>
  </xsl:template>

</xsl:stylesheet>

When running the above, even though <TestNode> exists it does not match and rename the node and I cannot figure out why :/

Is anyone able to shed some light on why this is the case?

Thanks in advance

Recommended Answers

All 4 Replies

Can you please post your XML? I would initially check your node names and structure.

I cannot post the actual XML due to what it is used for however I will quickly recreate the structure of the document.

<T>
 <A>
  <B>
   <1></1>
   <2></2>
  </B>
  <C>
   <1></1>
   <2></2>
  </C>
 </A>
 <D>
  <E>Data</E>
  <TestNode>Data</TestNode>
 </D>
</T>

Problem has been solved. It was an issue to do with the namespace the XML used (wasnt aware this had an impact due to inexperience with XSL)

:)

Okay that's good news! I thought so, it has to match correctly with the XSL :)

Be a part of the DaniWeb community

We're a friendly, industry-focused community of developers, IT pros, digital marketers, and technology enthusiasts meeting, networking, learning, and sharing knowledge.