This is the mail archive of the
xsl-list@mulberrytech.com
mailing list .
Re: Problem with simple xsl:when test expression
- To: <XSL-List at lists dot mulberrytech dot com>
- Subject: Re: [xsl] Problem with simple xsl:when test expression
- From: "Thomas B. Passin" <tpassin at mitretek dot org>
- Date: Tue, 3 Jul 2001 17:33:29 -0400
- References: <4.3.2.7.2.20010703153930.00b954e0@hulmail.harvard.edu>
- Reply-To: xsl-list at lists dot mulberrytech dot com
First, I hope that this is only a typing error:
</annotation>
This is illegal. You probably mean "<annotation/>". But that would kill
you right there (but you'd get an error message)
Second, it looks like a namespace issue. You have
<xsl:template match="xsd:simpleType">
but your XML sample doesn't use the "xsd" prefix. So either it's declared
earlier or it's not declared at all. If it's not declared, the
xsd:simpleType won't match because of the prefix, and if it is, the other
matches won't work because they would need to be prefixed too.
Cheers,
Tom P
[Phil Mitchell]
> I am trying to write a test expression for a when clause that will be true
> when the context node has a child 'restriction' element whose 'base'
> attribute is "string" -- i.e. <restriction base="string">. I think this
> clause should simply be:
>
> <xsl:choose>
> <xsl:when test="./restriction[@base='string']">
> </xsl:when>
> </xsl:choose>
>
> But it doesn't seem to work -- it doesn't match. What is wrong with this?
> Here is the context node:
>
> <simpleType name="MedlarsNameString">
> </annotation>
> <restriction base="string">
> </restriction>
> </simpleType>
>
> And here is the stylesheet fragment (slightly edited -- yes, the second
> choose block is meant to be nested in an otherwise block.):
>
> <xsl:template match="xsd:simpleType">
> <xsl:param name="elementName"/>
> <xsl:choose>
> <xsl:when test="@name='TextBlock'">
> Do this....
> </xsl:when>
> <xsl:otherwise>
> <xsl:choose>
> <xsl:when test="./restriction[@base='string']">
> Print here.
> </xsl:when>
> </xsl:choose>
> </xsl:otherwise>
> </xsl:choose>
> </xsl:template>
>
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list