ntg-context - mailing list for ConTeXt users
 help / color / mirror / Atom feed
From: Denis Maier via ntg-context <ntg-context@ntg.nl>
To: <ntg-context@ntg.nl>
Cc: denis.maier@unibe.ch
Subject: Unexpected results with \xmlpos
Date: Thu, 16 Feb 2023 09:16:54 +0000	[thread overview]
Message-ID: <c69cac9d7b5a4ba28b1418072f4c17c9@unibe.ch> (raw)


[-- Attachment #1.1: Type: text/plain, Size: 3718 bytes --]

Hi,

I'm getting unexpected results for \xmlpos
With the example below, I was expecting to get the following positions:
1 2 3 4
However the result is: 2 4 6 8, i.e. each time it's exactly the double.

What am I missing?

Background: I need to define column alignment based on the value of the <col> element inside the colgroup, so I was thinking about something like this :

\xmlmapvalue{colstyle}{dir: rtl}{align=righttolef }
\xmlmapvalue{colstyle}{dir: ltr}{align=lefttoright}

\startxmlsetups xml:table:colgroup:col
  \setupTABLE[c][\xmlpos{#1}][\xmlvalue{colstyle}{\xmlatt{#1}{style}}{}]
\stopxmlsetups

Best,
Denis

\startbuffer[test]
<?xml version='1.0' standalone='yes?>
<document>
<table-wrap>
                <table>
                   <colgroup>
                                 <col/>
                                 <col style="dir: rtl"/>
                                 <col style="dir: rtl"/>
                                 <col/>
                   </colgroup>
                   <thead>
                                 <tr>
                                               <th>a</th>
                                               <th>b</th>
                                               <th>c</th>
                                               <th>d</th>
                                 </tr>
                   </thead>
                   <tbody>
                                 <tr>
                                               <td>a</td>
                                               <td>b</td>
                                               <td>c</td>
                                               <td>d</td>
                                 </tr>
                   </tbody>
                </table>
</table-wrap>
</document>
\stopbuffer

\startxmlsetups xml:test
\xmlsetsetup{\xmldocument}{document}{xml:*}
\xmlsetsetup{#1}{table-wrap}{xml:table-wrap}
\xmlsetsetup{#1}{table}{xml:table}
\stopxmlsetups

\xmlregistersetup{xml:test}

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

\startxmlsetups xml:table-wrap
                \startplacetable
                    \xmlflush{#1}
    \stopplacetable
\stopxmlsetups

\startxmlsetups xml:table:colgroup
                %\xmlvalue{colstyle}{\xmlatt{#1}{style}}{}
                \xmlfilter {#1} {/col/command(xml:table:colgroup:col)}
\stopxmlsetups

\startxmlsetups xml:table:colgroup:col
                %\xmlvalue{colstyle}{\xmlatt{#1}{style}}{}
                \xmlpos {#1}
\stopxmlsetups

\startxmlsetups xml:table
  \xmlfilter {#1} {/colgroup/command(xml:table:colgroup)}
  \bTABLE
                \xmlfilter{#1}{/thead/command(xml:table:thead)}
                \xmlfilter{#1}{/tbody/command(xml:table:tbody)}
  \eTABLE
\stopxmlsetups

\startxmlsetups xml:table:thead
                \bTABLEhead
                               \xmlfilter{#1}{/tr/command(xml:table:thead:tr)}
                \eTABLEhead
\stopxmlsetups

\startxmlsetups xml:table:thead:tr
                \bTR
                               \xmlfilter{#1}{/th/command(xml:table:thead:tr:th)}
                \eTR
\stopxmlsetups

\startxmlsetups xml:table:thead:tr:th
                \bTH
                               \xmlflush{#1}
                \eTH
\stopxmlsetups

\startxmlsetups xml:table:tbody
\bTABLEbody\xmlfilter{#1}{/tr/command(xml:table:tbody:tr)}\eTABLEbody
\stopxmlsetups

\startxmlsetups xml:table:tbody:tr
\bTR\xmlfilter{#1}{/td/command(xml:table:tbody:tr:td)}\eTR
\stopxmlsetups

\startxmlsetups xml:table:tbody:tr:td
\bTC \xmlflush{#1} \eTC
\stopxmlsetups


\starttext
  \xmlprocessbuffer{test}{test}{}
\stoptext

[-- Attachment #1.2: Type: text/html, Size: 17863 bytes --]

[-- Attachment #2: Type: text/plain, Size: 496 bytes --]

___________________________________________________________________________________
If your question is of interest to others as well, please add an entry to the Wiki!

maillist : ntg-context@ntg.nl / https://www.ntg.nl/mailman/listinfo/ntg-context
webpage  : https://www.pragma-ade.nl / http://context.aanhet.net
archive  : https://bitbucket.org/phg/context-mirror/commits/
wiki     : https://contextgarden.net
___________________________________________________________________________________

             reply	other threads:[~2023-02-16  9:16 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-02-16  9:16 Denis Maier via ntg-context [this message]
2023-02-16 22:44 ` Hans Hagen via ntg-context
2023-02-20 14:31   ` \xmlmap errors when returning key-value Denis Maier via ntg-context
2023-02-22 13:38     ` Denis Maier via ntg-context

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=c69cac9d7b5a4ba28b1418072f4c17c9@unibe.ch \
    --to=ntg-context@ntg.nl \
    --cc=denis.maier@unibe.ch \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).