[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
- From: Stephen D Green <stephengreenubl@gmail.com>
- To: "Costello, Roger L." <costello@mitre.org>
- Date: Wed, 30 Jul 2014 08:48:55 +0100
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]