RE: SubString Issue!

Subject: RE: SubString Issue!
From: "Mabry, F. DR EECS" <df6954@xxxxxxxxxxxxxxxxxxxx>
Date: Thu, 22 Jun 2000 14:26:02 -0400
For the following XML (note I made a change to the source)

<Name>Jennifer <Highlight>Anniston</Highlight></Name>

use the following transform:

<?xml version="1.0"?>
    xmlns:xsl=""; version="1.0"

<xsl:template match="CreditCard">
    <xsl:variable name="mask"><xsl:text>XXXX</xsl:text></xsl:variable>
    <xsl:value-of select="substring(//CreditCard/Highlight/text(), 1, 15)"/>
    <xsl:value-of select="$mask"/>


This will get the desired result (I believe).  Note: template has a "match"
attribute instead of name attribute.  The expression how references a
"findable" result in the XML source node set.


Dr. Frank Mabry
Dept. of EE&CS, U.S. Military Academy
West Point, NY 10996
email: df6954@xxxxxxxxxxxxxxx
Phone: (845) 938-2960

		-----Original Message-----
		From:	Chowdhury, Anisuzzaman
		Sent:	Thursday, June 22, 2000 12:17 PM
		To:	'XSL-List@xxxxxxxxxxxxxxxx'
		Subject:	SubString Issue!

		Part of the XML data:

		<Name>Jennifer <Highlight>Anniston</Highlight></Name>

		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">

		To apply mask:

		<xsl:template name="CreditCard">
		<xsl:value-of select="substring(CreditCard/text(), 1,

		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:

		The problem is, "Highlight" tag can be anywhere. Is there
any way I can get
		the following output:


		I would highly appreciate your suggestions.

		Anis Chowdhury

		 XSL-List info and archive:

 XSL-List info and archive:

Current Thread