[NTG-context] redefining xmlsetups inside a XML document
mf
massifr at fastwebnet.it
Tue Mar 22 15:23:37 CET 2022
I found the solution I was looking for. The command to run is still
context --environment=nested-xmlsetup.tex --forcexml nested-xmlsetup.xhtml
In the <script> element there's some tex code, which redefines the
xmlsetups for <p> and <i> elements, coloring the first ones in red and
the second ones in blue.
The key command is
\xmlsetsetup{\xmldocument}{p|i}{myHtml:*}
where \xmldocument instead of #1 applies the myHtml:* setups to the
whole XHTML document and not only to the <script> element identified by #1.
I tried also this, to prevent redefining the setups of <html>, <head>,
<script> elements:
\xmlsetsetup{\xmlfirst{\xmldocument}{body}}{p|i}{myHtml:*}
but it doesn't work, since \xmldocument seems to be the actual document
instead of an id pointing to its root element.
Massi
Il 10/03/22 17:52, Hans Hagen ha scritto:
> On 3/10/2022 4:59 PM, mf via ntg-context wrote:
>> Hello,
>> I'm trying to add new templates (xmlsetups) from the XML document itself.
>>
>> See the attached MWE.
>>
>> - the XML document is a simple XHTML file
>>
>> - in the "head" element there's a "script" element with the "type"
>> attribute set to "text/vnd.context", whose contents are then passed to
>> \xmlcontext
>>
>> - the "body" element has a "data-xmlsetups" attribute whose value
>> should tell which xmlsetups is to be applied on the body contents
>> (it's defined in the "script" element above)
>>
>> If it worked, the resulting PDF should show the body element, followed
>> by a "Hello world!" paragraph written in red.
>> But it does not work, because there's something I'm missing in the
>> redefinition and application of xmlsetups.
>>
>> To try the MWE, type:
>>
>> context --environment=nested-xmlsetup.tex --forcexml
>> nested-xmlsetup.xhtml
> <script type="text/vnd.context">
> \startxmlsetups myHtml
> \xmlsetsetup{#1}{p}{myHtml:p}
> % you're missing this
> \xmlsetup{#1}{xml:process}
> % which is
> % \xmlregistereddocumentsetups{#1}{#1}
> % \xmlmain{#1}
> \stopxmlsetups
>
> \startxmlsetups myHtml:p
> \dontleavehmode\red\xmlflush{#1}\par
> \stopxmlsetups
> </script>
>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: nested-xmlsetup.xhtml
Type: application/xhtml+xml
Size: 575 bytes
Desc: not available
URL: <http://mailman.ntg.nl/pipermail/ntg-context/attachments/20220322/c1e27014/attachment.xhtml>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: nested-xmlsetup.tex
Type: text/x-tex
Size: 863 bytes
Desc: not available
URL: <http://mailman.ntg.nl/pipermail/ntg-context/attachments/20220322/c1e27014/attachment.tex>
More information about the ntg-context
mailing list