Changes

Jump to navigation Jump to search
1,332 bytes added ,  07:37, 14 October 2008
MkIV version for dictionary example.
Just a example how to use XML to store and access information.
[Note: I will add In my example the MkIV version when I'm able content for the dictionary is stored in a buffer,to find use a external file for the data the file]commented lines for MkIIand MkIV are required.
<texcode>
<texcode>
\stopbuffer
</texcode>
This is the MkII code to process the data above.
 
<texcode>
\definesorting[lexiconentry][lexicon]
\starttext
\loaddata[lexicon]
\placelistoflexicon
\stoptext
</texcode>
 
In MkIV we have direct access to the data can process the content
without the previous step to save everything in macros.
 
<texcode>
\definesorting[lexiconentry][lexicon]
 
\setupsorting
[lexiconentry]
[criterium=all,
command=\placelexiconentry]
 
\startxmlsetups xml:lexicon
\xmlsetsetup{\xmldocument}{entry}{*}
\stopxmlsetups
 
\xmlregistersetup{xml:lexicon}
 
\startxmlsetups entry
\expanded{\lexiconentry[lexicon:\xmlatt{#1}{name}]{\xmlatt{#1}{name}}}
\setbox\scratchbox\hbox{\getvalue{lexicon:\xmlatt{#1}{name}}}
\stopxmlsetups
 
\definedescription
[lexicon]
[width=broad,
hang=1]
 
\def\placelexiconentry#1%
{\bgroup
\enableXML
\xmlfilter{lexicon:process}{/lexicon/entry[@name='#1']}
\egroup}
 
\defineXMLentities [tex] {tex} {\TeX}
\defineXMLentities [latex] {latex} {\LaTeX}
\defineXMLentities [context] {context} {\ConTeXt}
 
\defineXMLenvironment [entry]
{\defineXMLsave[name]
\defineXMLsave[description]}
{\startlexicon{\XMLflush{name}}
\XMLflush{description}
\stoplexicon}
 
\xmlprocessbuffer{lexicon:load}{lexicon}{}
 
\starttext
\xmlloadbuffer{lexicon:process}{lexicon}
\placelistoflexicon
\stoptext
gardener
110

edits

Navigation menu