[XSL-LIST Mailing List Archive Home] [By Thread] [By Date] [Recent Entries] [Reply To This Message] SubString Issue!
Part of the XML data: <CreditCard><Highlight>9999-9999-9999-9999</Highlight></CreditCard> <Name>Jennifer <Highlight>Anniston</Highlight></Name> <Date.of.Birth>10-06-1969</Date.of.Birth> I would like to replace all the "Highlight" tags with "B" and mask the last four digits of the credit card number. Here are the templates I've created: To replace "Highlight" with "B": <xsl:template match="Highlight"> <B><xsl:apply-templates/></B> </xsl:template> To apply mask: <xsl:template name="CreditCard"> <xsl:variable name="mask"><xsl:text>XXXX</xsl:text></xsl:variable> <Text> <xsl:value-of select="substring(CreditCard/text(), 1, 15)"/><xsl:value-of select="$mask"/> </Text> </xsl:template> Whenever I try to run this stylesheet on eXcelon Stylus XSLT processor, I get an error message saying "Out of bounds arguments to substring function". Using SAX parser, I get the following output: <Text>XXXX</Text> The problem is, "Highlight" tag can be anywhere. Is there any way I can get the following output: <Text><B>9999-9999-9999-XXXX</B></Text> ........................................................................ I would highly appreciate your suggestions. Thanks, Anis Chowdhury XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
|
PURCHASE STYLUS STUDIO ONLINE TODAY!Purchasing Stylus Studio from our online shop is Easy, Secure and Value Priced! Download The World's Best XML IDE!Accelerate XML development with our award-winning XML IDE - Download a free trial today! Subscribe in XML format
|