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%
[EMAIL PROTECTED]@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