Subject: RE: [xsl] Two different input get single output|
From: "Selvaganesh" <selvaganesh_t@xxxxxxxxxxxxxx>
Date: Tue, 8 Dec 2009 19:05:29 +0530
Hi Martin, Thanks your effort for the xsl, when I process the xsl, the "saxon9" process show some error. But the output xml was generated. Error: ===== Recoverable error XTRE0540: Ambiguous rule match for /cases/section/type Matches both "section/type[.='Drafting']" on the 32 of file: name.xsl and "section/type[not<normalize-string>]" on line 28 of file name.xsl Repeating the above error for all section. Please guide me how to correct. Thanks, Selva -----Original Message----- From: Martin Honnen [mailto:Martin.Honnen@xxxxxx] Sent: Monday, December 07, 2009 6:13 PM To: xsl-list@xxxxxxxxxxxxxxxxxxxxxx Subject: Re: [xsl] Two different input get single output Selvaganesh wrote: > I have challenging for xsl creating of two different input xml and get > single output xml file. Can you guide us how is prepare in easy way. This XSLT 2.0 stylesheet: <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:xsd="http://www.w3.org/2001/XMLSchema" exclude-result-prefixes="xsd" version="2.0"> <xsl:param name="url2" as="xsd:string" select="'test2009120703.xml'"/> <xsl:variable name="doc2" select="doc($url2)"/> <xsl:key name="k1" match="definition" use="term"/> <xsl:output indent="yes"/> <xsl:template match="cases"> <derivations> <xsl:apply-templates select="section"/> </derivations> </xsl:template> <xsl:template match="section"> <derivation> <xsl:value-of select="concat('Subsection ', content)"/> <xsl:apply-templates select="type"/> <xsl:value-of select="key('k1', tokenize(origin, ', '), $doc2)/def" separator=", "/> </derivation> </xsl:template> <xsl:template match="section/type[not(normalize-string)]"> <xsl:text> replace, </xsl:text> </xsl:template> <xsl:template match="section/type[. = 'Drafting']"> <xsl:text> was created in drafting, </xsl:text> </xsl:template> <xsl:template match="section/type[. = 'New']"> <xsl:text> is a new provision, </xsl:text> </xsl:template> </xsl:stylesheet> creates the following result: <derivations> <derivation>Subsection (1) replace, Finance Act</derivation> <derivation>Subsection (2) was created in drafting, Finance Act, Caravan Sites Act</derivation> <derivation>Subsection (3) is a new provision, Caravan Sites Act, Income and Corporation Taxes Act</derivation> </derivations> The Subsection numbers are different from what you asked for but I could not see where those numbers in your posted output come from. If you can't fix the stylesheet yourself then please explain where those numbers come from. -- Martin Honnen http://msmvps.com/blogs/martin_honnen/ Confidentiality Notice: This transmittal is a confidential communication. If you are not the intended recipient, you are hereby notified that you have received this transmittal in error and that any review, dissemination, distribution or copying of this transmittal is strictly prohibited. If you have received this communication in error, please notify this office immediately by reply and immediately delete this message and all of its attachments, if any.