[Date Prev]
| [Thread Prev]
| [Thread Next]
| [Date Next]
--
[Date Index]
| [Thread Index]
Re: [xml-dev] Venetian Blinds vs Garden of Eden patterns for industry standards XML Schemas
- From: "Pete Cordell" <petexmldev@codalogic.com>
- To: "XML-Dev Mailing list" <xml-dev@lists.xml.org>,"G. Ken Holman" <gkholman@CraneSoftwrights.com>
- Date: Thu, 28 Oct 2010 20:48:01 +0100
Original Message From: "G. Ken Holman"
>>My XPath knowledge is very weak, but does that allow for matching 'b' in
>>the 'tree' of:
>>
>>ns1:root/a/b ?
>
> No, you only asked "b whose qualified parent is in namespace ns1"
Ah sorry. Instead of 'parent' I should have used the word 'ancestor'.
More precisely what I should have said is that XPath can't express "b whose
nearest qualified ancestor is in namespace ns1". Sort of
b[qualified-ancestor::ns1]!
I will only be too pleased if my statement turns out to be false.
Thanks,
Pete Cordell
Codalogic Ltd
Interface XML to C++ the easy way using C++ XML
data binding to convert XSD schemas to C++ classes.
Visit http://codalogic.com/lmx/ or http://www.xml2cpp.com
for more info
----- Original Message -----
From: "G. Ken Holman" <gkholman@CraneSoftwrights.com>
To: "XML-Dev Mailing list" <xml-dev@lists.xml.org>
Sent: Thursday, October 28, 2010 6:40 PM
Subject: Re: [xml-dev] Venetian Blinds vs Garden of Eden patterns for
industry standards XML Schemas
>
> At 2010-10-28 18:13 +0100, Pete Cordell wrote:
>>Original Message From: "G. Ken Holman"
>>>At 2010-10-28 14:32 +0100, Pete Cordell wrote:
>>>>Hi David,
>>>>
>>>>It should be ns1:root/a/b/ns2:root/b as Philip says because in the
>>>>scheme I described a and b were unqualified. As such there's no
>>>>difference in name between b in ns1 and b in ns2 as there would be if
>>>>they were qualified.
>>>>
>>>>I think Philip is right about the issues. It's down to the limitations
>>>>in XPath expressibility. You need to say something like: b whose
>>>>qualified parent is in namespace ns1. Sort of
>>>>b[qualified-parent-ns()=ns1]!
>>>
>>>b[parent::ns1:*]
>>>
>>>... or if you are matching nodes:
>>>
>>> ns1:*/b
>>
>>My XPath knowledge is very weak, but does that allow for matching 'b' in
>>the 'tree' of:
>>
>>ns1:root/a/b ?
>
> No, you only asked "b whose qualified parent is in namespace ns1"
>
>>I had guessed that ns1:*//b might be better, but I think that expression
>>would match both 'b's in the Philip's 'tree' of:
>>
>>ns1:root/a/b/ns2:root/b
>>
>>Yours confused,
>
> I'm confused what you are looking for.
>
> Given the tree: ns1:root/a/b/ns2:root/b
>
> ns1:*/b selects nothing
> ns1:*//b selects both b's
> b[parent::ns1] selects nothing
> b[parent::ns2] selects the lowest b only
>
> What *exactly* do you want to address, and from where will you be
> addressing it? In a select="" using an expression (and if so from which
> context node)? In a match="" using a pattern (which is a subset of XPath
> expressions)?
>
> I haven't been following the entire thread ... I just bristle when I read
> statements like "It's down to the limitations in XPath expressibility" and
> writing such is like waving a red cape in front of me. I know XPath is
> *incredibly* expressive and in the classroom I try and teach students how
> to understand the node tree intimately in order to compose the most
> appropriate and least wasteful XPath expressions. The XPath exercise is
> most often the favourite exercise of the entire week in the class.
>
> I've not been following the discussion but that statement of yours jumped
> out at me and quickly got my attention.
>
> I hope this helps.
>
> . . . . . . . . . . Ken
>
> --
> Crane Softwrights Ltd. http://www.CraneSoftwrights.com/x/
> G. Ken Holman mailto:gkholman@CraneSoftwrights.com
> Male Cancer Awareness Nov'07 http://www.CraneSoftwrights.com/x/bc
> Legal business disclaimers: http://www.CraneSoftwrights.com/legal
>
>
> _______________________________________________________________________
>
> 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]