Subject: Re: [xsl] Error during choose statement From: "G. Ken Holman" <gkholman@xxxxxxxxxxxxxxxxxxxx> Date: Sun, 04 Jan 2009 11:52:17 -0500 |
I have the following need: given a complicated XML source, I have to change in output the text element for same nodes maintaining the source structure. An example can be this in which I want to change the <elem2> text values, present in different levels. ... I'm trying to use the following XSL script
===================== XSLT ===================== <?xml version="1.0" encoding="utf-8"?> <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:msxsl="urn:schemas-microsoft-com:xslt" exclude-result-prefixes="msxsl">
<xsl:output method="xml" indent="yes"/>
<xsl:template match="/"> <xsl:apply-templates/> </xsl:template>
<xsl:template match="@*|node()"> <xsl:choose> <xsl:when test="elem2"> <elem2>NEW ELEM</elem2>
The strange thing (for me) is that, if I substitude the <choose> block with the <otherwise> code, I obtain a result tree identical to source tree.
===================== SIMPLIFIED XSLT ======================= <?xml version="1.0" encoding="utf-8"?> <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:msxsl="urn:schemas-microsoft-com:xslt" exclude-result-prefixes="msxsl">
<xsl:output method="xml" indent="yes"/>
<xsl:template match="/"> <xsl:apply-templates/> </xsl:template>
<xsl:template match="@*|node()"> <xsl:copy> <xsl:apply-templates select="@* | node()"/> </xsl:copy> </xsl:template>
<xsl:template match="elem2"> <elem2>NEW ELEM</elem2> </xsl:template>
</xsl:stylesheet> =========================================================
Obviously, in this way I cannot chack the node name for set the appropriate value.
Could you help me?
-- Upcoming XSLT/XSL-FO, UBL and code list hands-on training classes: : Sydney, AU 2009-01/02; Brussels, BE 2009-03; Prague, CZ 2009-03 Training tools: Comprehensive interactive XSLT/XPath 1.0/2.0 video Video lesson: http://www.youtube.com/watch?v=PrNjJCh7Ppg&fmt=18 Video overview: http://www.youtube.com/watch?v=VTiodiij6gE&fmt=18 G. Ken Holman mailto:gkholman@xxxxxxxxxxxxxxxxxxxx Crane Softwrights Ltd. http://www.CraneSoftwrights.com/s/ Male Cancer Awareness Nov'07 http://www.CraneSoftwrights.com/s/bc Legal business disclaimers: http://www.CraneSoftwrights.com/legal
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
[xsl] Error during choose statement, nick public | Thread | [xsl] Re: Error during choose state, nick public |
[xsl] Error during choose statement, nick public | Date | [xsl] Re: Error during choose state, nick public |
Month |