index.html 113 KB
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 419 420 421 422 423 424 425 426 427 428 429 430 431 432 433 434 435 436 437 438 439 440 441 442 443 444 445 446 447 448 449 450 451 452 453 454 455 456 457 458 459 460 461 462 463 464 465 466 467 468 469 470 471 472 473 474 475 476 477 478 479 480 481 482 483 484 485 486 487 488 489 490 491 492 493 494 495 496 497 498 499 500 501 502 503 504 505 506 507 508 509 510 511 512 513 514 515 516 517 518 519 520 521 522 523 524 525 526 527 528 529 530 531 532 533 534 535 536 537 538 539 540 541 542 543 544 545 546 547 548 549 550 551 552 553 554 555 556 557 558 559 560 561 562 563 564 565 566 567 568 569 570 571 572 573 574 575 576 577 578 579 580 581 582 583 584 585 586 587 588 589 590 591 592 593 594 595 596 597 598 599 600 601 602 603 604 605 606 607 608 609 610 611 612 613 614 615 616 617 618 619 620 621 622 623 624 625 626 627 628 629 630 631 632 633 634 635 636 637 638 639 640 641 642 643 644 645 646 647 648 649 650 651 652 653 654 655 656 657 658 659 660 661 662 663 664 665 666 667 668 669 670 671 672 673 674 675 676 677 678 679 680 681 682 683 684 685 686 687 688 689 690 691 692 693 694 695 696 697 698 699 700 701 702 703 704 705 706 707 708 709 710 711 712 713 714 715 716 717 718 719 720 721 722 723 724 725 726 727 728 729 730 731 732 733 734 735 736 737 738 739 740 741 742 743 744 745 746 747 748 749 750 751 752 753 754 755 756 757 758 759 760 761 762 763 764 765 766 767 768 769 770 771 772 773 774 775 776 777 778 779 780 781 782 783 784 785 786 787 788 789 790 791 792 793 794 795 796 797 798 799 800 801 802 803 804 805 806 807 808 809 810 811 812 813 814 815 816 817 818 819 820 821 822 823 824 825 826 827 828 829 830 831 832 833 834 835 836 837 838 839 840 841 842 843 844 845 846 847 848 849 850 851 852 853 854 855 856 857 858 859 860 861 862 863 864 865 866 867 868 869 870 871 872 873 874 875 876 877 878 879 880 881 882 883 884 885 886 887 888 889 890 891 892 893 894 895 896 897 898 899 900 901 902 903 904 905 906 907 908 909 910 911 912 913 914 915 916 917 918 919 920 921 922 923 924 925 926 927 928 929 930 931 932 933 934 935 936 937 938 939 940 941 942 943 944 945 946 947 948 949 950 951 952 953 954 955 956 957 958 959 960 961 962 963 964 965 966 967 968 969 970 971 972 973 974 975 976 977 978 979 980 981 982 983 984 985 986 987 988 989 990 991 992 993 994 995 996 997 998 999 1000 1001 1002 1003 1004 1005 1006 1007 1008 1009 1010 1011 1012 1013 1014 1015 1016 1017 1018 1019 1020 1021 1022 1023 1024 1025 1026 1027 1028 1029 1030 1031 1032 1033 1034 1035 1036 1037 1038 1039 1040 1041 1042 1043 1044 1045 1046 1047 1048 1049 1050 1051 1052 1053 1054 1055 1056 1057 1058 1059 1060 1061 1062 1063 1064 1065 1066 1067 1068 1069 1070 1071 1072 1073 1074 1075 1076 1077 1078 1079 1080 1081 1082 1083 1084 1085 1086 1087 1088 1089 1090 1091 1092 1093 1094 1095 1096 1097 1098 1099 1100 1101 1102 1103 1104 1105 1106 1107 1108 1109 1110 1111 1112 1113 1114 1115 1116 1117 1118 1119 1120 1121 1122 1123 1124 1125 1126 1127 1128 1129 1130 1131 1132 1133 1134 1135 1136 1137 1138 1139 1140 1141 1142 1143 1144 1145 1146 1147 1148 1149 1150 1151 1152 1153 1154 1155 1156 1157 1158 1159 1160 1161 1162 1163 1164 1165 1166 1167 1168 1169 1170 1171 1172 1173 1174 1175 1176 1177 1178 1179 1180 1181 1182 1183 1184 1185 1186 1187 1188 1189 1190 1191 1192 1193 1194 1195 1196 1197 1198 1199 1200 1201 1202 1203 1204 1205 1206 1207 1208 1209 1210 1211 1212 1213 1214 1215 1216 1217 1218 1219 1220 1221 1222 1223 1224 1225 1226 1227 1228 1229 1230 1231 1232 1233 1234 1235 1236 1237 1238 1239 1240 1241 1242 1243 1244 1245 1246 1247 1248 1249 1250 1251 1252 1253 1254 1255 1256 1257 1258 1259 1260 1261 1262 1263 1264 1265 1266 1267 1268 1269 1270 1271 1272 1273 1274 1275 1276 1277 1278 1279 1280 1281 1282 1283 1284 1285 1286 1287 1288 1289 1290 1291 1292 1293 1294 1295 1296 1297 1298 1299 1300 1301 1302 1303 1304 1305 1306 1307 1308 1309 1310 1311 1312 1313 1314 1315 1316 1317 1318 1319 1320 1321 1322 1323 1324 1325 1326 1327 1328 1329 1330 1331 1332 1333 1334 1335 1336 1337 1338 1339 1340 1341 1342 1343 1344 1345 1346 1347 1348 1349 1350 1351 1352 1353 1354 1355 1356 1357 1358 1359 1360 1361 1362 1363 1364 1365 1366 1367 1368 1369 1370 1371 1372 1373 1374 1375 1376 1377 1378 1379 1380 1381 1382 1383 1384 1385 1386 1387 1388 1389 1390 1391 1392 1393 1394 1395 1396 1397 1398 1399 1400 1401 1402 1403 1404 1405 1406 1407 1408 1409 1410 1411 1412 1413 1414 1415 1416 1417 1418 1419 1420 1421 1422 1423 1424 1425 1426 1427 1428 1429 1430 1431 1432 1433 1434 1435 1436 1437 1438 1439 1440 1441 1442 1443 1444 1445 1446 1447 1448 1449 1450 1451 1452 1453 1454 1455 1456 1457 1458 1459 1460 1461 1462 1463 1464 1465 1466 1467 1468 1469 1470 1471 1472 1473 1474 1475 1476 1477 1478 1479 1480 1481 1482 1483 1484 1485 1486 1487 1488 1489 1490 1491 1492 1493 1494 1495 1496 1497 1498 1499 1500 1501 1502 1503 1504 1505 1506 1507 1508 1509 1510 1511 1512 1513 1514 1515 1516 1517 1518 1519 1520 1521 1522 1523 1524 1525 1526 1527 1528 1529 1530 1531 1532 1533 1534 1535 1536 1537 1538 1539 1540 1541 1542 1543 1544 1545 1546 1547 1548 1549 1550 1551 1552 1553 1554 1555 1556 1557 1558 1559 1560 1561 1562 1563 1564 1565 1566 1567 1568 1569 1570 1571 1572 1573 1574 1575 1576 1577 1578 1579 1580 1581 1582 1583 1584 1585 1586 1587 1588 1589 1590 1591 1592 1593 1594 1595 1596 1597 1598 1599 1600 1601 1602 1603 1604 1605 1606 1607 1608 1609 1610 1611 1612 1613 1614 1615 1616 1617 1618 1619 1620 1621 1622 1623 1624 1625 1626 1627 1628 1629 1630 1631 1632 1633 1634 1635 1636 1637 1638 1639 1640 1641 1642 1643 1644 1645 1646 1647 1648 1649 1650 1651 1652 1653 1654 1655 1656 1657 1658 1659 1660 1661 1662 1663 1664 1665 1666 1667 1668 1669 1670 1671 1672 1673 1674 1675 1676 1677 1678 1679 1680 1681 1682 1683 1684 1685 1686 1687 1688 1689 1690 1691 1692 1693 1694 1695 1696 1697 1698 1699 1700 1701 1702 1703 1704 1705 1706 1707 1708 1709 1710 1711 1712 1713 1714 1715 1716 1717 1718 1719 1720 1721 1722 1723 1724 1725 1726 1727 1728 1729 1730 1731 1732 1733 1734 1735 1736 1737 1738 1739 1740 1741 1742 1743 1744 1745 1746 1747 1748 1749 1750 1751 1752 1753 1754 1755 1756 1757 1758 1759 1760 1761 1762 1763 1764 1765 1766 1767 1768 1769 1770 1771 1772 1773 1774 1775 1776 1777 1778 1779 1780 1781 1782 1783 1784 1785 1786 1787 1788 1789 1790 1791 1792 1793 1794 1795 1796 1797 1798 1799 1800 1801 1802 1803 1804 1805 1806 1807 1808 1809 1810 1811 1812 1813 1814 1815 1816 1817 1818 1819 1820 1821 1822 1823 1824 1825 1826 1827 1828 1829 1830 1831 1832 1833 1834 1835 1836 1837 1838 1839 1840 1841 1842 1843 1844 1845 1846 1847 1848 1849 1850 1851 1852 1853 1854 1855 1856 1857 1858 1859 1860 1861 1862 1863 1864 1865 1866 1867 1868 1869 1870 1871 1872 1873 1874 1875 1876 1877 1878 1879 1880 1881 1882 1883 1884 1885 1886 1887 1888 1889 1890 1891 1892 1893 1894 1895 1896 1897 1898 1899 1900 1901 1902 1903 1904 1905 1906 1907 1908 1909 1910 1911 1912 1913 1914 1915 1916 1917 1918 1919 1920 1921 1922 1923 1924 1925 1926 1927 1928 1929 1930 1931 1932 1933 1934 1935 1936 1937 1938 1939 1940 1941 1942 1943 1944 1945 1946 1947 1948 1949 1950 1951 1952 1953 1954 1955 1956 1957 1958 1959 1960 1961 1962 1963 1964 1965 1966 1967 1968 1969 1970 1971 1972 1973 1974 1975 1976 1977 1978 1979 1980 1981 1982 1983 1984 1985 1986 1987 1988 1989 1990 1991 1992 1993 1994 1995 1996 1997 1998 1999 2000 2001 2002 2003 2004 2005 2006 2007 2008 2009 2010 2011 2012 2013 2014 2015 2016 2017 2018 2019 2020 2021 2022 2023 2024 2025 2026 2027 2028 2029 2030 2031 2032 2033 2034 2035 2036 2037 2038 2039 2040 2041 2042 2043 2044 2045 2046 2047 2048 2049 2050 2051 2052 2053 2054 2055 2056 2057 2058 2059 2060 2061 2062 2063 2064 2065 2066 2067 2068 2069 2070 2071 2072 2073 2074 2075 2076 2077 2078 2079 2080 2081 2082 2083 2084 2085 2086 2087 2088 2089 2090 2091 2092 2093 2094 2095 2096 2097 2098 2099 2100 2101 2102 2103 2104 2105 2106 2107 2108 2109 2110 2111 2112 2113 2114 2115 2116 2117 2118 2119 2120 2121 2122 2123 2124 2125 2126 2127 2128 2129 2130 2131 2132 2133 2134 2135 2136 2137 2138 2139 2140 2141 2142 2143 2144 2145 2146 2147 2148 2149 2150 2151 2152 2153 2154 2155 2156 2157 2158 2159 2160 2161 2162 2163 2164 2165 2166 2167 2168 2169 2170 2171 2172 2173 2174 2175 2176 2177 2178 2179 2180 2181 2182 2183 2184 2185 2186 2187 2188 2189 2190 2191 2192 2193 2194 2195 2196 2197 2198 2199 2200 2201 2202 2203 2204 2205 2206 2207 2208 2209 2210 2211 2212 2213 2214 2215 2216 2217 2218 2219 2220 2221 2222 2223 2224 2225 2226 2227 2228 2229 2230 2231 2232 2233 2234 2235 2236 2237 2238 2239 2240 2241 2242 2243 2244 2245 2246 2247 2248 2249 2250 2251 2252 2253 2254 2255 2256 2257 2258 2259 2260 2261 2262 2263 2264 2265 2266 2267 2268 2269 2270 2271 2272 2273 2274 2275 2276 2277 2278 2279 2280 2281 2282 2283
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
      "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
  <meta http-equiv="content-type" content="text/html; charset=UTF-8" />
  <title>Developer Guide for Evaluation and Report Language (EARL) 1.0</title>
  <link rel="stylesheet" type="text/css" href="main.css" />
  <link rel="stylesheet" type="text/css"
  href="http://www.w3.org/StyleSheets/TR/W3C-WD" />
</head>

<body>
<p align="center">[<a href="#contents" rel="contents">contents</a>]</p>
<!--// head //-->

<div id="head" class="head">
<p><a href="http://www.w3.org/"><img width="72" height="48" alt="W3C"
src="http://www.w3.org/Icons/w3c_home" /></a></p>

<h1><a id="title" name="title">Developer Guide for Evaluation and Report
Language (EARL) 1.0</a></h1>

<h2><a id="w3c-doctype" name="w3c-doctype">W3C Working Draft 10 May
2011</a></h2>
<dl>
  <dt>This version:</dt>
    <dd><a
      href="http://www.w3.org/TR/2011/WD-EARL10-Guide-20110510/">http://www.w3.org/TR/2011/WD-EARL10-Guide-20110510/</a></dd>
  <dt>Latest version:</dt>
    <dd><a
      href="http://www.w3.org/TR/EARL10-Guide/">http://www.w3.org/TR/EARL10-Guide/</a></dd>
  <dt>Previous version:</dt>
    <dd><a
      href="http://www.w3.org/TR/2009/WD-EARL10-Guide-20091029/">http://www.w3.org/TR/2009/WD-EARL10-Guide-20091029/</a></dd>
  <dt>Editors:</dt>
    <dd>Carlos A Velasco, Fraunhofer Institute for Applied Information
      Technology FIT</dd>
    <dd>Shadi Abou-Zahra, <acronym
      title="World Wide Web Consortium">W3C</acronym>/<acronym
      title="Web Accessibility Initiative">WAI</acronym></dd>
  <dt>Previous Editors:</dt>
    <dd>Johannes Koch (until November 2010 while at Fraunhofer Institute for
      Applied Information Technology FIT)</dd>
</dl>

<p class="copyright"><a
href="http://www.w3.org/Consortium/Legal/ipr-notice#Copyright">Copyright</a> ©
2011 <a href="http://www.w3.org/"><acronym
title="World Wide Web Consortium">W3C</acronym></a><sup>®</sup> (<a
href="http://www.csail.mit.edu/"><acronym
title="Massachusetts Institute of Technology">MIT</acronym></a>, <a
href="http://www.ercim.eu/"><acronym
title="European Research Consortium for Informatics and Mathematics">ERCIM</acronym></a>,
<a href="http://www.keio.ac.jp/">Keio</a>), All Rights Reserved. W3C <a
href="http://www.w3.org/Consortium/Legal/ipr-notice#Legal_Disclaimer">liability</a>,
<a
href="http://www.w3.org/Consortium/Legal/ipr-notice#W3C_Trademarks">trademark</a>
and <a href="http://www.w3.org/Consortium/Legal/copyright-documents">document
use</a> rules apply.</p>
</div>
<hr />

<h2><a id="abstract" name="abstract">Abstract</a></h2>

<p>This document provides guidance for developers on implementing Evaluation
and Report Language (EARL) 1.0 in software tools and process. EARL is a
vocabulary, the terms of which are defined across a set of specifications and
technical notes, that is used to describe test results. The primary motivation
for developing this vocabulary is to facilitate the exchange of test results
between web accessibility evaluation tools in a vendor-neutral and
platform-independent format. It also provides reusable terms for generic
quality assurance and validation purposes.</p>

<p>While this document provides developer guidance for using and implmenting
EARL, <a href="http://www.w3.org/TR/EARL10-Schema/">Evaluation and Report
Language (EARL) 1.0 Schema</a> defines the core terms of the vocabulary, and
other specifications provide additional terms for representing HTTP exchanges
between clients and servers, <a
href="http://www.w3.org/TR/HTTP-in-RDF10/"><acronym
title="Hyper Text Transfer Protocol">HTTP</acronym> Vocabulary in <acronym
title="Resource Description Framework">RDF</acronym> 1.0</a>, for representing
web content itself, <a
href="http://www.w3.org/TR/Content-in-RDF10/">Representing Content in RDF
1.0</a>, or for specifying particular locations within or sections of content,
<a href="http://www.w3.org/TR/Pointers-in-RDF10/">Pointer methods in RDF
1.0</a>. An <a href="http://www.w3.org/WAI/intro/earl.php">Evaluation and
Report Language (EARL) Overview</a> is also available.</p>

<div id="sotd">
<h2><a id="status" name="status">Status of this document</a></h2>

<p><em>This section describes the status of this document at the time of its
publication. Other documents may supersede this document. A list of current W3C
publications and the latest revision of this technical report can be found in
the <a href="http://www.w3.org/TR/">W3C technical reports index</a> at
http://www.w3.org/TR/.</em></p>

<p>This 10 May 2011 Working Draft of the Developer Guide for Evaluation and
Report Language (EARL) 1.0 provides an introduction to EARL and defines
conformance requirements for software tools supporting EARL. It is a complete
resource with different working examples, and it implements the decisions of
the Evaluation and Repair Tools Working Group (ERT WG) to date. This document
is intended to be published and maintained as a W3C Recommendation after review
and refinement.</p>

<p>The Evaluation and Repair Tools Working Group (ERT WG) encourages feedback
about this document, Developer Guide for Evaluation and Report Language (EARL)
1.0, by developers and researchers who have interest in software-supported
evaluation and validation of websites, and by developers and researchers who
have interest in Semantic Web technologies for content description, annotation,
and adaptation. In particular, the Working Group is looking for feedback on the
<a href="#conformance">section on conformance</a> and suggestions for the <a
href="#serialization">section on serialization</a> that is currently under
consideration.</p>

<p>Please send comments on this Developer Guide for Evaluation and Report
Language (EARL) 1.0 document by <strong>10 June 2011</strong> to <a
href="mailto:public-earl10-comments@w3.org">public-earl10-comments@w3.org</a>
(publicly visible <a
href="http://lists.w3.org/Archives/Public/public-earl10-comments/">mailing list
archive</a>).</p>

<p>Publication as a Working Draft does not imply endorsement by the W3C
Membership. This is a draft document and may be updated, replaced or obsoleted
by other documents at any time. It is inappropriate to cite this document as
other than work in progress.</p>

<p>This document has been produced by the <a
href="http://www.w3.org/WAI/ER/">Evaluation and Repair Tools Working Group (ERT
WG)</a> as part of the <a href="http://www.w3.org/WAI/Technical/Activity">Web
Accessibility Initiative (WAI) Technical Activity</a>.</p>

<p>This document was produced by a group operating under the <a
href="http://www.w3.org/Consortium/Patent-Policy-20040205/">5 February 2004 W3C
Patent Policy</a>. The group does not expect this document to become a W3C
Recommendation. W3C maintains a <a rel="disclosure"
href="http://www.w3.org/2004/01/pp-impl/32094/status">public list of any patent
disclosures</a> made in connection with the deliverables of the group; that
page also includes instructions for disclosing a patent. An individual who has
actual knowledge of a patent which the individual believes contains <a
href="http://www.w3.org/Consortium/Patent-Policy-20040205/#def-essential">Essential
Claim(s)</a> must disclose the information in accordance with <a
href="http://www.w3.org/Consortium/Patent-Policy-20040205/#sec-Disclosure">section
6 of the W3C Patent Policy</a>.</p>
</div>
<hr />

<div id="toc">
<h2><a accesskey="c" id="contents" name="contents">Table of Contents</a></h2>
<ol id="tocList">
  <li><a href="#introduction">Introduction</a> 
    <ul>
      <li><a href="#audience">1.1 Audience of this Document</a></li>
      <li><a href="#conventions">1.2 Document Conventions</a></li>
    </ul>
  </li>
  <li><a href="#about">About Evaluation and Report Language (EARL)</a> 
    <ul>
      <li><a href="#structure">2.1 Structure of EARL</a></li>
      <li><a href="#uses">2.2 Uses of EARL</a></li>
      <li><a href="#limitations">2.3 Limitations of EARL</a></li>
    </ul>
  </li>
  <li><a href="#using">Using the Evaluation and Report Language (EARL)</a> 
    <ul>
      <li><a href="#report-comp">3.1 Basic report components</a></li>
      <li><a href="#report-assert">3.2 Putting the pieces together</a></li>
      <li><a href="#report-access">3.3 An accessibility example</a></li>
      <li><a href="#report-negot">3.4 Identifying unambiguously the
      resource</a></li>
      <li><a href="#advanced">3.5 Advance usage</a> 
        <ul>
          <li><a href="#extension">3.5.1 Extending the vocabularies</a></li>
          <li><a href="#combine">3.5.2 Merging reports from different
            sources</a></li>
        </ul>
      </li>
    </ul>
  </li>
  <li><a href="#conformance">Conformance for EARL 1.0 Tools and Reports</a> 
    <ul>
      <li><a href="#EARL10Reports">4.1 Conforming EARL 1.0 Reports</a></li>
      <li><a href="#HTTP-graphs">4.2 Conforming HTTP-in-RDF Graphs</a></li>
      <li><a href="#Content-graphs">4.3 Conforming Content-in-RDF
      Graphs</a></li>
    </ul>
  </li>
  <li><a href="#serialization">Serializations of EARL Reports</a></li>
</ol>

<h3>Appendices<a id="appendices" name="appendices"></a></h3>
<ol id="tocApp" type="A">
  <li><a href="#references">References</a></li>
  <li><a href="#contributors">Contributors</a></li>
  <li><a href="#changes">Document changes</a></li>
</ol>
</div>
<hr />

<h2><a id="introduction" name="introduction">1. Introduction</a></h2>

<p>This document is a guide to the Evaluation and Report Language (EARL) 1.0
for developers of software tools and proccesses. It provides an introduction to
EARL and its uses, defines conformance requirements for tools supporting EARL,
and describes approaches for serializing EARL data in different formats.</p>

<p>EARL is a vocabulary, the terms of which are defined across a set of
specifications and technical notes, that is used to describe test results in a
machine-readable format. This set of specifications includes:</p>
<ul>
  <li><a href="http://www.w3.org/TR/EARL10-Schema/">Evaluation and Report
    Language (EARL) 1.0 Schema</a></li>
  <li><a href="http://www.w3.org/TR/HTTP-in-RDF10/"><acronym
    title="Hyper Text Transfer Protocol">HTTP</acronym> Vocabulary in <acronym
    title="Resource Description Framework">RDF</acronym> 1.0</a></li>
  <li><a href="http://www.w3.org/TR/Content-in-RDF10/">Representing Content in
    RDF 1.0</a></li>
  <li><a href="http://www.w3.org/TR/Pointers-in-RDF10/">Pointer Methods in RDF
    1.0</a></li>
</ul>

<p>An <a href="http://www.w3.org/WAI/intro/earl.php">Evaluation and Report
Language (EARL) Overview</a> is also available.</p>

<h3><a name="audience" id="audience">1.1 Audience of this Document</a></h3>

<p>The assumed audience of this document is developers of software tools and
processes, who want to implement EARL. This includes developers of quality
assurance tools, in particular developers of web accessibility evaluation
tools, web authoring tools, and web quality assurance tools.</p>

<p>This document assumes that the reader is familiar with the Resource
Description Framework (RDF) and can read its XML serialization. Readers who
wish to understand more about RDF should read a general introduction or the RDF
Primer [<a href="#ref-rdf-primer">RDF-PRIMER</a>]. This document is also
written with consideration for developers who are more accustomed to XML than
RDF, but reader is cautioned about notable differences between the syntax-based
nature of XML and the semantic-based nature of RDF.</p>

<h3><a name="conventions" id="conventions">1.2. Document conventions</a></h3>

<h4><a name="keywords" id="keywords">Keywords</a></h4>

<p>The keywords <strong class="keyword">must</strong>, <strong
class="keyword">required</strong>, <strong
class="keyword">recommended</strong>, <strong class="keyword">should</strong>,
<strong class="keyword">may</strong>, and <strong
class="keyword">optional</strong> in this document are used in accordance with
<acronym title="Request For Comments">RFC</acronym> 2119 [<a
href="#ref-rfc2119">RFC 2119</a>].</p>

<h4><a name="namespaces" id="namespaces">Namespaces</a></h4>

<p>The <acronym title="Resource Description Framework">RDF</acronym>
representation of the vocabulary defined by this document uses the namespace
<code>http://www.w3.org/ns/earl#</code>. The prefix <code>earl</code> is used
throughout this document to denote this namespace. Other prefixes used
throughout this document include:</p>
<ul>
  <li><code>cnt</code> - Representing Content in RDF namespace <code><a
    href="http://www.w3.org/2011/content#">http://www.w3.org/2011/content#</a></code>
    (defined by [<a href="#ref-cnt">Content</a>])</li>
  <li><code>dct</code> - Dublin Core (DC) namespace <code><a
    href="http://purl.org/dc/terms/">http://purl.org/dc/terms/</a></code>
    (defined by [<a href="#ref-dc">DC</a>])</li>
  <li><code>doap</code> - Description of a Project (DOAP) namespace <code><a
    href="http://usefulinc.com/ns/doap#">http://usefulinc.com/ns/doap#</a></code>
    (defined by [<a href="#ref-doap">DOAP</a>])</li>
  <li><code>foaf</code> - Friend of a Friend (FOAF) namespace <code><a
    href="http://xmlns.com/foaf/0.1/#">http://xmlns.com/foaf/0.1/#</a></code>
    (defined by [<a href="#ref-foaf">FOAF</a>])</li>
  <li><code>http</code> - <acronym
    title="Hyper Text Transfer Protocol">HTTP</acronym> Vocabulary in RDF
    namespace <code><a
    href="http://www.w3.org/2011/http#">http://www.w3.org/2011/http#</a></code>
    (defined by [<a href="#ref-http">HTTP</a>])</li>
  <li><code>ptr</code> - Pointer Methods in RDF namespace <code><a
    href="http://www.w3.org/2009/pointers#">http://www.w3.org/2009/pointers#</a></code>
    (defined by [<a href="#ref-ptrs">Pointers</a>])</li>
  <li><code>rdf</code> - RDF namespace <code><a
    href="http://www.w3.org/1999/02/22-rdf-syntax-ns#">http://www.w3.org/1999/02/22-rdf-syntax-ns#</a></code>
    (defined by [<a href="#ref-rdf">RDF</a>])</li>
  <li><code>rdfs</code> - RDF Schema namespace <code><a
    href="http://www.w3.org/2000/01/rdf-schema#">http://www.w3.org/2000/01/rdf-schema#</a></code>
    (defined by [<a href="#ref-rdfs">RDFS</a>])</li>
  <li><code>xsd</code> - <acronym
    title="Extensible Markup Language Schema">XMLS</acronym> namespace <code><a
    href="http://www.w3.org/2001/XMLSchema#">http://www.w3.org/2001/XMLSchema#</a></code>
    (defined by [<a href="#ref-xmls">XMLS</a>])</li>
</ul>

<h2><a id="about" name="about">2. About Evaluation and Report Language
(EARL)</a></h2>

<p>The Evaluation and Report Language (EARL) is a vocabulary to describe test
results in a machine-readable format. EARL supports the <em>test reporting</em>
stage in the testing process, as described by different standards on testing,
such as <acronym
title="Institute of Electrical and Electronics Engineers">IEEE</acronym> 829 <a
href="#ref-ieee829">[IEEE-829]</a>. Stages in the testing process include:</p>

<div class="figure">
<img alt="Elements of the testing process, described in the coming paragraphs."
id="fig1" name="fig1" src="images/testingProcess.png" /> 

<p><strong>Figure 1.</strong> Stages in the testing processes.</p>
</div>
<ol>
  <li><strong>Test Plan</strong>, which prescribes the scope, approach,
    resources, and schedule of the testing activities.</li>
  <li><strong>Test Specification</strong>, which describes the test cases and
    the test procedures for carrying out individual tests.</li>
  <li><strong>Test Execution</strong>, which covers the actual execution of the
    tests according to the test plan and specification.</li>
  <li><strong>Test Reporting</strong>, which deals not only with the creation
    of test results (i.e. reports), but may include their post-processing (e.g.
    filtering, aggregation, summarization, etc.).</li>
</ol>

<p>EARL vocabulary can be used to describe resources to be tested as defined by
the <em>test plan</em>, test cases and criteria as defined by the <em>test
specification</em>, and outcomes of the <em>test execution</em> stages. More
importantly, EARL provides a format to uniformly record these and other
elements in semantically rich testing reports.</p>

<h3><a id="structure" name="structure">2.1 Structure of EARL</a></h3>

<p><span class="note">[Editor note: this section overlaps with <a
href="http://www.w3.org/TR/EARL10-Schema/#classes">section "2. Classes" of EARL
1.0 Schema</a> and will be reviewed after further review and
refinement.]</span></p>

<p>The terms of EARL are defined using the Resource Description Framework <a
href="#ref-rdf">[RDF]</a>, which is technology to express semantic data in a
machine-readable format. Like any RDF vocabulary, EARL is a collection of
statements about resources, each with a subject, a predicate (or verb), and an
object. RDF statements describe resources and relationships, such as in the
following example:</p>
<pre>&lt;#someone&gt; &lt;#checks&gt; &lt;#resource&gt; .
&lt;#resource&gt; &lt;#fails&gt; &lt;#test&gt; .</pre>

<p>EARL provides a standardized vocabulary to describe specific resources and
relationships that are relevant to test reporting. The core construct of EARL
is an <strong><em>Assertion</em></strong>, which describes the context and
outcome of an individual test execution. It contains the following
information:</p>
<dl>
  <dt><em>Assertor</em></dt>
    <dd>This can include information about who or what ran the test. For
      example human evaluators, automated accessibility checkers, or
      combinations of these.</dd>
  <dt><em>Test Subject</em></dt>
    <dd>This can include web content (such as web pages, videos, applets,
      etc.), software (such as authoring tools, user agents, etc.), or other
      <em>things</em> being tested.</dd>
  <dt><em>Test Criterion</em></dt>
    <dd>What are we evaluating the test subject against? This could be a
      specification, a set of guidelines, a test from a test suite, or some
      other testable statement.</dd>
  <dt><em>Test Result</em></dt>
    <dd>What was the outcome of the test? A test result could also include
      contextual information such as error messages or relevant locations
      within the test subject.</dd>
</dl>

<h4><a name="ClassesExamples" id="ClassesExamples">Examples</a></h4>

<div class="example">
<p><strong><a name="example-1" id="example-1">Example 1</a>:</strong> A person
carries out a manual evaluation of a web page to an accessibility
requirement.</p>
<dl>
  <dt>Assertor</dt>
    <dd>Bob B. Bobbington</dd>
  <dt>Test Subject</dt>
    <dd>A web page located at <code>http://www.example.org/page.html</code></dd>
  <dt>Test Criterion</dt>
    <dd>Success Criterion 1.1.1 of the Web Content Accessibility Guidelines
      (WCAG) 2.0</dd>
  <dt>Test Result</dt>
    <dd>Passed</dd>
</dl>
</div>

<div class="example">
<p><strong><a name="example-2" id="example-2">Example 2</a>:</strong> A
software application carries out automated validation of a web page to a
technical specification.</p>
<dl>
  <dt>Assertor</dt>
    <dd>The <acronym title="World Wide Web Consortium">W3C</acronym> Markup
      Validator located at <code>http://validator.w3.org/</code></dd>
  <dt>Test Subject</dt>
    <dd>The <acronym
      title="Extensible Hyptertext Markup Language">XHTML</acronym> returned
      from a GET request to the <acronym
      title="Universal Resource Identifier">URI</acronym>
      <code>http://www.example.org/page.html</code> at
      <code>2004-04-14T14:00:04+1000</code></dd>
  <dt>Test Criterion</dt>
    <dd>The validity of the XHTML code</dd>
  <dt>Test Result</dt>
    <dd>Failed, the <code>&lt;li&gt;</code> element on line 53, char 7 was not
      closed.</dd>
</dl>
</div>

<h3><a id="uses" name="uses">2.2 Uses of EARL</a></h3>

<p>As a standardized machine-readable format, EARL facilitates processing of
test results, such as those generated by automated or semi-automated web
accessibility evaluation tools. Web authoring tools and quality assurance
software can aggregate such test results to support website developers in
developing high quality web content. EARL has been specifically designed to
support a broad variety of uses cases, including the following:</p>
<dl>
  <dt><strong>Combining results from software tools</strong></dt>
    <dd>Quality assurance testing, such as web accessibility evaluation, is
      often carried out by combinations of software tools and human evaluators.
      For instance, different evaluators may be testing different parts of a
      website, and single a evaluator may be using one or more software tools
      for testing or recording test results. Some tests might be fully
      automatable, and may be executed without any human intervention. Partial
      reports from different software tools can be combined, by using EARL as
      the standardized format for expressing test results.</dd>
  <dt><strong>Exchanging data between software tools</strong></dt>
    <dd>A standardized format for expressing test results also allows software
      tools to exchange data. In particular, testing tools such as checkers and
      validators can be more easily integrated into authoring tools, such as
      content management systems. Testing tools can also be integrated into
      quality assurance tools that help process and analyze the test results,
      or that provide customized reports of the test results for different
      audiences.</dd>
  <dt><strong>Querying and analyzing test reports</strong></dt>
    <dd>EARL provides fine-grained data about the context and outcome of test
      results, including information about the tested resources and the testing
      modalities, to allow many different types of queries and analysis. For
      instance, queries can be used to generate customized reports for managers
      who want a higher-level view, project managers who want information
      specific to the resources they are managing, and developers who want
      detailed bug reports about errors they need to fix. The nature of RDF
      also allows semantic inference and other approaches for advanced data
      mining.</dd>
  <dt><strong>Benchmarking software testing tools</strong></dt>
    <dd>EARL can also be used to compare the results provided by different
      testing tools, such as web accessibility evaluation tools. In particular,
      it can be used to compare the results provided from executing test suites
      that have normalized outcome, and so benchmark deviations such as false
      positives and false negative generated by different testing tools.</dd>
  <dt><strong>Evaluating dynamic and multilingual websites</strong></dt>
    <dd>EARL includes vocabulary to describe comprehensively web resources,
      including any parts of the entire <acronym
      title="Hyper Text Transfer Protocol">HTTP</acronym> exchange between a
      client and a server. This is particularly useful to record HTTP headers
      relevant for language and content negotiation, as well as the actual
      content received from the server and that has been tested. Moreover, user
      interaction with a website can be recorded, to help describe the
      particular context of the test execution.</dd>
  <dt><strong>Annotating web resources with metadata</strong></dt>
    <dd>Test results can also be used to describe the availability or lack of
      particular features of the resources tested. As RDF data, EARL test
      results are particularly useful as metadata for describing features of
      web content in a machine-readable format. For instance, EARL reports
      could be associated with web resources using RDFa <span
      class="note">[provide reference]</span>, and can be processed by
      RDF-aware browsers and search-engines to serve particular user
      preferences.</dd>
</dl>

<h3><a id="limitations" name="limitations">2.3 Limitations of EARL</a></h3>

<p><span class="note">[Editor note: this section will be extended and refined
in later iterations</span></p>

<p>It is important to consider potential security and privacy issues when using
EARL. For instance, test results expressed in EARL could contain sensitive
information such as the internal directory structure of a web server, username
and password information, parts of restricted Web pages, or testing modalities.
The scope of this document is limited to the use of the EARL vocabulary:
security and privacy considerations need to be made at the application level.
For example, certain parts of the data may be restricted to appropriate user
permissions, encrypted or obfuscated.</p>

<h2><a id="using" name="using">3. Using the Evaluation and Report Language
(EARL)</a></h2>

<p class="note">[Editor note: this entire section will be revised and refined
in later iterations.</p>

<p><acronym title="Evaluation and Report Language">EARL</acronym> is not a
standalone vocabulary and builds on top of many existing vocabularies that
cover some of its needs for metadata definition. This approach avoids the
re-creation of applications already established and tested like the Dublin Core
elements. The referenced specifications are:</p>
<ul>
  <li><a href="http://dublincore.org/documents/dcmi-terms/">Dublin Core
    Metadata Initiative (DCMI) Terms</a>. Dublin Core is a metadata standard
    for describing digital resources, often expressed in XML. The
    aforementioned document is an up-to-date specification of all metadata
    terms maintained by the Dublin Core Metadata Initiative. Included are the
    fifteen terms of the Dublin Core Metadata Element Set, which have also been
    published as <acronym
    title="Internet Engineering Task Force">IETF</acronym> <acronym
    title="Request For Comments">RFC</acronym> 5013 <a
    href="#ref-rfc-5013">[RFC5013]</a>, <acronym
    title="American National Standards Institute">ANSI</acronym>/<acronym
    title="National Information Standards Organization">NISO</acronym> Standard
    Z39.85-2007 <a href="#ref-nisoz3985">[NISOZ3985]</a> and <acronym
    title="International Standards Organisation">ISO</acronym> Standard 15836
    <a href="#ref-iso15836">[ISO15836]</a>. RDF Schema versions of the DCMI
    term declarations are available at <a
    href="#ref-dcmischemas">[DCMISCHEMAS]</a>.</li>
  <li><a href="http://www.foaf-project.org/">Friend of a Friend (FOAF)
    project</a>. The FOAF project is about creating a Web of machine-readable
    resources describing people, the links between them, and the things they
    create and do <a href="#ref-foaf">[FOAF]</a>.</li>
  <li>Representing Content in RDF <a href="#ref-content">[Content-RDF]</a>.
    This is an RDF vocabulary to semantically represent any type of content,
    either on the Web or in any storage media.</li>
  <li><acronym title="Hypertext Transfer Protocol">HTTP</acronym> vocabulary in
    RDF <a href="#ref-httprdf">[HTTP-RDF]</a>. This is an RDF vocabulary used
    to represent HTTP requests and responses. It is useful to identify online
    resources accessed via HTTP(S), which cannot be uniquely resolved via a URI
    <a href="#ref-uri">[URI]</a>. Typical examples are Web servers accessed via
    content negotiation, Web applications using the POST method, etc.</li>
  <li>Pointer Methods in RDF <a href="#ref-pointers">[Pointers-RDF]</a>. This
    is an RDF vocabulary to enable pointing in an accurate way to certain parts
    within a document, particularly HTML and XML documents.</li>
</ul>

<p>These vocabularies are referenced via namespaces in the corresponding RDF
serialization. The list of the <a
href="http://www.w3.org/TR/EARL10-Schema/#namespaces">normative namespaces</a>
can be found in the EARL 1.0 Schema. RDF can be serialized in many equivalent
ways, but its XML presentation <a href="#ref-rdf-xml">[RDF/XML]</a> is the
preferred method and will be used throughout this document. </p>

<h3><a id="report-comp" name="report-comp">3.1 Basic report components</a></h3>

<p>In the following sections, we will construct an <acronym
title="Evaluation and Report Language">EARL</acronym> report with several
examples of each component of the report. The root element of any EARL report
is an RDF node, in which we declare the namespaces used to define additional
classes and/or properties.</p>

<div class="example">
<p><a id="example301" name="example301"><strong>Example 3.1.</strong></a> The
root element of an EARL report [<a href="data/report_rx439.rdf"
title="EARL report only with root element." type="">download file for example
3.1</a>].</p>
<pre>  &lt;rdf:RDF
         xmlns:earl="http://www.w3.org/ns/earl#"
         xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
         xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#"&gt;

    &lt;!-- ... --&gt;

&lt;/rdf:RDF&gt;</pre>
</div>

<p>Next, let us assume that we want to express the results of an <acronym
title="eXtensible HyperText Markup Language">XHTML</acronym> validation in a
given document with the <a href="http://validator.w3.org/">W3C HTML
Validator</a>. The tested document can be found in the fictitious URL
<code>http://example.org/resource/index.html</code> and has the following HTML
code:</p>

<div class="example">
<p><a id="example302" name="example302"><strong>Example 3.2.</strong></a> An
XHTML document to be validated [<a href="data/example_am27.html"
type="">download file for example 3.2</a>].</p>
<pre>  &lt;!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
  "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"&gt;

&lt;html lang="en" xmlns="http://www.w3.org/1999/xhtml" xml:lang="en"&gt;
  &lt;head&gt;
  &lt;title&gt;Example of project pages&lt;/title&gt;
  &lt;/head&gt;
  &lt;body&gt;
  &lt;h1&gt;Project description&lt;/h1&gt;
  &lt;h2&gt;My project name&lt;/h2&gt;

    &lt;!-- ... --&gt;
  &lt;/body&gt;
&lt;/html&gt;</pre>
</div>

<p>This document has three errors that will constitute the basis of our EARL
report:</p>
<ol>
  <li>Error: Line 14, column 7: document type does not allow element
    "<code>li</code>" here; missing one of "<code>ul</code>", "<code>ol</code>"
    start-tag.</li>
  <li>Error: Line 15, column 6: end tag for "<code>li</code>" omitted, but
    OMITTAG NO was specified.</li>
  <li>Error: Line 16, column 9: there is no attribute "<code>alt</code>".</li>
</ol>

<p>The first step is to define <strong>who</strong> performed the test, either
a human being or a software tool. This is noted in the EARL framework as an
<code>Assertor</code>. Let us consider different use cases. First, let us
assume that only the W3C HTML Validator performed the test. This could be
expressed as an <code>Assertor</code>:</p>

<div class="example">
<p><a id="example303" name="example303"><strong>Example 3.3.</strong></a> A
generic tool as an <code>Assertor</code> [<a href="data/report_gh438.rdf"
type="">download file for example 3.3</a>].</p>
<pre>    &lt;earl:Assertor rdf:about="http://validator.w3.org/about.html#"&gt;
    &lt;dct:title xml:lang="en"&gt;W3C HTML Validator&lt;/dct:title&gt;
    &lt;dct:description xml:lang="en"&gt;
    W3C Markup Validation Service, a free service that checks Web documents in formats like HTML and XHTML for conformance to W3C Recommendations and other standards.
    &lt;/dct:description&gt;
  &lt;/earl:Assertor&gt;
  </pre>
</div>

<p>Notice that the <code>Assertor</code> class provides a mechanism by which to
specify more information by leveraging standard Dublin Core properties like
<code>dct:title</code> and <code>dct:description</code>. This is not the only
possible serialization of this report. An alternative, expressed in N3, could
be:</p>

<div class="example">
<p><a id="example304" name="example304"><strong>Example 3.4.</strong></a> An
<code>Assertor</code> expressed in N3 notation [<a href="data/report_ju243.n3"
type="">download file for example 3.4</a>].</p>
<pre>  @prefix earl:    &lt;http://www.w3.org/ns/earl#&gt; .
@prefix dct:     &lt;http://purl.org/dc/terms/&gt; .

&lt;http://validator.w3.org/about.html#&gt;
      a       earl:Assertor ;
      dct:description """W3C Markup Validation Service, a free service that checks Web documents in formats like HTML and XHTML for conformance to W3C Recommendations and other standards."""@en ;
      dct:title "W3C HTML Validator"@en .
      </pre>
</div>

<p>An <code>Assertor</code> is a generic type. EARL allows the use of certain
FOAF classes like <code>Agent</code>, <code>Organisation</code>, or
<code>Person</code> to provide more semantic information on the type of
assertor. Additionally, EARL defines the <code>Software</code> class to declare
tool assertors. Thus, our W3C Validator could be described more adequately in
the following way:</p>

<div class="example">
<p><a id="example305" name="example305"><strong>Example 3.5.</strong></a> A
<code>Software</code> assertor [<a href="data/report_ok762.rdf"
type="">download file for example 3.5</a>].</p>
<pre>      &lt;earl:Software rdf:about="http://validator.w3.org/about.html#"&gt;
    &lt;dct:title xml:lang="en"&gt;W3C HTML Validator&lt;/dct:title&gt;
    &lt;dct:hasVersion&gt;0.7.1&lt;/dct:hasVersion&gt;
    &lt;dct:description xml:lang="en"&gt;
    W3C Markup Validation Service, a free service that checks web documents in formats like HTML and XHTML for conformance to W3C Recommendations and other standards.
    &lt;/dct:description&gt;
  &lt;/earl:Software&gt;
  </pre>
</div>

<p>Notice the aditional property, <code>dct:hasVersion</code>, indicating the
version of the software. Let us consider now the case where the assertor is a
person. This can be expressed as in the following example:</p>

<div class="example">
<p><a id="example306" name="example306"><strong>Example 3.6.</strong></a> A
<code>Person</code> as an EARL assertor [<a href="data/report_wl583.rdf"
type="">download file for example 3.6</a>].</p>
<pre>  &lt;foaf:Person rdf:ID="john"&gt;
    &lt;foaf:mbox rdf:resource="mailto:john@example.org"/&gt;
    &lt;foaf:name&gt;John Doe&lt;/foaf:name&gt;
  &lt;/foaf:Person&gt;
  </pre>
</div>

<p>We could combine assertors as well. The typical example could be an expert
evaluator and a software tool, which perform the analysis. This set of
assertors can be expressed under the umbrella of a <code>foaf:Group</code>. We
should define who is the main assertor within a <code>foaf:Group</code> through
the <code>mainAssertor</code> property (notice in the example how the person is
defined as a blank node):</p>

<div class="example">
<p><a id="example307" name="example307"><strong>Example 3.7.</strong></a> A
<code>foaf:Group</code> (software tool and person) as an assertor [<a
href="data/report_mr472.rdf" type="">download file for example 3.7</a>].</p>
<pre>  &lt;foaf:Group rdf:ID="assertor01"&gt;
    &lt;dct:title&gt;John Doe and the W3C HTML Validator&lt;/dct:title&gt;
    &lt;earl:mainAssertor rdf:resource="http://validator.w3.org/about.html#"/&gt;
    &lt;foaf:member&gt;
      &lt;foaf:Person&gt;
        &lt;foaf:mbox rdf:resource="mailto:john@example.org"/&gt;
        &lt;foaf:name&gt;John Doe&lt;/foaf:name&gt;
      &lt;/foaf:Person&gt;
    &lt;/foaf:member&gt;
  &lt;/foaf:Group&gt;
  </pre>
</div>

<p>The second step is to define <strong>what</strong> was analyzed, the tested
resource. For that, EARL defines the <code>TestSubject</code> class. This class
is a generic wrapper for things to be tested like Web resources
(<code>cnt:Content</code>) or software (<code>earl:Software</code>). In this
case, the <a href="#example302">Example 3.2</a> could be represented as:</p>

<div class="example">
<p><a id="example308" name="example308"><strong>Example 3.8.</strong></a> A
<code>TestSubject</code> with some Dublin Core properties (non-abbreviated
RDF/XML serialization) [<a href="data/report_xd488.rdf" type="">download file
for example 3.8</a>].</p>
<pre>  &lt;rdf:Description rdf:about="http://example.org/resource/index.html"&gt;
    &lt;dct:title xml:lang="en"&gt;Project Description&lt;/dct:title&gt;
    &lt;dct:date rdf:datatype="http://www.w3.org/2001/XMLSchema#date"&gt;2006-02-14&lt;/dct:date&gt;
    &lt;rdf:type rdf:resource="http://www.w3.org/ns/earl#TestSubject"/&gt;
  &lt;/rdf:Description&gt;
  </pre>
</div>

<p>Using the Representing Content in RDF vocabulary (via the
<code>cnt:ContentAsText</code> class), we could insert the content of the test
XHTML file into the report:</p>

<div class="example">
<p><a id="example309" name="example309"><strong>Example 3.9.</strong></a> A
test subject expressed as <code>cnt:ContentAsText</code> (notice that the
special XML characters have been escaped because the document is not
well-formed to be expressed as an XML Literal) [<a href="data/report_cy384.rdf"
type="">download file for example 3.9</a>].</p>
<pre>  &lt;cnt:ContentAsText rdf:about="http://example.org/resource/index.html"&gt;
    &lt;dct:title xml:lang="en"&gt;Project Description&lt;/dct:title&gt;
    &lt;dct:date rdf:datatype="http://www.w3.org/2001/XMLSchema#date"&gt;2006-02-14&lt;/dct:date&gt;
    &lt;cnt:characterEncoding&gt;UTF-8&lt;/cnt:characterEncoding&gt;
    &lt;cnt:chars&gt;&amp;lt;?xml version="1.0" encoding="UTF-8"?&amp;gt;

&amp;lt;!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
  "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"&amp;gt;

&amp;lt;html lang="en" xmlns="http://www.w3.org/1999/xhtml" xml:lang="en"&amp;gt;
  &amp;lt;head&amp;gt;
  &amp;lt;title&amp;gt;Example of project pages&amp;lt;/title&amp;gt;
  &amp;lt;/head&amp;gt;
  &amp;lt;body&amp;gt;
  &amp;lt;h1&amp;gt;Project description&amp;lt;/h1&amp;gt;
  &amp;lt;h2&amp;gt;My project name&amp;lt;/h2&amp;gt;
  &amp;lt;p&amp;gt;The strategic goal of this project is to make you understand EARL.&amp;lt;/p&amp;gt;

  &amp;lt;ul&amp;gt;
    &amp;lt;li&amp;gt;Here comes objective 1.
    &amp;lt;li&amp;gt;Here comes objective 2.&amp;lt;/li&amp;gt;
  &amp;lt;/ul&amp;gt;
  &amp;lt;p alt="what?"&amp;gt;And goodbye ...&amp;lt;/p&amp;gt;
  &amp;lt;/body&amp;gt;
&amp;lt;/html&amp;gt;
&lt;/cnt:chars&gt;
  &lt;/cnt:ContentAsText&gt;
  </pre>
</div>

<p>The third step is to define the <strong>criterion</strong> used for testing
the resource. EARL defines test criteria under the umbrella of the
<code>TestCriterion</code> class. This class has two subclasses,
<code>TestRequirement</code> and <code>TestCase</code>, depending on whether
the criterion is a high level requirement, composed of many tests, or an atomic
test case. In our example, we are testing validity against the <a
href="http://www.w3.org/TR/xhtml1/">XHTML 1.0</a> Strict specification, which
could be expressed in the following way via the <code>TestRequirement</code>
class:</p>

<div class="example">
<p><a id="example310" name="example310"><strong>Example 3.10.</strong></a> A
<code>TestRequirement</code> with some Dublin Core properties [<a
href="data/report_zk483.rdf" type="">download file for example 3.10</a>].</p>
<pre>  &lt;earl:TestRequirement rdf:about="http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"&gt;
    &lt;dct:title xml:lang="en"&gt;XHTML 1.0 Strict Document Type Definition&lt;/dct:title&gt;
    &lt;dct:description xml:lang="en"&gt;DTD for XHTML 1.0 Strict.&lt;/dct:description&gt;
  &lt;/earl:TestRequirement&gt;
  </pre>
</div>

<p>The fourth step is to specify the <strong>results</strong> of the test.
There were three errors discovered by the W3C Validator that need to be
presented as <code>TestResult</code>s. In this case, we present only the
errors, but it is also possible to present positive results. In the example
below, we present the message errors as text messages within XHTML snippets. We
will see later how to improve the machine-readability of such results.</p>

<div class="example">
<p><a id="example311" name="example311"><strong>Example 3.11.</strong></a>
Results of the tests with the validator [<a href="data/report_ni222.rdf"
type="">download file for example 3.11</a>].</p>
<pre>  &lt;earl:TestResult rdf:ID="error1"&gt;
    &lt;dct:description rdf:parseType="Literal"&gt;
      &lt;div xml:lang="en" xmlns="http://www.w3.org/1999/xhtml"&gt;
        &lt;p&gt;Error - Line 14 column 7: document type does not allow element
           &lt;code&gt;li&lt;/code&gt;here; missing one of
           &lt;code&gt;ul&lt;/code&gt;, &lt;code&gt;ol&lt;/code&gt; start-tag.&lt;/p&gt;
      &lt;/div&gt;
    &lt;/dct:description&gt;
    &lt;earl:outcome rdf:resource="http://www.w3.org/ns/earl#failed" /&gt;
  &lt;/earl:TestResult&gt;

  &lt;earl:TestResult rdf:ID="error2"&gt;
    &lt;dct:description rdf:parseType="Literal"&gt;
      &lt;div xml:lang="en" xmlns="http://www.w3.org/1999/xhtml"&gt;
        &lt;p&gt;Error - Line 15 column 6: end tag for
           &lt;code&gt;li&lt;/code&gt; omitted, but OMITTAG NO was specified.&lt;/p&gt;
      &lt;/div&gt;
    &lt;/dct:description&gt;
    &lt;earl:outcome rdf:resource="http://www.w3.org/ns/earl#failed" /&gt;
  &lt;/earl:TestResult&gt;

  &lt;earl:TestResult rdf:ID="error3"&gt;
    &lt;dct:description rdf:parseType="Literal"&gt;
      &lt;div xml:lang="en" xmlns="http://www.w3.org/1999/xhtml"&gt;
        &lt;p&gt;Error - Line 16 column 9: there is no attribute
           &lt;code&gt;alt&lt;/code&gt;.&lt;/p&gt;
      &lt;/div&gt;
    &lt;/dct:description&gt;
    &lt;earl:outcome rdf:resource="http://www.w3.org/ns/earl#failed" /&gt;
  &lt;/earl:TestResult&gt;
  </pre>
</div>

<h3><a id="report-assert" name="report-assert">3.2 Putting the pieces
together</a></h3>

<p>The final step is to merge together the created components. The <acronym
title="Evaluation and Report Language">EARL</acronym> statements for this
purpose are called <code>Assertion</code>s, and have four key properties:
<code>earl:assertedBy</code>, <code>earl:subject</code>, <code>earl:test</code>
and <code>earl:result</code>. Each of them serves to point to the corresponding
assertors, test subjects, test requirements, and results, respectively. From
our previous examples, we could build our first complete report with our three
assertions:</p>

<div class="example">
<p><a id="example312" name="example312"><strong>Example 3.12.</strong></a>
Results of the tests with the W3C Validator [<a href="data/report_an583.rdf"
type="">download file for example 3.12</a>].</p>
<pre>  &lt;earl:Assertion rdf:ID="ass1"&gt;
        &lt;earl:result rdf:resource="#error1" /&gt;
        &lt;earl:test rdf:resource="http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd" /&gt;
        &lt;earl:subject rdf:resource="http://example.org/resource/index.html" /&gt;
        &lt;earl:assertedBy rdf:resource="#assertor01" /&gt;
    &lt;/earl:Assertion&gt;
    &lt;earl:Assertion rdf:ID="ass2"&gt;
        &lt;earl:result rdf:resource="#error2" /&gt;
        &lt;earl:test rdf:resource="http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd" /&gt;
        &lt;earl:subject rdf:resource="http://example.org/resource/index.html" /&gt;
        &lt;earl:assertedBy rdf:resource="#assertor01" /&gt;
    &lt;/earl:Assertion&gt;
    &lt;earl:Assertion rdf:ID="ass3"&gt;
        &lt;earl:result rdf:resource="#error3" /&gt;
        &lt;earl:test rdf:resource="http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd" /&gt;
        &lt;earl:subject rdf:resource="http://example.org/resource/index.html" /&gt;
        &lt;earl:assertedBy rdf:resource="#assertor01" /&gt;
    &lt;/earl:Assertion&gt;
    </pre>
</div>

<h3><a id="report-access" name="report-access">3.3 An accessibility
example</a></h3>

<p>Our next example presents the results of an accessibility test in a given
Web resource. Let us consider a simple XHTML page, which presents the image of
a cat:</p>

<div class="example">
<p><a id="example313" name="example313"><strong>Example 3.13.</strong></a> An
XHTML document to be verified [<a href="data/example_ic03.html"
type="">download file for example 3.13</a>].</p>
<pre>    &lt;!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
  "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"&gt;

&lt;html lang="en" xmlns="http://www.w3.org/1999/xhtml" xml:lang="en"&gt;
  &lt;head&gt;
  &lt;title&gt;A cat's photography&lt;/title&gt;
  &lt;/head&gt;
  &lt;body&gt;
  &lt;h1&gt;A cat's photography&lt;/h1&gt;
  &lt;p&gt;Image of a cat who likes
    &lt;acronym title="Evaluation and Report Language"&gt;EARL&lt;/acronym&gt;, although it
    seems quite tired.
    &lt;img src="../images/cat.jpg" alt="Image of a white cat with black spots."/&gt;
  &lt;/p&gt;
  &lt;/body&gt;
&lt;/html&gt;</pre>
</div>

<p>We have in this case a software tool called "Cool Tool" that performs a test
against the <a
href="http://www.w3.org/TR/2008/NOTE-WCAG20-TECHS-20081211/F65">Common Failure
F65</a> from the (X)HTML techniques for WCAG 2.0 <a
href="#ref-wcag20">[WCAG20]</a>. This technique proofs the existence of the
<code>alt</code> attribute for given (X)HTML elements like <code>img</code>.
The software can be represented as:</p>

<div class="example">
<p><a id="example314" name="example314"><strong>Example 3.14.</strong></a> A
<code>Software</code> assertor [<a href="data/report_lm104.rdf"
type="">download file for example 3.14</a>].</p>
<pre>&lt;earl:Software rdf:about="http://example.org/cooltool/"&gt;
    &lt;dct:title xml:lang="en"&gt;Cool Tool accessibility checker&lt;/dct:title&gt;
    &lt;dct:hasVersion&gt;1.0.c&lt;/dct:hasVersion&gt;
    &lt;dct:description xml:lang="en"&gt;A reliable compliance checker for Web Accessibility&lt;/dct:description&gt;
  &lt;/earl:Software&gt;
  </pre>
</div>

<p>The test requirement can be represented as:</p>

<div class="example">
<p><a id="example315" name="example315"><strong>Example 3.15.</strong></a> A
<code>TestCase</code> for a WCAG 2.0 technique [<a href="data/report_lm208.rdf"
type="">download file for example 3.15</a>].</p>
<pre>  &lt;earl:TestCase rdf:about="http://www.w3.org/TR/2008/NOTE-WCAG20-TECHS-20081211/F65"&gt;
    &lt;dct:title xml:lang="en"&gt;Failure of Success Criterion 1.1.1 from WCAG 2.0&lt;/dct:title&gt;
    &lt;dct:description xml:lang="en"&gt;Failure due to omitting the alt attribute on img elements, area elements, and input elements of type image.&lt;/dct:description&gt;
  &lt;/earl:TestCase&gt;
  </pre>
</div>

<p>We can make the test result more amenable to machine processing by making
use of the Pointers <a href="#ref-pointers">[Pointers-RDF]</a> vocabulary. In
this case, we identify the line number where the test was compliant:</p>

<div class="example">
<p><a id="example316" name="example316"><strong>Example 3.16.</strong></a> A
<code>TestResult</code> with a pointer [<a href="data/report_lm499.rdf"
type="">download file for example 3.16</a>].</p>
<pre>  &lt;ptr:LineCharPointer rdf:ID="pointer"&gt;
    &lt;ptr:lineNumber&gt;15&lt;/ptr:lineNumber&gt;
    &lt;ptr:reference rdf:resource="http://example.org/resource/index.html" /&gt;
  &lt;/ptr:LineCharPointer&gt;

  &lt;earl:TestResult rdf:ID="result"&gt;
    &lt;earl:pointer rdf:resource="#pointer" /&gt;
    &lt;earl:outcome rdf:resource="http://www.w3.org/ns/earl#passed" /&gt;
  &lt;/earl:TestResult&gt;
  </pre>
</div>

<p>Which leads to the following assertion:</p>

<div class="example">
<p><a id="example317" name="example317"><strong>Example 3.17.</strong></a>
Accessibility <code>Assertion</code> [<a href="data/report_lm499.rdf"
title="HTML file to be validated." type="">download file for example
3.17</a>].</p>
<pre>  &lt;earl:Assertion rdf:ID="assert"&gt;
    &lt;earl:result rdf:resource="result" /&gt;
    &lt;earl:test rdf:resource="http://www.w3.org/TR/2008/NOTE-WCAG20-TECHS-20081211/F65" /&gt;
    &lt;earl:subject rdf:resource="http://example.org/resource/index.html" /&gt;
    &lt;earl:assertedBy rdf:resource="http://example.org/cooltool/" /&gt;
  &lt;/earl:Assertion&gt;
  </pre>
</div>

<h3><a id="report-negot" name="report-negot">3.4 Identifying unambiguously the
resource</a></h3>

<p>There are cases where the identification of a resource on the Web requires
more than a URL. This occurs typically when the user agent and the server
exchange HTTP messages via <a
href="http://www.w3.org/Protocols/rfc2616/rfc2616-sec12.html#sec12">Content
Negotiation</a> to deliver the best possible alternative to the client. A
common scenario appears when the user expresses a preference for given
languages with a ranking via the <a
href="http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.4">Accept-Language</a>
header. Under those circumstances, it is necessary to use the HTTP vocabulary
in RDF <a href="#ref-httprdf">[HTTP-RDF]</a> to identify correctly the
<code>TestSubject</code>.</p>

<p>Let us assume that our exemplary Web server can deliver under the URL
<code>http://example.org/resource/index.html</code> two versions (English and
Spanish) of a given XHTML page. The English version can be seen in <a
href="#example313">Example 3.13</a>. The Spanish version can be seen in the
listing below:</p>

<div class="example">
<p><a id="example318" name="example318"><strong>Example 3.18.</strong></a> An
XHTML file resource in Spanish [<a href="data/example_jd03.html"
type="">download file for example 3.18</a>].</p>
<pre>  &lt;!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
  "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"&gt;

&lt;html lang="es" xmlns="http://www.w3.org/1999/xhtml" xml:lang="es"&gt;
    &lt;head&gt;
        &lt;title&gt;Fotografia de un gato&lt;/title&gt;
    &lt;/head&gt;

    &lt;body&gt;
        &lt;h1&gt;Fotografia de un gato&lt;/h1&gt;
        &lt;p&gt;Imagen de un gato al que le gusta
        &lt;acronym title="Evaluation and Report Language" xml:lang="en" lang="en"&gt;EARL&lt;/acronym&gt;, aunque aparenta estar muy cansado.
        &lt;img src="../images/cat.jpg" /&gt;
        &lt;/p&gt;
    &lt;/body&gt;

&lt;/html&gt;</pre>
</div>

<p>The English resource can be represented as:</p>

<div class="example">
<p><a id="example319" name="example319"><strong>Example 3.19.</strong></a> RDF
representation of <a href="#example313">Example 3.13</a> [<a
href="data/report_cn001.rdf" type="">download file for example 3.19</a>].</p>
<pre>&lt;rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
    xmlns:earl="http://www.w3.org/ns/earl#"
    xmlns:dct="http://purl.org/dc/terms/"
    xmlns:cnt="http://www.w3.org/2008/content#"
    xmlns:http="http://www.w3.org/2006/http#"
    xml:base="http://www.example.org/resource/content_001#"&gt;

    &lt;cnt:ContentAsBase64 rdf:ID="content1"&gt;
        &lt;cnt:bytes rdf:datatype="http://www.w3.org/2001/XMLSchema#base64Binary"&gt;PD94bWwgdmVyc2lv...&lt;/cnt:bytes&gt;
    &lt;/cnt:ContentAsBase64&gt;

    &lt;http:Response rdf:ID="response1"&gt;
        &lt;http:httpVersion&gt;1.1&lt;/http:httpVersion&gt;
        &lt;http:statusCodeNumber&gt;200&lt;/http:statusCodeNumber&gt;
        &lt;http:sc rdf:resource="http://www.w3.org/2008/http-statusCodes#200" /&gt;
        &lt;http:reasonPhrase&gt;OK&lt;/http:reasonPhrase&gt;
        &lt;http:headers rdf:parseType="Collection"&gt;
            &lt;http:MessageHeader&gt;
                &lt;http:fieldName&gt;Vary&lt;/http:fieldName&gt;
                &lt;http:hdrName rdf:resource="http://www.w3.org/2008/http-headers#vary" /&gt;
                &lt;http:fieldValue&gt;Accept-Language&lt;/http:fieldValue&gt;
            &lt;/http:MessageHeader&gt;
            &lt;!-- ... --&gt;
        &lt;/http:headers&gt;
        &lt;http:body rdf:resource="#content1" /&gt;
    &lt;/http:Response&gt;

    &lt;http:Connection rdf:ID="connection1"&gt;
        &lt;http:connectionAuthority&gt;www.example.org:80
        &lt;/http:connectionAuthority&gt;
        &lt;http:requests rdf:parseType="Collection"&gt;
            &lt;http:Request rdf:resource="#request1" /&gt;
        &lt;/http:requests&gt;
    &lt;/http:Connection&gt;

    &lt;http:Request rdf:ID="request1"&gt;
        &lt;http:httpVersion&gt;1.1&lt;/http:httpVersion&gt;
        &lt;http:methodName&gt;GET&lt;/http:methodName&gt;
        &lt;http:mthd rdf:resource="http://www.w3.org/2008/http-methods#GET" /&gt;
        &lt;http:abs_path&gt;/resource/index.html&lt;/http:abs_path&gt;
        &lt;http:headers rdf:parseType="Collection"&gt;
            &lt;http:MessageHeader&gt;
                &lt;http:fieldName&gt;Accept-Language&lt;/http:fieldName&gt;
                &lt;http:hdrName rdf:resource="http://www.w3.org/2008/http-headers#accept-language" /&gt;
                &lt;http:fieldValue&gt;en&lt;/http:fieldValue&gt;
            &lt;/http:MessageHeader&gt;
            &lt;!-- ... --&gt;
        &lt;/http:headers&gt;
        &lt;http:resp rdf:resource="#response1" /&gt;
    &lt;/http:Request&gt;

&lt;/rdf:RDF&gt;</pre>
</div>

<p>The Spanish one could be represented as:</p>

<div class="example">
<p><a id="example320" name="example320"><strong>Example 3.20.</strong></a> RDF
representation of <a href="#example318">Example 3.18</a> [<a
href="data/report_cn002.rdf" type="">download file for example 3.20</a>].</p>
<pre>&lt;rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
    xmlns:earl="http://www.w3.org/ns/earl#"
    xmlns:dct="http://purl.org/dc/terms/"
    xmlns:cnt="http://www.w3.org/2008/content#"
    xmlns:http="http://www.w3.org/2006/http#"
    xml:base="http://www.example.org/resource/content_002#"&gt;

    &lt;cnt:ContentAsBase64 rdf:ID="content2"&gt;
        &lt;cnt:bytes rdf:datatype="http://www.w3.org/2001/XMLSchema#base64Binary"
            &gt;PD94bWwgdmVyc2lvbj...&lt;/cnt:bytes&gt;
    &lt;/cnt:ContentAsBase64&gt;

    &lt;http:Response rdf:ID="response2"&gt;
        &lt;http:httpVersion&gt;1.1&lt;/http:httpVersion&gt;
        &lt;http:statusCodeNumber&gt;200&lt;/http:statusCodeNumber&gt;
        &lt;http:sc rdf:resource="http://www.w3.org/2008/http-statusCodes#200" /&gt;
        &lt;http:reasonPhrase&gt;OK&lt;/http:reasonPhrase&gt;
        &lt;http:headers rdf:parseType="Collection"&gt;
            &lt;http:MessageHeader&gt;
                &lt;http:fieldName&gt;Vary&lt;/http:fieldName&gt;
                &lt;http:hdrName rdf:resource="http://www.w3.org/2008/http-headers#vary" /&gt;
                &lt;http:fieldValue&gt;Accept-Language&lt;/http:fieldValue&gt;
            &lt;/http:MessageHeader&gt;
            &lt;!-- ... --&gt;
        &lt;/http:headers&gt;
        &lt;http:body rdf:resource="#content2" /&gt;
    &lt;/http:Response&gt;

    &lt;http:Connection rdf:ID="connection2"&gt;
        &lt;http:connectionAuthority&gt;www.example.org:80&lt;/http:connectionAuthority&gt;
        &lt;http:requests rdf:parseType="Collection"&gt;
            &lt;http:Request rdf:resource="#request2" /&gt;
        &lt;/http:requests&gt;
    &lt;/http:Connection&gt;

    &lt;http:Request rdf:ID="request2"&gt;
        &lt;http:httpVersion&gt;1.1&lt;/http:httpVersion&gt;
        &lt;http:methodName&gt;GET&lt;/http:methodName&gt;
        &lt;http:mthd rdf:resource="http://www.w3.org/2008/http-methods#GET" /&gt;
        &lt;http:abs_path&gt;/resource/index.html&lt;/http:abs_path&gt;
        &lt;http:headers rdf:parseType="Collection"&gt;
            &lt;http:MessageHeader&gt;
                &lt;http:fieldName&gt;Accept-Language&lt;/http:fieldName&gt;
                &lt;http:hdrName rdf:resource="http://www.w3.org/2008/http-headers#accept-language" /&gt;
                &lt;http:fieldValue&gt;es&lt;/http:fieldValue&gt;
            &lt;/http:MessageHeader&gt;
            &lt;!-- ... --&gt;
        &lt;/http:headers&gt;
        &lt;http:resp rdf:resource="#response2" /&gt;
    &lt;/http:Request&gt;

&lt;/rdf:RDF&gt;</pre>
</div>

<p>Strictly speaking, for the representation of the <code>TestSubject</code>,
only the <code>http:Response</code> object is needed. However, it is
recommended to use the <code>http:Request</code> and
<code>http:Connection</code> objects to facilitate the replicability of the
results. The replicability of the results is also time-dependent as the
resources may change over time. Therefore, timestamps or modification dates in
the reports are also recommended.</p>

<p>We are now in the situation to allow our Cool Tool accessibility checker
(see <a href="#example314">Example 3.14</a>) to produce accurate reports on
both versions of the page. The evaluation report for the English resource
(assuming the same test requirement of <a href="#example315">Example 3.15</a>)
looks like the following snippet:</p>

<div class="example">
<p><a id="example321" name="example321"><strong>Example 3.21.</strong></a>
Evaluation report for the English XHTML resource [<a
href="data/report_lm801.rdf" type="">download file for example 3.21</a>].</p>
<pre>&lt;rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
  xmlns:earl="http://www.w3.org/ns/earl#"
  xmlns:dct="http://purl.org/dc/terms/"
  xmlns:cnt="http://www.w3.org/2008/content#"
  xmlns:ptr="http://www.w3.org/2009/pointers#"
  xml:base="http://www.example.org/earl/report1#"&gt;

  &lt;earl:Assertion rdf:ID="assert"&gt;
    &lt;earl:result rdf:resource="result" /&gt;
    &lt;earl:test rdf:resource="http://www.w3.org/TR/2008/NOTE-WCAG20-TECHS-20081211/F65" /&gt;
    &lt;earl:subject rdf:resource="http://www.example.org/resource/content_001#response1" /&gt;
    &lt;earl:assertedBy rdf:resource="http://example.org/cooltool/" /&gt;
  &lt;/earl:Assertion&gt;

  &lt;earl:Software rdf:about="http://example.org/cooltool/"&gt;
    &lt;dct:title xml:lang="en"&gt;Cool Tool accessibility checker&lt;/dct:title&gt;
    &lt;dct:hasVersion&gt;1.0.c&lt;/dct:hasVersion&gt;
    &lt;dct:description xml:lang="en"&gt;A reliable compliance checker for Web Accessibility&lt;/dct:description&gt;
  &lt;/earl:Software&gt;

  &lt;earl:TestCase rdf:about="http://www.w3.org/TR/2008/NOTE-WCAG20-TECHS-20081211/F65"&gt;
    &lt;dct:title xml:lang="en"&gt;Failure of Success Criterion 1.1.1 from WCAG 2.0&lt;/dct:title&gt;
    &lt;dct:description xml:lang="en"&gt;Failure due to omitting the alt attribute on img elements, area elements, and input elements of type image.&lt;/dct:description&gt;
  &lt;/earl:TestCase&gt;

  &lt;ptr:LineCharPointer rdf:ID="pointer"&gt;
    &lt;ptr:lineNumber&gt;15&lt;/ptr:lineNumber&gt;
    &lt;ptr:charNumber&gt;5&lt;/ptr:charNumber&gt;
    &lt;ptr:reference rdf:resource="http://www.example.org/resource/content_001#content1a" /&gt;
  &lt;/ptr:LineCharPointer&gt;

  &lt;earl:TestResult rdf:ID="result"&gt;
    &lt;earl:pointer rdf:resource="#pointer" /&gt;
    &lt;earl:outcome rdf:resource="http://www.w3.org/ns/earl#passed" /&gt;
  &lt;/earl:TestResult&gt;

&lt;/rdf:RDF&gt;</pre>
</div>

<p>And the evaluation report for the Spanish resource looks like the
following:</p>

<div class="example">
<p><a id="example322" name="example322"><strong>Example 3.22.</strong></a>
Evaluation report for the Spanish XHTML resource [<a
href="data/report_lm802.rdf" type="">download file for example 3.22</a>].</p>
<pre>  &lt;rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
  xmlns:earl="http://www.w3.org/ns/earl#"
  xmlns:dct="http://purl.org/dc/terms/"
  xmlns:cnt="http://www.w3.org/2008/content#"
  xmlns:ptr="http://www.w3.org/2009/pointers#"
  xml:base="http://www.example.org/earl/report2#"&gt;

  &lt;earl:Assertion rdf:ID="assert"&gt;
    &lt;earl:result rdf:resource="result" /&gt;
    &lt;earl:test rdf:resource="http://www.w3.org/TR/2008/NOTE-WCAG20-TECHS-20081211/F65" /&gt;
    &lt;earl:subject rdf:resource="http://www.example.org/resource/content_002#response2" /&gt;
    &lt;earl:assertedBy rdf:resource="http://example.org/cooltool/" /&gt;
  &lt;/earl:Assertion&gt;

  &lt;earl:Software rdf:about="http://example.org/cooltool/"&gt;
    &lt;dct:title xml:lang="en"&gt;Cool Tool accessibility checker&lt;/dct:title&gt;
    &lt;dct:hasVersion&gt;1.0.c&lt;/dct:hasVersion&gt;
    &lt;dct:description xml:lang="en"&gt;A reliable compliance checker for Web Accessibility&lt;/dct:description&gt;
  &lt;/earl:Software&gt;

  &lt;earl:TestCase rdf:about="http://www.w3.org/TR/2008/NOTE-WCAG20-TECHS-20081211/F65"&gt;
    &lt;dct:title xml:lang="en"&gt;Failure of Success Criterion 1.1.1 from WCAG 2.0&lt;/dct:title&gt;
    &lt;dct:description xml:lang="en"&gt;Failure due to omitting the alt attribute on img elements, area elements, and input elements of type image.&lt;/dct:description&gt;
  &lt;/earl:TestCase&gt;

  &lt;ptr:LineCharPointer rdf:ID="pointer"&gt;
    &lt;ptr:lineNumber&gt;16&lt;/ptr:lineNumber&gt;
    &lt;ptr:charNumber&gt;9&lt;/ptr:charNumber&gt;
    &lt;ptr:reference rdf:resource="http://www.example.org/resource/content_002#content2a" /&gt;
  &lt;/ptr:LineCharPointer&gt;

  &lt;earl:TestResult rdf:ID="result"&gt;
    &lt;earl:pointer rdf:resource="#pointer" /&gt;
    &lt;earl:outcome rdf:resource="http://www.w3.org/ns/earl#failed" /&gt;
  &lt;/earl:TestResult&gt;

&lt;/rdf:RDF&gt;</pre>
</div>

<p>Notice how both the result and the location of the element analyzed (in this
case the <code>&lt;img&gt;</code> element in the page) is different in both
reports.</p>

<h3><a id="advanced" name="advanced">3.5 Advance usage</a></h3>

<p>This section presents some advanced use of the vocabularies. In particular,
we will show an example demonstrating the extensibility of the vocabulary
(without losing its interoperability) and another example showing how to merge
reports from different sources.</p>

<h4><a id="extension" name="extension">3.5.1 Extending the vocabularies</a></h4>

<p>Let us assume a software product (Cool Validator 2.0) that validates XML
documents on the Web against given DTDs or XML Schemas. According to the XML
specification <a href="#ref-xml">[XML]</a>, there are two types of errors:</p>
<dl>
  <dt>Fatal errors</dt>
    <dd>Errors after which the parser must not continue processing. Typically,
      these are well-formedness problems.</dd>
  <dt>Errors</dt>
    <dd>Violations of the specification. These are normally violations of the
      validity constraints.</dd>
</dl>

<p>The product defines an additional category, <strong>warning</strong>, which
are errors reported by the underlying <a href="http://www.saxproject.org/">SAX
parser</a>. These are basically violations not included in the XML
specification, and allow the product to continue its normal processing work.
With these elements in mind, the following RDF Schema was developed:</p>

<div class="example">
<p><a id="example401" name="example401"><strong>Example 4.1.</strong></a> RDF
Schema in the namespace <code>http://example.org/ns/xmlval#</code> for the
error extensions of Cool Validator, which contains new classes, extensions of
<code>earl:Fail</code> [<a href="data/xmlval.rdfs" type="">download file for
example 4.1</a>].</p>
<pre>    &lt;rdfs:Class rdf:ID="FatalError"&gt;
        &lt;rdfs:label rdf:datatype="http://www.w3.org/2001/XMLSchema#string"&gt; Fatal error when processing the XML file (well-formedness)&lt;/rdfs:label&gt;
        &lt;owl:versionInfo rdf:datatype="http://www.w3.org/2001/XMLSchema#string"&gt; 1.0&lt;/owl:versionInfo&gt;
        &lt;rdfs:subClassOf rdf:resource="http://www.w3.org/ns/earl#Fail" /&gt;
    &lt;/rdfs:Class&gt;
    &lt;rdfs:Class rdf:ID="Error"&gt;
        &lt;rdfs:label rdf:datatype="http://www.w3.org/2001/XMLSchema#string"&gt; Error when processing the XML file (validation constraint)&lt;/rdfs:label&gt;
        &lt;owl:versionInfo rdf:datatype="http://www.w3.org/2001/XMLSchema#string"&gt; 1.0&lt;/owl:versionInfo&gt;
        &lt;rdfs:subClassOf rdf:resource="http://www.w3.org/ns/earl#Fail" /&gt;
    &lt;/rdfs:Class&gt;
    &lt;rdfs:Class rdf:ID="Warning"&gt;
        &lt;rdfs:label rdf:datatype="http://www.w3.org/2001/XMLSchema#string"&gt; Warning when processing the XML file (parser issues)&lt;/rdfs:label&gt;
        &lt;owl:versionInfo rdf:datatype="http://www.w3.org/2001/XMLSchema#string"&gt; 1.0&lt;/owl:versionInfo&gt;
        &lt;rdfs:subClassOf rdf:resource="http://www.w3.org/ns/earl#Fail" /&gt;
    &lt;/rdfs:Class&gt;</pre>
</div>

<p>A user of the aforementioned validator defines her own XML Schema (see <a
href="#example402">Example 4.2</a>) for an e-commerce application. The schema
defines some restrictions in an order element, against which running Web
Services payloads must be verified. To facilitate this process and provide via
the Web Service a more user-friendly error feedback to her customers, she uses
this validator.</p>

<div class="example">
<p><a id="example402" name="example402"><strong>Example 4.2.</strong></a> XML
Schema for the ordering Web Service [<a href="data/report_vz530.rdf"
type="">download file for example 4.2</a>].</p>
<pre>&lt;xsd:schema xmlns:xsd = "http://www.w3.org/2001/XMLSchema" elementFormDefault = "qualified"&gt;

    &lt;xsd:element name = "order"&gt;
        &lt;xsd:complexType&gt;
            &lt;xsd:sequence&gt;
                &lt;xsd:element ref = "item" maxOccurs = "unbounded"/&gt;
            &lt;/xsd:sequence&gt;
            &lt;xsd:attribute name = "orderid" use = "required" type = "xsd:ID"/&gt;
            &lt;xsd:attribute name = "customer" use = "required" type = "xsd:integer"/&gt;
        &lt;/xsd:complexType&gt;
    &lt;/xsd:element&gt;
    &lt;xsd:element name = "item"&gt;
        &lt;xsd:complexType&gt;
            &lt;xsd:sequence&gt;
                &lt;xsd:element ref = "quantity"/&gt;
                &lt;xsd:element ref = "unitprice"/&gt;
            &lt;/xsd:sequence&gt;
            &lt;xsd:attribute name = "itemid" type = "xsd:ID"/&gt;
        &lt;/xsd:complexType&gt;
    &lt;/xsd:element&gt;
    &lt;xsd:element name = "quantity" type = "xsd:unsignedLong"/&gt;
    &lt;xsd:element name = "unitprice"&gt;
        &lt;xsd:complexType&gt;
            &lt;xsd:simpleContent&gt;
                &lt;xsd:extension base = "xsd:float"&gt;
                    &lt;xsd:attribute name = "currency" use = "required" type = "currencyType"/&gt;
                &lt;/xsd:extension&gt;
            &lt;/xsd:simpleContent&gt;
        &lt;/xsd:complexType&gt;
    &lt;/xsd:element&gt;
    &lt;xsd:simpleType name = "currencyType"&gt;
        &lt;xsd:restriction base = "xsd:string"&gt;
            &lt;xsd:enumeration value = "euros"/&gt;
            &lt;xsd:enumeration value = "dollars"/&gt;
            &lt;xsd:enumeration value = "pounds"/&gt;
        &lt;/xsd:restriction&gt;
    &lt;/xsd:simpleType&gt;

&lt;/xsd:schema&gt;</pre>
</div>

<p>Customer X sends as a SOAP payload the following order:</p>

<div class="example">
<p><a id="example403" name="example403"><strong>Example 4.3.</strong></a> SOAP
payload for Customer X [<a href="data/order1.xml" type="">download file for
example 4.3</a>].</p>
<pre>&lt;order xmlns:xsi = "http://www.w3.org/2001/XMLSchema-instance"
    xsi:noNamespaceSchemaLocation = "order.xsd"
    orderid = "oj_384" customer = "12345"&gt;

    &lt;item itemid = "cat_34894"&gt;
        &lt;quantity&gt;2&lt;/quantity&gt;
        &lt;unitprice currency = "dollars"&gt;40.88&lt;/unitprice&gt;
    &lt;/item&gt;
&lt;/order&gt;</pre>
</div>

<p>Which is evaluated through the Cool Validator, producing the following EARL
report:</p>

<div class="example">
<p><a id="example404" name="example404"><strong>Example 4.4.</strong></a> First
XML validation report [<a href="data/report_vz530.rdf" type="">download file
for example 4.4</a>].</p>
<pre>&lt;earl:Software rdf:about="http://example.org/coolvalidator/20/"&gt;
        &lt;dct:title xml:lang="en"&gt;Cool Validator&lt;/dct:title&gt;
        &lt;dct:hasVersion&gt;2.0&lt;/dct:hasVersion&gt;
        &lt;dct:description xml:lang="en"&gt;The best XML validator of the world.&lt;/dct:description&gt;
    &lt;/earl:Software&gt;

    &lt;earl:TestCase rdf:about="http://example.org/customers/schemas/order.xsd"&gt;
        &lt;dct:title xml:lang="en"&gt;Ordering Web Service Schema&lt;/dct:title&gt;
    &lt;/earl:TestCase&gt;

    &lt;earl:TestResult rdf:about="#result"&gt;
        &lt;earl:info&gt;The end-tag for element type "quantity" must end with a '&amp;gt;' delimiter.&lt;/earl:info&gt;
        &lt;earl:pointer rdf:resource="#pointer" /&gt;
        &lt;earl:outcome rdf:resource="http://example.org/ns/xmlval#FatalError" /&gt;
    &lt;/earl:TestResult&gt;

    &lt;ptr:LineCharPointer rdf:ID="pointer"&gt;
        &lt;ptr:charNumber&gt;9&lt;/ptr:charNumber&gt;
        &lt;ptr:lineNumber&gt;7&lt;/ptr:lineNumber&gt;
        &lt;ptr:reference rdf:resource="#order" /&gt;
    &lt;/ptr:LineCharPointer&gt;
    </pre>
</div>

<p>This customer is aware of the EARL extensions of the Cool Validator, and can
interpret the results from the perspective of the XML specification, correcting
accordingly her SOAP client. Customer Y, who sent the following payload:</p>

<div class="example">
<p><a id="example405" name="example405"><strong>Example 4.5.</strong></a> SOAP
payload for Customer Y [<a href="data/order2.xml" type="">download file for
example 4.5</a>].</p>
<pre>    &lt;order xmlns:xsi = "http://www.w3.org/2001/XMLSchema-instance"
    xsi:noNamespaceSchemaLocation = "order.xsd"
    orderid = "oj_490" customer = "67890"&gt;

    &lt;item itemid = "cat_30922"&gt;
        &lt;quantity&gt;4.0&lt;/quantity&gt;
        &lt;unitprice currency = "euro"&gt;783.30&lt;/unitprice&gt;
    &lt;/item&gt;
&lt;/order&gt;</pre>
</div>

<p>cannot interpret this extension of the vocabulary sent in another report.
However, by supporting the EARL standard and standard subclassing mechanisms of
Semantic Web vocabularies, this customer is still in the position of
interpreting the outcome of the error messages and can act accordingly.</p>

<div class="example">
<p><a id="example406" name="example406"><strong>Example 4.6.</strong></a>
Second XML validation report translated to standard EARL [<a
href="data/report_bx429.rdf" type="">download file for example 4.6</a>].</p>
<pre>&lt;earl:TestResult rdf:ID="result1"&gt;
        &lt;earl:pointer rdf:resource="#pointer1" /&gt;
        &lt;earl:outcome rdf:resource="http://www.w3.org/ns/earl#Fail" /&gt;
        &lt;earl:info&gt;The value '4.0' of element 'quantity' is not valid.&lt;/earl:info&gt;
    &lt;/earl:TestResult&gt;

    &lt;earl:TestResult rdf:ID="result2"&gt;
        &lt;earl:pointer rdf:resource="#pointer2" /&gt;
        &lt;earl:outcome rdf:resource="http://www.w3.org/ns/earl#Fail" /&gt;
        &lt;earl:info&gt;The value 'euro' of attribute 'currency' on element 'unitprice' is not valid with respect to its type, 'currencyType' [euros, dollars, pounds].&lt;/earl:info&gt;
    &lt;/earl:TestResult&gt;

    &lt;ptr:LineCharPointer rdf:ID="pointer1"&gt;
        &lt;ptr:charNumber&gt;33&lt;/ptr:charNumber&gt;
        &lt;ptr:lineNumber&gt;6&lt;/ptr:lineNumber&gt;
        &lt;ptr:reference rdf:resource="#order" /&gt;
    &lt;/ptr:LineCharPointer&gt;

    &lt;ptr:LineCharPointer rdf:ID="pointer2"&gt;
        &lt;ptr:charNumber&gt;38&lt;/ptr:charNumber&gt;
        &lt;ptr:lineNumber&gt;7&lt;/ptr:lineNumber&gt;
        &lt;ptr:reference rdf:resource="#order" /&gt;
    &lt;/ptr:LineCharPointer&gt;
    </pre>
</div>

<h4><a id="combine" name="combine">3.5.2 Merging reports from different
sources</a></h4>

<p>Using EARL, reports from different sources can be combined to obtain more
information or refine existing ones. We take as starting point an XHTML file,
which contains two images. One of them lacks of an alternative text attribute.
In the other one, the attribute is present, but it reflects the size of the
image in bytes.</p>

<div class="example">
<p><a id="example407" name="example407"><strong>Example 4.7.</strong></a> An
XHTML document to be tested [<a href="data/example_ot48.html" type="">download
file for example 4.7</a>].</p>
<pre>    &lt;html lang="en" xmlns="http://www.w3.org/1999/xhtml" xml:lang="en"&gt;
  &lt;head&gt;
  &lt;title&gt;My photo album&lt;/title&gt;
  &lt;/head&gt;
  &lt;body&gt;
  &lt;h1&gt;My photo album&lt;&lt;/h1&gt;
  &lt;p&gt;These are two nice photos I took yesterday:&lt;/p&gt;
  &lt;ul&gt;
  &lt;li&gt;Image of a cat who likes
    &lt;acronym title="Evaluation and Report Language"&gt;EARL&lt;/acronym&gt;, although it seems quite tired:
    &lt;img src="../images/cat.jpg" /&gt;
  &lt;/li&gt;
  &lt;li&gt;Image of a fir tree:
    &lt;img src="../images/fir_tree.jpg" alt="98211 bytes" /&gt;
  &lt;/li&gt;
  &lt;/ul&gt;
  &lt;/body&gt;
&lt;/html&gt;</pre>
</div>

<p>An accessibility evaluator who wants to verify the compliance of this page
against success criteria 1.1.1 from WCAG 2.0 <a href="#ref-wcag20">[WCAG20]</a>
is using for its accessibility test two tools:</p>
<ul>
  <li>The already known Cool Tool checker (see <a href="#example314">Example
    3.14</a>) and</li>
  <li>The Exemplary Compliance checker (see <a href="#example408">Example
    4.8</a> below).</li>
</ul>

<div class="example">
<p><a id="example408" name="example408"><strong>Example 4.8.</strong></a>
Exemplary Compliance as a <code>Software</code> assertor [<a
href="data/report_ys583.rdf" type="">download file for example 4.8</a>].</p>
<pre>    &lt;earl:Software rdf:about="http://example.org/excompliance/"&gt;
        &lt;dct:title xml:lang="en"&gt;Exemplary Compliance checker&lt;/dct:title&gt;
        &lt;dct:hasVersion&gt;3.2&lt;/dct:hasVersion&gt;
        &lt;dct:description xml:lang="en"&gt;The compliance checker for Web Accessibility&lt;/dct:description&gt;
    &lt;/earl:Software&gt;
    </pre>
</div>

<p>The selected tools test, among others, the following WCAG 2.0 techniques:</p>
<ul>
  <li><a href="http://www.w3.org/TR/2008/NOTE-WCAG20-TECHS-20081211/F65">Common
    Failure F65</a></li>
  <li><a href="http://www.w3.org/TR/2008/NOTE-WCAG20-TECHS-20081211/F30">Common
    Failure F30</a></li>
</ul>

<p>The Cool Tool checker provides the following report:</p>

<div class="example">
<p><a id="example409" name="example409"><strong>Example 4.9.</strong></a>
Extract from the Cool Tool report [<a href="data/report_kd803.rdf"
type="">download file for example 4.9</a>].</p>
<pre>    &lt;earl:TestResult rdf:ID="result1"&gt;
        &lt;earl:pointer rdf:resource="#pointer1" /&gt;
        &lt;earl:outcome rdf:resource="http://www.w3.org/ns/earl#failed" /&gt;
    &lt;/earl:TestResult&gt;
    &lt;earl:TestResult rdf:ID="result2"&gt;
        &lt;earl:pointer rdf:resource="#pointer2" /&gt;
        &lt;earl:outcome rdf:resource="http://www.w3.org/ns/earl#cantTell" /&gt;
    &lt;/earl:TestResult&gt;

    &lt;ptr:LineCharPointer rdf:ID="pointer1"&gt;
        &lt;ptr:lineNumber&gt;17&lt;/ptr:lineNumber&gt;
        &lt;ptr:charNumber&gt;5&lt;/ptr:charNumber&gt;
        &lt;ptr:reference rdf:resource="http://example.org/resource/index.html" /&gt;
    &lt;/ptr:LineCharPointer&gt;
    &lt;ptr:LineCharPointer rdf:ID="pointer2"&gt;
        &lt;ptr:lineNumber&gt;20&lt;/ptr:lineNumber&gt;
        &lt;ptr:charNumber&gt;5&lt;/ptr:charNumber&gt;
        &lt;ptr:reference rdf:resource="http://example.org/resource/index.html" /&gt;
    &lt;/ptr:LineCharPointer&gt;
    </pre>
</div>

<p>In this section of the report, we can observe that the tool is able to
identify correctly the error in the first image, but it is unable to discern
whether the alternative attribute of the second image corresponds to its size.
However, the Exemplary Compliance checker is able to download the image, check
its size, and compare it to the content of the alternative attribute. This tool
produces the following report:</p>

<div class="example">
<p><a id="example410" name="example410"><strong>Example 4.10.</strong></a>
Extract from the Exemplary Compliance checker report [<a
href="data/report_pu392.rdf" type="">download file for example 4.10</a>].</p>
<pre>    &lt;earl:TestResult rdf:ID="result1"&gt;
        &lt;earl:pointer rdf:resource="#pointer1" /&gt;
        &lt;earl:outcome rdf:resource="http://www.w3.org/ns/earl#failed" /&gt;
    &lt;/earl:TestResult&gt;
    &lt;earl:TestResult rdf:ID="result2"&gt;
        &lt;earl:pointer rdf:resource="#pointer2" /&gt;
        &lt;earl:outcome rdf:resource="http://www.w3.org/ns/earl#failed" /&gt;
    &lt;/earl:TestResult&gt;

    &lt;ptr:LineCharPointer rdf:ID="pointer1"&gt;
        &lt;ptr:lineNumber&gt;17&lt;/ptr:lineNumber&gt;
        &lt;ptr:charNumber&gt;5&lt;/ptr:charNumber&gt;
        &lt;ptr:reference rdf:resource="http://example.org/resource/index.html" /&gt;
    &lt;/ptr:LineCharPointer&gt;
    &lt;ptr:LineCharPointer rdf:ID="pointer2"&gt;
        &lt;ptr:lineNumber&gt;20&lt;/ptr:lineNumber&gt;
        &lt;ptr:charNumber&gt;5&lt;/ptr:charNumber&gt;
        &lt;ptr:reference rdf:resource="http://example.org/resource/index.html" /&gt;
    &lt;/ptr:LineCharPointer&gt;
    </pre>
</div>

<p>Finally, our evaluator creates a new assertor group, which members include
the evaluator and the two tools. The report that she delivers to her customer
contains only the assertions that are final, substituting the undefined
outcomes by those from the tool that is able to verify adequately the
technique. Our evaluator can take decisions on this regard because the use of
the EARL Pointers vocabulary allows her to compare exactly the location of the
assertion.</p>

<div class="example">
<p><a id="example411" name="example411"><strong>Example 4.11.</strong></a>
Extract from the final accessibility report [<a href="data/report_db309.rdf"
type="">download file for example 4.11</a>].</p>
<pre>    &lt;foaf:Group rdf:ID="assertgroup"&gt;
        &lt;dct:title&gt;John Doe and the W3C HTML Validator&lt;/dct:title&gt;
        &lt;earl:mainAssertor rdf:resource="http://example.org/persons/jdoe/" /&gt;
        &lt;foaf:member rdf:resource="http://example.org/excompliance/" /&gt;
        &lt;foaf:member rdf:resource="http://example.org/cooltool/" /&gt;
    &lt;/foaf:Group&gt;
    &lt;foaf:Person rdf:about="http://example.org/persons/jdoe/"&gt;
        &lt;foaf:mbox rdf:resource="mailto:jane@example.org" /&gt;
        &lt;foaf:name&gt;Jane Doe&lt;/foaf:name&gt;
    &lt;/foaf:Person&gt;
    &lt;earl:Software rdf:about="http://example.org/cooltool/"&gt;
        &lt;dct:title xml:lang="en"&gt;Cool Tool accessibility checker&lt;/dct:title&gt;
        &lt;dct:hasVersion&gt;1.0.c&lt;/dct:hasVersion&gt;
        &lt;dct:description xml:lang="en"&gt;A reliable compliance checker for Web Accessibility&lt;/dct:description&gt;
    &lt;/earl:Software&gt;
    &lt;earl:Software rdf:about="http://example.org/excompliance/"&gt;
        &lt;dct:title xml:lang="en"&gt;Exemplary Compliance checker&lt;/dct:title&gt;
        &lt;dct:hasVersion&gt;3.2&lt;/dct:hasVersion&gt;
        &lt;dct:description xml:lang="en"&gt;The compliance checker for Web Accessibility&lt;/dct:description&gt;
    &lt;/earl:Software&gt;

    &lt;earl:TestCase rdf:about="http://www.w3.org/TR/2008/NOTE-WCAG20-TECHS-20081211/F65"&gt;
        &lt;dct:description xml:lang="en"&gt;Failure due to omitting the alt attribute on img elements, area elements, and input elements of type image.&lt;/dct:description&gt;
        &lt;dct:title xml:lang="en"&gt;Failure of Success Criterion 1.1.1 from WCAG 2.0&lt;/dct:title&gt;
    &lt;/earl:TestCase&gt;
    &lt;earl:TestCase rdf:about="http://www.w3.org/TR/2008/NOTE-WCAG20-TECHS-20081211/F30"&gt;
        &lt;dct:description xml:lang="en"&gt;Failure of Success Criterion 1.1.1 and 1.2.1 due to using text alternatives that are not alternatives.&lt;/dct:description&gt;
        &lt;dct:title xml:lang="en"&gt;Failure of Success Criterion 1.1.1 and 1.2.1 from WCAG 2.0&lt;/dct:title&gt;
    &lt;/earl:TestCase&gt;

    &lt;earl:TestResult rdf:ID="result1"&gt;
        &lt;earl:pointer rdf:resource="#pointer1" /&gt;
        &lt;earl:outcome rdf:resource="http://www.w3.org/ns/earl#failed" /&gt;
    &lt;/earl:TestResult&gt;
    &lt;earl:TestResult rdf:ID="result2"&gt;
        &lt;earl:pointer rdf:resource="#pointer2" /&gt;
        &lt;earl:outcome rdf:resource="http://www.w3.org/ns/earl#failed" /&gt;
    &lt;/earl:TestResult&gt;

    &lt;ptr:LineCharPointer rdf:ID="pointer1"&gt;
        &lt;ptr:lineNumber&gt;17&lt;/ptr:lineNumber&gt;
        &lt;ptr:charNumber&gt;5&lt;/ptr:charNumber&gt;
        &lt;ptr:reference rdf:resource="http://example.org/resource/index.html" /&gt;
    &lt;/ptr:LineCharPointer&gt;
    &lt;ptr:LineCharPointer rdf:ID="pointer2"&gt;
        &lt;ptr:lineNumber&gt;20&lt;/ptr:lineNumber&gt;
        &lt;ptr:charNumber&gt;5&lt;/ptr:charNumber&gt;
        &lt;ptr:reference rdf:resource="http://example.org/resource/index.html" /&gt;
    &lt;/ptr:LineCharPointer&gt;
    </pre>
</div>

<p>This example demonstrates how the use of simple Semantic Web technologies
enables the combination of EARL assertions to produce improved and more
accurate reports.</p>

<h2><a id="conformance" name="conformance">4. Conformance for EARL 1.0 Tools
and Reports</a></h2>

<p class="note">[<a name="note1" id="note1">Editor's note:</a> ERT WG is
looking for feedback on this entire section.]</p>

<p>This section defines conformance requirements for software tools and
processes, to ensure a consistent implementation and exchange of the EARL 1.0
vocabulary. The following applies to tools conforming with EARL 1.0:</p>
<ol type="A">
  <li>Conforming EARL 1.0 reports adhere to the requirements listed in <a
    href="#EARL10Reports">4.1 Conforming EARL 1.0 Reports</a></li>
  <li>Software tools that produce conforming EARL 1.0 reports can provide them
    in valid RDF/XML notation</li>
  <li>Software tools that process conforming EARL 1.0 reports can accept them
    in valid RDF/XML notation</li>
</ol>

<h3><a name="EARL10Reports" id="EARL10Reports">4.1 Conforming EARL 1.0
Reports</a></h3>

<p>Conforming EARL 1.0 reports are valid RDF graphs with:</p>
<ol>
  <li>At least one <a
    href="http://www.w3.org/TR/EARL10-Schema/#Assertion">Assertion</a></li>
  <li>Exactly one <a
    href="http://www.w3.org/TR/EARL10-Schema/#Assertor">Assertor</a>,
    referenced by <code><a
    href="http://www.w3.org/TR/EARL10-Schema/#assertedBy">earl:assertedBy</a></code>,
    for each <a
    href="http://www.w3.org/TR/EARL10-Schema/#Assertion">Assertion</a> 
    <ol type="a">
      <li>Exactly one identifying name (per language), referenced by <code><a
        href="http://purl.org/dc/terms/title">dct:title <img
        src="http://www.w3.org/Icons/tr.png" alt="external link" /></a></code>,
        <code><a href="http://xmlns.com/foaf/spec/#term_name">foaf:name <img
        src="http://www.w3.org/Icons/tr.png" alt="external link" /></a></code>,
        or <code><a href="http://usefulinc.com/ns/doap#name">doap:name <img
        src="http://www.w3.org/Icons/tr.png" alt="external link" /></a></code>
        for each <a
        href="http://www.w3.org/TR/EARL10-Schema/#Assertor">Assertor</a></li>
      <li>At most one description (per language), referenced by <code><a
        href="http://purl.org/dc/terms/description">dct:description <img
        src="http://www.w3.org/Icons/tr.png" alt="external link" /></a></code>
        or <code><a
        href="http://usefulinc.com/ns/doap#description">doap:description <img
        src="http://www.w3.org/Icons/tr.png" alt="external link" /></a></code>
        for each <a
        href="http://www.w3.org/TR/EARL10-Schema/#Assertor">Assertor</a></li>
      <li>Any number of attributes, referenced by <code><a
        href="http://xmlns.com/foaf/spec/#term_nick">foaf:nick <img
        src="http://www.w3.org/Icons/tr.png" alt="external link" /></a></code>,
        <code><a href="http://xmlns.com/foaf/spec/#term_mbox">foaf:mbox <img
        src="http://www.w3.org/Icons/tr.png" alt="external link" /></a></code>,
        or <code><a
        href="http://xmlns.com/foaf/spec/#term_homepage">foaf:homepage <img
        src="http://www.w3.org/Icons/tr.png" alt="external link" /></a></code>
        for each <a
        href="http://www.w3.org/TR/EARL10-Schema/#Assertor">Assertor</a> that
        is also of type <code><a
        href="http://xmlns.com/foaf/spec/#term_Agent">foaf:Agent <img
        src="http://www.w3.org/Icons/tr.png" alt="external link"
      /></a></code></li>
      <li>Any number of members, referenced by <code><a
        href="http://xmlns.com/foaf/spec/#term_member">foaf:member <img
        src="http://www.w3.org/Icons/tr.png" alt="external link" /></a></code>,
        for each <a
        href="http://www.w3.org/TR/EARL10-Schema/#Assertor">Assertor</a> that
        is also of type <code><a
        href="http://xmlns.com/foaf/spec/#term_Group">foaf:Group <img
        src="http://www.w3.org/Icons/tr.png" alt="external link"
      /></a></code></li>
      <li>At most one main assertor, referenced by <code><a
        href="http://www.w3.org/TR/EARL10/#mainAssertor">earl:mainAssertor</a></code>,
        for each <a
        href="http://www.w3.org/TR/EARL10-Schema/#Assertor">Assertor</a> that
        is also of type <code><a
        href="http://xmlns.com/foaf/spec/#term_Group">foaf:Group <img
        src="http://www.w3.org/Icons/tr.png" alt="external link"
      /></a></code></li>
    </ol>
  </li>
  <li>Exactly one <a
    href="http://www.w3.org/TR/EARL10-Schema/#TestSubject">Test Subject</a>,
    referenced by <code><a
    href="http://www.w3.org/TR/EARL10-Schema/#subject">earl:subject</a></code>,
    for each <a
    href="http://www.w3.org/TR/EARL10-Schema/#Assertion">Assertion</a> 
    <ol type="a">
      <li>Exactly one identifying title (per language), referenced by <code><a
        href="http://purl.org/dc/terms/title">dct:title <img
        src="http://www.w3.org/Icons/tr.png" alt="external link" /></a></code>,
        <code><a href="http://xmlns.com/foaf/spec/#term_name">foaf:name <img
        src="http://www.w3.org/Icons/tr.png" alt="external link" /></a></code>,
        or <code><a href="http://usefulinc.com/ns/doap#name">doap:name <img
        src="http://www.w3.org/Icons/tr.png" alt="external link" /></a></code>
        for each <a href="http://www.w3.org/TR/EARL10-Schema/#TestSubject">Test
        Subject</a></li>
      <li>At most one description (per language), referenced by <code><a
        href="http://purl.org/dc/terms/description">dct:description <img
        src="http://www.w3.org/Icons/tr.png" alt="external link" /></a></code>
        or <code><a
        href="http://usefulinc.com/ns/doap#description">doap:description <img
        src="http://www.w3.org/Icons/tr.png" alt="external link" /></a></code>
        for each <a href="http://www.w3.org/TR/EARL10-Schema/#TestSubject">Test
        Subject</a></li>
      <li>At most one date (as defined by <a
        href="http://www.w3.org/TR/xmlschema-2/#isoformats">XML Datatypes</a>),
        referenced by <code><a href="http://purl.org/dc/terms/date">dct:date
        <img src="http://www.w3.org/Icons/tr.png" alt="external link"
        /></a></code>, for each <a
        href="http://www.w3.org/TR/EARL10-Schema/#TestSubject">Test
      Subject</a></li>
      <li>Any number of relationships, referenced by <code><a
        href="http://purl.org/dc/terms/hasPart">dct:hasPart <img
        src="http://www.w3.org/Icons/tr.png" alt="external link" /></a></code>
        or <code><a href="http://purl.org/dc/terms/isPartOf">dct:isPartOf <img
        src="http://www.w3.org/Icons/tr.png" alt="external link" /></a></code>,
        between any instances of <a
        href="http://www.w3.org/TR/EARL10-Schema/#TestSubject">Test
      Subject</a></li>
    </ol>
  </li>
  <li>Exactly one <a
    href="http://www.w3.org/TR/EARL10-Schema/#TestCriterion">Test
    Criterion</a>, referenced by <code><a
    href="http://www.w3.org/TR/EARL10-Schema/#test">earl:test</a></code>, for
    each <a href="http://www.w3.org/TR/EARL10-Schema/#Assertion">Assertion</a> 
    <ol type="a">
      <li>Exactly one identifying title (per language), referenced by <code><a
        href="http://purl.org/dc/terms/title">dct:title <img
        src="http://www.w3.org/Icons/tr.png" alt="external link" /></a></code>,
        for each <a
        href="http://www.w3.org/TR/EARL10-Schema/#TestCriterion">Test
        Criterion</a></li>
      <li>At most one description (per language), referenced by <code><a
        href="http://purl.org/dc/terms/description">dct:description <img
        src="http://www.w3.org/Icons/tr.png" alt="external link" /></a></code>
        or <code><a
        href="http://usefulinc.com/ns/doap#description">doap:description <img
        src="http://www.w3.org/Icons/tr.png" alt="external link" /></a></code>
        for each <a
        href="http://www.w3.org/TR/EARL10-Schema/#TestCriterion">Test
        Criterion</a></li>
      <li>Any number of relationships, referenced by <code><a
        href="http://purl.org/dc/terms/hasPart">dct:hasPart <img
        src="http://www.w3.org/Icons/tr.png" alt="external link" /></a></code>
        or <code><a href="http://purl.org/dc/terms/isPartOf">dct:isPartOf <img
        src="http://www.w3.org/Icons/tr.png" alt="external link" /></a></code>,
        between any instances of <a
        href="http://www.w3.org/TR/EARL10-Schema/#TestCriterion">Test
        Criterion</a></li>
    </ol>
  </li>
  <li>Exactly one <a href="http://www.w3.org/TR/EARL10-Schema/#TestResult">Test
    Result</a>, referenced by <code><a
    href="http://www.w3.org/TR/EARL10-Schema/#result">earl:result</a></code>,
    for each <a
    href="http://www.w3.org/TR/EARL10-Schema/#Assertion">Assertion</a> 
    <ol type="a">
      <li>Exactly one date (as defined by <a
        href="http://www.w3.org/TR/xmlschema-2/#isoformats">XML Datatypes</a>),
        referenced by <code><a href="http://purl.org/dc/terms/date">dct:date
        <img src="http://www.w3.org/Icons/tr.png" alt="external link"
        /></a></code>, for each <a
        href="http://www.w3.org/TR/EARL10-Schema/#TestResult">Test
      Result</a></li>
      <li>Exactly one <a
        href="http://www.w3.org/TR/EARL10-Schema/#OutcomeValue">Outcome
        Value</a>, referenced by <code><a
        href="http://www.w3.org/TR/EARL10-Schema/#outcome">earl:outcome</a></code>,
        for each <a href="http://www.w3.org/TR/EARL10-Schema/#TestResult">Test
        Result</a> 
        <ol type="i">
          <li>Exactly one identifying title (per language), referenced by
            <code><a href="http://purl.org/dc/terms/title">dct:title <img
            src="http://www.w3.org/Icons/tr.png" alt="external link"
            /></a></code>, for each <a
            href="http://www.w3.org/TR/EARL10-Schema/#OutcomeValue">Outcome
            Value</a></li>
          <li>Exactly one description (per language), referenced by <code><a
            href="http://purl.org/dc/terms/description">dct:description <img
            src="http://www.w3.org/Icons/tr.png" alt="external link"
            /></a></code>, for each <a
            href="http://www.w3.org/TR/EARL10-Schema/#OutcomeValue">Outcome
            Value</a></li>
        </ol>
      </li>
      <li>At most one identifying title (per language), referenced by <code><a
        href="http://purl.org/dc/terms/title">dct:title <img
        src="http://www.w3.org/Icons/tr.png" alt="external link" /></a></code>,
        for each <a href="http://www.w3.org/TR/EARL10-Schema/#TestResult">Test
        Result</a></li>
      <li>At most one description (per language), referenced by <code><a
        href="http://purl.org/dc/terms/description">dct:description <img
        src="http://www.w3.org/Icons/tr.png" alt="external link" /></a></code>
        or <code><a
        href="http://usefulinc.com/ns/doap#description">doap:description <img
        src="http://www.w3.org/Icons/tr.png" alt="external link" /></a></code>
        for each <a href="http://www.w3.org/TR/EARL10-Schema/#TestResult">Test
        Result</a></li>
      <li>At most one additional information (per language), referenced by
        <code><a href="http://www.w3.org/TR/EARL10/#info">earl:info</a></code>
        for each <a href="http://www.w3.org/TR/EARL10-Schema/#TestResult">Test
        Result</a></li>
      <li>Any number of pointer methods, referenced by <code><a
        href="http://www.w3.org/TR/EARL10/#pointer">earl:pointer</a></code> for
        each <a href="http://www.w3.org/TR/EARL10-Schema/#TestResult">Test
        Result</a></li>
    </ol>
  </li>
  <li>At most one <a href="http://www.w3.org/TR/EARL10-Schema/#TestMode">Test
    Mode</a>, referenced by <code><a
    href="http://www.w3.org/TR/EARL10-Schema/#mode">earl:mode</a></code>, for
    each <a href="http://www.w3.org/TR/EARL10-Schema/#Assertion">Assertion</a> 
    <ol type="a">
      <li>Exactly one identifying title (per language), referenced by <code><a
        href="http://purl.org/dc/terms/title">dct:title <img
        src="http://www.w3.org/Icons/tr.png" alt="external link" /></a></code>,
        for each <a href="http://www.w3.org/TR/EARL10-Schema/#TestMode">Test
        Mode</a></li>
      <li>Exactly one description (per language), referenced by <code><a
        href="http://purl.org/dc/terms/description">dct:description <img
        src="http://www.w3.org/Icons/tr.png" alt="external link" /></a></code>,
        for each <a href="http://www.w3.org/TR/EARL10-Schema/#TestMode">Test
        Mode</a></li>
    </ol>
  </li>
  <li>Exactly one identifying name (per language), referenced by <code><a
    href="http://usefulinc.com/ns/doap#name">doap:name <img
    src="http://www.w3.org/Icons/tr.png" alt="external link" /></a></code>, for
    each <a
  href="http://www.w3.org/TR/EARL10-Schema/#Software">Software</a></li>
  <li><a href="#HTTP-graphs">Conforming HTTP-in-RDF graphs</a>, for each <a
    href="http://www.w3.org/TR/EARL10-Schema/#TestSubject">Test Subject</a>
    that is also of type <code><a
    href="http://www.w3.org/TR/HTTP-in-RDF/#ResponseClass">http:Response <img
    src="http://www.w3.org/Icons/tr.png" alt="external link" /></a></code></li>
  <li><a href="#Content-graphs">Conforming Content-in-RDF graphs</a>, for each
    <a href="http://www.w3.org/TR/EARL10-Schema/#TestSubject">Test Subject</a>
    that is also of type <code><a
    href="http://www.w3.org/TR/Content-in-RDF/#ContentClass">cnt:Content <img
    src="http://www.w3.org/Icons/tr.png" alt="external link" /></a></code></li>
</ol>

<p><strong>Note:</strong> subclasses or subproperties of terms share the same
type. They are therefore considered to be equivalent entities in adhering to
any of the above requirements. Also, instances in multiple languages of the
<em>same entity</em> (such as title or description) are considered to be a
single occurrence of the entity.</p>

<p>In addition, it is strongly recommended that EARL 1.0 reports are also valid
RDF graphs with:</p>
<ol>
  <li>Each <a href="http://www.w3.org/TR/EARL10-Schema/#Assertor">Assertor</a>
    is also one of the following types: 
    <ul>
      <li><code><a
        href="http://www.w3.org/TR/EARL10-Schema/#Software">earl:Software</a></code></li>
      <li><code><a href="http://xmlns.com/foaf/spec/#term_Agent">foaf:Agent
        <img src="http://www.w3.org/Icons/tr.png" alt="external link"
        /></a></code></li>
      <li><code><a href="http://xmlns.com/foaf/spec/#term_Person">foaf:Person
        <img src="http://www.w3.org/Icons/tr.png" alt="external link"
        /></a></code></li>
      <li><code><a
        href="http://xmlns.com/foaf/spec/#term_Organization">foaf:Organization
        <img src="http://www.w3.org/Icons/tr.png" alt="external link"
        /></a></code></li>
      <li><code><a href="http://xmlns.com/foaf/spec/#term_Group">foaf:Group
        <img src="http://www.w3.org/Icons/tr.png" alt="external link"
        /></a></code></li>
    </ul>
  </li>
  <li>Each <a href="http://www.w3.org/TR/EARL10-Schema/#TestSubject">Test
    Subject</a> is also one of the following types: 
    <ul>
      <li><code><a
        href="http://www.w3.org/TR/EARL10-Schema/#Software">earl:Software</a></code></li>
      <li><code><a
        href="http://www.w3.org/TR/Content-in-RDF/#ContentClass">cnt:Content
        <img src="http://www.w3.org/Icons/tr.png" alt="external link"
        /></a></code></li>
      <li><code><a
        href="http://www.w3.org/TR/HTTP-in-RDF/#ResponseClass">http:Response
        <img src="http://www.w3.org/Icons/tr.png" alt="external link"
        /></a></code></li>
      <li><code><a
        href="http://xmlns.com/foaf/spec/#term_Document">foaf:Document <img
        src="http://www.w3.org/Icons/tr.png" alt="external link"
      /></a></code></li>
    </ul>
  </li>
  <li>Each <a href="http://www.w3.org/TR/EARL10-Schema/#TestCriterion">Test
    Criterion</a> is also one of the following types: 
    <ul>
      <li><code><a
        href="http://www.w3.org/TR/EARL10-Schema/#TestRequirement">earl:TestRequirement</a></code></li>
      <li><code><a
        href="http://www.w3.org/TR/EARL10-Schema/#TestCase">earl:TestCase</a></code></li>
    </ul>
  </li>
  <li>Each <a href="http://www.w3.org/TR/EARL10-Schema/#TestMode">Test Mode</a>
    is one of the following instances: 
    <ul>
      <li><code><a
        href="http://www.w3.org/TR/EARL10-Schema/#automatic">earl:automatic</a></code></li>
      <li><code><a
        href="http://www.w3.org/TR/EARL10-Schema/#manual">earl:manual</a></code></li>
      <li><code><a
        href="http://www.w3.org/TR/EARL10-Schema/#semiAuto">earl:semiAuto</a></code></li>
      <li><code><a
        href="http://www.w3.org/TR/EARL10-Schema/#undisclosed">earl:undisclosed</a></code></li>
      <li><code><a
        href="http://www.w3.org/TR/EARL10-Schema/#unknownMode">earl:unknownMode</a></code></li>
    </ul>
  </li>
  <li>Each <a href="http://www.w3.org/TR/EARL10-Schema/#OutcomeValue">Outcome
    Value</a> is one of the following instances: 
    <ul>
      <li><code><a
        href="http://www.w3.org/TR/EARL10-Schema/#passed">earl:passed</a></code></li>
      <li><code><a
        href="http://www.w3.org/TR/EARL10-Schema/#failed">earl:failed</a></code></li>
      <li><code><a
        href="http://www.w3.org/TR/EARL10-Schema/#cantTell">earl:cantTell</a></code></li>
      <li><code><a
        href="http://www.w3.org/TR/EARL10-Schema/#inapplicable">earl:inapplicable</a></code></li>
      <li><code><a
        href="http://www.w3.org/TR/EARL10-Schema/#untested">earl:untested</a></code></li>
    </ul>
    Or is an instance of one of the following classes (or sublcasses thereof): 
    <ul>
      <li><code><a
        href="http://www.w3.org/TR/EARL10-Schema/#Pass">earl:Pass</a></code></li>
      <li><code><a
        href="http://www.w3.org/TR/EARL10-Schema/#Fail">earl:Fail</a></code></li>
      <li><code><a
        href="http://www.w3.org/TR/EARL10-Schema/#CannotTell">earl:CannotTell</a></code></li>
      <li><code><a
        href="http://www.w3.org/TR/EARL10-Schema/#NotApplicable">earl:NotApplicable</a></code></li>
      <li><code><a
        href="http://www.w3.org/TR/EARL10-Schema/#NotTested">earl:NotTested</a></code></li>
    </ul>
  </li>
</ol>

<h3><a name="HTTP-graphs" id="HTTP-graphs">4.2 Conforming HTTP-in-RDF
Graphs</a></h3>

<p>Conforming HTTP-in-RDF graphs are valid RDF graphs with:</p>
<ol>
  <li>Exactly one connection authority, specified by <code><a
    href="http://www.w3.org/TR/HTTP-in-RDF/#connectionAuthorityProperty">http:connectionAuthority</a></code>,
    for each <a
    href="http://www.w3.org/TR/HTTP-in-RDF/#ConnectionClass">Connection</a></li>
  <li>At most one <acronym>RDF</acronym> collection, referenced by <code><a
    href="http://www.w3.org/TR/HTTP-in-RDF/#requestsProperty">http:requests</a></code>,
    with any number of <a
    href="http://www.w3.org/TR/HTTP-in-RDF/#RequestClass">Request</a>
    instances, for each <a
    href="http://www.w3.org/TR/HTTP-in-RDF/#ConnectionClass">Connection</a></li>
  <li>Exactly one <acronym>HTTP</acronym> version, specified by <code><a
    href="http://www.w3.org/TR/HTTP-in-RDF/#httpVersionProperty">http:httpVersion</a></code>,
    for each <a
    href="http://www.w3.org/TR/HTTP-in-RDF/#MessageClass">Message</a></li>
  <li>At most one <acronym>RDF</acronym> collection, referenced by <code><a
    href="http://www.w3.org/TR/HTTP-in-RDF/#headersProperty">http:headers</a></code>,
    with any number of <a
    href="http://www.w3.org/TR/HTTP-in-RDF/#MessageHeaderClass">Message
    Header</a> instances, for each <a
    href="http://www.w3.org/TR/HTTP-in-RDF/#MessageClass">Message</a></li>
  <li>Exactly one message body, referenced by <code><a
    href="http://www.w3.org/TR/HTTP-in-RDF/#bodyProperty">http:body</a></code>,
    for each <a
    href="http://www.w3.org/TR/HTTP-in-RDF/#MessageClass">Message</a></li>
  <li>At most one date, specified by <code><a
    href="http://dublincore.org/documents/dcmi-terms/#terms-date">dct:date <img
    src="http://www.w3.org/Icons/tr.png" alt="external link" /></a></code>, for
    each <a
  href="http://www.w3.org/TR/HTTP-in-RDF/#MessageClass">Message</a></li>
  <li>Exactly one method name, specified by <code><a
    href="http://www.w3.org/TR/HTTP-in-RDF/#methodNameProperty">http:methodName</a></code>,
    for each <a
    href="http://www.w3.org/TR/HTTP-in-RDF/#RequestClass">Request</a></li>
  <li>Exactly one request <acronym
    title="Uniform Resource Identifier">URI</acronym>, specified by <code><a
    href="http://www.w3.org/TR/HTTP-in-RDF/#requestURIProperty">http:requestURI</a></code>,
    for each <a
    href="http://www.w3.org/TR/HTTP-in-RDF/#RequestClass">Request</a></li>
  <li>At most one <a
    href="http://www.w3.org/TR/HTTP-in-RDF/#MethodClass">Method</a>, referenced
    by <code><a
    href="http://www.w3.org/TR/HTTP-in-RDF/#mthdProperty">http:mthd</a></code>,
    for each <a
    href="http://www.w3.org/TR/HTTP-in-RDF/#RequestClass">Request</a></li>
  <li>At most one <a
    href="http://www.w3.org/TR/HTTP-in-RDF/#ResponseClass">Response</a>,
    referenced by <code><a
    href="http://www.w3.org/TR/HTTP-in-RDF/#respProperty">http:resp</a></code>,
    for each <a
    href="http://www.w3.org/TR/HTTP-in-RDF/#RequestClass">Request</a></li>
  <li>Exactly one status code value, specified by <code><a
    href="http://www.w3.org/TR/HTTP-in-RDF/#statusCodeValueProperty">http:statusCodeValue</a></code>,
    for each <a
    href="http://www.w3.org/TR/HTTP-in-RDF/#ResponseClass">Response</a></li>
  <li>Exactly one reason phrase, specified by <code><a
    href="http://www.w3.org/TR/HTTP-in-RDF/#reasonPhraseProperty">http:reasonPhrase</a></code>,
    for each <a
    href="http://www.w3.org/TR/HTTP-in-RDF/#ResponseClass">Response</a></li>
  <li>At most one <a
    href="http://www.w3.org/TR/HTTP-in-RDF/#StatusCodeClass">Status Code</a>,
    referenced by <code><a
    href="http://www.w3.org/TR/HTTP-in-RDF/#scProperty">http:sc</a></code>, for
    each <a
  href="http://www.w3.org/TR/HTTP-in-RDF/#ResponseClass">Response</a></li>
  <li>Exactly one field name, specified by <code><a
    href="http://www.w3.org/TR/HTTP-in-RDF/#fieldNameProperty">http:fieldName</a></code>,
    for each <a
    href="http://www.w3.org/TR/HTTP-in-RDF/#MessageHeaderClass">Message
    Header</a></li>
  <li>Exactly one field value, specified by <code><a
    href="http://www.w3.org/TR/HTTP-in-RDF/#fieldValueProperty">http:fieldValue</a></code>,
    for each <a
    href="http://www.w3.org/TR/HTTP-in-RDF/#MessageHeaderClass">Message
    Header</a></li>
  <li>At most one <a
    href="http://www.w3.org/TR/HTTP-in-RDF/#HeaderNameClass">Header Name</a>,
    referenced by <code><a
    href="http://www.w3.org/TR/HTTP-in-RDF/#hdrNameProperty">http:hdrName</a></code>,
    for each <a
    href="http://www.w3.org/TR/HTTP-in-RDF/#MessageHeaderClass">Message
    Header</a></li>
  <li>At most one <acronym>RDF</acronym> collection, referenced by <code><a
    href="http://www.w3.org/TR/HTTP-in-RDF/#headerElementsProperty">http:headerElements</a></code>,
    with any number of <a
    href="http://www.w3.org/TR/HTTP-in-RDF/#HeaderElementClass">Header
    Element</a> instances, for each <a
    href="http://www.w3.org/TR/HTTP-in-RDF/#MessageHeaderClass">Message
    Header</a></li>
  <li>Exactly one header element name, specified by <code><a
    href="http://www.w3.org/TR/HTTP-in-RDF/#elementNameProperty">http:elementName</a></code>,
    for each <a
    href="http://www.w3.org/TR/HTTP-in-RDF/#HeaderElementClass">Header
    Element</a></li>
  <li>At most one header element value, specified by <code><a
    href="http://www.w3.org/TR/HTTP-in-RDF/#elementValueProperty">http:elementValue</a></code>,
    for each <a
    href="http://www.w3.org/TR/HTTP-in-RDF/#HeaderElementClass">Header
    Element</a></li>
  <li>At most one <acronym>RDF</acronym> collection, referenced by <code><a
    href="http://www.w3.org/TR/HTTP-in-RDF/#paramsProperty">http:params</a></code>,
    with any number of <a
    href="http://www.w3.org/TR/HTTP-in-RDF/#ParameterClass">Parameter</a>
    instances, for each <a
    href="http://www.w3.org/TR/HTTP-in-RDF/#HeaderElementClass">Header
    Element</a></li>
  <li>Exactly one parameter name, specified by <code><a
    href="http://www.w3.org/TR/HTTP-in-RDF/#paramNameProperty">http:paramName</a></code>,
    for each <a
    href="http://www.w3.org/TR/HTTP-in-RDF/#ParameterClass">Parameter</a></li>
  <li>Exactly one parameter value, specified by <code><a
    href="http://www.w3.org/TR/HTTP-in-RDF/#paramValueProperty">http:paramValue</a></code>,
    for each <a
    href="http://www.w3.org/TR/HTTP-in-RDF/#ParameterClass">Parameter</a></li>
</ol>

<h3><a name="Content-graphs" id="Content-graphs">4.3 Conforming Content-in-RDF
Graphs</a></h3>

<p>Conforming Content-in-RDF graphs are valid RDF graphs with:</p>
<ol>
  <li>At most one character encoding, specified by <a
    href="http://www.w3.org/TR/Content-in-RDF/#characterEncodingProperty"><code>cnt:characterEncoding</code></a>,
    for each <a
    href="http://www.w3.org/TR/Content-in-RDF/#ContentClass">Content</a></li>
  <li>Any number of relationships, referenced by <code><a
    href="http://purl.org/dc/terms/hasFormat">dct:hasFormat <img
    src="http://www.w3.org/Icons/tr.png" alt="external link" /></a></code> or
    <code><a href="http://purl.org/dc/terms/isFormatOf">dct:isFormatOf <img
    src="http://www.w3.org/Icons/tr.png" alt="external link" /></a></code>,
    between any instances of <a
    href="http://www.w3.org/TR/Content-in-RDF/#ContentClass">Content</a></li>
  <li>Exactly one byte sequence, specified by <a
    href="http://www.w3.org/TR/Content-in-RDF/#bytesProperty"><code>cnt:bytes</code></a>,
    for each <a
    href="http://www.w3.org/TR/Content-in-RDF/#ContentAsBase64Class">ContentAsBase64</a></li>
  <li>Exactly one character sequence, specified by <a
    href="http://www.w3.org/TR/Content-in-RDF/#charsProperty"><code>cnt:chars</code></a>,
    for each <a
    href="http://www.w3.org/TR/Content-in-RDF/#ContentAsTextClass">ContentAsText</a></li>
  <li>Exactly one XML rest, specified by <a
    href="http://www.w3.org/TR/Content-in-RDF/#restProperty"><code>cnt:rest</code></a>,
    for each <a
    href="http://www.w3.org/TR/Content-in-RDF/#ContentAsXMLClass">ContentAsXML</a></li>
  <li>At most one leadingMisc, specified by <a
    href="http://www.w3.org/TR/Content-in-RDF/#leadingMiscProperty"><code>cnt:leadingMisc</code></a>,
    for each <a
    href="http://www.w3.org/TR/Content-in-RDF/#ContentAsXMLClass">ContentAsXML</a></li>
  <li>At most one document type delcaration, referenced by <a
    href="http://www.w3.org/TR/Content-in-RDF/#dtDeclProperty"><code>cnt:dtDecl</code></a>,
    for each <a
    href="http://www.w3.org/TR/Content-in-RDF/#ContentAsXMLClass">ContentAsXML</a></li>
  <li>Exactly one XML version, specified by <a
    href="http://www.w3.org/TR/Content-in-RDF/#versionProperty"><code>cnt:version</code></a>,
    for each <a
    href="http://www.w3.org/TR/Content-in-RDF/#ContentAsXMLClass">ContentAsXML</a></li>
  <li>At most one XML character encoding, specified by <a
    href="http://www.w3.org/TR/Content-in-RDF/#declaredEncodingProperty"><code>cnt:declaredEncoding</code></a>,
    for each <a
    href="http://www.w3.org/TR/Content-in-RDF/#ContentAsXMLClass">ContentAsXML</a></li>
  <li>At most one XML standalone declaration, specified by <a
    href="http://www.w3.org/TR/Content-in-RDF/#standaloneProperty"><code>cnt:standalone</code></a>,
    for each <a
    href="http://www.w3.org/TR/Content-in-RDF/#ContentAsXMLClass">ContentAsXML</a></li>
  <li>Exactly one document type name, specified by <a
    href="http://www.w3.org/TR/Content-in-RDF/#doctypeNameProperty"><code>cnt:doctypeName</code></a>,
    for each <a
    href="http://www.w3.org/TR/Content-in-RDF/#DoctypeDeclClass">DoctypeDecl</a></li>
  <li>At most one public identifier, specified by <a
    href="http://www.w3.org/TR/Content-in-RDF/#publicIdProperty"><code>cnt:publicId</code></a>,
    for each <a
    href="http://www.w3.org/TR/Content-in-RDF/#DoctypeDeclClass">DoctypeDecl</a></li>
  <li>At most one system identifier, specified by <a
    href="http://www.w3.org/TR/Content-in-RDF/#systemIdProperty"><code>cnt:systemId</code></a>,
    for each <a
    href="http://www.w3.org/TR/Content-in-RDF/#DoctypeDeclClass">DoctypeDecl</a></li>
  <li>At most one internal subset, specified by <a
    href="http://www.w3.org/TR/Content-in-RDF/#internalSubsetProperty"><code>cnt:internalSubset</code></a>,
    for each <a
    href="http://www.w3.org/TR/Content-in-RDF/#DoctypeDeclClass">DoctypeDecl</a></li>
</ol>

<h2><a id="serialization" name="serialization">5. Serializations of EARL
Reports</a></h2>

<p class="note"><strong>Note:</strong> this section will be added to refer the
reader to best practices and existing references in RDF/XML serializations
(possibly providing a DTD or XML Schema for EARL); RDF-&gt;JSON conversion (in
particular if we do end up providing an XML Schema or DTD); binary RDF (work in
progress at W3C); or other formats that may be useful to tool developers.</p>

<h2><a id="references" name="references">Appendix A: References</a></h2>
<dl>
  <dt><a id="ref-content" name="ref-content">[Content-RDF]</a></dt>
    <dd><a href="http://www.w3.org/TR/Content-in-RDF10/">Representing Content
      in RDF</a>. <code>http://www.w3.org/TR/Content-in-RDF10/</code></dd>
  <dt><a id="ref-dcmischemas" name="ref-dcmischemas">[DCMISCHEMAS]</a></dt>
    <dd><a href="http://dublincore.org/schemas/rdfs/">DCMI term declarations
      represented in RDF schema language</a>.
      <code>http://dublincore.org/schemas/rdfs/</code></dd>
  <dt><a id="ref-earl" name="ref-earl">[EARL-Schema]</a></dt>
    <dd><a href="http://www.w3.org/TR/EARL10-Schema/">Evaluation and Report
      Language 1.0 Schema</a>.
    <code>http://www.w3.org/TR/EARL10-Schema/</code></dd>
  <dt><a id="ref-foaf" name="ref-foaf">[FOAF]</a></dt>
    <dd><a href="http://xmlns.com/foaf/spec/">FOAF Vocabulary Specification
      0.91</a>. Namespace Document 2 November 2007 - OpenID Edition.
      <code>http://xmlns.com/foaf/spec/</code></dd>
  <dt><a id="ref-httprdf" name="ref-httprdf">[HTTP-RDF]</a></dt>
    <dd><a href="http://www.w3.org/TR/HTTP-in-RDF10/">HTTP Vocabulary in
      RDF</a>. <code>http://www.w3.org/TR/HTTP-in-RDF10/</code></dd>
  <dt><a id="ref-ieee829" name="ref-ieee829">[IEEE-829]</a></dt>
    <dd><a href="http://ieeexplore.ieee.org/servlet/opac?punumber=5976">IEEE
      Standard for Software Test Documentation</a> (IEEE Std 829-1998). ISBN
      0-7381-1444-8 SS94687.
      <code>http://ieeexplore.ieee.org/servlet/opac?punumber=5976</code></dd>
  <dt><a id="ref-iso15836" name="ref-iso15836">[ISO15836]</a></dt>
    <dd><a
      href="http://www.iso.org/iso/iso_catalogue/catalogue_tc/catalogue_detail.htm?csnumber=52142">Information
      and documentation - The Dublin Core metadata element set</a>. ISO
      15836:2009.
      <code>http://www.iso.org/iso/iso_catalogue/catalogue_tc/catalogue_detail.htm?csnumber=52142</code></dd>
  <dt><a id="ref-nisoz3985" name="ref-nisoz3985">[NISOZ3985]</a></dt>
    <dd><a href="http://www.niso.org/standards/z39-85-2007/">ANSI/NISO Z39.85 -
      The Dublin Core Metadata Element Set</a>. NISO, May 2007.
      <code>http://www.niso.org/standards/z39-85-2007/</code></dd>
  <dt><a id="ref-pointers" name="ref-pointers">[Pointers-RDF]</a></dt>
    <dd><a href="http://www.w3.org/TR/Pointers-in-RDF10/">Pointer Methods in
      RDF</a>. <code>http://www.w3.org/TR/Pointers-in-RDF10/</code></dd>
  <dt><a id="ref-rdf" name="ref-rdf">[RDF]</a></dt>
    <dd><a href="http://www.w3.org/TR/1999/REC-rdf-syntax-19990222/">Resource
      Description Framework (RDF) Model and Syntax Specification</a>. W3C
      Recommendation, 22 February 1999.
      <code>http://www.w3.org/TR/1999/REC-rdf-syntax-19990222/</code></dd>
  <dt><a id="ref-rdf-primer" name="ref-rdf-primer">[RDF-PRIMER]</a></dt>
    <dd><a href="http://www.w3.org/TR/rdf-primer/">RDF Primer</a>. W3C
      Recommendation, 10 February 2004.
      <code>http://www.w3.org/TR/rdf-primer/</code></dd>
  <dt><a id="ref-rdfs" name="ref-rdfs">[RDFS]</a></dt>
    <dd><a href="http://www.w3.org/TR/rdf-schema/">RDF Vocabulary Description
      Language 1.0: <acronym
      title="Resource Description Framework">RDF</acronym> Schema</a>. W3C
      Recommendation, 10 February 2004.
      <code>http://www.w3.org/TR/rdf-schema/</code></dd>
  <dt><a id="ref-rdf-xml" name="ref-rdf-xml">[RDF-XML]</a></dt>
    <dd><a href="http://www.w3.org/TR/rdf-syntax-grammar/">RDF/XML Syntax
      Specification (Revised)</a>. W3C Recommendation 10 February 2004.
      <code>http://www.w3.org/TR/rdf-syntax-grammar/</code></dd>
  <dt><a id="ref-rdf-xml-diffs"
  name="ref-rdf-xml-diffs">[RDF-XML-DIFFS]</a></dt>
    <dd><a href="http://www.w3.org/DesignIssues/RDF-XML">Why <acronym
      title="Resource Description Framework">RDF</acronym> model is different
      from the XML model</a>. Paper by Tim Berners-Lee, September 1998.
      <code>http://www.w3.org/DesignIssues/RDF-XML</code></dd>
  <dt><a id="ref-rfc2119" name="ref-rfc2119">[RFC2119]</a></dt>
    <dd><a href="http://www.ietf.org/rfc/rfc2119.txt">Key words for use in RFCs
      to Indicate Requirement Levels</a>. IETF RFC, March 1997.
      <code>http://www.ietf.org/rfc/rfc2119.txt</code></dd>
  <dt><a id="ref-rfc5013" name="ref-rfc5013">[RFC5013]</a></dt>
    <dd><a href="http://www.ietf.org/rfc/rfc5013.txt">The Dublin Core Metadata
      Element Set</a>. IETF RFC, August 2007.
      <code>http://www.ietf.org/rfc/rfc5013.txt</code></dd>
  <dt><a id="ref-owl" name="ref-owl">[OWL]</a></dt>
    <dd><a href="http://www.w3.org/TR/owl-features/">OWL Web Ontology
      Language</a>. W3C Recommendation, 10 February 2004.
      <code>http://www.w3.org/TR/owl-features/</code></dd>
  <dt><a id="ref-wcag10" name="ref-wcag10">[WCAG10]</a></dt>
    <dd><a href="http://www.w3.org/TR/WCAG10/">Web Content Accessibility
      Guidelines 1.0</a>. W3C Recommendation, 5 May 1999.
      <code>http://www.w3.org/TR/WCAG10/</code></dd>
  <dt><a id="ref-wcag20" name="ref-wcag20">[WCAG20]</a></dt>
    <dd><a href="http://www.w3.org/TR/WCAG20/">Web Content Accessibility
      Guidelines 2.0</a>. W3C Recommendation, 11 December 2008.
      <code>http://www.w3.org/TR/WCAG20/</code></dd>
  <dt><a id="ref-xml" name="ref-xml">[XML]</a></dt>
    <dd><a href="http://www.w3.org/TR/REC-xml/">Extensible Markup Language
      (XML) 1.0 (Fifth Edition)</a>. W3C Recommendation 26 November 2008.
      <code>http://www.w3.org/TR/REC-xml/</code></dd>
  <dt><a id="ref-uri" name="ref-uri">[URI]</a></dt>
    <dd><a href="http://www.ietf.org/rfc/rfc3986.txt">Uniform Resource
      Identifier (URI): Generic Syntax</a>. IETF RFC, January 2005.
      <code>http://www.ietf.org/rfc/rfc3986.txt</code></dd>
  <dt><a id="ref-doap" name="ref-doap">[DOAP]</a></dt>
  <dt><a id="ref-http" name="ref-http">[HTTP]</a></dt>
  <dt><a id="ref-dc" name="ref-dc">[DCMI]</a></dt>
  <dt><a id="ref-rfc-5013" name="ref-rfc5013">[RFC5013]</a></dt>
  <dt><a id="ref-cnt" name="ref-cnt">[CNT]</a></dt>
  <dt><a id="ref-ptrs" name="ref-ptrs">[PTRS]</a></dt>
  <dt><a id="ref-xmls" name="ref-xmls">[XMLS]</a></dt>
</dl>

<h2><a id="contributors" name="contributors">Appendix D: Contributors</a></h2>

<p>Shadi Abou-Zahra, Carlos Iglesias, Michael A Squillace, Johannes Koch and
Carlos A Velasco.</p>

<h2><a id="changes" name="changes">Appendix C: Document changes</a></h2>

<p>The following is a list of changes with respect to the previous internal
version:</p>
<ul>
  <li>Adopted common definitions of EARL.</li>
  <li>Disambiguated the links to examples.</li>
  <li>Minor editorial corrections.</li>
  <li>Examples clarified.</li>
</ul>
</body>
</html>