Hi all, I have a question about xml processing and I think that what I want/need can best be achieved by using lua code, but so far, I'm not really sure how to proceed, so any help from one of the resident lua gurus would be welcome. So: the question. xml allows to provide elements with unique identifiers so that one can add cross-references within the document structure. Here is a sample xml file that shows what I mean: <document> <bibitem xml:id="hagen2011"> <author>Hans Hagen</author> <title>The Meaning of Life Is 42</title> <journal>The Rhetoric of Mathematics</journal> <date>2011</date> </bibitem> <bibitem xml:id="hagen2012"> <author>Hans Hagen</author> <title>The New Meaning is Now 43</title> <journal>High Energy Metaphysics</journal> <date>2012</date> </bibitem> <text> <p>This has been successfully proven in papers by <bib ref="#hagen2011"/> and <bib ref="#hagen2012"/>.</p> </text> </document> [Note: the TEI guidelines add the hash character in the attribute value to such references, but after much googling, I'm still not sure if this is standard or necessary or bizarre.] So: at the point of the reference (which may be empty, like here, or contain text), I want to refer back to the bibitems. The typesetting engine should then be instructed to pick up the information, so that this is, e.g., typeset as "This has been successfully proven in papers by Hans Hagen (2011) and Hans Hagen (2012)." My idea: since the xml:id attributes must be unique across the document, it would be easiest to collect them into a lua table, with the xml:id as key, so their content could be accessed and typeset later. But unfortunately, I have no clue how to go about this... Could somebody provide a pointer? Thanks for your interest, if you've read this far! Thomas