ntg-context - mailing list for ConTeXt users
 help / color / mirror / Atom feed
From: Hans Hagen <pragma@wxs.nl>
Cc: ntg-context@ntg.nl
Subject: Re: XML attributes
Date: Mon, 15 Oct 2001 09:56:32 +0200	[thread overview]
Message-ID: <5.1.0.14.1.20011015094816.03377ac8@server-1> (raw)
In-Reply-To: <20011013230822.A897@scaprea>

At 11:08 PM 10/13/2001 +0200, Simon Pepping wrote:
>I have been experimenting a bit with attributes, e.g. in this phrase:
><item>And even worse<ref/>, <ref name="att"/> attributes <ref/> will not 
>be the
>same as in &context;.</item>
>
>1. In the third ref element, the value \XMLpar{ref}{name}{\relax} is
>    not relax. Because the element has no (rather an implicit)
>    attribute name, the context value is left as it was set by the
>    preceding ref element. I think it would be better if attribute
>    values are local to the element, and there exists a command that
>    lets the user store the value in a control sequence, much like
>    \defXMLstring\command.
>
>2. When I use the attribute like this:
>    \doifXMLparelse{ref}{name}{(ref:\XMLpar{ref}{name}{})}{}, it would
>    be nice to have a shorter way to access the attribute value, say
>    \XMLattvalue. The above code contains two implicit if/then branches
>    for the attribute, the second not very useful.

locality is a bit of a problem since you don't want tex's grouping to 
interfere;

this is why the following method is to be used (eg):

\defineXMLenvironment[whatever][bla=,junk=]

now, each time the element is encountered, 'bla' and 'junk' are set to 
nothing, so you start afresh.

concerning the second question: there is \XMLpar{element}{name}{default} 
and there will be a \XMLparself too as well as a \XMLNSpar one for 
namespaced pars (this kind of works now). There are (in the release that 
will be posted soon) now severel modes of operandi with respect to handling 
element namespaces and attribute namespaces. I just implemented &#number; 
things and there are methods to turn thngs like

key="value&value;and&tex;and&#123;andworse&eacute;"

into tex robust things (again several methods) which is handy when they are 
used in for instance cross referencing.

[as a bonus the module is sped up a bit; i use the maps biblography as 
reference run: some 139 sec now, while 150 last month).

Hans
-------------------------------------------------------------------------
                                   Hans Hagen | PRAGMA ADE | pragma@wxs.nl
                       Ridderstraat 27 | 8061 GH Hasselt | The Netherlands
  tel: +31 (0)38 477 53 69 | fax: +31 (0)38 477 53 74 | www.pragma-ade.com
-------------------------------------------------------------------------


  reply	other threads:[~2001-10-15  7:56 UTC|newest]

Thread overview: 13+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2001-10-13 21:08 Simon Pepping
2001-10-15  7:56 ` Hans Hagen [this message]
2001-10-15 18:50   ` Simon Pepping
2002-07-09  9:47 scarsoluigi
2002-07-09 19:05 ` Simon Pepping
2002-07-10  6:51 scarsoluigi
2002-07-10 20:05 ` Simon Pepping
2002-07-12 16:31   ` Hans Hagen
2003-06-05 22:06 Jedrzej Nasiadek
2003-06-06 19:37 ` Simon Pepping
2003-06-06 20:55   ` Jedrzej Nasiadek
2003-06-13 16:18     ` Hans Hagen
2003-06-07  0:03   ` Jedrzej Nasiadek

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=5.1.0.14.1.20011015094816.03377ac8@server-1 \
    --to=pragma@wxs.nl \
    --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).