[NTG-context] reading a single element from XML

Pablo Rodriguez oinos at gmx.es
Sun Aug 16 11:02:50 CEST 2020


Dear list,

I have the following sample:

  \startbuffer[demo]
  <html>
    <body>
      <div class="irrelevant">
        <p>This is <span class="special">Only</span> a paragraph.</p>
        <p>This is another paragraph.</p>
        <p>This is another paragraph.</p>
        <p>This is another paragraph.</p>
        <p>This is another paragraph.</p>
      </div>
    </body>
  </html>
  \stopbuffer

  \startxmlsetups xml:initialize
    \xmlsetsetup{#1}{*}{-}

    \xmlsetsetup{#1}
      {html|body|div|p}
      {xml:flush}

    \xmlsetsetup{#1}
      {html/**/span[@class='special']}
      {xml:special}
  \stopxmlsetups

  \xmlregistersetup{xml:initialize}

  \startxmlsetups xml:flush
    \xmlflush{#1}
  \stopxmlsetups

  \startxmlsetups xml:special
    \bgroup\bfd\ssd\xmlflush{#1}\egroup
  \stopxmlsetups

  \starttext
    \xmlprocessbuffer{main}{demo}{}
  \stoptext

How can I select only <span class="special">? I mean, how can I have
"Only" and nothing more in the output PDF document?

I thought that lpath "html/**/span[@class='special']" would work, but I
don’t know what I’m missing.

Many thanks for your help,

Pablo
--
http://www.ousia.tk


More information about the ntg-context mailing list