The match pattern is:
variablelist[*[position() = 1 and (self::title or
self::varlistentry)]
and not(*[position() > 1 and not(self::varlistentry)])
]
Thanks.
The length and complexity of that XPath reinforces my request for
some verx simple syntax/function, so that the length and the level of
simplicity of the content model is matched by the matching pattern:
The above is a *relatively simple* and quite self-explaining XPath
expression. If you need an example of a really *complex* one, do have a
look at:
http://www.topxml.com/code/default.asp?p=3&id=v20021204102543
eg
variablelist[content-model(../, 'title?,varlistentry+')]
In other words:
(title?,varlistentry+) is so *very* simple, that I think there should
be way to write it in a very simple way.
This only *looks* simple, because from the seven types of nodes you're
using only the element type. Add to this the potential of having some
additional predicates attached...
Another problem is that this will result in mixing two considerably
different approaches for specifying node-sets of a tree.
In XPath/XSLT 2.0 this is unnecessary, because one has access to the
PSVI type annotations -- am I correct, ver. 2 gurus?
=====
Cheers,
Dimitre Novatchev.
http://fxsl.sourceforge.net/ -- the home of FXSL
__________________________________________________
Do you Yahoo!?
Yahoo! Mail Plus - Powerful. Affordable. Sign up now.
http://mailplus.yahoo.com
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list