Hello,

a slightly modified example:

---- t.xml

<a>
  <aa number="111">AA</aa>
  <ab number="222">AB</ab>
</a>

----

and the Ctx source:

---- t.mkiv

\startxmlsetups xml:T
  \xmlfunction{#1}{test}
  \xmlsetsetup{\xmldocument}{*}{+}
  % \xmlsetsetup{\xmldocument}{*}{-} % Empties output?!
  \xmlsetsetup{\xmldocument}{a/aa}{xml:*}
  \xmlsetsetup{\xmldocument}{a/ab}{xml:*}
\stopxmlsetups

\startluacode
  local aux = aux; if not aux then aux = {}; _G.aux = aux end

  xml.functions.aa = function(t)
    aux.num = t.at.number
  end
\stopluacode

\startxmlsetups xml:aa
  \xmlfunction{#1}{aa}
\stopxmlsetups

\startxmlsetups xml:ab
  \xmlfunction{#1}{ab}
  \ctxlua{context.section("New section " .. (aux.num or "??"))}
  \xmlflush{#1}
\stopxmlsetups

\xmlregistersetup{xml:T}

\starttext
  Hello

  \xmlprocessfile{id}{t.xml}{}
\stoptext

----

Two (remaining) questions:

1)

Why the line "\xmlsetsetup{\xmldocument}{*}{-}" (try to uncomment!) causes the whole 
output is empty, even if I specify another operation for "a/ab" elements later?

My intention is to have "{*}{-}" (don't flush anything by default), excluding elements 
specified later, e.g. "a/ab" (with another operation specified);
how to achieve this?

2)

How to get "aa.number" from within "ab" element?

I believed "\xmlatt{#1/../aa}{number}" within "a/ab" will do that, but...? How 
to do that?

I have a partial solution: when processing "a/aa", I save an attribute value to 
a Lua variable, which I use later;
but this solution doesn't look very "clean" for me;
I'd rather find a way to access parental (first) child attributes form within a 
node...

Thank you in advance;
I'm not very familiar with Ctx XML processing (so far)...

Best regards,

Lukas


--
Ing. Lukáš Procházka | mailto:l...@pontex.cz
Pontex s. r. o.      | mailto:pon...@pontex.cz | http://www.pontex.cz
Bezová 1658
147 14 Praha 4

Tel: +420 241 096 751
Fax: +420 244 461 038

Attachment: t.mkiv
Description: Binary data

Attachment: t.pdf
Description: Adobe PDF document

<a>
  <aa number="111">AA</aa>
  <ab number="222">AB</ab>
</a>
___________________________________________________________________________________
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
___________________________________________________________________________________

Reply via email to