DO NOT REPLY TO THIS EMAIL, BUT PLEASE POST YOUR BUG RELATED COMMENTS THROUGH THE WEB INTERFACE AVAILABLE AT <http://nagoya.apache.org/bugzilla/show_bug.cgi?id=14517>. ANY REPLY MADE TO THIS MESSAGE WILL NOT BE COLLECTED AND INSERTED IN THE BUG DATABASE.
http://nagoya.apache.org/bugzilla/show_bug.cgi?id=14517 Repetitive node validation Summary: Repetitive node validation Product: Xerces-C++ Version: 1.4 Platform: All OS/Version: Windows NT/2K Status: NEW Severity: Blocker Priority: Other Component: Samples/Tests AssignedTo: [EMAIL PROTECTED] ReportedBy: [EMAIL PROTECTED] The xsl transformation engine produce the following output instead of the one after, using the following input xml and xsl: INPUT XML: <?xml version="1.0"?> <InputData> <Applicant> <name>NAME</name> </Applicant> <creditlist> <credit> <date>DATE1</date> <montant>MONTANT1</montant> </credit> <credit> <date>DATE2</date> <montant>MONTANT2</montant> </credit> </creditlist> </InputData> INPUT XSL: <?xml version="1.0"?> <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> <xsl:template match="@*|node()"> <xsl:copy> <xsl:apply-templates select="@*|node()"/> </xsl:copy> </xsl:template> <xsl:template match="//Applicant/name"> <xsl:copy> <xsl:attribute name="TrsCritId"> <xsl:value-of select="1"/> </xsl:attribute> <xsl:apply-templates select="@*|node()"/> </xsl:copy> </xsl:template> <xsl:template match="//creditlist/credit"> <xsl:variable name="credit_pos" select="position()"/> <xsl:copy> <xsl:for-each select="date"> <xsl:copy> <xsl:if test="$credit_pos = 1"> <xsl:attribute name="TrsCritId"> <xsl:value-of select="2"/> </xsl:attribute> </xsl:if> <xsl:if test="$credit_pos = 2"> <xsl:attribute name="TrsCritId"> <xsl:value-of select="4"/> </xsl:attribute> </xsl:if> <xsl:apply-templates select="@*|node()"/> </xsl:copy> </xsl:for-each> <xsl:for-each select="montant"> <xsl:copy> <xsl:if test="$credit_pos = 1"> <xsl:attribute name="TrsCritId"> <xsl:value-of select="3"/> </xsl:attribute> </xsl:if> <xsl:if test="$credit_pos = 2"> <xsl:attribute name="TrsCritId"> <xsl:value-of select="5"/> </xsl:attribute> </xsl:if> <xsl:apply-templates select="@*|node()"/> </xsl:copy> </xsl:for-each> </xsl:copy> </xsl:template> </xsl:stylesheet> GENERATED OUTPUT: <?xml version="1.0" encoding="UTF-8"?> <InputData> <Applicant> <name TrsCritId="1">NAME</name> </Applicant> <creditlist> <credit><date TrsCritId="4">DATE1</date><montant TrsCritId="5">MONTANT1</montant></credit> <credit><date>DATE2</date><montant>MONTANT2</montant></credit> </creditlist> </InputData> CORRECT OUTPUT: <?xml version="1.0" encoding="UTF-8"?> <InputData> <Applicant> <name TrsCritId="1">NAME</name> </Applicant> <creditlist> <credit><date TrsCritId="2">DATE1</date><montant TrsCritId="3">MONTANT1</montant></credit> <credit><date TrsCritId="4">DATE2</date><montant TrsCritId="5">MONTANT2</montant></credit> </creditlist> </InputData> --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
