Subject: [xsl] XSL namespace output inconsistency|
From: "Kevin L. Cobb" <kevin.cobb@xxxxxxxxxxxx>
Date: Fri, 2 Sep 2005 14:28:00 -0400
(Not sure this is the correct forum for this question since it mixes Java with XSL, but what the heck) I am running an XSL against an XML document. The XSL changes the namespace of some internal elements. When I run this on my local machine (Win XP) I get the result I expect ... the namespace and declarations gets added to the document as expected. Something like this: <ruleMsg> <ruleResult> <ee:ADT xmlns:ee="http://www.mydomain.com/ee" xmlns:eea="http://www.mydomain.com/eea"> <ee:MessageInformation> <eea:DateTimeOfMessage>20050601</eea:DateTimeOfMessage> </ee:MessageInformation> </ee:ADT> </ruleResult> </ruleMsg> However, when this is run on another machine (AIX), the namespace prefixes are getting added but not the namespace declarations. Like this: <ruleMsg> <ruleResult> <ee:ADT> <!-- Missing namespace declarations --> <ee:MessageInformation> <eea:DateTimeOfMessage>20050601</eea:DateTimeOfMessage> </ee:MessageInformation> </ee:ADT> </ruleResult> </ruleMsg> I have to think that this is a difference between the parser being used between the two machines. However, I've tried to set up the two instances to use the same parser. The JRE on the AIX machine has the jaxp.properties file set with these results: javax.xml.transform.TransformerFactory=org.apache.xalan.processor.Transf ormerFactoryImpl javax.xml.parsers.SAXParserFactory=org.apache.xerces.jaxp.SAXParserFacto ryImpl javax.xml.parsers.DocumentBuilderFactory=org.apache.xerces.jaxp.Document BuilderFactoryImpl When I run the parse on my local machine, I set the -D options on the Java call to these same values. Any help would be much approciated.