← Prev in month ← Prev in thread

Re: [xml-dev] XPath challenge: can you simplify this XPath expression?

From
Andrew Welch <>
To
"Costello, Roger L." <>
Date
2009-05-11T15:58:51Z
ID
<>
Thread
Re: [xml-dev] XPath challenge: can you simplify this XPath expression?
2009/5/11 Costello, Roger L. <>:
>
> Hi Folks,
>
> I created an XPath expression and I am wondering if it can be simplified.
>
> The XPath expresses this:
>
>   There must be one child Title element and
>   there must be zero or more child Author elements and
>   there must be one child Date element and
>   nothing else.
>
>
> Here's the XPath 2.0 expression I created:
>
>   count(Title) eq 1 and
>   count(Author) ge 0 and
>   count(Date) eq 1 and
>   count(*[not(name() = ('Title','Author','Date'))]) eq 0
>
>
> I think this is the simplest possible XPath, but perhaps you can see a simpler expression?

how about:

count(Title, Author, Date) eq count(Author) + 2 eq count(*)

or perhaps a bit nicer as:

  count(Title) eq 1 and
  count(Date) eq 1 and
  count(Title, Author, Date) eq count(*)

-- 
Andrew Welch
http://andrewjwelch.com
Kernow: http://kernowforsaxon.sf.net/
← Prev in month ← Prev in thread