|
[XQuery Talk Mailing List Archive Home] [By Date] [By Thread] [By Subject] [By Author] [Recent Entries] [Reply To This Message] Can I set the DOCTYPE through XQuery (using Saxon8.9j)Michael Kay mike at saxonica.comSat Mar 17 23:41:23 PST 2007
> For anyone who cares, Your message was sent to me alone, but I'm going back on-list! > here's what I used to get the XHTML 1.0 Strict DTD in DOCTYPE: > declare namespace saxon="http://saxon.sf.net/"; declare option saxon:output "method=xhtml"; declare option saxon:output "doctype-public=-//W3C//DTD XHTML 1.0 Strict//EN"; declare option saxon:output "doctype-system=http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"; > I just guessed on the doctype-public, but it did what I expected. > > (NOTE: It works with or without the 'declare namespace saxon...' line. > I'm not sure if it's more correct with or without it) It seems to be "the XQuery way" to have commonly-used namespace prefixes predeclared by the processor, so I followed that tradition by predeclaring the namespace xmlns:saxon="http://saxon.sf.net/". Certainly your query is a bit more robust if you declare it explicitly, because you're then not running the risk that a different process will bind the same prefix to some different namespace. > > I looked at the extensions.html page you referenced before > posting. I just looked at it again. I see no mention of > doctype. I should add to the description of declare option saxon:output some reference to the serialization parameters that are available. You can use all the serialization parameters defined in the serialization spec http://www.w3.org/TR/xslt-xquery-serialization/ together with the additional Saxon serialization parameters defined at http://www.saxonica.com/documentation/extensions/output-extras.html > > I find it strange that setting the doctype requires an extension. Architecturally, the query processor and the serializer are different components, and there is some merit in retaining this separation, so that your query is a pure "tree-to-tree" transformation without any assumptions about how the results will be further processed. I think that's the justification for the XQuery position. Perhaps XProc will define a way of plugging the output of a query into a serializer... > Are the doctype-public and -system shown somewhere else in > the Saxon docs? Or, are they just so obvious that I'm the > only one confused by them being missing? All the standard serialization parameters in the W3C spec are available, I just forgot to mention the fact. Michael Kay http://www.saxonica.com/
|
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
|






