I found this unanswered question on the list from November 2020 and find today that I have the same question. How can one handle elements with the same name but in different namespaces? How should the different \startxmlsetups commands be written?

Thanks.

Duncan

On Mon, 16 Nov 2020 at 13:37, Christoph Reller <christoph.reller@gmail.com> wrote:
Dear List,

Consider the following MWE:

\startxmlsetups xml:demo:base
  \xmlsetsetup{#1}{tag}{xml:demo:tag}
\stopxmlsetups
\xmlregisterdocumentsetup{demo}{xml:demo:base}
\startxmlsetups xml:demo:tag
  %\doif{\xmlnamespace{#1}}{o}{NameSpaceO:}
  \xmlflush{#1}
\stopxmlsetups
\starttext
\startbuffer[test]
<?xml version="1.0"?>
<root xmlns="NameSpaceA"
      xmlns:o="NameSpaceO">
  <tag>text</tag> <o:tag>text</o:tag>
</root>
\stopbuffer
\xmlprocessbuffer{demo}{test}{}
\stoptext

My questions:
- Is there a good way to have a separate XML setup for each XML namespace?
- Alternatively, one has to do the distinction within the same XML setup. In this case, how do we get the complete namespace? (In this example: "NameSpaceA" and "NameSpaceO")

Thanks in advance for your help!

Cheers, Christoph
___________________________________________________________________________________
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://context.aanhet.net
archive  : https://bitbucket.org/phg/context-mirror/commits/
wiki     : http://contextgarden.net
___________________________________________________________________________________