This is the mail archive of the
xsl-list@mulberrytech.com
mailing list .
Conditional expressions using optional attributes/elements
- To: "XSL Mailing List (E-mail)" <xsl-list at lists dot mulberrytech dot com>
- Subject: [xsl] Conditional expressions using optional attributes/elements
- From: William Bagby <williamb at adone dot com>
- Date: Mon, 13 Aug 2001 09:23:56 -0400
- Reply-To: xsl-list at lists dot mulberrytech dot com
Greetings. I have two related problems.
Problem 1:
I have an element which has optional attributes, and I want to test the
values of these attributes. Here's the DTD for the element:
<!ELEMENT my-element (#PCDATA)>
<!ATTLIST my-element
enabled (true|false) #IMPLIED
override (true|false) #IMPLIED
>
and I have the following XSL:
<xsl:template match="my-element">
<xsl:if test="@enabled != 'false' and @override != 'false'">
<!-- do something -->
</xsl:if>
</xsl:template>
But if the attributes are not defined, it doesn't act as expected.
Problem 2:
I have an element which has optional *elements*, and I want to test the
values of attributes of these elements. Here's the DTD:
<!ELEMENT my-element (enabled*, override*)>
<!ATTLIST enabled
value (true|false) #IMPLIED
>
<!ATTLIST override
value (true|false) #IMPLIED
>
and I have the following XSL:
<xsl:template match="my-element">
<xsl:if test="enabled/@value != 'false' and override/@value != 'false'">
<!-- do something -->
</xsl:if>
</xsl:template>
But if the *elements* are not defined, it doesn't act as expected.
What am I doing wrong?
Thanks in advance...
William Bagby.
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list