OASIS Mailing List ArchivesView the OASIS mailing list archive below
or browse/search using MarkMail.

 


Help: OASIS Mailing Lists Help | MarkMail Help

 


 

   Re: [xml-dev] XSL transformation

[ Lists Home | Date Index | Thread Index ]


Hi Nischal -

write a recursive template:

<xsl:template name="name">
<xsl:param name="data">
<xsl:choose>
<xsl:when test="contains($data, ' ')">
<xsl:apply-templates select="substring-before($data, ' ')" mode="Name"/>
<xsl:call-template name="name">
<xsl:with-param name="data" select="substring-after($data, ' ')"/>
</xsl:call-template>
</xsl:when>
<xsl:otherwise>
<xsl:apply-templates select="$data" mode="Name"/>
</xsl:otherwise>
</xsl:choose>
</xsl:template>

and put your processing here:

<xsl:template match="text()" mode="Name">
... whatever you want to do with the values
</xsl:template>

this assumes there are no spaces in your values - in that case you will
have to change the substrings, and 'contains()' to check for zero-length
strings.

hth,

/m

Martin Klang
http://www.o-xml.org - the object-oriented XML programming language


On Tue, 19 Nov 2002, Nischal Muthana wrote:

> Hi All
>
> I have an XSL file say NameList.xsl which picks
> transforms an XML file say Names.xml.
>
> The Names.xml is like,
>
> <Name>
>   <Names>aaaa bbbb cccc dddd eeee ffff gggg hhhh iiii
> jjjj kkkk llll mmmm nnnn oooo pppp qqqq rrrr ssss tttt
> uuuu vvvv wwww xxxx yyyy zzzz</FirstNames>
> </Name>
>
> My Xsl file has to pick up the Names node and do a
> substring and pick each value in the <Names> tag. Each
> value is of 4 characters and each value is seperated
> by a space.
>
> I am tryin to write a <xsl:foreach
> select='Name/Names'>
> and then do a substring on the element value. Can
> someone guide me through how to go about with this.
>
> I tried to do
>
> <xsl:value-of select="substring(Name/Names,0,4)"/>
> <xsl:value-of select="substring(Name/Names,4,4)"/>
> ....
>
> Thanks in Advance
> Nischal
>
>
>
> __________________________________________________
> Do you Yahoo!?
> Yahoo! Web Hosting - Let the expert host your site
> http://webhosting.yahoo.com
>
> -----------------------------------------------------------------
> The xml-dev list is sponsored by XML.org <http://www.xml.org>, an
> initiative of OASIS <http://www.oasis-open.org>
>
> The list archives are at http://lists.xml.org/archives/xml-dev/
>
> To subscribe or unsubscribe from this list use the subscription
> manager: <http://lists.xml.org/ob/adm.pl>
>





 

News | XML in Industry | Calendar | XML Registry
Marketplace | Resources | MyXML.org | Sponsors | Privacy Statement

Copyright 2001 XML.org. This site is hosted by OASIS