Pointer Methods for review

Hi,

The updated Editor's Draft of the EARL 1.0 Schema document will probably not be available until tomorrow. However, in the time being, please find an update to the pointer methods proposal attached for your review. It will be incorporated into tomorrows draft unless there are objection.

NOTE: there has been a substantive change in the model that Jim had proposed. Instead of playing around with pointers and sub-pointers etc, here is the new model:

1. all pointer types are subclasses of a generic Pointer class (as in Jim's proposal)
2. all pointer instances have matching properties from the PointerCollection class
3. each location instance in the TestResult refers to a PointerCollection class

Here is an example of the outcome:

<earl:result>
  <earl:instance>
    <earl:htmlpointer>....</earl:htmlpointer>
    <earl:linecharlength>
      <earl:line>...</earl:line>
      <earl:char>...</earl:char>
      <earl:length>...</earl:length>
    </earl:linecharlength>
    <!--// more pointers to the same location //-->
  </earl:instance>
  <earl:instance>
    <!--// one or more pointers to a different location //-->
  </earl:instance>
</earl:result>


Regards,
  Shadi


-- 
Shadi Abou-Zahra     Web Accessibility Specialist for Europe | 
Chair & Staff 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 | 
<rdf:RDF
  xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
  xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#"
  xmlns:earl="http://www.w3.org/WAI/ER/EARL/nmg-strawman#"
  xmlns:owl="http://www.w3.org/2002/07/owl#">

<!--// GENERIC POINTER CLASS //-->
<rdfs:Class rdf:about="http://www.w3.org/WAI/ER/EARL/nmg-strawman#Pointer">
  <rdfs:label xml:lang="en">Pointer</rdfs:label>
  <rdfs:comment xml:lang="en">A pointer to a location within the Test Subject</rdfs:comment>
</rdfs:Class>

<rdf:Property rdf:about="http://www.w3.org/WAI/ER/EARL/nmg-strawman#instance">
  <rdfs:label xml:lang="en">Instance Location</rdfs:label>
  <rdfs:comment xml:lang="en">An individual place where a result occurs within the Test Subject</rdfs:comment>
  <rdfs:domain rdf:resource="http://www.w3.org/WAI/ER/EARL/nmg-strawman#TestResult"/>
  <rdfs:range rdf:resource="http://www.w3.org/WAI/ER/EARL/nmg-strawman#PointerCollection"/>
</rdf:Property>

<!--// POINTER COLLECTION //-->
<rdfs:Class rdf:about="http://www.w3.org/WAI/ER/EARL/nmg-strawman#PointerCollection">
  <rdfs:label xml:lang="en">Pointer Collection</rdfs:label>
  <rdfs:comment xml:lang="en">A collection of pointers, all pointing to the same thing</rdfs:comment>
  <rdfs:subClassOf rdf:resource="http://www.w3.org/WAI/ER/EARL/nmg-strawman#Pointer"/>
  <!--// @@@ EDITORS' NOTE: Min/Max cardinality restrictions can be applied here //-->
</rdfs:Class>


<!--// SIMPLE POINTERS //-->
<rdf:Property rdf:about="http://www.w3.org/WAI/ER/EARL/nmg-strawman#xpointer">
  <rdfs:label xml:lang="en">XPointer</rdfs:label>
  <rdfs:comment xml:lang="en">XPointer expression pointing into the Test Subject</rdfs:comment>
  <rdfs:domain rdf:resource="http://www.w3.org/WAI/ER/EARL/nmg-strawman#PointerCollection"/>
  <rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/>
</rdf:Property>

<rdf:Property rdf:about="http://www.w3.org/WAI/ER/EARL/nmg-strawman#htmlpointer">
  <rdfs:label xml:lang="en">HTML Pointer</rdfs:label>
  <rdfs:comment xml:lang="en">HTML Pointer expression pointing into the Test Subject</rdfs:comment>
  <rdfs:domain rdf:resource="http://www.w3.org/WAI/ER/EARL/nmg-strawman#PointerCollection"/>
  <rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/>
</rdf:Property>


<!--// LINE/CHAR/LENGTH POINTERS //-->
<rdf:Property rdf:about="http://www.w3.org/WAI/ER/EARL/nmg-strawman#linecharlength">
  <rdfs:label xml:lang="en">Line Char Length</rdfs:label>
  <rdfs:domain rdf:resource="http://www.w3.org/WAI/ER/EARL/nmg-strawman#PointerCollection"/>
  <rdfs:range rdf:resource="http://www.w3.org/WAI/ER/EARL/nmg-strawman#LineCharLengthPointer"/>
</rdf:Property>

<rdfs:Class rdf:about="http://www.w3.org/WAI/ER/EARL/nmg-strawman#LineCharLengthPointer">
  <rdfs:label xml:lang="en">Line Char Length Pointer</rdfs:label>
  <rdfs:comment xml:lang="en">Line/character and optionally the length of a region within the Test Subject</rdfs:comment>
  <rdfs:subClassOf rdf:resource="http://www.w3.org/WAI/ER/EARL/nmg-strawman#Pointer"/>
  <rdfs:subClassOf rdf:parseType="Collection">
    <owl:Restriction>
      <owl:onProperty rdf:resource="http://www.w3.org/WAI/ER/EARL/nmg-strawman#line"/>
      <!--// @@@ EDITORS' NOTE: Min/Max cardinality restrictions have been commented out until a decision is made
      <owl:minCardinality rdf:datatype="http://www.w3.org/2001/XMLSchema#nonNegativeInteger">1</owl:minCardinality>
      <owl:maxCardinality rdf:datatype="http://www.w3.org/2001/XMLSchema#nonNegativeInteger">1</owl:maxCardinality>
      //-->
    </owl:Restriction>
    <owl:Restriction>
      <owl:onProperty rdf:resource="http://www.w3.org/WAI/ER/EARL/nmg-strawman#char"/>
      <!--// @@@ EDITORS' NOTE: Min/Max cardinality restrictions have been commented out until a decision is made
      <owl:minCardinality rdf:datatype="http://www.w3.org/2001/XMLSchema#nonNegativeInteger">1</owl:minCardinality>
      <owl:maxCardinality rdf:datatype="http://www.w3.org/2001/XMLSchema#nonNegativeInteger">1</owl:maxCardinality>
      //-->
    </owl:Restriction>
    <owl:Restriction>
      <owl:onProperty rdf:resource="http://www.w3.org/WAI/ER/EARL/nmg-strawman#length"/>
      <!--// @@@ EDITORS' NOTE: Min/Max cardinality restrictions have been commented out until a decision is made
      <owl:minCardinality rdf:datatype="http://www.w3.org/2001/XMLSchema#nonNegativeInteger">0</owl:minCardinality>
      <owl:maxCardinality rdf:datatype="http://www.w3.org/2001/XMLSchema#nonNegativeInteger">1</owl:maxCardinality>
      //-->
    </owl:Restriction>
  </rdfs:subClassOf>
</rdfs:Class>

<rdf:Property rdf:about="http://www.w3.org/WAI/ER/EARL/nmg-strawman#line">
  <rdfs:label xml:lang="en">Line</rdfs:label>
  <rdfs:comment xml:lang="en">Line number within the Test Subject</rdfs:comment>
  <rdfs:domain rdf:resource="http://www.w3.org/WAI/ER/EARL/nmg-strawman#LineCharLength"/>
  <rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#integer"/>
</rdf:Property>

<rdf:Property rdf:about="http://www.w3.org/WAI/ER/EARL/nmg-strawman#char">
  <rdfs:label xml:lang="en">Char</rdfs:label>
  <rdfs:comment xml:lang="en">Char or column number within the Test Subject</rdfs:comment>
  <rdfs:domain rdf:resource="http://www.w3.org/WAI/ER/EARL/nmg-strawman#LineCharLength"/>
  <rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#integer"/>
</rdf:Property>

<rdf:Property rdf:about="http://www.w3.org/WAI/ER/EARL/nmg-strawman#length">
  <rdfs:label xml:lang="en">Length</rdfs:label>
  <rdfs:comment xml:lang="en">Length of a region within the Test Subject</rdfs:comment>
  <rdfs:domain rdf:resource="http://www.w3.org/WAI/ER/EARL/nmg-strawman#LineCharLength"/>
  <rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#integer"/>
</rdf:Property>


<!--// XPath POINTERS //-->
<rdf:Property rdf:about="http://www.w3.org/WAI/ER/EARL/nmg-strawman#xpath">
  <rdfs:label xml:lang="en">XPath</rdfs:label>
  <rdfs:domain rdf:resource="http://www.w3.org/WAI/ER/EARL/nmg-strawman#PointerCollection"/>
  <rdfs:range rdf:resource="http://www.w3.org/WAI/ER/EARL/nmg-strawman#LineCharLengthPointer"/>
</rdf:Property>

<rdfs:Class rdf:about="http://www.w3.org/WAI/ER/EARL/nmg-strawman#XPathPointer">
  <rdfs:label xml:lang="en">XPath Pointer</rdfs:label>
  <rdfs:comment xml:lang="en">XPath expression (including namespace) pointing into the Test Subject</rdfs:comment>
  <rdfs:subClassOf rdf:resource="http://www.w3.org/WAI/ER/EARL/nmg-strawman#Pointer"/>
  <rdfs:subClassOf rdf:parseType="Collection">
    <owl:Restriction>
      <owl:onProperty rdf:resource="http://www.w3.org/WAI/ER/EARL/nmg-strawman#expression"/>
      <!--// @@@ EDITORS' NOTE: Min/Max cardinality restrictions have been commented out until a decision is made
      <owl:minCardinality rdf:datatype="http://www.w3.org/2001/XMLSchema#nonNegativeInteger">1</owl:minCardinality>
      <owl:maxCardinality rdf:datatype="http://www.w3.org/2001/XMLSchema#nonNegativeInteger">1</owl:maxCardinality>
      //-->
    </owl:Restriction>
    <owl:Restriction>
      <owl:onProperty rdf:resource="http://www.w3.org/WAI/ER/EARL/nmg-strawman#namespace"/>
      <!--// @@@ EDITORS' NOTE: Min/Max cardinality restrictions have been commented out until a decision is made
      <owl:minCardinality rdf:datatype="http://www.w3.org/2001/XMLSchema#nonNegativeInteger">0</owl:minCardinality>
      //-->
    </owl:Restriction>
  </rdfs:subClassOf>
</rdfs:Class>

<rdf:Property rdf:about="http://www.w3.org/WAI/ER/EARL/nmg-strawman#expression">
  <rdfs:label xml:lang="en">Pointer Expression</rdfs:label>
  <rdfs:comment xml:lang="en">String based pointer expression such as HTML Pointer, XPointer, or XPath</rdfs:comment>
  <rdfs:domain rdf:resource="http://www.w3.org/WAI/ER/EARL/nmg-strawman#Pointer"/>
  <rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/>
</rdf:Property>

<rdf:Property rdf:about="http://www.w3.org/WAI/ER/EARL/nmg-strawman#namespace">
  <rdfs:label xml:lang="en">XPath Namespace</rdfs:label>
  <rdfs:comment xml:lang="en">A namespace used in a particular XPath expression</rdfs:comment>
  <rdfs:domain rdf:resource="http://www.w3.org/WAI/ER/EARL/nmg-strawman#XPath"/>
  <rdfs:range rdf:resource="http://www.w3.org/WAI/ER/EARL/nmg-strawman#Namespace"/>
</rdf:Property>

<rdfs:Class rdf:about="http://www.w3.org/WAI/ER/EARL/nmg-strawman#Namespace">
  <rdfs:label xml:lang="en">Namespace</rdfs:label>
  <rdfs:comment xml:lang="en">Prefix and namespace URI for an XPath expression</rdfs:comment>
  <rdfs:subClassOf rdf:resource="http://www.w3.org/WAI/ER/EARL/nmg-strawman#Pointer"/>
  <rdfs:subClassOf rdf:parseType="Collection">
    <owl:Restriction>
      <owl:onProperty rdf:resource="http://www.w3.org/WAI/ER/EARL/nmg-strawman#prefix"/>
      <!--// @@@ EDITORS' NOTE: Min/Max cardinality restrictions have been commented out until a decision is made
      <owl:minCardinality rdf:datatype="http://www.w3.org/2001/XMLSchema#nonNegativeInteger">1</owl:minCardinality>
      <owl:maxCardinality rdf:datatype="http://www.w3.org/2001/XMLSchema#nonNegativeInteger">1</owl:maxCardinality>
      //-->
    </owl:Restriction>
    <owl:Restriction>
      <owl:onProperty rdf:resource="http://www.w3.org/WAI/ER/EARL/nmg-strawman#namespaceURI"/>
      <!--// @@@ EDITORS' NOTE: Min/Max cardinality restrictions have been commented out until a decision is made
      <owl:minCardinality rdf:datatype="http://www.w3.org/2001/XMLSchema#nonNegativeInteger">1</owl:minCardinality>
      <owl:maxCardinality rdf:datatype="http://www.w3.org/2001/XMLSchema#nonNegativeInteger">1</owl:maxCardinality>
      //-->
    </owl:Restriction>
  </rdfs:subClassOf>
</rdfs:Class>

<rdf:Property rdf:about="http://www.w3.org/WAI/ER/EARL/nmg-strawman#prefix">
  <rdfs:label xml:lang="en">Namespace Prefix</rdfs:label>
  <rdfs:comment xml:lang="en">A namespace prefix</rdfs:comment>
  <rdfs:domain rdf:resource="http://www.w3.org/WAI/ER/EARL/nmg-strawman#Namespace"/>
  <rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/>
</rdf:Property>

<rdf:Property rdf:about="http://www.w3.org/WAI/ER/EARL/nmg-strawman#namespaceURI">
  <rdfs:label xml:lang="en">Namespace URI</rdfs:label>
  <rdfs:comment xml:lang="en">A namespace URI</rdfs:comment>
  <rdfs:domain rdf:resource="http://www.w3.org/WAI/ER/EARL/nmg-strawman#Namespace"/>
  <rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/>
</rdf:Property>


<!--// SNIPPET POINTERS //-->
<rdf:Property rdf:about="http://www.w3.org/WAI/ER/EARL/nmg-strawman#charsnippet">
  <rdfs:label xml:lang="en">Char Snippet</rdfs:label>
  <rdfs:domain rdf:resource="http://www.w3.org/WAI/ER/EARL/nmg-strawman#PointerCollection"/>
  <rdfs:range rdf:resource="http://www.w3.org/WAI/ER/EARL/nmg-strawman#CharSnippetPointer"/>
</rdf:Property>

<rdf:Property rdf:about="http://www.w3.org/WAI/ER/EARL/nmg-strawman#bytesnippet">
  <rdfs:label xml:lang="en">Byte Snippet</rdfs:label>
  <rdfs:domain rdf:resource="http://www.w3.org/WAI/ER/EARL/nmg-strawman#PointerCollection"/>
  <rdfs:range rdf:resource="http://www.w3.org/WAI/ER/EARL/nmg-strawman#ByteSnippetPointer"/>
</rdf:Property>

<rdfs:Class rdf:about="http://www.w3.org/WAI/ER/EARL/nmg-strawman#CharSnippetPointer">
  <rdfs:label xml:lang="en">Char Snippet Pointer</rdfs:label>
  <rdfs:comment xml:lang="en">Character based part of the Test Subject</rdfs:comment>
  <rdfs:subClassOf rdf:resource="http://www.w3.org/WAI/ER/EARL/nmg-strawman#Pointer"/>
  <rdfs:subClassOf rdf:parseType="Collection">
    <owl:Restriction>
      <owl:onProperty rdf:resource="http://www.w3.org/WAI/ER/EARL/nmg-strawman#charContent"/>
      <!--// @@@ EDITORS' NOTE: Min/Max cardinality restrictions have been commented out until a decision is made
      <owl:minCardinality rdf:datatype="http://www.w3.org/2001/XMLSchema#nonNegativeInteger">0</owl:minCardinality>
      <owl:maxCardinality rdf:datatype="http://www.w3.org/2001/XMLSchema#nonNegativeInteger">1</owl:maxCardinality>
      //-->
    </owl:Restriction>
    <owl:Restriction>
      <owl:onProperty rdf:resource="http://www.w3.org/WAI/ER/EARL/nmg-strawman#charOffset"/>
      <!--// @@@ EDITORS' NOTE: Min/Max cardinality restrictions have been commented out until a decision is made
      <owl:minCardinality rdf:datatype="http://www.w3.org/2001/XMLSchema#nonNegativeInteger">0</owl:minCardinality>
      <owl:maxCardinality rdf:datatype="http://www.w3.org/2001/XMLSchema#nonNegativeInteger">1</owl:maxCardinality>
      //-->
    </owl:Restriction>
  </rdfs:subClassOf>
</rdfs:Class>

<rdf:Property rdf:about="http://www.w3.org/WAI/ER/EARL/nmg-strawman#charContent">
  <rdfs:label xml:lang="en">Char Content</rdfs:label>
  <rdfs:comment xml:lang="en">Character content that is part of the Test Subject</rdfs:comment>
  <rdfs:domain rdf:resource="http://www.w3.org/WAI/ER/EARL/nmg-strawman#charSnippet"/>
  <!--// @@@ EDITORS' NOTE: range here could be a string or a parsed XML document... //-->
</rdf:Property>

<rdf:Property rdf:about="http://www.w3.org/WAI/ER/EARL/nmg-strawman#charOffset">
  <rdfs:label xml:lang="en">Char Offset</rdfs:label>
  <rdfs:comment xml:lang="en">Number of characters into the Char Content</rdfs:comment>
  <rdfs:domain rdf:resource="http://www.w3.org/WAI/ER/EARL/nmg-strawman#charSnippet"/>
  <rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#integer"/>
</rdf:Property>

<rdfs:Class rdf:about="http://www.w3.org/WAI/ER/EARL/nmg-strawman#ByteSnippetPointer">
  <rdfs:label xml:lang="en">Byte Snippet Pointer</rdfs:label>
  <rdfs:comment xml:lang="en">Byte based part of the Test Subject (encoded in Base64)</rdfs:comment>
  <rdfs:subClassOf rdf:resource="http://www.w3.org/WAI/ER/EARL/nmg-strawman#Pointer"/>
  <rdfs:subClassOf rdf:parseType="Collection">
    <owl:Restriction>
      <owl:onProperty rdf:resource="http://www.w3.org/WAI/ER/EARL/nmg-strawman#byteContent"/>
      <!--// @@@ EDITORS' NOTE: Min/Max cardinality restrictions have been commented out until a decision is made
      <owl:minCardinality rdf:datatype="http://www.w3.org/2001/XMLSchema#nonNegativeInteger">0</owl:minCardinality>
      <owl:maxCardinality rdf:datatype="http://www.w3.org/2001/XMLSchema#nonNegativeInteger">1</owl:maxCardinality>
      //-->
    </owl:Restriction>
    <owl:Restriction>
      <owl:onProperty rdf:resource="http://www.w3.org/WAI/ER/EARL/nmg-strawman#byteOffset"/>
      <!--// @@@ EDITORS' NOTE: Min/Max cardinality restrictions have been commented out until a decision is made
      <owl:minCardinality rdf:datatype="http://www.w3.org/2001/XMLSchema#nonNegativeInteger">0</owl:minCardinality>
      <owl:maxCardinality rdf:datatype="http://www.w3.org/2001/XMLSchema#nonNegativeInteger">1</owl:maxCardinality>
      //-->
    </owl:Restriction>
  </rdfs:subClassOf>
</rdfs:Class>

<rdf:Property rdf:about="http://www.w3.org/WAI/ER/EARL/nmg-strawman#byteContent">
  <rdfs:label xml:lang="en">Byte Content</rdfs:label>
  <rdfs:comment xml:lang="en">Byte content that is part of the Test Subject (encoded in Base64)</rdfs:comment>
  <rdfs:domain rdf:resource="http://www.w3.org/WAI/ER/EARL/nmg-strawman#byteSnippet"/>
  <rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/>
</rdf:Property>

<rdf:Property rdf:about="http://www.w3.org/WAI/ER/EARL/nmg-strawman#byteOffset">
  <rdfs:label xml:lang="en">Byte Offset</rdfs:label>
  <rdfs:comment xml:lang="en">Number of bytes into the Byte Content</rdfs:comment>
  <rdfs:domain rdf:resource="http://www.w3.org/WAI/ER/EARL/nmg-strawman#byteSnippet"/>
  <rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#integer"/>
</rdf:Property>


</rdf:RDF>

Received on Monday, 4 September 2006 12:10:57 UTC