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


Help: OASIS Mailing Lists Help | MarkMail Help

[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index]
Re: [xml-dev] XSTL stylesheet workarounds for exceptions



Thank you for your suggestions and I finally worked out the reason why the 2 values fishing, rabbit were not been picked up after debugging. It turned out that there are two different types of Hobbie(s) elements which is shown as follows:



  <a shape="rect" href=http://www.hobbies.com/fishing title="Shark Hunting">fishing</a>

(Out-door adventures)




  <a shape="rect" href=http://www.hobbies.com/fishing title="Shark Hunting">fishing</a>

  <a shape="rect" href=http://www.hobbies.com/hunting title="Animal">rabbit</a>

(Out-door adventures)


The only difference between the 2 matching pattern elements is the additional letter 's'. I used the following matching patterns to pick up all values for both elements:


<xsl:template match="ns:p[ns:strong='Hobbie:']|ns:p[ns:strong='Hobbies:']">

<xsl:for-each select="ns:a">

<hobbie><xsl:value-of select="."/></hobbie>



Note that the matching name Hobbie is only an arbitray name that I used in position for the actual element name. As a result, it was not as obvious to distinguish between Hobby and Hobbies.


Now the only question left is the second half ( ii ) of the original post included below:


( ii ) I also like to add a default generic value for any missing element. Say if there are no

<p><strong>Hobbies:</strong></p> in such document, yet I still would like to generate a

null element such as <hobbies>Unknown</hobbies>. The intended stylesheet should look

like the following but couldn’t get it working still:

<xsl:template match="/">


<xsl:apply-templates select="//ns:p"/>



<xsl: choose>

<xsl: when test="ns:p[ns:strong='Hobbies:']">

<xsl:template match="ns:p[ns:strong='Hobbies:']">

<xsl:for-each select="text()[normalize-space() != '']">

<hobbies><xsl:value-of select="normalize-space()"/></hobbies>







</xsl: choose>


However, this syntax does not conform with XSLT stylesheet.

Any suggestion would be much appreciated.

Thanks again,


From: Michael Kay <mike@saxonica.com>
To: Jack Bush <netbeansfan@yahoo.com.au>; xml-dev@lists.xml.org
Sent: Wednesday, 4 February, 2009 12:40:53 AM
Subject: RE: [xml-dev] XSTL stylesheet workarounds for exceptions

My next step would be to debug this stylesheet but any other suggestion would be more than welcome.
I rather assumed that you only posted to the list after failing to debug the stylesheet.
Your next step might be to post a complete but minimal source document and stylesheet that demonstrate the problem.
Michael Kay

Make Yahoo!7 your homepage and win a trip to the Quiksilver Pro. Find out more.

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

News | XML in Industry | Calendar | XML Registry
Marketplace | Resources | MyXML.org | Sponsors | Privacy Statement

Copyright 1993-2007 XML.org. This site is hosted by OASIS