On Mon, 2003-04-21 at 19:14, S Woodside wrote:
[...]
Taking that into account, I agree. XPath is WAY harder to grok than
XSLT. The online documentation is way poor (the XSLT spec is pretty
good, the XPath spec is shite). A lot of the resources about XSLT don't
make it clear where the line between something being an XPath problem
and an XSLT problem is drawn. XPath seems to have all kinds of special
cases. The syntax is totally overloaded ... I feel like the designers
wanted something simple but instead it just looks simple and really is
complex. Debugging XPath is very hard. To gripe a little badly, the
XPath section in the XSLT FAQ isn't the strongest section ...
That's probably because it's an XML FAQ, not an XPath FAQ :-)
Your point is taken though...if you'd like to draft a summary of
what a question on XPath should say, I'd be happy to consider it
for inclusion. I never had any particular problem with XPath, but
that's probably because I had been using TEI and HyTime for some
years before XML arrived. A question on XPath should probably add
a link to the EPN section in the TEI Guidelines :-)
It's important not to forget that Document people had been dealing
with this stuff for over a decade before XML. If you come new to
the field, some [re]learning is inevitable. I'm not trying to
excuse the quality of any documentation, but to highlight the fact
that the same would apply to anyone coming afresh to any programming
language. I have analogous gripes about C and Java, for example :-)
My thinking about presenting it to procedural programs is to emphasize
that essentially the data makes "function calls" to the templates
(which is the opposite of how procedural code works, where the program
is in charge of flow, in XSLT the data is in charge of flow... my
thinking on this is still pretty immature)
Only for the default case, where elements are presented for
processing in document order (and I don't see how else it could
be written...). Anything else it's XSLT (or rather, the programmer)
which is in charge.
///Peter
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list