Peter Rolf wrote:
Am 22.12.2009 14:04, schrieb Hans Hagen:
Peter Rolf wrote:
Hi,
can someone give me a helping hand with the following example. I still have no general survey over the XML related code in ConTeXt (donno what functions to use). The last time I played with it is one and a half year ago and many things have changed (meaning that the old examples no longer work). http://www.pragma-ade.com/general/manuals/xml-mkiv.pdf
oeps, how could I missed that one... :(
I simply want to create a XML document and insert some elements. My main problem is to insert an element at root level. I can insert an element before and after another element, but not into the element. I'm not sure, if I have understood the meaning of the pattern parameter correctly. Is this equal to XPath?
%----- \starttext
\startluacode
local xmp = xml.convert("<?xml version='1.0' standalone='yes'?>\n<root>\n<bar>bla</bar>\n</root>") --xml.before(xmp,"/root/bar","<sub>foo</sub>")
--xml.delete(xmp,"bar") --xml.inject(xmp,"/sub","<sub>bar</sub>")-- only for xml-files?
xml.insert(xmp,"/root/bar","<sub/>") --xml.inject(xmp,"/*/bar","<sub/>") this works
<sub></sub>
Mhh, not here. When I look into the saved file (test.xml) I get
add some content (i need to look into the empty case (root only))
<?xml version='1.0' standalone='yes'?> <root> <bar>bla</bar><error>invalid xml file - unparsed text</error> </root>
But I guess that the linked PDF will give all the answers I need.
the most important change is that we now can have many handlers; when you are inside tex and want to manipulate xml without piping to tex, you need the xml:// path prefix but the manual mentions this also, there are some tracing options that can be handy Hans ----------------------------------------------------------------- Hans Hagen | PRAGMA ADE Ridderstraat 27 | 8061 GH Hasselt | The Netherlands tel: 038 477 53 69 | fax: 038 477 53 74 | www.pragma-ade.com | www.pragma-pod.nl -----------------------------------------------------------------