Thanks again Christine. Unfortunately, this problem has turned out to be a show stopper for me. I can't use Xalan because of it. I'm the XML provider and I have clients who parse the xml the old fashioned way. Even for my clients using a real xml parser, I can hardly tell them "Oh you might want to catch cases where there are adjacent CDATA nodes. We don't know why it's happening, but just code around it and everything will be fine).
If the developers are reading this, I just wanted to reiterate the problem: This: <URL>http://www.mydomain.com/directory/file.html</URL> Gets transformed to something like: <URL><![CDATA[http://www.mydomain]]><![CDATA[.com/directory/file.html]]> </URL> Using a stylesheet with the follwing output format: <xsl:output method="xml" indent="yes" encoding="ISO-8859-1" cdata-section-elements="URL" media-type="text/xml" standalone="no" /> I've inspected the data to be sure there were no weird characters and everything is ok. It seems to act like this at random (I know, there's no such thing). Thanks all for your help. -----Original Message----- From: Christine Li [mailto:[EMAIL PROTECTED] Sent: March 20, 2003 11:52 AM To: Mike McLean Cc: [EMAIL PROTECTED] Subject: RE: Adjacent CDATA node problems >The patch I'm trying to get at is described here: >http://nagoya.apache.org/bugzilla/show_bug.cgi?id=10726 You need a newer version instead of 1.17, however, this bug is remain open, I don't think that the patch has been committed. Christine Li XSLT Development IBM Toronto Lab Tel: (905)413-2601 Email: [EMAIL PROTECTED] "Mike McLean" <[EMAIL PROTECTED] To: "Christine Li" <[EMAIL PROTECTED]> om> cc: <[EMAIL PROTECTED]> Subject: RE: Adjacent CDATA node problems 03/20/2003 11:19 AM Thanks Christine and Joseph for your help. I'm now up and running with 2.5.1. The adjacent CDATA node problem has gotten even worse with this version and is not much better with 2.4.1. I read about the patch, but can't quite figure out how to install it. I'm figuring it's 1) download the patch from cvs 2) download the source 3) rebuild 4) jar 5) use that jar instead The patch I'm trying to get at is described here: http://nagoya.apache.org/bugzilla/show_bug.cgi?id=10726 And is found here: http://nagoya.apache.org/bugzilla/showattachment.cgi?attach_id=3265 It looks like I need to get to version 1.17 of the SerializerToXML.java file, but when I download it from the cvs repository (http://cvs.apache.org/viewcvs.cgi/xml-xalan/java/src/org/apache/xalan/s erialize/SerializerToXML.java?rev=1.17&content-type=text/vnd.viewcvs-mar kup), none of the changes described in the attachment are there. Is there a URL that explains how to get these patches? Thanks again for your help. -----Original Message----- From: Christine Li [mailto:[EMAIL PROTECTED] Sent: March 20, 2003 9:14 AM To: Mike McLean Cc: [EMAIL PROTECTED] Subject: RE: Adjacent CDATA node problems Hi, Mike I am not 100% sure about this problem. Sounds as if it is related to different versions of same jar files were loaded at the same time. Try to replace the %Tomcat_Home%/common/endorsed/xercesImpl.jar with the jar packed with Xalan. Christine Li XSLT Development IBM Toronto Lab Tel: (905)413-2601 Email: [EMAIL PROTECTED] "Mike McLean" <[EMAIL PROTECTED] To: "Christine Li" <[EMAIL PROTECTED]> om> cc: <[EMAIL PROTECTED]> Subject: RE: Adjacent CDATA node problems 03/19/2003 07:29 PM Hi Christine, Thanks for the reply. It looks like I'm getting closer. I'm hopping that the cdata problem will be solved by using either 2.4.1 or 2.5.1. You're right. An environment check showed me I was using 2.2D11. Now it's using the correct version 2.4.1. BUT: I'm now getting a strange error, and I'm sure it's something really, really stupid and I'll be kicking myself for not solving it myself and showing my ignorance to the world ... What's this all about? I get this running the sample code as well as my own code. (This is so frustrating. I was ready to deliver the app when I noticed the adjacent cdata problem) 86324 [Thread-12] FATAL actions.ShowArchiveServlet - java.lang.VerifyError: Cannot inherit from final class java.lang.VerifyError: Cannot inherit from final class at java.lang.ClassLoader.defineClass0(Native Method) at java.lang.ClassLoader.defineClass(ClassLoader.java:502) at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:123) at org.apache.catalina.loader.WebappClassLoader.findClassInternal(WebappCla ssLoader.java:1664) at org.apache.catalina.loader.WebappClassLoader.findClass(WebappClassLoader .java:953) at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader .java:1394) at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader .java:1274) at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:315) at org.apache.xerces.impl.XMLNSDocumentScannerImpl.createContentDispatcher( Unknown Source) at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl.<init>(XMLDocument FragmentScannerImpl.java:248) at org.apache.xerces.impl.XMLDocumentScannerImpl.<init>(XMLDocumentScannerI mpl.java:245) at org.apache.xerces.impl.XMLNSDocumentScannerImpl.<init>(Unknown Source) at org.apache.xerces.parsers.IntegratedParserConfiguration.createDocumentSc anner(Unknown Source) at org.apache.xerces.parsers.DTDConfiguration.<init>(DTDConfiguration.java: 366) at org.apache.xerces.parsers.StandardParserConfiguration.<init>(StandardPar serConfiguration.java:197) at org.apache.xerces.parsers.IntegratedParserConfiguration.<init>(Unknown Source) at org.apache.xerces.parsers.IntegratedParserConfiguration.<init>(Unknown Source) at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorA ccessorImpl.java:39) at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingCons tructorAccessorImpl.java:27) at java.lang.reflect.Constructor.newInstance(Constructor.java:274) at java.lang.Class.newInstance0(Class.java:306) at java.lang.Class.newInstance(Class.java:259) at org.apache.xerces.util.ObjectFactory.newInstance(ObjectFactory.java:293) at org.apache.xerces.util.ObjectFactory.createObject(ObjectFactory.java:224 ) at org.apache.xerces.util.ObjectFactory.createObject(ObjectFactory.java:119 ) at org.apache.xerces.parsers.SAXParser.<init>(SAXParser.java:140) at org.apache.xerces.parsers.SAXParser.<init>(SAXParser.java:125) at org.apache.xerces.jaxp.SAXParserImpl.<init>(SAXParserImpl.java:102) at org.apache.xerces.jaxp.SAXParserFactoryImpl.newSAXParser(SAXParserFactor yImpl.java:95) at org.apache.xalan.processor.TransformerFactoryImpl.newTemplates(Transform erFactoryImpl.java:937) at org.apache.xalan.processor.TransformerFactoryImpl.newTransformer(Transfo rmerFactoryImpl.java:788) -----Original Message----- From: Christine Li [mailto:[EMAIL PROTECTED] Sent: March 19, 2003 6:47 PM To: Mike McLean Cc: [EMAIL PROTECTED] Subject: Re: Adjacent CDATA node problems >I would like to upgrade to 2.5.1d but can't because I keep getting this error as soon as I replace the jar: > The output format must have a '{ http://xml.apache.org/xslt}content-handler' property It is a problem of Sun JRE 1.4.* has a bundled old version xalan. You can use the "Endorsed Standards Override Mechanism", copy a newer version of Xalan.jar in the /lib/endorsed directory of JRE Christine Li XSLT Development IBM Toronto Lab Tel: (905)413-2601 Email: [EMAIL PROTECTED]