Hi France, This seems to work: let $map := ( processing-instruction xml-model {'href="urn:oasis:names:tc:dita:rng:map.rng" schematypens="http://relaxng.org/ns/structure/2.x"'}, <map> {processing-instruction test {'name="abc"'}} <title>…</title> <title>…</title> </map> ) return … Gerrit On 01.07.2022 12:39, France Baril wrote:
Hi,
I am trying to output XML with a link to a RelaxNG schema without success.
* It works with DTDs using doctype-public and doctype-systems in the serialization params of file:write * It works with .xsd because the declaration is in the attribute * For relaxNg, the intro line looks like a PI, but I can't seem to be able to keep PIs when outputting xml with file:write
Specifically:
let $map-params := map { 'method': 'xml', 'indent': 'no', 'omit-xml-declaration': 'no' }
let $map := ( <?xml-model href="urn:oasis:names:tc:dita:rng:map.rng" schematypens="http://relaxng.org/ns/structure/2.x <http://relaxng.org/ns/structure/2.x>"?>, <map> <?test name="abc"?>
<title>{lower-case($spez/child::*[name()='name']/text())}</title>{
<title>{lower-case($spez/child::*[name()='name']/text())}</title>{ ... }</map> ) return file:write($dir-path || '/spec-' || lower-case($spez/child::*[name()='name']/text()) || '.ditamap', $map)
gets me:
<map> <title>Tests for elements - version 2.0</title> ... </map>
Both the declaration and the in-content test pi disappear.
What am I missing here?
-- France Baril Architecte documentaire / Documentation architect france.baril@architextus.com <mailto:france.baril@architextus.com>
-- Gerrit Imsieke Geschäftsführer / Managing Director le-tex publishing services GmbH Weissenfelser Str. 84, 04229 Leipzig, Germany Phone +49 341 355356 110, Fax +49 341 355356 510 gerrit.imsieke@le-tex.de, http://www.le-tex.de Registergericht / Commercial Register: Amtsgericht Leipzig Registernummer / Registration Number: HRB 24930 Geschäftsführer / Managing Directors: Gerrit Imsieke, Svea Jelonek, Thomas Schmidt