From: Jack Bush [mailto:netbeansfan@yahoo.com.au]
Sent: 05 February 2009 12:30
To: Michael Kay
Cc: xml-dev@lists.xml.org
Subject: Re: [xml-dev] XSTL stylesheet workarounds for exceptionsHi Michael,
I encountered the following error when switching over to Saxon 9.1 Open Source version so that I could use the empty() as suggested:
[Fatal Error] javax.xml.transform.stream.StreamSource:1:20: XML version "2.0" is not supported, only XML 1.0 is supported.
javax.xml.transform.TransformerConfigurationException: javax.xml.transform.TransformerConfigurationException: javax..xml.transform.TransformerException: org.xml.sax.SAXParseException: XML version "2.0" is not supported, only XML 1.0 is supported.
at org.apache.xalan.processor.TransformerFactoryImpl..newTransformer(TransformerFactoryImpl.java:795)
Below is where StreamSource is used in my Java application:
Transformer hobbiesTransformer = hobbiesFactory.newTransformer(new StreamSource(hobbiesStyleSheetBIS));
JDOMSource hobbiesSource = new JDOMSource(hobbiesOriginaljdomDocument);
JDOMResult hobbiesResult = new JDOMResult();
hobbiesTransformer.transform(hobbiesSource, hobbiesResult);
What is the alternative to using StreamSource in XSLT 2.0?
Many thanks again,
Jack
From: Michael Kay <mike@saxonica.com>
To: Jack Bush <netbeansfan@yahoo.com.au>; butlerdi@gmail.com
Cc: xml-dev@lists.xml.org
Sent: Thursday, 5 February, 2009 12:26:02 AM
Subject: RE: [xml-dev] XSTL stylesheet workarounds for exceptions
<xsl:template match="ns:p[ns:strong='Hobbie:']|ns:p[ns:strong='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>.
You need to do this at the next level up, where you are applying-templates
to the p elements. Something like
<xsl:variable name="hobbies" select="ns:p[ns:strong='Hobbies:']"/>
<xsl:apply-templates select="$hobbies"/>
<xsl:if test="empty($hobbies)">
... default output goes here ...
</xsl:if>
Michael Kay
http://www.saxonica.com/
Make Yahoo!7 your homepage and win a trip to the Quiksilver Pro. Find out more.