Charles McCathieNevile (Ver la english version o la version française o la versione italiano)
Esta presentación pretende ser útil para aquella personas que pueden copiar y pegar ejemplos XML para editarlo, aun sin saber XML, RDF o EARL. Pretende explicar EARL de forma sencilla, y mostrar unas posibilidades que EARL tiene y como usarlos.
Sus comentarios son bienvenidos - por favor enviélos a:
Este es un borrador - $Date: 2004/06/16 17:28:32 $, y describe el borrador de EARL de 6 diciembre 2002 (inglés)
Muchas gracias al grupo G1 del Sidar, a la gente de la lista Hummana, y al grupo ERT del WAI, por sus sugerencias y comentarios.
Gracias a Maurizio Vittoria (italiano) y al grupo de trductores del Sidar (español) para ayuda con los idiomas
Esta presentación esta financiada en parte por el proyecto SWAD-Europe
EARL permite guardar resultados de una evalución:
EARL es RDF - ¡se debe validar su código!
Para crear EARL, puede tratarse como si fuera XML.
(Pero para leer EARL realizado por otros tiene que tratarlo como RDF.
También las posibilidades lo más interesantes requieren RDF.
Se trata este punto en la segunda parte de esta presentación.)
Una declaración EARL tiene al menos 5 propriedades
subject
- sujeto de la declaracióntestcase
- la prueba hecharesult
- el resultado de la evaluaciónassertedBy
- quién hace la declaraciónA menudo se incluye también un mensaje o comentario
subject
Cuando la evaluación es de algo que tiene una URI
<earl:subject rdf:resource="http://example.net/#item"/>
Con una página web, es mejor quizás evaluar una vista:
<earl:subject>
<earl:WebContent> <!-- contenido web -->
<earl:reprOf rdf:resource="http://example.org/" />
<!-- reproducción de una página -->
<earl:date>31-12-1977</earl:date>
</earl:WebContent>
</earl:subject>
testCase
Si el caso de referencia está ya descrito en RDF:
<earl:testCase rdf:resource="http://example.org/tests#number1"/>
EARL supone que cada caso de referencia tiene una URI
result
Hay 5 posibilidades:
Pass
Fail
NotTested
CannotTell
NotApplicable
por ejemplo, una evaluación inconclusa:
<earl:result rdf:type"http://www.w3.org/WAI/ER/EARL/nmg-strawman#CannotTell"/>
assertedBy
¿Quién ha proporcionado estos resultados?.
Algunas herramientas tienen su propio URI (dirección Web):
<earl:assertedBy rdf:resource="http://www.tawdis.net/"/>
Pero muchas no lo tienen. Las personas tampoco son descargables.
mode
Heuristic
<earl:mode rdf:resource="http://www.w3.org/WAI/ER/EARL/nmg-strawman#automatic"/>
message
Comentario como se queire - útil para añadir algo interesante
<earl:message>Ningún comentario - he evaluado bien.</earl:message>
<?xml version="1.0" encoding="utf-8"?>
<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:earl="http://www.w3.org/WAI/ER/EARL/nmg-strawman#">
<earl:Assertion>
<earl:subject rdf:resource="#http://www.w3.org/" />
<earl:result rdf:type"http://www.w3.org/WAI/ER/EARL/nmg-strawman#Pass"/>
<earl:testcase rdf:resource="http://example.org/1999/xhtml#transitional"/>
<earl:assertedBy rdf:resource="http://validator.w3.org" />
<earl:mode rdf:resource="http://www.w3.org/WAI/ER/EARL/nmg-strawman#automatic"/>
<earl:message>This page is valid XHTML</earl:message>
</earl:Assertion>
</rdf:RDF>
- o aumentar el vocabulario de EARL
¿Que implica?
Los elementos RDF pueden tener un idioma o tipo de dato
...
<earl:date rdf:datatype="http://www.w3.org/2001/XMLSchema#dateTime">2004-01-05T13:20:00Z</earl:date>
<earl:message xml:lang="es">en mis vacaciones</earl:message>
<earl:message xml:lang="en">during the holidays</earl:message>
...
Muchas veces se crea resultados múltiples a la vez
Se puede ponerlos en un solo fichero para código mas compacto
Por ejemplo, subjeto o evaluador común
Una buena practica: identifica cada evaluación...
<earl:WebContent rdf:about="#subject">
<earl:reprOf rdf:resource="http://example.org/" />
<earl:date>last sunday</earl:date>
</earl:WebContent>
<earl:Assertion rdf:about="#test1result">
<earl:subject rdf:resource="#subject" />
<earl:testcase rdf:resource="http://example.org/#test1"/>
<!-- ... -->
</earl:Assertion>
<earl:Assertion rdf:about="#test2result">
<earl:subject rdf:resource="#subject" />
<earl:testcase rdf:resource="http://example.org/#test2"/>
<!-- ... -->
</earl:Assertion>
Se puede describir la naturaleza de la evaluación en RDF:
<earl:testcase>
<earl:TestCase rdf:about="http://www.w3.org/TR/WCAG10/#tech-text-equivalent">
<wcag:checkpoint>1.1 </wcag:checkpoint>
<dc:title xml:lang="es">Proporcione un texto equivalente para todo elemento no textual </dc:title>
</earl:TestCase>
</earl:testcase>
EARL en si mismo no se usa para definir un caso de referencia.
Tipos más detallados de resultados. Es importante definir su relación con las propriedades originales
Este ejemplo crea una nuevas version de "no cumple" (Fail
),
par cuando hay un conformidad partial
<rdf:RDF
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#">
<rdfs:Class rdf:about="http://www.sidar.org/rdf-def/mas-earl#Partial">
<rdfs:subClassOf rdf:resource="http://www.w3.org/WAI/ER/EARL/nmg-strawman#Fail"/>
<rdfs:isDefinedBy rdf:resource="http://www.sidar.org/rdf-def/mas-earl#"/>
<rdfs:label xml:lang="es">Cumple solo parte del punto</rdfs:label>
<rdfs:label xml:lang="en">Only partially meets the checkpoint</rdfs:label>
<rdfs:comment xml:lang="es">Una extensión usada por Hera, para identificar contenido que cumple patialmente</rdfs:comment>
</rdfs:Class>
Con RDF y Lenguaje de Vocabularios (esquemas de RDF) se puede saber que
Partial
es un tipo de Fail
.
En este ejemplo, hemos incluso los dos, porque hasta ahora EARL no limite el numero de resultados que se puede declarar y para ayudar las herramientas los mas basicas:
<?xml version="1.0" encoding="utf-8"?>
<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:earl="http://www.w3.org/WAI/ER/EARL/nmg-strawman#">
<earl:Assertion>
<earl:subject rdf:resource="#http://example.org/" />
<earl:result rdf:type"http://www.sidar.org/rdf-def/mas-earl#Casi"/>
<earl:result rdf:type"http://www.w3.org/WAI/ER/EARL/nmg-strawman#Fail"/>
<earl:testcase rdf:resource="http://www.w3.org/TR/WCAG10/wai-pageauth.html#tech-use-
metadata"/>
<earl:assertedBy rdf:resource="http://www.sidar.org/hera/" />
<earl:mode rdf:resource="http://www.w3.org/WAI/ER/EARL/nmg-strawman#automatic"/>
<earl:message xml:lang="es">Tiene que especificar también el autor de la página</earl:message>
</earl:Assertion>
</rdf:RDF>
Aqui usando el vocabulario Amigo-de-un-amigo (FOAF en inglés) para indentificar una persona:
<earl:assertedBy>
<foaf:Person>
<foaf:mbox rdf:resource="mailto:charles@sidar.org"/>
<foaf:name>Chaals</foaf:name>
<foaf:Person>
</earl:assertedBy>
Los ejemplos siguientes muestran posibilidades avanzadas:
Un problemo actualmente abierto:
Importante para reparación, o cuando hay diversas possibilidades
Hay algunas versiones distintas de EARL (0.90, 0.95, la versión descrito en esta presentación). Entonces es importante identificar que versión se usa, por el espacio de nombre (namespace) correcto. Para la versión explicada en esta presentación, es
<rdf:RDF xmlns:earl="http://www.w3.org/WAI/ER/EARL/nmg-strawman#">