|
Subject: Re: [xsl] how to match the absence of a particular attribute From: meesala dinesh <meesala74@xxxxxxxxx> Date: Mon, 30 May 2005 18:00:44 -0700 (PDT) |
For example:
>
> <A>
> <B a="a">hello2</B>
> <B a="a" b="b">hello3</B>
> <B>hello1</B>
> <B b="b">hello4</B>
> </A>
1)abscence of "a" attribute
----------------------------
In this case you need to choose the indirect
approach
<xsl:template match="A">
<xsl:for-each select="B">
<xsl:choose>
<xsl:when test="@a != ''"/>
<xsl:otherwise>
<xsl:copy-of select="."/>
</xsl:if>
</xsl:choose>
</xsl:for-each>
</xsl:template>
result:
<B>hello1</B>
<B b="b">hello4</B>
2)"a" attribute is present but value is empty
---------------------------------------------
example:
<A>
> <B a="a">hello2</B>
> <B a="a" b="b">hello3</B>
> <B a="">hello1</B>
> <B b="b">hello4</B>
> </A>
In the second case you can go for the direct
approach.
<xsl:template match="A">
<xsl:for-each select="B">
<xsl:if test="@a ='' ">
<xsl:copy-of select="."/>
</xsl:if>
</xsl:for-each>
</xsl:template>
result:
<B a="">hello1</B>
cheers,
Dinesh M.S
-------------------------------------------------------
--- talosso@xxxxxxxxx wrote:
> Hi,
>
> my problem is different, I need to match a node that
> have NOT a
> particular 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.
>
> 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:
> [xsl] 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
>
>
__________________________________
Yahoo! Mail Mobile
Take Yahoo! Mail with you! Check email on your mobile phone.
http://mobile.yahoo.com/learn/mail
| Current Thread |
|---|
|
| <- Previous | Index | Next -> |
|---|---|---|
| Re: [xsl] how to match the absence , talosso | Thread | RE: [xsl] how to match the absence , Jarno.Elovirta |
| RE: [xsl] Navigating through the do, Aron Bock | Date | [xsl] Using xsl:for-each for every , Ahsan Ali |
| Month |