[
Lists Home |
Date Index |
Thread Index
]
3, 4, 5 characters including whitespace?
i'd change the recursive function to chunk blocks of 12 chars (or however
many) and then, in the other template, split every chunk into three.
regards,
/m
Martin Klang
http://www.o-xml.org - the object-oriented XML programming language
On Tue, 19 Nov 2002, Nischal Muthana wrote:
> Thanks much Matt & Martin. That was really
> informative.
>
> I am sorry I am posting this at the wrong place and
> thanks Matt for pointing the XSL list. But before I
> close this issue I forgot to mention the following
>
> The starting pos changes but the ending position of
> each of the string needed from the <Names> tag is
> constant. So I got to loop through the string returned
> by the <Names> tag and then apply this kind of
>
> substring(Names,15, 3);
> substring(Names,18,4);
> substring(Names,22,5);
>
> substring(Names,27,3);
> substring(Names,30,4);
> substring(Names,34,5);
>
> substring(Names,39,3);
> substring(Names,42,4);
> substring(Names,46,5);
>
> So I know before hand that for every 3 characters I
> get a name, and then for every 4 characters from there
> I get the second name and then for every 5 characters
> I get the third name. And then would stop here and go
> back and pick the next 3 characters and include as my
> next first name and so on.
>
>
> Is there a way I can change the function you guys sent
> to accomdate this issue.
>
> Thanks very much for your valuable time.
> Nischal
>
>
>
> --- martin@hack.org wrote:
> >
> > 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>
> > >
> >
>
>
> __________________________________________________
> 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>
>
|