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

Yes, it seems each vendor has adopted their own 'harness' for setting
the XPath evaluation context so that saved XPaths are portable.

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

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)

- 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>

-----------

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.
>


[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