You are viewing a plain text version of this content. The canonical link for it is here.
Posted to j-users@xalan.apache.org by arman_jan <ar...@hotmail.com> on 2006/12/04 20:14:31 UTC

xsl transform with cdata-section-elements

I am using Jdom's XSLTransformer class to transform one xml file to another.
The output file should have all character data enclosed in cdata section. I
use <xsl:output method="xml" indent="yes" cdata-section-elements="value"/>
in my xsl stylesheet. When I do a regular command line transform using xalan
2.7.0 I get the desired output. 

java org.apache.xalan.xslt.Process -IN input.xml -XSL sheet.xsl -OUT out.xml

However, when I perform a transformation inside Java code, my <value>
element doesn't have the text enclosed in cdata-section.

Any ideas why is this happening?

Thanks!!!

-- 
View this message in context: http://www.nabble.com/xsl-transform-with-cdata-section-elements-tf2755890.html#a7685023
Sent from the Xalan - J - Users mailing list archive at Nabble.com.


Re: xsl transform with cdata-section-elements

Posted by arman_jan <ar...@hotmail.com>.
I have fixed my own problem by by using xalan's transform instead of jdom's.
Thanks!



arman_jan wrote:
> 
> I am using Jdom's XSLTransformer class to transform one xml file to
> another. The output file should have all character data enclosed in cdata
> section. I use <xsl:output method="xml" indent="yes"
> cdata-section-elements="value"/> in my xsl stylesheet. When I do a regular
> command line transform using xalan 2.7.0 I get the desired output. 
> 
> java org.apache.xalan.xslt.Process -IN input.xml -XSL sheet.xsl -OUT
> out.xml
> 
> However, when I perform a transformation inside Java code, my <value>
> element doesn't have the text enclosed in cdata-section.
> 
> Any ideas why is this happening?
> 
> Thanks!!!
> 
> 

-- 
View this message in context: http://www.nabble.com/xsl-transform-with-cdata-section-elements-tf2755890.html#a7690981
Sent from the Xalan - J - Users mailing list archive at Nabble.com.


Re: xsl transform with cdata-section-elements

Posted by arman_jan <ar...@hotmail.com>.
Thanks for the quick response Santiago,

>  Just to be clear, the cdata-section-elements only refers to output  
>elements of that name (so it isn't about preserving CDATAs from the  
>input document).

I'm not trying to preserver CDATA from the input document, only to enclose
some elements in my output.xml in cdata section.

> This is strange. Have you looked at what the JDOM library is doing  
>exactly when calling Xalan? Are you certain that Xalan is being used?

I set this attribute in my Java code as follows:

System.setProperty("javax.xml.transform.TransformerFactory",
		    "org.apache.xalan.processor.TransformerFactoryImpl");

The output of my environment check is the following:

boolean environmentOK = (new EnvironmentCheck()).checkEnvironment (null);



#---- BEGIN writeEnvironmentReport($Revision: 1.26 $): Useful stuff found:
----
version.DOM.draftlevel=2.0fd
java.class.path=C:\src\HEAD\DTAX\JavaCode\offline_src\bin;C:\src\HEAD\DAL\bin;C:\src\HEAD\DAL\lib\commons-pool.jar;C:\src\HEAD\DAL\lib\dbunit-2.1.jar;C:\src\HEAD\DAL\lib\hrtlib.jar;C:\src\HEAD\DAL\lib\jaxen-core.jar;C:\src\HEAD\DAL\lib\jaxen-jdom.jar;C:\src\HEAD\DAL\lib\jdom.jar;C:\src\HEAD\DAL\lib\jtds-1.2.jar;C:\src\HEAD\DAL\lib\junit.jar;C:\src\HEAD\DAL\lib\log4j-1.2.13.jar;C:\src\HEAD\DAL\lib\ojdbc14.jar;C:\src\HEAD\DAL\lib\resolver.jar;C:\src\HEAD\DAL\lib\saxpath.jar;C:\src\HEAD\DAL\lib\servlet.jar;C:\src\HEAD\DAL\lib\xercesImpl.jar;C:\src\HEAD\DAL\lib\xml-apis.jar;C:\src\HEAD\DAL\lib\xmlparserv2.jar;C:\src\HEAD\DAL\lib\xsu12.jar;C:\src\HEAD\DTAX\JavaCode\offline_src\lib\axis.jar;C:\src\HEAD\DTAX\JavaCode\offline_src\lib\axis-ant.jar;C:\src\HEAD\DTAX\JavaCode\offline_src\lib\bsh-2.0b2.jar;C:\src\HEAD\DTAX\JavaCode\offline_src\lib\commons-cli-1.0.jar;C:\src\HEAD\DTAX\JavaCode\offline_src\lib\commons-discovery-0.2.jar;C:\src\HEAD\DTAX\JavaCode\offline_src\lib\commons-io-1.2.jar;C:\src\HEAD\DTAX\JavaCode\offline_src\lib\commons-logging-1.0.4.jar;C:\src\HEAD\DTAX\JavaCode\offline_src\lib\commons-pool.jar;C:\src\HEAD\DTAX\JavaCode\offline_src\lib\dbunit-2.1.jar;C:\src\HEAD\DTAX\JavaCode\offline_src\lib\dtaxClients.jar;C:\src\HEAD\DTAX\JavaCode\offline_src\lib\hrtlib.jar;C:\src\HEAD\DTAX\JavaCode\offline_src\lib\jacob.jar;C:\src\HEAD\DTAX\JavaCode\offline_src\lib\jaxen-core.jar;C:\src\HEAD\DTAX\JavaCode\offline_src\lib\jaxen-jdom.jar;C:\src\HEAD\DTAX\JavaCode\offline_src\lib\jaxrpc.jar;C:\src\HEAD\DTAX\JavaCode\offline_src\lib\jdom.jar;C:\src\HEAD\DTAX\JavaCode\offline_src\lib\jtds-1.2.jar;C:\src\HEAD\DTAX\JavaCode\offline_src\lib\junit-3.8.1.jar;C:\src\HEAD\DTAX\JavaCode\offline_src\lib\log4j-1.2.13.jar;C:\src\HEAD\DTAX\JavaCode\offline_src\lib\ojdbc14.jar;C:\src\HEAD\DTAX\JavaCode\offline_src\lib\resolver.jar;C:\src\HEAD\DTAX\JavaCode\offline_src\lib\saaj.jar;C:\src\HEAD\DTAX\JavaCode\offline_src\lib\saxpath.jar;C:\src\HEAD\DTAX\JavaCode\offline_src\lib\ssan3.jar;C:\src\HEAD\DTAX\JavaCode\offline_src\lib\wsdl4j.jar;C:\src\HEAD\DTAX\JavaCode\offline_src\lib\xalan.jar;C:\src\HEAD\DTAX\JavaCode\offline_src\lib\xercesImpl.jar;C:\src\HEAD\DTAX\JavaCode\offline_src\lib\xml-apis.jar;C:\src\HEAD\DTAX\JavaCode\offline_src\lib\xmlparserv2.jar;C:\src\HEAD\DTAX\JavaCode\offline_src\lib\xpp3-1.1.3.4d_b4_min.jar;C:\src\HEAD\DTAX\JavaCode\offline_src\lib\xstream-1.1.1.jar;C:\src\HEAD\DTAX\JavaCode\offline_src\lib\xsu12.jar;C:\src\HEAD\DTAX\JavaCode\offline_src\lib\serializer.jar;/c:/eclipse/plugins/org.eclipse.jdt.junit_3.1.1/junitsupport.jar;/c:/eclipse/plugins/org.eclipse.jdt.junit.runtime_3.1.0/junitruntime.jar
version.JAXP=1.1 or higher
java.ext.dirs=C:\Program Files\Java\jre1.5.0_08\lib\ext
version.xerces2=Xerces-J 2.6.2
version.xerces1=not-present
version.xalan2_2=Xalan Java 2.6.0
version.xalan1=not-present
version.ant=not-present
java.version=1.5.0_08
version.DOM=2.0
version.crimson=not-present
sun.boot.class.path=C:\Program Files\Java\jre1.5.0_08\lib\rt.jar;C:\Program
Files\Java\jre1.5.0_08\lib\i18n.jar;C:\Program
Files\Java\jre1.5.0_08\lib\sunrsasign.jar;C:\Program
Files\Java\jre1.5.0_08\lib\jsse.jar;C:\Program
Files\Java\jre1.5.0_08\lib\jce.jar;C:\Program
Files\Java\jre1.5.0_08\lib\charsets.jar;C:\Program
Files\Java\jre1.5.0_08\classes
#---- BEGIN Listing XML-related jars in: foundclasses.java.class.path ----
dom.jar-path=C:\src\HEAD\DAL\lib\jaxen-jdom.jar
dom.jar-apparent.version=dom.jar present-unknown-version
dom.jar-path=C:\src\HEAD\DAL\lib\jdom.jar
dom.jar-apparent.version=dom.jar present-unknown-version
xercesImpl.jar-apparent.version=xercesImpl.jar from Xerces-J-bin.2.6.2
xercesImpl.jar-path=C:\src\HEAD\DAL\lib\xercesImpl.jar
xml-apis.jar-apparent.version=xml-apis.jar from tck-jaxp-1_2_0 branch of
xml-commons, tag: xml-commons-external_1_2_01
xml-apis.jar-path=C:\src\HEAD\DAL\lib\xml-apis.jar
dom.jar-path=C:\src\HEAD\DTAX\JavaCode\offline_src\lib\jaxen-jdom.jar
dom.jar-apparent.version=dom.jar present-unknown-version
dom.jar-path=C:\src\HEAD\DTAX\JavaCode\offline_src\lib\jdom.jar
dom.jar-apparent.version=dom.jar present-unknown-version
xalan.jar-path=C:\src\HEAD\DTAX\JavaCode\offline_src\lib\xalan.jar
xercesImpl.jar-apparent.version=xercesImpl.jar from Xerces-J-bin.2.6.2
xercesImpl.jar-path=C:\src\HEAD\DTAX\JavaCode\offline_src\lib\xercesImpl.jar
xml-apis.jar-apparent.version=xml-apis.jar from tck-jaxp-1_2_0 branch of
xml-commons, tag: xml-commons-external_1_2_01
xml-apis.jar-path=C:\src\HEAD\DTAX\JavaCode\offline_src\lib\xml-apis.jar
#----- END Listing XML-related jars in: foundclasses.java.class.path -----
version.SAX=2.0
version.xalan2x=not-present
#----- END writeEnvironmentReport: Useful properties found: -----
# YAHOO! Your environment seems to be OK.

According to this I assume that my application is using xalan, am I wrong?

Thanks!



Santiago Pericas-Geertsen wrote:
> 
> 
> On Dec 4, 2006, at 2:14 PM, arman_jan wrote:
> 
>>
>> I am using Jdom's XSLTransformer class to transform one xml file to  
>> another.
>> The output file should have all character data enclosed in cdata  
>> section. I
>> use <xsl:output method="xml" indent="yes" cdata-section- 
>> elements="value"/>
> 
>   Just to be clear, the cdata-section-elements only refers to output  
> elements of that name (so it isn't about preserving CDATAs from the  
> input document).
> 
> 
> 
>> in my xsl stylesheet. When I do a regular command line transform  
>> using xalan
>> 2.7.0 I get the desired output.
>>
>> java org.apache.xalan.xslt.Process -IN input.xml -XSL sheet.xsl - 
>> OUT out.xml
>>
>> However, when I perform a transformation inside Java code, my <value>
>> element doesn't have the text enclosed in cdata-section.
> 
>   This is strange. Have you looked at what the JDOM library is doing  
> exactly when calling Xalan? Are you certain that Xalan is being used?
> 
> -- Santiago
> 
> 
> 
> 

-- 
View this message in context: http://www.nabble.com/xsl-transform-with-cdata-section-elements-tf2755890.html#a7686364
Sent from the Xalan - J - Users mailing list archive at Nabble.com.


Re: xsl transform with cdata-section-elements

Posted by Santiago Pericas-Geertsen <Sa...@Sun.COM>.
On Dec 4, 2006, at 2:14 PM, arman_jan wrote:

>
> I am using Jdom's XSLTransformer class to transform one xml file to  
> another.
> The output file should have all character data enclosed in cdata  
> section. I
> use <xsl:output method="xml" indent="yes" cdata-section- 
> elements="value"/>

  Just to be clear, the cdata-section-elements only refers to output  
elements of that name (so it isn't about preserving CDATAs from the  
input document).

> in my xsl stylesheet. When I do a regular command line transform  
> using xalan
> 2.7.0 I get the desired output.
>
> java org.apache.xalan.xslt.Process -IN input.xml -XSL sheet.xsl - 
> OUT out.xml
>
> However, when I perform a transformation inside Java code, my <value>
> element doesn't have the text enclosed in cdata-section.

  This is strange. Have you looked at what the JDOM library is doing  
exactly when calling Xalan? Are you certain that Xalan is being used?

-- Santiago