29.05.2014 Views

The history of luaTEX 2006–2009 / v 0.50 - Pragma ADE

The history of luaTEX 2006–2009 / v 0.50 - Pragma ADE

The history of luaTEX 2006–2009 / v 0.50 - Pragma ADE

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

\startluacode<br />

xml.sprint(xml.first(document.xml, "/one/three/some"))<br />

\stopluacode<br />

<strong>The</strong> result <strong>of</strong> this snippet is the content <strong>of</strong> the rst element that matches the specication:<br />

‘pdftex’. As you can see, this comes out rather verbose. <strong>The</strong> reason for<br />

this is that we need to enter xml mode in order to get such a snippet interpreted.<br />

Below we give a few more variants, this time we use a generic lter:<br />

\startluacode<br />

xml.sprint(xml.filter(document.xml, "/one/three/some"))<br />

\stopluacode<br />

result: pdftex<br />

\startluacode<br />

xml.sprint(xml.filter(document.xml, "/one/three/some/first()"))<br />

\stopluacode<br />

result: pdftex<br />

\startluacode<br />

xml.sprint(xml.filter(document.xml, "/one/three/some[1]"))<br />

\stopluacode<br />

result: pdftex<br />

\startluacode<br />

xml.sprint(xml.filter(document.xml, "/one/three/some[-1]"))<br />

\stopluacode<br />

result: xetex<br />

\startluacode<br />

xml.sprint(xml.filter(document.xml, "/one/three/some/texts()"))<br />

\stopluacode<br />

result: pdftexluatexxetex<br />

\startluacode<br />

xml.sprint(xml.filter(document.xml, "/one/three/some[2]/text()"))<br />

\stopluacode<br />

result: luatex<br />

134 XML revisioned

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!