Subject: RE: how to match the absence of a particular attribute
From: <Jarno.Elovirta@xxxxxxxxx>
Date: Mon, 30 May 2005 13:32:00 +0300
|
Hi,
> my problem is different, I need to match a node that have NOT a
> particular attribute.
test="not(@attribute)"
> Imagine a sequance of node of the same type which can have
> attributes or not.
> I need to perform a first match and if an particular attribute is
> absent I will have to perform a second match, otherwise the first
> match is enough.
>
> For example:
>
> <A>
> <B a="a">hello2</B>
> <B a="a" b="b">hello3</B>
> <B>hello1</B>
> <B b="b">hello4</B>
> </A>
>
> I match the first two "B" nodes as is (the XSLT rewrite them without
> translating)
> for the third "B" node, since it lacks the "a" attribute, the XSLT
> will perform a second match looking for the next "B" node.
If you're walking through the B elements one at a time, then
<xsl:apply-templates select="following-sibling::B[@a or @b][1]"/>
I.e. select the first following sibling that has either "a" or "b" attribute.
Use not() if you want negation of the test result.
Cheers,
Jarno - DJ Darjis: Harder, Faster, Louder! Vol. 4 (Disc Three)
> Is it possible to match the absence of an attribute with xsl?
>
> On 5/30/05, omprakash.v@xxxxxxxxxxxxx
> <omprakash.v@xxxxxxxxxxxxx> wrote:
> >
> >
> > Hi,
> > Try this:
> >
> > <xsl:if test="@id">
> > <!-- do something if attribute id exists -->
> > </xsl:if>
> >
> >
> > Cheers,
> > prakash
> >
> >
> >
> >
> > <talosso@gmai
> > l.com> To: XSL List
> <xsl-list@xxxxxxxxxxxxxxxxxxxxxx>
> > cc: (bcc:
> omprakash.v/Polaris)
> > 05/30/2005 Subject:
> how to match the absence of a particular attribute
> > 02:28 PM
> > Please
> > respond to
> > xsl-list
> >
> >
> >
> >
> >
> >
> > Hi guys,
> >
> > how can I test the presence of a particular attribute of a
> node in an
> > "if" or "choose" tag?
> > I need to drive the behavior of the translation in two
> different ways,
> > if an attribute exists or not. I suppose the key point is the
> > capability to match the absence of an attribute, but I have found no
> > way to do this.
> >
> > Thank you very much for any help.
> >
> > Livio
> >
> >
> >
> >
> >
> >
> > This e-Mail may contain proprietary and confidential
> information and is sent for the intended recipient(s) only.
> > If by an addressing or transmission error this mail has
> been misdirected to you, you are requested to delete this
> mail immediately.
> > You are also hereby notified that any use, any form of
> reproduction, dissemination, copying, disclosure, modification,
> > distribution and/or publication of this e-mail message,
> contents or its attachment other than by its intended
> recipient/s is strictly prohibited.
> >
> > Visit Us at http://www.polaris.co.in
|