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).
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 <?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. Thanks Hans!
--xml.sprint(xml.filter(xmp,"/root/sub"))
xml.save(xmp,"test.xml")
\stopluacode
\stoptext %-----
Best wishes, Peter ___________________________________________________________________________________
If your question is of interest to others as well, please add an entry to the Wiki!
maillist : ntg-context@ntg.nl / http://www.ntg.nl/mailman/listinfo/ntg-context webpage : http://www.pragma-ade.nl / http://tex.aanhet.net archive : http://foundry.supelec.fr/projects/contextrev/ wiki : http://contextgarden.net ___________________________________________________________________________________