Subject: Re: [xsl] I need to make sure that all namespace declarations get output to a particular element, not the document element|
From: "bryan rasmussen" <rasmussen.bryan@xxxxxxxxx>
Date: Thu, 22 Mar 2007 15:25:25 +0100
Well I am already forced, due to lack of support for all of Xforms capabilities in OO to do post processing of the Xforms instance (however different thing than post processing of the xforms input, I guess I can actually process that one more time, since the most resource intensive part of the process is that which zips the xml into the open office document and then opens open office.), unfortunately what comes out of the xforms submission currently, due to the lack of the invoice namespace on the invoice element is <:Invoice
Cheers, Bryan Rasmussen
bryan rasmussen wrote: > > Thus I need to make sure my namespace declarations come out on the XML > subtree that the OO xforms processor is taking as the document > element, basically. >
I see. That is grave news and a pity the OO people choose such an awful approach. Well, the scenario laid out in my mail will work if you remove the declarations from the root xsl:stylesheet. You will end-up having an awefull lot of work...
What if you move your namespace declarations to a DTD, where you define the root element of these elements that are separately processed by the forms processor as having the needed namespaces. This has some drawback (many people consider it bad practice to hide the namespaces in a DTD), but has the advantage in your scenario of never having to worry again about the declarations.
Of course, it is very well possible that OO is doing this incorrectly as well (i.e., if your doc is not processed by an XML processor before it takes out the xform parts, your out of luck).
Yet another approach is post-processing. Or use XSLT 2 (but you said you can't).
Cheers, -- Abel