From: Junod Antoine <toto@tots-ns.net>
Subject: Re: xml and buffers
Date: Fri, 20 Jan 2006 08:28:59 +0100 [thread overview]
Message-ID: <20060120072859.GC27110@zapata.cryptyx.com> (raw)
In-Reply-To: <43CFC47A.3040209@wxs.nl>
Thanks a lot!!!
-AJ
On Thu, Jan 19, 2006 at 05:55:22PM +0100, Hans Hagen wrote:
> Junod Antoine wrote:
>
> >Hello gurus,
> >
> >I'm a bit into trouble wih buffers and xml parsing. Here is my problem:
> >
> >I've got a .xhtml with the following lines:
> >
> > [...]
> > <meta name="course_name" content="G�nie Logiciel" />
> > <meta name="date" content="23 d�cembre 2005" />
> > [...]
> > <title>Auction: document d'analyse</title>
> > [...]
> >
> >I'm trying to store the content of the meta tag in a buffer, one per
> >meta tag, (ie "G�nie Logiciel" in buffer course_name, "23 d�cembre
> >2005" in buffer date) to use these buffers when I meet the title tag:
> >
> > \XMLifequalelse{meta}{name}{course_name}
> > {\startbuffer[course_name]\XMLpar{meta}{content}{}\stopbuffer}{}
> > \XMLifequalelse{meta}{name}{date}
> > {\startbuffer[date]\XMLpar{meta}{content}{}\stopbuffer}{}
> > \defineXMLenvironment [title] {\startstandardmakeup
> > \getbuffer[course_name]
> > \getbuffer[date]}{\stopstandardmakeup}
> >
> >But it does not print anything else than the title.
> >
> >
> buffers serve a different purpose and are part if a text flow
>
> \starttext
>
> \defineXMLsingular
> [meta]
> [name=,content=]
> {\setevariables[document:meta][\XMLop{name}=\XMLop{content}]}
>
> \defineXMLenvironment
> [title]
> {}
> {\startstandardmakeup
> \getvariable{document:meta}{course_name} \endgraf
> \getvariable{document:meta}{date} \endgraf
> \stopstandardmakeup}
>
> \startXMLdata
> <meta name="course_name" content="Genie Logiciel" />
> <meta name="date" content="23 decembre 2005" />
>
> <title/>
> \stopXMLdata
>
> With a little extension (i'll add it) we can prevent unwanted expansion:
>
> \unprotected \def\setvalueXMLpar#1#2#3%
> {\@EA\let\csname#1\@EA\endcsname
> \csname\ifcsname\@@XMLvariable:#2:#3\endcsname
> \@@XMLvariable:#2:#3\else\s!empty\fi\endcsname}
>
> \defineXMLsingular
> [meta]
> [name=,content=]
> {\setvalueXMLpar{document:meta:\XMLop{name}}{meta}{content}}
>
> \defineXMLenvironment
> [title]
> {}
> {\startstandardmakeup
> \getvalue{document:meta:course_name} \endgraf
> \getvalue{document:meta:date} \endgraf
> \stopstandardmakeup}
>
> \startXMLdata
> <meta name="course_name" content="Genie Logiciel" />
> <meta name="date" content="23 decembre 2005" />
>
> <title/>
> \stopXMLdata
>
>
> \stoptext
>
>
>
> _______________________________________________
> ntg-context mailing list
> ntg-context@ntg.nl
> http://www.ntg.nl/mailman/listinfo/ntg-context
next prev parent reply other threads:[~2006-01-20 7:28 UTC|newest]
Thread overview: 4+ messages / expand[flat|nested] mbox.gz Atom feed top
2006-01-19 18:23 Junod Antoine
2006-01-19 16:55 ` Hans Hagen
2006-01-20 7:28 ` Junod Antoine [this message]
2006-01-20 19:33 ` Junod Antoine
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=20060120072859.GC27110@zapata.cryptyx.com \
--to=toto@tots-ns.net \
--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).