From: "Michael Löscher" <mloescher27@outlook.de>
To: ntg-context@ntg.nl
Subject: [NTG-context] Re: XML processing beginner's question
Date: Mon, 21 Aug 2023 17:59:14 +0200 [thread overview]
Message-ID: <GV2P251MB0993D46DC0612B2A6A4B820FDD1EA@GV2P251MB0993.EURP251.PROD.OUTLOOK.COM> (raw)
In-Reply-To: <bb799b0f-55cc-c7b6-d12d-0b94d88e5834@uni-bonn.de>
Yes, I have done that. But I don't seem to have the basic context of how
the processing works in order. All I have so far is this as a starting
point:
\startxmlsetups xml:mysetup
\xmlsetsetup{main}{document|element|mdata|tdata|name|date|num|content|shortdescription|p}{xml:*}
\stopxmlsetups
\xmlregistersetup{xml:mysetup}
\startxmlsetups xml:mysetup:document
\xmlflush{#1}
\stopxmlsetups
\startxmlsetups xml:mysetup:element
\xmlflush{#1}
\stopxmlsetups
\startxmlsetups xml:mysetup:mdata
\xmlflush{#1}
\stopxmlsetups
\startxmlsetups xml:mysetup:tdata
\xmlflush{#1}
\stopxmlsetups
\startxmlsetups xml:mysetup:name
\xmlflush
\stopxmlsetups
\startxmlsetups xml:mysetup:num
\xmlflush{#1}
\stopxmlsetups
\startxmlsetups xml:mysetup:content
\xmlflush{#1}
\stopxmlsetups
\startxmlsetups xml:mysetup:shortdescription
\xmlflush{#1}
\stopxmlsetups
\startxmlsetups xml:mysetup:p
\xmlflush{#1}\par
\stopxmlsetups
\starttext
\xmlprocessbuffer {mysetup}{xmlcontent}{}
\stoptext
Am 21.08.2023 um 17:45 schrieb Thomas A. Schmitz:
> Have you looked at chapter 3.10 "Testing" of the manual xml-mkiv.pdf?
> There are a lot of commands there that should help you, such as
>
> \xmldoiftext {#1} {/mdata/date}
> {\bf \xmlflush {#1}}
>
> or \xmldoifelsetext.
>
> There's also \xmlfilter, which you can use to test for the content of
> tags. And of course, you can process in Lua and search for strings or
> use lpeg. However, your question is a bit vague now. Show us some code
> you have and we can take it from there; that's easier than writing the
> whole setup for you.
>
> Thomas
>
>
> On 8/21/23 17:29, Michael Löscher wrote:
>> Hello list,
>>
>> having the xml data at the bottom, I would like to process it so that
>> the result is like this:
>>
>> ---
>> What it is (e.g. bold formatted)
>> date: 2023-08-01 (italic)
>> Description (small font size)
>> Another text (small font size)
>>
>> hd1 - Header 1
>>
>> § 1 First (A first short description)
>> AAAAAAAAAA
>> BBBBBBBBBB
>>
>> § 2 Second (A second short description)
>> CCCCCCCCCC
>> DDDDDDDDDD
>>
>> § 3 Third (A third short description)
>> EEEEEEEEEE
>> FFFFFFFFFF
>> ---
>>
>> How can I process the <element>s differently? The first element
>> contains a <date> tag and so it differs from the other ones. The
>> second element's <name> tag contains the word "Header" which makes it
>> different again. The other elements contain a <shortdescription> tag
>> that they all have in common.
>>
>> What could be the appropriate xml setups to generate the above output?
>>
>> Michael
>>
>> ---
>> xml data:
>> \startbuffer[xmlcontent]
>> <?xml version="1.0" encoding="UTF-8" ?>
>> <document>
>> <element>
>> <mdata>
>> <name>What it is</name>
>> <date>2023-08-01</date>
>> </mdata>
>> <tdata>
>> <content>
>> <p>Description</p>
>> <p>Another text</p>
>> </content>
>> </tdata>
>> </element>
>> <element>
>> <mdata>
>> <num>hd1</num>
>> <name>Header 1</name>
>> </mdata>
>> <tdata>
>> <content>
>> <p>Text of Header 1</p>
>> </content>
>> </tdata>
>> </element>
>> <element>
>> <mdata>
>> <num>1</num>
>> <name>First</name>
>> <shortdescription>A first short description</shortdescription>
>> </mdata>
>> <tdata>
>> <content>
>> <p>AAAAAAAAAA</p>
>> <p>BBBBBBBBBB</p>
>> </content>
>> </tdata>
>> </element>
>> <element>
>> <mdata>
>> <num>2</num>
>> <name>Second</name>
>> <shortdescription>A second short description</shortdescription>
>> </mdata>
>> <tdata>
>> <content>
>> <p>CCCCCCCCCC</p>
>> <p>DDDDDDDDDD</p>
>> </content>
>> </tdata>
>> </element>
>> <element>
>> <mdata>
>> <num>3</num>
>> <name>Third</name>
>> <shortdescription>A third short description</shortdescription>
>> </mdata>
>> <tdata>
>> <content>
>> <p>EEEEEEEEEE</p>
>> <p>FFFFFFFFFF</p>
>> </content>
>> </tdata>
>> </element>
>> </document>
>> \stopbuffer
>>
>
> ___________________________________________________________________________________
> 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
___________________________________________________________________________________
next prev parent reply other threads:[~2023-08-21 16:01 UTC|newest]
Thread overview: 11+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-08-21 15:29 [NTG-context] " Michael Löscher
2023-08-21 15:45 ` [NTG-context] " Thomas A. Schmitz
2023-08-21 15:59 ` Michael Löscher [this message]
2023-08-21 16:19 ` Thomas A. Schmitz
[not found] ` <GV2P251MB09935835934E71D701185407DD1EA@GV2P251MB0993.EURP251.PROD.OUTLOOK.COM>
2023-08-21 16:56 ` Thomas A. Schmitz
2023-08-21 17:08 ` Hans Hagen via ntg-context
2023-08-22 6:53 ` denis.maier
2023-08-22 7:43 ` Hans Hagen via ntg-context
2023-08-22 7:06 ` denis.maier
2023-08-22 7:46 ` Hans Hagen via ntg-context
2023-08-21 19:21 ` Hans Hagen
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=GV2P251MB0993D46DC0612B2A6A4B820FDD1EA@GV2P251MB0993.EURP251.PROD.OUTLOOK.COM \
--to=mloescher27@outlook.de \
--cc=ntg-context@ntg.nl \
/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).