xsl-list
[Top] [All Lists]

Re: [XPath] matching elements which satisfy a specific content model

2003-01-13 02:56:14
Oleg Tkachenko wrote:


How to write

  title?, varlistentry+

in XPath?

It's pattern actually


sure :)


What about simple
<t:template match="variablelist[varlistentry]">


But this by far is not an equivalent of what I described. It is insufficient.


Or more strict
<t:template match="variablelist[*[1][self::title] and *[2][self::varlistentry] | variablelist[*[1][self::varlistentry]">


... and this is too complex and too long for my taste.


But it looks too convolute,


Exactly.

patterns are supposed to be simple,


Exactly! :)

why do you need so strict matching?


Why? Well, it's very common in my (and in many others I would think) transformation to say thinks like "All variablelist elements containing nothing but an optional element title followed by one or more varlistentry elements are translated to simple dl(dt,dd)+ lists".

In any case:


I think that very simple things like contains(title?, varlistentry+) should be very simple to express in XPath.
If I'm still not missigng something obvious:
Perhaps something like a content-model() function will be available as extension or in XSLT2?

Tobi

--

Vim users               donate.
http://iccf-holland.org/donate.html

Web developers           check.
http://www.pinkjuice.com/check/


XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list