Re: [xsl] previous sibiling node value

Subject: Re: [xsl] previous sibiling node value
From: Dimitre Novatchev <dnovatchev@xxxxxxxxx>
Date: Sun, 14 Nov 2010 13:42:17 -0800
Still very far from a good question.

When important code isn't shown it is not realistic to expect anyone
to understand the question.

What is $serviceType ?

What is $qmNumberFromContext ?

De[pending on what these really contain very different behavior may be
exhibited.

Please, learn to always provide a complete example (source XML
document, but as minimal as possible, XSLT stylesheet -- complete, but
as minimal as possible) and explanation what isn't as expected.

On Sun, Nov 14, 2010 at 12:55 PM, ram <ram_kurra@xxxxxxxxxxx> wrote:
> okey,
> B  B  here is my problem.
>
> what i was trying to do is
>
> <xsl:if test="$qmNumberFromContext=01">
> <xsl:variable name="QMN1"select="$serviceType/QMNumber[1]"/>
> <xsl:message>qmName one
> B  <xsl:value-of
> B  B  B select="$QMN1/preceding-sibling::QMName[1]/text()" />
> B </xsl:message>
> </xsl:if>
> B <xsl:if test="$qmNumberFromContext=02">
> B  B <xsl:variable name="QMN2"select="$serviceType/QMNumber[2]"/>
> B  B <xsl:message>qmName two
> B  B  B  B <xsl:value-of
> B  B  B  B select="$QMN2/preceding-sibling::QMName[1]/text()" />
> B  </xsl:message>
> </xsl:if>
>
> B  B  I dont want to two if conditions over here B i need B more generalized
one
> B  B what i am looking is
> B  B <xsl:variable
name="QMN2"select="$serviceType/QMNumber[$qmNumberFromContext]"/>
> B  B  B  B  B  B which is throwing exception and getting empty values
> B  B  B  how can i fix this.
>
>
> --- On Mon, 15/11/10, Dimitre Novatchev <dnovatchev@xxxxxxxxx> wrote:
>
>> From: Dimitre Novatchev <dnovatchev@xxxxxxxxx>
>> Subject: Re: [xsl] previous sibiling node value
>> To: xsl-list@xxxxxxxxxxxxxxxxxxxxxx
>> Date: Monday, 15 November, 2010, 1:55 AM
>> I am confused, your last message is
>> difficult to understand and
>> doesn't contain any question.
>>
>>
>>
>> On Sun, Nov 14, 2010 at 11:17 AM, ram <ram_kurra@xxxxxxxxxxx>
>> wrote:
>> > Thanks that perfectly works.
>> > B  B  B  let us suppose if i get qmNumber as 01 then i
>> need to get BRKQM
>> > if i get qmNumber is 02 then i need to get BEKQM
>> > i have written the logic like below but I am not able
>> to go second QMNUmber
>> >
>> > if QMNumber is 2 its failing.Its showign only qmnumber
>> 1
>> >
>> > $qmNumberFromContext is variable which will come
>> either 01/02
>> > $serviceType is Response
>> >
>> > <xsl:choose>
>> > B  B  B  B <xsl:when
>> test="$serviceType/QMNumber=$qmNumberFromContext">
>> > B  B  B  B  B <xsl:value-of
>> >
>> B select="$qmNumberFromContext/precedingibling::QMName[1]/text()"/>
>> >
>> > B  B  B  B </xsl:when>
>> > B  B  B  B  <xsl:otherwise/>
>> >
>> > </xsl:choose>
>> > --- On Mon, 15/11/10, Dimitre Novatchev <dnovatchev@xxxxxxxxx>
>> wrote:
>> >
>> >> From: Dimitre Novatchev <dnovatchev@xxxxxxxxx>
>> >> Subject: Re: [xsl] previous sibiling node value
>> >> To: xsl-list@xxxxxxxxxxxxxxxxxxxxxx
>> >> Date: Monday, 15 November, 2010, 12:22 AM
>> >> On Sun, Nov 14, 2010 at 10:46 AM, ram
>> >> <ram_kurra@xxxxxxxxxxx>
>> >> wrote:
>> >> > Hi,
>> >> > B  I am trying to get the current node's
>> >> preceding-sibling node value.
>> >> > Here is my xml
>> >> >
>> >> >
>> >> > B <Policy Service="response">
>> >> >
>> B <QMName>BRKQM</QMName>>
>> >> > B  B  B <QMNumber>01</QMNumber>
>> >> >
>> B <QMName>BEKQM</QMName>>
>> >> > B  B  B <QMNumber>02</QMNumber>
>> >> >
>> >>
>> B <RequestQueue>TEST.RSP</RequestQueue>
>> >> > B  </Policy>
>> >> > B  B  B  B  B  B  B  B  Let us suppose if my
>> qmNumber
>> >> is 02 i need to go to prevoius node QMName and get
>> BEKQM.
>> >> > B  B  B  B  B How can i do this .
>> >>
>> >>
>> >> Use:
>> >>
>> >> /*/QMNumber[. =
>> 2]/preceding-sibling::QMName[1]/text()
>> >>
>> >> This expression can be used in many xslt
>> instuctions -- in
>> >> attributes
>> >> such as "select" or "test" .
>> >>
>> >> --
>> >> Cheers,
>> >> Dimitre Novatchev
>> >> ---------------------------------------
>> >> Truly great madness cannot be achieved without
>> significant
>> >> intelligence.
>> >> ---------------------------------------
>> >> To invent, you need a good imagination and a pile
>> of junk
>> >> -------------------------------------
>> >> Never fight an inanimate object
>> >> -------------------------------------
>> >> You've achieved success in your field when you
>> don't know
>> >> whether what
>> >> you're doing is work or play
>> >
>> >
>>
>>
>>
>> --
>> Cheers,
>> Dimitre Novatchev
>> ---------------------------------------
>> Truly great madness cannot be achieved without significant
>> intelligence.
>> ---------------------------------------
>> To invent, you need a good imagination and a pile of junk
>> -------------------------------------
>> Never fight an inanimate object
>> -------------------------------------
>> You've achieved success in your field when you don't know
>> whether what
>> you're doing is work or play
>> -------------------------------------
>> I enjoy the massacre of ads. This sentence will slaughter
>> ads without
>> a messy bloodbath.
>
>



--
Cheers,
Dimitre Novatchev
---------------------------------------
Truly great madness cannot be achieved without significant intelligence.
---------------------------------------
To invent, you need a good imagination and a pile of junk
-------------------------------------
Never fight an inanimate object
-------------------------------------
You've achieved success in your field when you don't know whether what
you're doing is work or play
-------------------------------------
I enjoy the massacre of ads. This sentence will slaughter ads without
a messy bloodbath.

Current Thread