Subject: Re: [xsl] RE: xslt processing and style ant task From: Emmanouil Batsis <Emmanouil.Batsis@xxxxxxxxxxx> Date: Fri, 16 Jul 2004 10:07:10 +0300 |
Le jeu, 15/07/2004 C 09:14 -0500, Dominique Devienne a C)crit :
From: Nicolas Mailhot [mailto:Nicolas.Mailhot@xxxxxxxxxxx]Which document uses XInclude, the source document, or the stylesheet?
Hi all,
I currently need to process and xml document via ant's 1.5.4 style task, using a 1.3.1 jvm and either xalan-j2 2.6.0 or saxon 6.5.3 as the xslt engine.
A test run using libxslt's xsltproc shows the stylesheet actually does
what I want it to do. Unfortunately the style ant task seems totally
xinclude-ignorant. Is it possible to activate xinclude processing, maybe
using special processor values ? Else I'll just code a stylesheet to
merge the document since it's xinclude usage is simple and well-defined,
but doing custom processing on a standard extension feels plain wrong.
I'd guess the source, since otherwise you'd use <xsl:include> in the
stylesheet, right!?
Right. That's the source document.
(In fact I have quite a few docs that were broken into pieces using entities that are screaming for XInclude instead. The problem with entities is you can't validate individual pieces separately since the XML header and doctype declaration are only present in the master file)
I'm not interested in any solution that involves changing ant version or installing ant extensions - a requirement of the setup is it must be easily deployed, and introducing new binary requirements is likely to me much heavier than coding a custom stylesheet.
Longer-term of course having ant style ignore xinclude by default
seems plain wrong.
It's not Xalan or Saxon that need to be XInclude-aware, but the XML parser you are using. Just switch to using such a parser, by configuring the VM to use this parser (using the standard JAXP way of doing such a thing).
The fact that Ant comes bundled with Xerces might get in the way though...
Well, I'm using xerces-j2 2.6.2 which is supposed to be fairly recent.
Or are you telling me the xerces people have no XInclude support nor are planning for one ? Short-term I can work around this using the following stylesheet (since I only need the most basic of XInclude support now) but that means yet another bunch of intermediary files I have to track.
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:xi="http://www.w3.org/2003/XInclude" version="1.0"> <xsl:output method="xml" indent="yes" encoding="UTF-8"/> <xsl:template match="*"> <xsl:copy> <xsl:apply-templates select="@*"/> <xsl:apply-templates select="*"/> </xsl:copy> </xsl:template> <xsl:template match="@*"> <xsl:copy/> </xsl:template> <xsl:template match="xi:include"> <xsl:apply-templates select="document(@href)/*"/> </xsl:template> </xsl:stylesheet>
Regards,
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
[xsl] RE: xslt processing and style, Nicolas Mailhot | Thread | [xsl] selecting elements from a fla, Adrian Jordin |
RE: [xsl] Correcting an XML docume, David . Pawson | Date | RE: [xsl] Correcting an XML documen, Michael Kay |
Month |