[xsl] XSL namespace output inconsistency

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.

Current Thread