Hi,
I am not getting the script to scriptin.
My input xml is:
<sample xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:noNamespaceSchemaLocation="test.xsd">
<sample1>
<p>ABCDEFGHIJK</p>
<script lang="enu"/>
<script lang ="enu1"/>
<p>123456</p>
<p>789123</p>
</sample1>
</sample>
Required output as:
<test xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:noNamespaceSchemaLocation="test.xsd">
<sample1>
<p>ABCDEFGHIJK</p>
<scriptin lang="enu"/>
<scriptin lang ="enu1"/>
<p>123456</p>
<p>789123</p>
</sample1>
</test>
And the xsl for the same is:
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<xsl:output method="xml" indent="yes" encoding="UTF-8"
omit-xml-declaration="no"/>
<xsl:variable name="alink" select="//alink"/>
<xsl:template match="/">
<test>
<!-- to get path value as filename path-->
<xsl:attribute name="path">
<xsl:value-of select="$alink"/>
<xsl:text>.htm</xsl:text>
</xsl:attribute>
<xsl:attribute
name="xsi:noNamespaceSchemaLocation"><xsl:text>test.xsd</xsl:text></xsl:attr
ibute>
<xsl:apply-templates/>
</fileloc>
</xsl:template>
<!-- to change "script" to "scriptin"-->
<xsl:template match="*[not(self::script)]">
<xsl:copy>
<xsl:copy-of select="@*"/>
</xsl:copy>
<xsl:apply-templates/>
</xsl:template>
<xsl:template match="sample1">
<xsl:copy-of select="."/>
</xsl:template>
</xsl:stylesheet>
Here I am not getting script to scriptin, rest of the content i am getting
as it required.
Thanks,
Shailesh
-----Original Message-----
From: Ragulf Pickaxe [mailto:ragulf(_dot_)pickaxe(_at_)gmail(_dot_)com]
Sent: Friday, November 04, 2005 6:53 PM
To: xsl-list(_at_)lists(_dot_)mulberrytech(_dot_)com
Subject: Re: [xsl] Rename element
Hmmmmm. I can see from another thread, DC provided you with a solution
for the same input. Note that my solution will not work, if you do
these together, at DC's solution simply makes a deep copy of the XML
in question.
You will need something like (use it together with the template I
provided in the last email):
<xsl:template match="sample">
<test>
<!--<xsl:copy-of select="@*|node()"/>-->
<xsl:apply-templates/>
</test>
</xsl:template>
<xsl:template match="*[not(self::script)]"/>
<!-- Makes a shallow copy of the element in question -->
<xsl:copy>
<xsl:copy-of select="@*"/>
<xsl:apply-templates/> <!-- Applies templates to below elements -->
</xsl:copy>
</xsl:template>
Regards,
Ragulf Pickaxe :-)
--~------------------------------------------------------------------
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: <mailto:xsl-list-unsubscribe(_at_)lists(_dot_)mulberrytech(_dot_)com>
--~--
--~------------------------------------------------------------------
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: <mailto:xsl-list-unsubscribe(_at_)lists(_dot_)mulberrytech(_dot_)com>
--~--