XML.orgXML.org
FOCUS AREAS |XML-DEV |XML.org DAILY NEWSLINK |REGISTRY |RESOURCES |ABOUT
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] Concerned about the increasing reliance on XPath

One factor is that XPath expressions, aside from problems
with executing them with the same results across implementations,
is that they are good for humans to read (technical professionals).
They are included in test assertions of some specs and that seems
to work well. I wonder though if that too needs a reality check. How
unambigous are they between human interpreters of the test
assertions, given that namespaces is just one of the issues (as far
as I have seen). A Schematron spec doesn't always include every
necessary qualification of the context, for example, and maybe it
is easy to miss important details in assertions too (expecting
defaults / assumptions which might be better made explicit).
----
Stephen D Green



On 9 May 2011 19:45, Stephen D Green <stephengreenubl@gmail.com> wrote:
> On 9 May 2011 18:52, Philip Fearon <pgfearo@googlemail.com> wrote:
>> Yes, it seems each vendor has adopted their own 'harness' for setting
>> the XPath evaluation context so that saved XPaths are portable.
>
> Yes, but this highlights my issue; they are portable *within instances of
> that implementation and not (as much as we'd like) between implementations*
>
>
>>
>> SketchPath's approach is to create grouped sets of XPath expressions
>> that are saved in simple XML files so they can be reused easily as a
>> resource in other applications.
>> (These same XML files are also used to set parameters and processor
>> settings for an XSLT test tool).
>>
>> As well as the XPath itself, additional metadata is stored for each expression:
>> 1. A name for the expression - other expressions can use this name to
>> reuse the expression as a variable
>> 2. An XPath identifying the context node for evaluation
>> 3. A descriptive comment
>
> Yes, my interest has been in Tamelizer (GoogleCode project) and this
> does the same
>
>>
>> Each XML file includes a set of namespace bindings to be used for
>> expression evaluation - (these are actually just XPath expressions in
>> a special 'namespaces' group with names corresponding to the namespace
>> prefix)
>
> Tamelizer uses TAML-X, an XPath profile of TAML
> (OASIS-open.org, potential standard in progress)
> which puts namespace bindings in each TAML-X
> file. I didn't realise it but it might be that more portability
> would come by putting the bindings into each TAML
> test assertion (as I recently suggested for Schematron
> too) so that they can be copied and pasted between
> files.
>
> I do notice though that some standards are appearing
> which express test assertions in a spec using XPath
> and I wonder if they have thought about these details
> like namespace bindings and making explicit any defaults.
>
>>
>> - A sample XML fof the grouped XPath expressions and their metadata is
>> shown below
>>
>> <?xml version="1.0" encoding="UTF-8"?>
>> <cwb:expressions xmlns:cwb="http://www.qutoric.com/2010/XPathCollection";>
>> <cwb:xsl-param group="" source=""/>
>> <cwb:namespace-declarations>
>> <cwb:expression name="spec">
>> <cwb:main>'http://expath.org/ns/xmlspec'</cwb:main>
>> <cwb:comment>Created: 09/05/2011 18:18:45</cwb:comment>
>> </cwb:expression>
>> </cwb:namespace-declarations>
>> <cwb:xpath>
>> <cwb:global>
>> <cwb:expression name="code-1">
>> <cwb:main>p/code</cwb:main>
>> <cwb:context>/spec/body/div1[3]/div2[2]</cwb:context>
>> <cwb:comment>Created: 09/05/2011 18:24:16</cwb:comment>
>> </cwb:expression>
>> </cwb:global>
>> <cwb:local>
>> <cwb:group name="alpha">
>> <cwb:expression name="header-1">
>> <cwb:main>/spec/header</cwb:main>
>> <cwb:comment>Created: 09/05/2011 18:16:13</cwb:comment>
>> </cwb:expression>
>> </cwb:group>
>> <cwb:group name="beta">
>> <cwb:expression name="head-1">
>> <cwb:main>/spec/body/div1[1]/head</cwb:main>
>> <cwb:comment>Created: 09/05/2011 18:17:44</cwb:comment>
>> </cwb:expression>
>> <cwb:expression name="head-2">
>> <cwb:main>/spec/body/div1[1]/head</cwb:main>
>> <cwb:comment>Created: 09/05/2011 18:18:00</cwb:comment>
>> </cwb:expression>
>> <cwb:expression name="Name1">
>> <cwb:main>count(spec/body/div1/div2)</cwb:main>
>> <cwb:comment>Created: 09/05/2011 18:19:28</cwb:comment>
>> </cwb:expression>
>> </cwb:group>
>> </cwb:local>
>> </cwb:xpath>
>> <cwb:recyclebin/>
>> </cwb:expressions>
>
> Yes, I like that.
>
> Maybe there would be more portability if your XML language could
> also allow every group to inlude the bindings though, like this:
>
>             <cwb:group name="alpha">
>                <cwb:expression name="header-1">
>                    <cwb:namespace-declarations>
>                        <cwb:expression name="spec">
>                            <cwb:main>'http://expath.org/ns/xmlspec'</cwb:main>
>                            <cwb:comment>Created: 09/05/2011
> 18:18:45</cwb:comment>
>                        </cwb:expression>
>                    </cwb:namespace-declarations>
>                    <cwb:main>/spec/header</cwb:main>
>                    <cwb:comment>Created: 09/05/2011 18:16:13</cwb:comment>
>                </cwb:expression>
>            </cwb:group>
>
>
> See also my own XPath based test assertions for the Universal Business
> Language using the TAML-X profile
>
> http://lists.oasis-open.org/archives/tag-comment/201104/zip00000.zip
> and earlier ones here for a previous version of TAML
> http://lists.oasis-open.org/archives/ubl-comment/201003/msg00001.html
>
> Maybe here too each test assertion should optionally allow
> the namespaces to be declared for it locally.
>
> ---
>
> Stephen D Green
>
>>
>> -----------
>>
>> Phil Fearon
>> http://qutoric.com
>>
>> On Mon, May 9, 2011 at 5:13 PM, G. Ken Holman
>> <gkholman@cranesoftwrights.com> wrote:
>>> At 2011-05-09 16:49 +0100, Stephen D Green wrote:
>>>>
>>>> I think we tend to hope that XPath expressions can be
>>>> written such that they are immune from such implementation
>>>> specifics
>>>
>>> XPath cannot function in a vacuum.
>>>
>>
>> _______________________________________________________________________
>>
>> 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