Altova Mailing List Archives>Archive Index >xml-dev Archive Home >Recent entries >Thread Prev - >Thread Next - RE: [xml-dev] XSTL stylesheet workarounds for exceptions Re: [xml-dev] XSTL stylesheet workarounds for exceptionsTo: Michael Kay <mike@--------.---> Date: 2/6/2009 3:03:00 AM Hi Michael,
Â
I ran the transformation the same way as when using Saxon 6.5 with the following Java code from Netbeans 6.1:Â
.......
SAXBuilder stateBuilder = new SAXBuilder("org.ccil.cowan.tagsoup.Parser", false);
FileInputStream hobbiesIS = new FileInputStream(hobbiesXmlFile);
BufferedInputStream hobbiesBIS = new BufferedInputStream(hobbiesIS);
Document hobbiesOriginaljdomDocument = stateBuilder.build(hobbiesBIS);
Â
TransformerFactory hobbiesFactory = TransformerFactory.newInstance();
FileInputStream hobbiesStyleSheetIS = new FileInputStream(hobbiesStyleSheet);
BufferedInputStream hobbiesStyleSheetBIS = new BufferedInputStream(hobbiesStyleSheetIS);
Â
Transformer hobbiesTransformer = stateFactory.newTransformer(new StreamSource(hobbiesStyleSheetBIS));
Â
JDOMSource hobbiesSource = new JDOMSource(hobbiesOriginaljdomDocument);
JDOMResult hobbiesResult = new JDOMResult();
Â
stateTransformer.transform(hobbiesSource, hobbiesResult);
Â
Nothing has been changed apart from replacing saxon.jar, saxon-jdom.jar, saxpath.jar with saxon9.jar, saxon9-jdom.jar, saxon9-xpath.jar in the compilation CLASSPATH.
Â
I run this program (SHIFT-F6Â or RUN =>Â Run file)Â to start transformation in Netbeans.
Â
Thanks,
Jack
________________________________
From: Michael Kay <mike@s...>
To: Jack Bush <netbeansfan@y...>
Cc: xml-dev@l...
Sent: Friday, 6 February, 2009 9:23:09 AM
Subject: RE: [xml-dev] XSTL stylesheet workarounds for exceptions
How are you running the transformation?
Â
Michael Kay
http://www.saxonica.com/
________________________________
From: Jack Bush [mailto:netbeansfan@y...]
Sent: 05 February 2009 19:23
To: Michael Kay
Cc: xml-dev@lists..xml.org
Subject: Re: [xml-dev] XSTL stylesheet workarounds for exceptions
Hi Michael,
Your are right and I have reverted the XML version in the stylesheet to 1.0. However, I am back to where I started from by getting the can find empty() again.
Below is the detail of my CLASSPATH:
E:\Software Development\XML\tagsoup-1.2.jar;E:\Software Development\XML\JDOM\jdom-1.1\build\jdom.jar;E:\Software Development\XML\JDOM\jdom-1.1\lib\jaxen-jdom.jar;E:\Software Development\XML\JDOM\jdom-1.1\lib\jaxen-core.jar;E:\Software Development\XML\JDOM\jdom-1.1\lib\xalan.jar;E:\Software Development\XML\Saxon\9.1\saxon9-jdom.jar;E:\Software Development\XML\Saxon\9.1\saxon9-xpath.jar;E:\Software Development\XML\Saxon\9.1\saxon9.jar;E:\Software Development\XML\JDOM\jdom-1.1\lib\xerces.jar;E:\Software Development\XML\JDOM\jdom-1.1\lib\saxpath.jar
Any idea on which jar file is missing?
Thanks a lot,
Jack
________________________________
From: Michael Kay <mike@s...>
To: Jack Bush <netbeansfan@y...>
Cc: xml-dev@l...
Sent: Friday, 6 February, 2009 2:07:45 AM
Subject: RE: [xml-dev] XSTL stylesheet workarounds for exceptions
It sounds as if you changed the XML version to "2.0" when you intended to change the XSLT version.
Â
Michael Kay
http://www.saxonica.com/
________________________________
From: Jack Bush [mailto:netbeansfan@y...]
Sent: 05 February 2009 12:30
To: Michael Kay
Cc: xml-dev@l...
Subject: Re: [xml-dev] XSTL stylesheet workarounds for exceptions
Hi 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@s...>
To: Jack Bush <netbeansfan@y...>; butlerdi@g...
Cc: xml-dev@l...
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.
________________________________
Make Yahoo!7 your homepage and win a trip to the Quiksilver Pro. Find out more..
Make Yahoo!7 your homepage and win a trip to the Quiksilver Pro. Find out more | ||||||
| Company | Legal | Press | Partners | Careers | Sitemap | Contact Us | Altova Blog | Mobile | Full Site | |||
|
