[XSL-LIST Mailing List Archive Home] [By Thread] [By Date] [Recent Entries] [Reply To This Message] Re: Preserving inline DTD
On Mon, Jan 27, 2014 at 03:35:33PM -0800, Martin Holmes scripsit: > On 14-01-27 03:33 PM, David Carlisle wrote: > >On 27/01/2014 23:26, Piotr Fusik wrote: > >>How do I make xsltproc preserve the DTD that is in the input XML ? > > > >Unless it has a non-standard extension (which I don't recall is the > >case) then this is not possible. Standard XSLT can not do this as the > >DTD is expanded out by the XML parser and not reported to XSLT which > >just sees a tree of element text and attribute nodes. > > Couldn't the XSLT re-read the source document as text, using the > document() function, and recover the DTD section with string > manipulation? document() will insist on parsing the document, so I don't think so, no. If you have unparsed-text() (which xsltproc won't because it's XSLT 1.0) you can do that to get the contents of the DOCTYPE declaration. If it will always be the same DTD, or you know what DTD it will be at run time, you can get the xsl:output to create a DOCTYPE declaration in the result document by setting the doctype-public and possibly doctype-system attributes on xsl:output to the values you want, which might have been what the original question was about. -- Graydon
|
PURCHASE STYLUS STUDIO ONLINE TODAY!Purchasing Stylus Studio from our online shop is Easy, Secure and Value Priced! Download The World's Best XML IDE!Accelerate XML development with our award-winning XML IDE - Download a free trial today! Subscribe in XML format
|