Re: Proposal for earl:Location

Hi Sandor,

Good point. I think both Carlos and Nick were also commenting on that issue. Even if tools use the same locator reference, they may still use them differently. For example, two tools use XPath but each tool has a sightly different XPath expression to point to the same location. Also, as Nick pointed out, tools tend to use line numbers differently (see example of the validators).

So it seems that the mechanism for pointing to a location will depend to a large extend on the tool and will be very difficult to unify. Providing redundant information as you suggest will help in some cases and we should better clarify that EARL tools should output as many locators as possible for each instance of a location (ID, XPath, Line/Col, everything that is applicable).

The questions that remain are:
* What is the impact and severity of inconsistency regarding the location?
* Are we introducing more ambiguity with regard to pointing to locations?
* What (else) can we do to reduce ambiguity and increase interoperability?

Regards,
  Shadi


Sandor Herramhof wrote:
> Hi,
> With regard to Carlos' thoughts in yesterday's telecon, I 
> think deciding whether two errors are the same, e.g. in two 
> earl reports from two different tools, can be a problem.
> 
> Not dependent on the error classes (simple, etc.) shadi
> defined, but the way the errors can be referenced. If one 
> tool references via structure independend method (id) and
> the another tool other ways (xpath), there is no way for a 
> third application to decide if two errors refer to the same 
> instance or not. 
> 
> (I'm not sure if this is what Carlos meant, but if, I agree
> that this could be a substantial problem)
> 
> Could a solution be to call developers to provide redundant
> information?
> 
> Regards,
> Sandor
> 
> 
>>>>Shadi Abou-Zahra <shadi@w3.org> 03.10.2005 16:00:42 >>>
> 
> 
> Hi,
> 
> The following is a rough proposal for the location class. A location
> can be one of four types:
> 
> 
> Single Location
>  - one "pointer" using all means we have
> (XPath/XPointer/XQuery/Line/Offset/etc) to point to one instance of a
> location within a subject.
> 
> Range Location
>  - has two types of "pointers" for start and end (each "pointer" is
> actually a single location).
> 
> Shadow Location
>  - same as "range" but with primary/additional "pointers" (that are
> also single location types).
> 
> Compound Location
>  - any other unstructured location with one or more "pointers" (single
> location).
> 
> 
> Below is the schema for the location (please note that many details are
> still to be determined):
> 
> 
> <rdfs:Class rdf:about="&earl;Location">
>   <rdfs:label xml:lang="en">Location</rdfs:label>
>   <rdfs:comment xml:lang="en">Location for the result within the
> subject</rdfs:comment>
>   <owl:oneOf rdf:parseType="Collection">
>     <!--// this is the basic type of location //-->
>     <owl:Thing rdf:about="&earl;singleLocation"/>
>     <!--// the following are more complex types //-->
>     <owl:Thing rdf:about="&earl;rangeLocation"/>
>     <owl:Thing rdf:about="&earl;shadowLocation"/>
>     <owl:Thing rdf:about="&earl;compoundLocation"/>
>     <!--// other types can be added if needed //-->
>   </owl:oneOf>
> </rdfs:Class>
> 
> <rdfs:Class rdf:about="&earl;singleLocation">
>   <rdfs:label xml:lang="en">Single Location</rdfs:label>
>   <rdfs:comment xml:lang="en">everything we have to point to a location
> in a subject</rdfs:comment>
>   <rdfs:subClassOf rdf:parseType="Collection">
>     <owl:Restriction>
>       <owl:onProperty rdf:resource="&dc;title"/>
>       <!--// min / max cardinality constraints //-->
>     </owl:Restriction>
>     <owl:Restriction>
>       <owl:onProperty rdf:resource="&dc;description"/>
>       <!--// min / max cardinality constraints //-->
>     </owl:Restriction>
>     <owl:Restriction>
>       <owl:onProperty rdf:resource="&earl;Line"/>
>       <!--// min / max cardinality constraints //-->
>     </owl:Restriction>
>     <owl:Restriction>
>       <owl:onProperty rdf:resource="&earl;Column"/>
>       <!--// min / max cardinality constraints //-->
>     </owl:Restriction>
>     <owl:Restriction>
>       <owl:onProperty rdf:resource="&earl;XPath"/>
>       <!--// min / max cardinality constraints //-->
>     </owl:Restriction>
>     <owl:Restriction>
>       <owl:onProperty rdf:resource="&earl;Fuzzy"/>
>       <!--// min / max cardinality constraints //-->
>     </owl:Restriction>
>     <!--// exact locator types are to be determined //-->
>   </rdfs:subClassOf>
> </rdfs:Class>
> 
> <rdfs:Class rdf:about="&earl;rangeLocation">
>   <rdfs:label xml:lang="en">Range Location</rdfs:label>
>   <rdfs:comment xml:lang="en">@@@</rdfs:comment>
>   <rdfs:subClassOf rdf:parseType="Collection">
>     <owl:Restriction>
>       <owl:onProperty rdf:resource="&dc;title"/>
>       <!--// min / max cardinality constraints //-->
>     </owl:Restriction>
>     <owl:Restriction>
>       <owl:onProperty rdf:resource="&dc;description"/>
>       <!--// min / max cardinality constraints //-->
>     </owl:Restriction>
>     <owl:Restriction>
>       <owl:onProperty rdf:resource="&earl;startLocation"/>
>       <!--// min / max cardinality constraints //-->
>     </owl:Restriction>
>     <owl:Restriction>
>       <owl:onProperty rdf:resource="&earl;endLocation"/>
>       <!--// min / max cardinality constraints //-->
>     </owl:Restriction>
>   </rdfs:subClassOf>
> </rdfs:Class>
> 
> <rdfs:Class rdf:about="&earl;shadowLocation">
>   <rdfs:label xml:lang="en">Shadow Locator</rdfs:label>
>   <rdfs:comment xml:lang="en">@@@</rdfs:comment>
>   <rdfs:subClassOf rdf:parseType="Collection">
>     <owl:Restriction>
>       <owl:onProperty rdf:resource="&dc;title"/>
>       <!--// min / max cardinality constraints //-->
>     </owl:Restriction>
>     <owl:Restriction>
>       <owl:onProperty rdf:resource="&dc;description"/>
>       <!--// min / max cardinality constraints //-->
>     </owl:Restriction>
>     <owl:Restriction>
>       <owl:onProperty rdf:resource="&earl;primaryLocation"/>
>       <!--// min / max cardinality constraints //-->
>     </owl:Restriction>
>     <owl:Restriction>
>       <owl:onProperty rdf:resource="&earl;additionalLocation"/>
>       <!--// min / max cardinality constraints //-->
>     </owl:Restriction>
>   </rdfs:subClassOf>
> </rdfs:Class>
> 
> <rdfs:Class rdf:about="&earl;compoundLocation">
>   <rdfs:label xml:lang="en">Shadow Locator</rdfs:label>
>   <rdfs:comment xml:lang="en">@@@</rdfs:comment>
>   <rdfs:subClassOf rdf:parseType="Collection">
>     <owl:Restriction>
>       <owl:onProperty rdf:resource="&dc;title"/>
>       <!--// min / max cardinality constraints //-->
>     </owl:Restriction>
>     <owl:Restriction>
>       <owl:onProperty rdf:resource="&dc;description"/>
>       <!--// min / max cardinality constraints //-->
>     </owl:Restriction>
>     <owl:Restriction>
>       <owl:onProperty rdf:resource="&earl;hasLocation"/>
>       <!--// min / max cardinality constraints //-->
>     </owl:Restriction>
>   </rdfs:subClassOf>
> </rdfs:Class>
> 
> <rdf:Property rdf:about="&earl;Locator">
>   <rdfs:label xml:lang="en">Locator</rdfs:label>
>   <rdfs:comment xml:lang="en">@@@</rdfs:comment>
>   <rdfs:domain rdf:resource="&earl;Location"/>
>   <rdfs:range rdf:resource="&earl;Location"/>
> </rdf:Property>
> 
> <rdf:Property rdf:about="&earl;startLocation">
>   <rdfs:subClassOf rdf:resource="&earl;Locator"/>
>   <rdfs:label xml:lang="en">Start Locator</rdfs:label>
>   <rdfs:comment xml:lang="en">@@@</rdfs:comment>
>   <rdfs:domain rdf:resource="&earl;rangeLocation"/>
>   <rdfs:range rdf:resource="&earl;singleLocation"/>
> </rdf:Property>
> 
> <!--// other locator types follow the same schema //-->
> 
> <!--// definition of actual location pointed TBD //-->
> 
> 
> Regards,
>   Shadi
> 
> 

-- 
Shadi Abou-Zahra,     Web Accessibility Specialist for Europe 
Chair and Team Contact for the Evaluation and Repair Tools WG 
World Wide Web Consortium (W3C),           http://www.w3.org/ 
Web Accessibility Initiative (WAI),    http://www.w3.org/WAI/ 
WAI-TIES Project,                 http://www.w3.org/WAI/TIES/ 
Evaluation and Repair Tools WG,     http://www.w3.org/WAI/ER/ 
2004, Route des Lucioles -- 06560, Sophia-Antipolis -- France 
Voice: +33(0)4 92 38 50 64           Fax: +33(0)4 92 38 78 22 

Received on Wednesday, 5 October 2005 11:42:44 UTC