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