[Home] [By Thread] [By Date] [Recent Entries]
I have a question concerning the use of fn:document in XSL 2.0 using
Saxon 8
I have an xml document with an xsl style sheet processing directive that calls a working style sheet. What I thought I could do to embellish the document under certain circumstances is include this document from another document by specifying an extension attribute that uses fn:document to include the subdocument. The embellishment simply sets up a key that, if it had been defined in the subdocument, would be generated perfectly well. (This is rather like extending a base class in OOP). What happens is that the subdocument is generated as expected but the key has not been passed. So the issue, I suspected, is that the processing directive in the subdocument (that in fact calls the same style sheet) reinitializes either the key or the style sheet processor. This implies that the question I should ask is: can I include a document that I want to parse and ask the style sheet processor to ignore any processing directives? So obviously I removed the processing directive but it made no difference. So we have something like this: == top.xml == <?xml-stylesheet type="text/xsl"href="oxygen:/eXist$memeio-exist/db/ memeio/xml/form.xsl"?> <document extends="document.xml"> <embellishment type="sidebar"> <p>The boy stood on the burning deck ...</p> </embellishment> </document> == document.xml == <?xml-stylesheet type="text/xsl"href="oxygen:/eXist$memeio-exist/db/ memeio/xml/form.xsl"?> <document> <embellishment type="overlay"> <p>... picking his nose like mad.</p> </embellishment> <!-- the xml that defines the document --> </document> == form.xml includes: <xsl:key match="embellishment" name="embellishment" use="@type"/> and, of course, it knows what to do with these keys as the document is generated. This all works for the non-extended case. I know that there are other ways to do this and different ways to structure the document but I am looking for a simple way to extend existing documents in the current style sheet structure. Thanks, Steven
|

Cart



