OASIS Mailing List ArchivesView the OASIS mailing list archive below
or browse/search using MarkMail.


Help: OASIS Mailing Lists Help | MarkMail Help

[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index]
Re: [xml-dev] Be careful writing XPath expressions when the XML couldhave non-existent elements

It's true. I agree, and maybe XPath should come with a bit of a health
warning. It is after all more of a programming language than logic
language but people sometimes use it to convey logic (I've been one of
those) and this can cause problems. Some programming languages and
their compilers are very forgiving and mistakes don't always matter
too much (but sometimes that in itself can cause problems), e.g. VB,
say, compared to C#. I'd say XPath isn't very forgiving in that sense
but perhaps it would be safer if it threw more errors or had some kind
of warnings.

Another similar issue with XPath is that the result of an expression
can depend completely on the version of XPath used; so it MUST be
stated which version is intended, even if XPath is used to express
some logic (e.g. an assertion).

So XPath is so enticing when you are looking for a logic expression
language (e.g. for assertions) but there are unexpected pitfalls when
using it for such.
Stephen D Green

On 29 July 2014 10:43, Costello, Roger L. <costello@mitre.org> wrote:
> Hi Folks,
> Are you writing XPath expressions?
> XPath is embedded in a lot of things: XQuery, Schematron, XSLT, XML Schema. If you are using XML, there is a good chance you are writing XPath expressions.
> Heads up!
> Failure to take into account the following rule will result in countless headaches and hard-to-detect bugs.
>         Rule: The result of evaluating an XPath expression
>         that compares a non-existent element against
>         anything is always false.
> More ... http://xfront.com/Be-Careful-Writing-XPath-Expressions-Against-XML-Documents-that-may-have-Non-Existent-Elements.pdf
> /Roger
> _______________________________________________________________________
> XML-DEV is a publicly archived, unmoderated list hosted by OASIS
> to support XML implementation and development. To minimize
> spam in the archives, you must subscribe before posting.
> [Un]Subscribe/change address: http://www.oasis-open.org/mlmanage/
> Or unsubscribe: xml-dev-unsubscribe@lists.xml.org
> subscribe: xml-dev-subscribe@lists.xml.org
> List archive: http://lists.xml.org/archives/xml-dev/
> List Guidelines: http://www.oasis-open.org/maillists/guidelines.php

[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index]

News | XML in Industry | Calendar | XML Registry
Marketplace | Resources | MyXML.org | Sponsors | Privacy Statement

Copyright 1993-2007 XML.org. This site is hosted by OASIS