Re: [xsl] Creating namespace nodes

Subject: Re: [xsl] Creating namespace nodes
From: George Cristian Bina <george@xxxxxxx>
Date: Tue, 07 Jun 2005 13:33:16 +0300
Hi Mukul,

With Saxon 8.4 I get:

<?xml version="1.0" encoding="UTF-8"?>
<a id="10">
<b id="9">
<c id="8">
<d id="7">
<a id="5">
<h xmlns:ns0="http://whatever"; ns0:temp="" id="6"/>
</a>
</d>
</c>
</b>
</a>


which looks ok to me. Note that it is not what you have as desired output as you do not include there the temp attribute.

Best Regards,
George
---------------------------------------------------------------------
George Cristian Bina
<oXygen/> XML Editor, Schema Editor and XSLT Editor/Debugger
http://www.oxygenxml.com


Mukul Gandhi wrote:
I am using XSLT 1.0 ;)

"I need to write a identity transform, and add a
namespace node to a particular element in the result
tree.."

I have written the following XSLT (1.0) stylesheet so
far ..

<?xml version="1.0"?> <xsl:stylesheet
xmlns:xsl="http://www.w3.org/1999/XSL/Transform";
version="1.0">
<xsl:output method="xml" indent="yes" />


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

<xsl:template match="h">
  <xsl:copy>
    <xsl:attribute name="temp"
namespace="http://whatever"; />
    <xsl:apply-templates select="node() | @*" />
  </xsl:copy>
</xsl:template>

</xsl:stylesheet>

The input XML is -

<?xml version="1.0"?>
<a id="10">
<b id="9">
<c id="8">
<d id="7">
<a id="5">
<h id="6" /> </a>
</d>
</c>
</b>
</a>


The output produced with the above stylesheet is -

Warning: Running an XSLT 1.0 stylesheet with an XSLT
2.0 processor
<?xml version="1.0" encoding="UTF-8"?>
<a id="10">
     <b id="9">
          <c id="8">
               <d id="7">
                    <a id="5">
                         <h temp: id="6"/>

                    </a>
               </d>
          </c>
     </b>
</a>

I am using Saxon 8.4 ..

I desire output -

<?xml version="1.0" encoding="UTF-8"?>
<a id="10">
     <b id="9">
          <c id="8">
               <d id="7">
                    <a id="5">
                         <h
xmlns:temp="http://whatever"; id="6"/>
                    </a>
               </d>
          </c>
     </b>
</a>

I'll appreciate any help ..

Regards,
Mukul



__________________________________________________
Do You Yahoo!?
Tired of spam? Yahoo! Mail has the best spam protection around http://mail.yahoo.com

Current Thread