Re: [xsl] [string to node]

Subject: Re: [xsl] [string to node]
From: Aditya Sakhuja <aditya.sakhuja@xxxxxxxxx>
Date: Sun, 21 Feb 2010 14:05:33 -0800
Specifically in XALAN-C processor.

On Sun, Feb 21, 2010 at 2:04 PM, Aditya Sakhuja
<aditya.sakhuja@xxxxxxxxx> wrote:
> Hi,
>
> So, my objective is to get the count() function to count the number of
> 'dd' elements.
>
> test.xsl
>
> <?xml version="1.0" encoding="UTF-8"?>
> <xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform";>
> <xsl:output method="xml" encoding="UTF-8"/>
>
> <xsl:template match="/">
> B <xsl:variable name="a">
> B  <xsl:choose>
> B  B <xsl:when test="1=1">
> B  B  B  B  <xsl:value-of select="//dd"/>
> B  B </xsl:when>
> B  </xsl:choose>
> B </xsl:variable>
> B <xsl:value-of select="count($a)"/>
> </xsl:template>
> </xsl:stylesheet>
>
>
> test.xml
>
> <a>
> <dd/>
> <dd/>
> <dd/>
> </a>
>
> Cheers!
> Aditya
>
> On Fri, Feb 19, 2010 at 11:33 PM, ac <ac@xxxxxxxxxxxxx> wrote:
>> Hi Aditya,
>>
>> You declare "test-phone" but only use "temp-phone" so I assume that this
is
>> a typo.
>>
>> You do not initialize it either, so I will assume that it holds a string.
>>
>> What kind of node are you trying to convert your string to, element,
>> attribute, text? Why?
>>
>> Your code does not use count() so I am trying to guess how you hope to use
>> it ...
>>
>> What is it that you are trying to count? B a string is atomic so there is
>> one.
>>
>> If you are looking for the number of characters that the string has, you
>> could use string-length($temp-phone).
>>
>> If the string is tokenizable and you wish to count the tokens, you should
>> probably tokenize it first, somehow. How are tokens defined?
>>
>> We may need more information on what you are trying to do to have a chance
>> of better helping you. B At least I do.
>>
>> Cheers,
>> ac
>>
>>
>> Hello,
>>>
>>> I am looking to convert a string to a single node type. Using Xalan C
>>> 1.10 processor.
>>>
>>> for eg:
>>>
>>> <xsl:variable name="test-phone">
>>> <xsl:choose>
>>> B <xsl:when test="($tempPhone) and ($tempPhone!= 'Visit Web Site') and
>>> ($tempPhone!= 'All') and ($tempPhone!= 'A') and ($tempPhone!= 'B')">
>>> B  <xsl:value-of select="normalize-space($tempPhone)"/>
>>> B </xsl:when>
>>> B <xsl:otherwise>
>>> B  B <xsl:value-of select="//ads"/>
>>> B </xsl:otherwise>
>>> </xsl:choose>
>>> </xsl:variable>
>>>
>>> What I have in test-phone is a string. on which I cannot use
>>> count($test-phone).
>>>
>>> What is the best way to have the count() ? I am trying to get a node
>>> from the string, that would work.
>>>
>>> Thanks in advance,
>>> Aditya Sakhuja
>>
>>
>
>
>
> --
>
> -Cbib B%C%
>



--

-Cbib B%C%

Current Thread