Hi Jean-Pierre,
Why do you use \xmlload etc? Perhaps you could tell us a bit more about your
use case?
In any case, I'd use the example in the mkiv-xml as a starting point and adapt
that (example below). You can see that this works in a declerative way. You
essentially map source nodes to the target document rather than rebuilding the
document manually in tex and pulling data in where needed as in your example
(obviously, there are situations where you might want to do that, but I don't
know if TEI processing is a good use case for that).
Best,
Denis
%%%%%%%% TEI-Example %%%%%%%%%%%%%%%%%%%%%%%
\startxmlsetups xml:TEIsetups
\xmlsetsetup{#1}{*}{-}
\xmlsetsetup{#1}{TEI|text|body}{xml:*}
\xmlsetsetup{#1}{p|persName|placeName|note}{xml:*}
\xmlsetsetup{#1}{div[@type='edition']}{xml:div-edition}
\xmlsetsetup{#1}{div[@type='translation']}{xml:div-translation}
\stopxmlsetups
\xmlregisterdocumentsetup{TEI}{xml:TEIsetups}
\startxmlsetups xml:TEI
\xmlflush{#1}
\stopxmlsetups
\startxmlsetups xml:text
\xmlflush{#1}
\stopxmlsetups
\startxmlsetups xml:body
\xmlflush{#1}
\stopxmlsetups
\startxmlsetups xml:div-edition
\chapter{\xmltext{#1}{head}}
\xmlflush{#1}
\stopxmlsetups
\startxmlsetups xml:div-translation
\subject{\xmltext{#1}{head}}
\xmlflush{#1}
\stopxmlsetups
\startxmlsetups xml:p
\xmlflush{#1}
\stopxmlsetups
\startxmlsetups xml:persName
\sc{\xmlflush{#1}}
\stopxmlsetups
\startxmlsetups xml:placeName
\emph{\xmlflush{#1}}
\stopxmlsetups
\startxmlsetups xml:note
\footnote{\xmlflush{#1}}
\stopxmlsetups
\startbuffer[TEI]
<?xml version="1.0" encoding="UTF-8"?>
<TEI>
<text>
<body>
<div type="edition" xml:lang="la">
<head>Exemplum Ciceronis</head>
<p>
<persName>Marcus Tullius Cicero</persName>
in
<placeName>Arpino</placeName>
natus est.
<note>Simple note.</note>
</p>
</div>
<div type="translation" xml:lang="fr">
<head>Traduction française</head>
<p>Cicéron naquit à Arpinum.</p>
</div>
</body>
</text>
</TEI>
\stopbuffer
\starttext
\xmlprocessbuffer{TEI}{TEI}{}
\stoptext
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
Von: Jean-Pierre Delange via ntg-context <[email protected]>
Gesendet: Sonntag, 30. November 2025 21:25
An: [email protected]
Cc: Jean-Pierre Delange <[email protected]>
Betreff: [NTG-context] Re: XML/TEI parsing issue in LMTX: lxp.lom not found
(small test case)
Hi ConTeXters !
I reply to myself regarding the issue of compiling tex-xml-tei files. ConTeXt
was complaining that it could not find the ‘lxp.lom’ module, which is actually
a Lua module... The reason was that I was compiling with LMTX and not with
MKIV. All I had to do was run the command: context --luatex myfile.tex and the
complaint disappeared. I would like to take this opportunity to ask Hans: is it
a scientific and demonstrable fact that the implementation of Luatex in
ConTeXt-LMTX left out this ‘lpx.lom’?
Thank you very much,
JP
Le 30/11/2025 à 09:00, Jean-Pierre Delange via ntg-context a écrit :
I fellows (and Hraban) !
I looked into how to use only the XML embedded by ConTeXt. And I found the
solution for a simple (and functional) MWE. Now I just need to apply the
principle to a slightly more complex example. Here are the two files used to
display the plain text, its translation, and the footnote.
1. the xml file 'cicero-sample-tei.xml' :
<?xml version="1.0" encoding="UTF-8"?>
<TEI>
<text>
<body>
<div type="edition <xml:lang=> " xml:lang="la">
<head>Exemplum Ciceronis</head>
<p>
<persName>Marcus Tullius Cicero</persName>
in
<placeName>Arpino</placeName>
natus est.
<note>Simple note.</note>
</p>
</div>
<div type="translation <xml:lang=> " xml:lang="fr">
<head>Traduction française</head>
<p>Cicéron naquit à Arpinum.</p>
</div>
</body>
</text>
</TEI>
2. The ConTeXt file, cicero-tei-setup.tex
% cicero-tei-setup.tex
\setuppapersize[A5]
\setupbodyfont[latin-modern]
% Load the TEI xml file
\xmlload{cicero}{cicero-sample-tei.xml}{}
\starttext
% 1. Title of edition (head of the "edition" part)
\chapter{\xmltext{cicero}{/TEI/text/body/div[@type='edition']/head}}
% 2. Paragraphe latin, with manual configuration
%
% <persName> -> petites capitales
% <placeName> -> italique
% <note> -> note de bas de page
%
\sc{\xmltext{cicero}{/TEI/text/body/div[@type='edition']/p/persName}}
\space in
\em{\xmltext{cicero}{/TEI/text/body/div[@type='edition']/p/placeName}}
\space natus est.\footnote{%
\xmltext{cicero}{/TEI/text/body/div[@type='edition']/p/note}%
}
\blank[2*big]
% 3. Translation tiltle
\subject{\xmltext{cicero}{/TEI/text/body/div[@type='translation']/head}}
% 4. Translation Paragraph
\xmltext{cicero}{/TEI/text/body/div[@type='translation']/p}
\stoptext
I'm trying to develop some documentation on processing multilingual texts with
XML-TEI... I hope I'll get somewhere!
JP
Le 29/11/2025 à 14:10, Henning Hraban Ramm a écrit :
Am 29.11.25 um 13:44 schrieb Jean-Pierre Delange via ntg-context:
local lom = require("lxp.lom")
|lua error: module'lxp.lom'notfound: no field package.preload['lxp.lom'] no
file '.../lua/lxp/lom.lua'... |
When ConTeXt can’t find your lua library, everything else makes no sense to
share (while I find your project interesting).
Where is this file? Why do you think ConTeXt should be able to find it without
a path?
If it’s within one of the texmf trees, did you run "mtxrun --generate"?
Mayybe try to delete the caches – in case you installed ConTeXt (or TeX live)
as root/Administrator, there might be a conflict with user caches.
Hraban
___________________________________________________________________________________
If your question is of interest to others as well, please add an entry to the
Wiki!
maillist : [email protected] <mailto:[email protected]> /
https://mailman.ntg.nl/mailman3/lists/ntg-context.ntg.nl
webpage : https://www.pragma-ade.nl / https://context.aanhet.net (mirror)
archive : https://github.com/contextgarden/context
wiki : https://wiki.contextgarden.net
___________________________________________________________________________________
___________________________________________________________________________________
If your question is of interest to others as well, please add an entry to the
Wiki!
maillist : [email protected] <mailto:[email protected]> /
https://mailman.ntg.nl/mailman3/lists/ntg-context.ntg.nl
webpage : https://www.pragma-ade.nl / https://context.aanhet.net (mirror)
archive : https://github.com/contextgarden/context
wiki : https://wiki.contextgarden.net
___________________________________________________________________________________
___________________________________________________________________________________
If your question is of interest to others as well, please add an entry to the
Wiki!
maillist : [email protected] /
https://mailman.ntg.nl/mailman3/lists/ntg-context.ntg.nl
webpage : https://www.pragma-ade.nl / https://context.aanhet.net (mirror)
archive : https://github.com/contextgarden/context
wiki : https://wiki.contextgarden.net
___________________________________________________________________________________