I don't think, simply removing all namespaces is a good solution, though the namespace might not be needed here. Furthermore this approach slows down the processing through an additional transformer step where it is not necessary.

Her problem is the output of cincludeFiles.xsl in the default namespace. Matching on such elements has to be done in XSLT prefixed, i.e. the namespace must be bound to a prefix and then these elements can be matched. So the news.xsl has to be something like the following:

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

...

  <xsl:template match="s:file">
    <xsl:text>following file was added:</xsl:text>
    <xsl:value-of select="./@path"/>
  </xsl:template>

</xsl:stylesheet>

It's an XSLT FAQ and more about it can be found here: http://www.dpawson.co.uk/xsl/sect2/N5536.html#d5360e970.

Joerg

On 05.01.2004 16:04, Nicolas Toper wrote:

In that case use that in another transformer: it'll remove all NS from the XML

<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform";>
<xsl:output method="xml" version="1.0" encoding="UTF-8" indent="yes"/>
<xsl:template match="*">
<!-- remove element prefix (if any) -->
<xsl:element name="{local-name()}">
<!-- process attributes -->
<xsl:for-each select="@*">
<!-- remove attribute prefix (if any) -->
<xsl:attribute name="{local-name()}">
<xsl:value-of select="."/>
</xsl:attribute>
</xsl:for-each>
<xsl:apply-templates/>
</xsl:element>
</xsl:template>
</xsl:stylesheet>


---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



Reply via email to