OASIS Mailing List ArchivesView the OASIS mailing list archive below
or browse/search using MarkMail.

 


Help: OASIS Mailing Lists Help | MarkMail Help

docbook-apps message

[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [Elist Home]


Subject: XSLT 'or' statement (Was Re: DOCBOOK-APPS: How can I get stylesheet tobold?)


Bob,

Since I thought your use of the 'or' functionality was quite cool, I
modified my customization layer along the lines of what you did:

> <xsl:template match="emphasis">
>   <xsl:choose>
>     <xsl:when test="@role='bold'|@role='strong'">  <!-- changed line -->
>       <xsl:call-template name="inline.boldseq"/>
>     </xsl:when>
>     <xsl:otherwise>
>       <xsl:call-template name="inline.italicseq"/>
>     </xsl:otherwise>
>   </xsl:choose>
> </xsl:template>

However, in running it through 'xsltproc' I found that I was getting
an error generated. It actually seemed to work correctly, but gave me
error messages.  I did some research and found that the 'or' functionality
of XSLT actually uses the word "or".  So the test needs to be:

   <xsl:when test="(@role='strong') or (@role='bold')">

Once I changed that, everything worked fine and no errors were
produced.  One source for this is on the XPath page at:

  http://www.w3.org/TR/xpath#booleans

I was a bit surprised as I expected the "|" symbol to work, but it 
appears that it is at least not "proper" XSLT.  (At least that is
what I could see in the docs.)

Regards,
Dan

-- 
Dan York, Director of Training        dyork@e-smith.com
Ph: +1-613-751-4401  Mobile: +1-613-263-4312 Fax: +1-613-564-7739 
e-smith, inc. 150 Metcalfe St., Suite 1500, Ottawa,ON K2P 1P1 Canada
http://www.e-smith.com/            open source, open mind


[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [Elist Home]


Powered by eList eXpress LLC