Home. 
.

transparent

transparent

transparent

Altova Mailing List Archives


Re: [xml-dev] XSTL stylesheet workarounds for exceptions

From: Jack Bush <netbeansfan@-----.---.-->
To: 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


transparent
Print
Mail
Like It
Disclaimer
.

These Archives are provided for informational purposes only and have been generated directly from the Altova mailing list archive system and are comprised of the lists set forth on www.altova.com/list/index.html. Therefore, Altova does not warrant or guarantee the accuracy, reliability, completeness, usefulness, non-infringement of intellectual property rights, or quality of any content on the Altova Mailing List Archive(s), regardless of who originates that content. You expressly understand and agree that you bear all risks associated with using or relying on that content. Altova will not be liable or responsible in any way for any content posted including, but not limited to, any errors or omissions in content, or for any losses or damage of any kind incurred as a result of the use of or reliance on any content. This disclaimer and limitation on liability is in addition to the disclaimers and limitations contained in the Website Terms of Use and elsewhere on the site.

.
.

transparent

transparent