[NTG-context] Re: Map XML attributes to variables, dynamically

2023-08-10 Thread Hans Hagen via ntg-context

On 8/10/2023 10:50 AM, Hans Hagen via ntg-context wrote:

On 8/10/2023 10:37 AM, Hans Hagen wrote:

On 8/10/2023 10:14 AM, Thangalin wrote:

Here's an MWE:

attached the more final version


-
  Hans Hagen | PRAGMA ADE
  Ridderstraat 27 | 8061 GH Hasselt | The Netherlands
   tel: 038 477 53 69 | www.pragma-ade.nl | www.pragma-pod.nl
-
% follow up on mail discussion with T

\startbuffer[demo]



Text Goes Here


Different Text Goes Here



\stopbuffer

\startxmlsetups xml:xhtml
\xmlsetsetup{\xmldocument}{*}{-}
\xmlsetsetup{\xmldocument}{html|body|div}{xml:*}
\stopxmlsetups

\xmlregistersetup{xml:xhtml}

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

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

\startxmlsetups xml:div
\setupstartstop
[\xmlatt{#1}{class}]
[title=\xmlatt{#1}{data-title}]%
\start[\xmlatt{#1}{class}]%
\xmlflush{#1}
\stop
\blank
used wherever needed: \namedstartstopparameter{concurrent}{title}
\blank
\stopxmlsetups

\definestartstop
   [concurrent]
   [before=\startsection[title={TITLE: 
\namedstartstopparameter{concurrent}{title}}],
after=\stopsection]%

\starttext
\xmlprocessbuffer{main}{demo}{}
\stoptext
___
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
___

[NTG-context] Re: Map XML attributes to variables, dynamically

2023-08-10 Thread Hans Hagen via ntg-context

On 8/10/2023 10:37 AM, Hans Hagen wrote:

On 8/10/2023 10:14 AM, Thangalin wrote:

Here's an MWE:

% SOT
\startbuffer[demo]



Text Goes Here


Different Text Goes Here



\stopbuffer

\startxmlsetups xml:xhtml
   \xmlsetsetup{\xmldocument}{*}{-}
   \xmlsetsetup{\xmldocument}{html|body}{xml:*}
   \xmlsetsetup{\xmldocument}{div}{xml:*}
\stopxmlsetups

\xmlregistersetup{xml:xhtml}

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

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

\startxmlsetups xml:div
   \setvariable{div}{\xmlatt{#1}{class}}{#1}
   \start[\xmlatt{#1}{class}]\xmlflush{#1}\stop
\stopxmlsetups

\definestartstop[concurrent][
   before={TITLE: \xmlatt{\getvariable {div} {concurrent} {title}}},
]

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

It doesn't look like the variables are taking, regardless of whether
{title} or {data-title} are used.


\startxmlsetups xml:div
   \setvariable{div}{\xmlatt{#1}{class}}{#1}
   \start[\xmlatt{#1}{class}]\xmlflush{#1}\stop
\stopxmlsetups

\definestartstop
   [concurrent]
   [before={TITLE: \xmlatt{\getvariable{div}{concurrent}}{data-title}}]

-- watch the braces
-- use data-title and not title

Hans

You can actually do this:

\startxmlsetups xml:div
  \setupstartstop
[\xmlatt{#1}{class}]
[before={TITLE: \xmlatt{#1}{data-title}}]%
  \start[\xmlatt{#1}{class}]%
\xmlflush{#1}
  \stop
\stopxmlsetups

\definestartstop
  [concurrent]

and you then can also do

\namedstartstopparameter{concurrent}{before}

when needed, which save you the intermediate variable because it's 
already in before, so from that it's a natural step to


\startxmlsetups xml:div
  \setupstartstop
[\xmlatt{#1}{class}]
[title=\xmlatt{#1}{data-title},
 before={TITLE: \namedstartstopparameter{concurrent}{title}}]%
  \start[\xmlatt{#1}{class}]%
\xmlflush{#1}
  \stop
\stopxmlsetups

\definestartstop
  [concurrent]

and then with:

\namedstartstopparameter{concurrent}{title}

(i'll add this example to the test suite as demo)

-
  Hans Hagen | PRAGMA ADE
  Ridderstraat 27 | 8061 GH Hasselt | The Netherlands
   tel: 038 477 53 69 | www.pragma-ade.nl | www.pragma-pod.nl
-

___
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
___

[NTG-context] Re: Map XML attributes to variables, dynamically

2023-08-10 Thread Hans Hagen

On 8/10/2023 10:14 AM, Thangalin wrote:

Here's an MWE:

% SOT
\startbuffer[demo]



Text Goes Here


Different Text Goes Here



\stopbuffer

\startxmlsetups xml:xhtml
   \xmlsetsetup{\xmldocument}{*}{-}
   \xmlsetsetup{\xmldocument}{html|body}{xml:*}
   \xmlsetsetup{\xmldocument}{div}{xml:*}
\stopxmlsetups

\xmlregistersetup{xml:xhtml}

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

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

\startxmlsetups xml:div
   \setvariable{div}{\xmlatt{#1}{class}}{#1}
   \start[\xmlatt{#1}{class}]\xmlflush{#1}\stop
\stopxmlsetups

\definestartstop[concurrent][
   before={TITLE: \xmlatt{\getvariable {div} {concurrent} {title}}},
]

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

It doesn't look like the variables are taking, regardless of whether
{title} or {data-title} are used.


\startxmlsetups xml:div
  \setvariable{div}{\xmlatt{#1}{class}}{#1}
  \start[\xmlatt{#1}{class}]\xmlflush{#1}\stop
\stopxmlsetups

\definestartstop
  [concurrent]
  [before={TITLE: \xmlatt{\getvariable{div}{concurrent}}{data-title}}]

-- watch the braces
-- use data-title and not title

Hans

-
  Hans Hagen | PRAGMA ADE
  Ridderstraat 27 | 8061 GH Hasselt | The Netherlands
   tel: 038 477 53 69 | www.pragma-ade.nl | www.pragma-pod.nl
-

___
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
___


[NTG-context] Re: Map XML attributes to variables, dynamically

2023-08-10 Thread Thangalin
Here's an MWE:

% SOT
\startbuffer[demo]



Text Goes Here


Different Text Goes Here



\stopbuffer

\startxmlsetups xml:xhtml
  \xmlsetsetup{\xmldocument}{*}{-}
  \xmlsetsetup{\xmldocument}{html|body}{xml:*}
  \xmlsetsetup{\xmldocument}{div}{xml:*}
\stopxmlsetups

\xmlregistersetup{xml:xhtml}

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

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

\startxmlsetups xml:div
  \setvariable{div}{\xmlatt{#1}{class}}{#1}
  \start[\xmlatt{#1}{class}]\xmlflush{#1}\stop
\stopxmlsetups

\definestartstop[concurrent][
  before={TITLE: \xmlatt{\getvariable {div} {concurrent} {title}}},
]

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

It doesn't look like the variables are taking, regardless of whether
{title} or {data-title} are used.

On Thu, Aug 10, 2023 at 12:44 AM Hans Hagen  wrote:

> On 8/10/2023 9:10 AM, Thangalin wrote:
>
> > Environments for the DIV element gets translated using:
> >
> > \startxmlsetups xml:div
>
> \setvariable {div} {\xmlatt{#1}{class}} {#1}
>
> >\start[\xmlatt{#1}{class}]\xmlflush{#1}\stop
> > \stopxmlsetups
> > \setMPtext{1}{\usermap[concurrent.title]}
> > \setMPtext{2}{\usermap[concurrent.location]}
>
> \setMPtext{1}{%
>\xmlatt {\getvariable {div} {concurrent} {title}%
> }
>
> > I can verify the attribute values exist by exporting them to the
> document:
> something like that .. untested as no mwe
>
> Hans
>
> -
>Hans Hagen | PRAGMA ADE
>Ridderstraat 27 | 8061 GH Hasselt | The Netherlands
> tel: 038 477 53 69 | www.pragma-ade.nl | www.pragma-pod.nl
> -
>
>
> ___
> 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
>
> ___
>
___
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
___

[NTG-context] Re: Map XML attributes to variables, dynamically

2023-08-10 Thread Hans Hagen

On 8/10/2023 9:10 AM, Thangalin wrote:


Environments for the DIV element gets translated using:

\startxmlsetups xml:div


\setvariable {div} {\xmlatt{#1}{class}} {#1}


   \start[\xmlatt{#1}{class}]\xmlflush{#1}\stop
\stopxmlsetups
\setMPtext{1}{\usermap[concurrent.title]}
\setMPtext{2}{\usermap[concurrent.location]}


\setMPtext{1}{%
  \xmlatt {\getvariable {div} {concurrent} {title}%
}


I can verify the attribute values exist by exporting them to the document:

something like that .. untested as no mwe

Hans

-
  Hans Hagen | PRAGMA ADE
  Ridderstraat 27 | 8061 GH Hasselt | The Netherlands
   tel: 038 477 53 69 | www.pragma-ade.nl | www.pragma-pod.nl
-

___
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
___