This is the mail archive of the
xsl-list@mulberrytech.com
mailing list .
Re: Testing the number of child elements
- To: <xsl-list at mulberrytech dot com>
- Subject: Re: Testing the number of child elements
- From: "Cees Dekker" <cees dot dekker at ilox dot com>
- Date: Thu, 10 Feb 2000 17:03:26 +0100
- References: <38A2C262.D3E4433D@xrce.xerox.com>
- Reply-To: xsl-list at mulberrytech dot com
Charles,
Wil je de agenda voor vanavond nog een keer naar me sturen.
Merci,
Cees
----- Oorspronkelijk bericht -----
Van: Emmanuel Pietriga <emmanuel.pietriga@xrce.xerox.com>
Aan: <XSL-List@mulberrytech.com>
Verzonden: Thursday, February 10, 2000 2:51 PM
Onderwerp: Testing the number of child elements
> Hi.
>
> Here's my problem: I want to test if the current node (plus) has one
> child or more (I don't output the same thing if it has one child
> element or more than one). And I want to do this for all elements "plus"
> of "apply" using a for-each.
> I am saying that current node is (plus) because I think it is true when
> we are in the for-each loop. Am I right? That is, does current()
> actually returns the "plus" element?
>
> Here is what I do, but it doesn't work (XT always chooses the
> "otherwise" solution)
>
> <xsl:template match="apply[plus]">
> <xsl:for-each select="child::*[position()!=last() and
> position()!=1]">
> <xsl:choose>
> <xsl:when test="count(current()/child::*)=1">
> <xsl:apply-templates select="."/><mo>+</mo>
> </xsl:when>
> <xsl:otherwise>
> <mrow><xsl:apply-templates select="."/></mrow><mo>A</mo>
> </xsl:otherwise>
> </xsl:choose>
> </xsl:for-each>
> </xsl:template>
>
>
>
> The XML source is:
> <apply>
> <eq/>
> <apply>
> <plus/>
> <apply>
> <power/>
> <ci>x</ci>
> <cn>2</cn>
> </apply>
> <apply>
> <times/>
> <cn>4</cn>
> <ci>x</ci>
> </apply>
> <cn>4</cn>
> </apply>
> <cn>0</cn>
> </apply>
>
>
> Emmanuel.
>
> By the way, I have another little question: I've included a DOCTYPE in
> my stylesheet because I define entity references in it.
> One of these entities is InvisibleTimes. I know its unicode is E89E
> So I've written <ENTITY InvisibleTimes "&#E89E;">, but XT tells me
> "character not allowed"
> What can I Do?
>
>
> Thanks.
>
>
> --
> emmanuel.pietriga@xrce.xerox.com | Xerox Research Centre
Europe
> Document Model and Transformation Technologies | 6, Chemin de Maupertuis
> +33 4 76 61 50 32 (direct) | 38240 Meylan, France
> +33 4 76 61 50 50 (switchboard) |
http://www.xrce.xerox.com
>
>
>
>
> XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
>
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list