Another abandoned server code base... this is kind of an ancestor of taskrambler.
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

5333 lines
207 KiB

<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
<head>
<meta http-equiv="content-type" content="text/html; charset=UTF-8" />
<title>Protocol for Web Description Resources (POWDER): Test Suite</title>
<style type="text/css">
.doclink {
font-weight: bold;
}
.TestTable {
page-break-inside: avoid;
width:95%;
border-collapse:collapse;
margin: 2em auto;
}
.TestType {
COLOR: #FFFFFF;
BACKGROUND-COLOR: #3366CC;
font-family: Arial, Helvetica, sans-serif;
font-size: small;
}
.TestNumber {
COLOR: #FFFFFF;
BACKGROUND-COLOR: #3366CC;
font-family: Arial, Helvetica, sans-serif;
font-size: small;
}
.TestContent {
background-color: #FFFFFF;
color: #333333;
font-family: Arial, Helvetica, sans-serif;
font-size: small;
}
.TestDescriptionHead {
COLOR: #FFFFFF;
BACKGROUND-COLOR: #3366CC;
font-family: Arial, Helvetica, sans-serif;
font-size: small;
}
.TestNamespacesHead {
COLOR: #FFFFFF;
BACKGROUND-COLOR: #3366CC;
font-family: Arial, Helvetica, sans-serif;
font-size: small;
}
.TestDescription {
COLOR: #333333;
BACKGROUND-COLOR: #FFFFFF;
font-family: Arial, Helvetica, sans-serif;
font-size: small;
}
.TestNamespaces {
COLOR: black; BACKGROUND-COLOR: #c0e0e0
}
.TestRDF {
color: black;
background-color: #c8c868;
white-space:nowrap;
overflow:auto
}
.TestXML {
color: black;
background-color: #c8c8f8;
white-space:nowrap;
overflow:auto;
}
.TestHTML {color: black;
background-color: #f5f5b5;
white-space:nowrap;
overflow:auto
}
*.smallcaps {
FONT-SIZE: smaller
}
pre {overflow:auto}
a:visited.whiteLink, a:link.whiteLink {color:#fff}
a:hover.whiteLink, a:active.whiteLink {color:#336}
.style1 {background-color: #FFFFFF; color: #333333; font-family: Arial, Helvetica, sans-serif; font-style: italic; }
var {font-family: serif; font-style: italic;}
li, dt, dd {margin-top: 1em;}
ul, ol, dl {margin-top: 1em; margin-bottom: 1em;}
ol ol {list-style-type: lower-alpha}
ol ol ol {list-style-type: lower-roman}
.example {padding: 0.5em; background-color: rgb(204, 255, 204); border:thin dotted black; white-space:nowrap; overflow:auto}
table {margin: 0 auto; border-collapse:collapse; border:thin solid black}
td, th {border:thin solid black; padding:0.5em}
caption {caption-side:bottom; padding-top:1em; margin:0 auto}
p.caption {font-weight:bold}
.toc1 {padding:0 0 0.5em 0}
.toc2 {padding:0 0 0.5em 1em}
.toc3 {padding:0 0 0.5em 2em}
div.subtoc {padding: 1em; border: solid thin; margin: 1em 0; background: #ddd}
</style>
<link rel="stylesheet" type="text/css" href="http://www.w3.org/StyleSheets/TR/W3C-WG-NOTE"/>
</head><body>
<div class="head">
<a href="http://www.w3.org/"><img alt="W3C" src="http://www.w3.org/Icons/w3c_home" width="72" height="48" /></a>
<h1>Protocol for Web Description Resources (POWDER): Test Suite</h1>
<h2>W3C Working Group Note 10 September 2009</h2>
<dl>
<dt>This version</dt><dd><a href="http://www.w3.org/TR/2009/NOTE-powder-test-20090910/">http://www.w3.org/TR/2009/NOTE-powder-test-20090910/</a></dd>
<dt>Latest version</dt><dd><a href="http://www.w3.org/TR/powder-test/">http://www.w3.org/TR/powder-test/</a></dd>
<dt>Previous version</dt><dd><a href="http://www.w3.org/TR/2009/NOTE-powder-test-20090604/">http://www.w3.org/TR/2009/NOTE-powder-test-20090604/</a></dd>
</dl>
<dl>
<dt>Editors:</dt>
<dd>Antonis Kukurikos, Institute of Informatics &amp; Telecommunications (IIT), NCSR</dd>
<dd>Phil Archer, Institute of Informatics &amp; Telecommunications (IIT), NCSR &quot;Demokritos&quot; (formerly with FOSI)</dd>
</dl>
<p class="copyright"><a href="http://www.w3.org/Consortium/Legal/ipr-notice#Copyright">Copyright</a> © 2009 <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.org/"><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>
<hr />
</div>
<h2 id="abstract">Abstract</h2>
<p>The document describes and presents test cases for the Protocol for
Web Description Resources (POWDER). The test cases aim to indicate the
correct formats of POWDER documents and illustrate various crucial
aspects on the usage of POWDER documents, such as locating a document
and infering information from it.</p>
<h2 id="status">Status of this document</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/" shape="rect">W3C technical reports index</a> at http://www.w3.org/TR/.</em></p>
<p>This is the fifth publication of the document as a Working Group Note by the
<a href="http://www.w3.org/2007/powder/">POWDER Working Group</a> which does not expect to publish further versions.
There have been no changes since the <a href="http://www.w3.org/TR/2009/NOTE-powder-test-20090604/">previous version</a> except that references
to other documents in the POWDER suite have been updated.</p>
<p>Publication of this Note follows the adoption of POWDER as a W3C Recommendation and the publication of the following documents:</p>
<ul>
<li><a href="http://www.w3.org/TR/2009/REC-powder-dr-20090901/">POWDER: Description Resources</a> (Recommendation)</li>
<li><a href="http://www.w3.org/TR/2009/REC-powder-grouping-20090901/">POWDER: Grouping of Resources</a> (Recommendation)</li>
<li><a href="http://www.w3.org/TR/2009/REC-powder-formal-20090901/">POWDER: Formal Semantics</a> (Recommendation)</li>
<li><a href="http://www.w3.org/TR/2009/NOTE-powder-primer-20090901/">POWDER: Primer</a> (Working Group Note)</li>
</ul>
<p>To send comments, please use the
public mailing list (<a href="mailto:public-powderwg@w3.org">public-powderwg@w3.org</a>), an <a href="http://lists.w3.org/Archives/Public/public-powderwg/">archived
mailing list</a>. See <a href="http://www.w3.org/Mail/">W3C mailing list and archive usage guidelines</a>.</p>
<p>Publication as a Working Group Note 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 as part of the <a href=
"http://www.w3.org/2001/sw/">Semantic Web Activity</a>, following the procedures set out for the <a href="http://www.w3.org/Consortium/Process/">W3C Process</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>. W3C maintains a <a rel="disclosure" href="http://www.w3.org/2004/01/pp-impl/40243/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>
<hr />
<h2 id="toc">Table of Contents</h2>
<div class="toc1">1 <a href="#intro">Introduction</a></div>
<div class="toc1">2 <a href="#testTypes">Test Types</a></div>
<div class="toc2">2.1 <a href="#parserTests">Parser Tests</a></div>
<div class="toc2">2.2 <a href="#positiveGRDDLTests">GRDDL Tests</a></div>
<div class="toc2">2.3 <a href="#locatorTests">POWDER Locator Tests</a></div>
<div class="toc2">2.4 <a href="#dataExtractionTests">POWDER Data Extraction Tests</a></div>
<div class="toc1">3 <a href="#manifestFiles">Manifest Files</a></div>
<div class="toc1">4 <a href="#powderTests">The POWDER tests</a></div>
<div class="toc2">4.1 <a href="#posparser">Positive Parser Tests</a></div>
<div class="toc2">4.2 <a href="#negparser">Negative Parser Tests</a></div>
<div class="toc2">4.3 <a href="#grddl">GRDDL Tests</a></div>
<div class="toc2">4.4 <a href="#locate">POWDER Locator Tests</a></div>
<div class="toc2">4.5 <a href="#infer">POWDER Data Extraction Tests</a></div>
<div class="toc2">4.6 <a href="#canTest">Canonicalization Tests</a></div>
<div class="toc1">5 <a href="#ack">Acknowledgements</a></div>
<div class="toc1">6 <a href="#refs">References</a></div>
<h2 id="intro">1 Introduction</h2>
<p>As part of the POWDER specification, the POWDER Working Group
provides a set of test cases. The present document discusses these test
cases. They are intented to facilitate and exemplify the creation of
POWDER documents of varying complexity and provide a means to assert
the conformance of software applications designed to handle POWDER
documents.</p>
<p>The document provides a description of the various test types, the
format that was used and the structure of the manifest files that
accompany the tests.</p>
<h2 id="testTypes">2 Test Types</h2>
<p>The tests are classified with respect to the issue they aim to
examine. The main concerns are the syntactic validity of a document,
the equivalence between various forms of POWDER documents, the ability
to locate a <a href="http://www.w3.org/TR/powder-dr/#operational" class="doclink">POWDER&nbsp;document</a>
associated with a resource and the ability to infer information about a given resource from a POWDER&nbsp;document
associated with it. The following sections indicate the classification
of the tests included in the test suite and describe their structure.</p>
<h3 id="parserTests">2.1 Parser Tests</h3>
<p>The parser tests aim to provide a test corpus for implementations of a POWDER parser.</p>
<p>The parser tests are initially separated into positive and negative
parser tests. Each test examines the valitidy of a POWDER document
against a conformance requirement of the specification. The documents
included in the positive tests meet the requirement they are tested
against, whereas those included in the negative tests violate a given
element of the conformance model.</p>
<p>When given a positive parser test document as its input, a POWDER
parser is expected to return a validity confirmation message. In
contrast, when the input is a negative parser test document, the POWDER
parser is expected to report that the POWDER document is invalid, and
may return a message indicating the requirement that is not met, as
indicated in the manifest file accompanying the POWDER document of the
test.</p>
<p>Each test consists of one POWDER&nbsp;document
and a Manifest file. The POWDER document is named posNNN.xml or
negNNN.xml if it is included in the positive or negative parser tests
respectively, where NNN is the index number of the test with three
digits. The Manifest file is named ManifestposNNN.rdf or
ManifestnegNNN.rdf.</p>
<h3 id="positiveGRDDLTests">2.2 GRDDL Tests</h3>
<p>The GRDDL tests aim to provide a test corpus for implementations of a POWDER-to-POWDER-S transformation tool.</p>
<p>These tests include pairs of documents. The first peer is a POWDER&nbsp;document,
named powderNNN.xml and the second is a <a href="http://www.w3.org/TR/powder-dr/#formalSemantics" class="doclink">POWDER-S document</a>, named
powdersNNN.rdf. Each POWDER-S document is what should be derived from
its corresponding POWDER document when applying a transformation on the
latter. The transformation may or may not be performed using the XSLT
provided for this purpose, but the output POWDER-S document must be
semantically equivalent (i.e. correspond to equivalent graphs). The
Manifest file describing each test is named ManifestgrddlNNN.rdf.</p>
<h3 id="locatorTests">2.3 POWDER Locator Tests</h3>
<p>The POWDER locator tests aim to facilitate the testing of
applications used to examine the association of a resource with a
POWDER description that applies to it. The tests comprise pairs of
documents. The first document defines a web resource that contains a
reference to a POWDER&nbsp;document
while the second one is the POWDER document itself. Any locator MUST
reach the POWDER document via the resource, or report. There are tests
for each means of locating a POWDER document, as defined in the DR
document included in the specification <a href="#dr">[DR]</a>.</p>
<h3 id="dataExtractionTests">2.4 POWDER Data Extraction Tests</h3>
<p>The purpose of these tests is to provide an adequate data set for testing a
<a href="http://www.w3.org/TR/powder-dr/#powderprocessor" class="doclink">POWDER&nbsp;Processor</a>
by providing the expected return values of a describe(u) function with
a given u and against a given POWDER document. The tests comprise of a
fixed IRI, a POWDER&nbsp;document
and an RDF graph expressed in RDF/XML that shows the results of running
describe(u) - where u is the IRI provided by the test - against the
POWDER document</p>
<h3 id="canonTests">2.5 IRI Canonicalization Tests</h3>
<p>These tests provide data for testing the IRI canonicalization and data encoding steps
set out in the Grouping of Resources Document, <a href="http://www.w3.org/TR/powder-grouping/#idnCanon">Sections 2.1.3 to 2.1.5</a>.</p>
<p>The tests comprise one or more POWDER documents that contain non-ASCII or other characters
that require particular handling, along with candidate IRIs, and the expected output of a
POWDER Processor's describe(u) function.</p>
<h2 id="manifestFiles">3 Manifest Files</h2>
<p>The Manifest files provide a formal, machine-readable description of
the test they apply to. Those associated with the POWDER tests follow
the schema developed for the RDF test cases [<a href="#rdftest">RDF-TEST</a>].
Furthermore, the said schema is extended to include some new properties
and types, as defined in the POWDER test ontology.</p>
<p>Each test is associated with a Manifest file, identified from the
URI formed from the file's URL with a fragment test. A given test has a
rdf:type explicit, within the scope of:</p>
<dl>
<dt><code>wdrtest:parsertest</code></dt>
<dt><code>wdrtest:grddltest</code></dt>
<dt><code>wdrtest:locatortest</code></dt>
<dt><code>wdrtest:dataextractiontest</code></dt>
<dt><code>wdrtest:canontest</code></dt>
</dl>
<p>Where the <code>wdrtest</code> namespace is bound to <code>http://www.w3.org/2008/07/powder-test/testSchema#</code> and <code>rtest</code>
is bound to <code>http://www.w3.org/2000/10/rdf-tests/rdfcore/testSchema#.</code></p>
<p>The name of the original author of each test is given using a <code>dc:creator</code> property.</p>
<p>The description of the test is given as a value of a rtest:description property.</p>
<p>The relevant requirement of the specification that this test examines is given as value of a <code>wdrtest:specref</code> property.</p>
<p>The input document for a test is given as a value of a
<code>rtest:inputDocument</code> property, whereas the expected output document, if
applied, is given as a value of a <code>rtest:outputDocument</code> property. If the
production of an output document is not the purpose of the test
process, the <code>wdrtest:expectedDocument</code> can be used to provide a free
description of the expected results from the execution of the test.</p>
<p>The status of a test included in the suite, declared using a <code>rtest:status</code> property, can be in the set of the following values:</p>
<dl>
<dt class="smallcaps">APPROVED</dt>
<dt class="smallcaps">REJECTED</dt>
<dt class="smallcaps">PROPOSED</dt>
</dl>
<h2 id="powderTests">4 The POWDER Tests</h2>
<p>
This section demonstrates the documents included in the POWDER Test
Suite. The documents are categorized with respect to their type. Each
test is defined by the following parameters:</p>
<ol>
<li>The type of the test.</li>
<li>A description for the purpose of the test, with respect to its type.</li>
<li>A link to the section of the relevant document that defines the part of the specification that is subject to the test.</li>
<li>The index of the test in the particular type.</li>
<li>A link to the Manifest file that provides a formal description for the test.</li>
<li>The preconditions that must be taken into account in order to consider the test valid.</li>
<li>The documents that are part of the test.</li>
</ol>
<p> The actual documents, along with the Manifest file, can be downloaded in a <a href="POWDER-TS.zip">compressed&nbsp;file</a>. The directory structure of the compressed file has as follows:</p>
<dl>
<dt id="toplevel">Top Level</dt>
<dd>POWDER-TS: The entry directory</dd>
<dt id="secondlevel">Second Level</dt>
<dd>positive_parser_tests</dd>
<dd>negative_parser_tests</dd>
<dd>grddl_tests</dd>
<dd>locate_tests</dd>
<dd>data_tests</dd>
<dd>canon_tests</dd>
</dl>
<p>Each directory contains the test documents of the corresponding
type, along with the manifest file of each test and following the
naming conventions discussed in the present document.</p>
<h3 id="posparser">4.1 Positive Parser Tests</h3>
<table summary="Every POWDER document includes exactly one attribution element" id="posparse-001" class="TestTable">
<tbody><tr>
<td class="TestType"><div>Parser Test</div></td>
<td class="TestType">Positive</td>
<td class="TestDescription">A POWDER document must include exactly one attribution element</td>
<td class="TestNumber">001</td>
</tr>
<tr>
<td class="TestDescriptionHead" colspan="4">Test Assertion</td>
</tr>
<tr>
<td class="TestContent" colspan="4">A valid POWDER document must include exactly one <strong><em>attribution</em></strong> element</td>
</tr>
<tr>
<td class="TestContent" colspan="4"><a href="http://www.w3.org/TR/powder-dr/#structure">Protocol for Web Description Resources (POWDER): Description Resources Section 2.1 Operational Semantics</a></td>
</tr>
<tr>
<td class="TestDescriptionHead" colspan="4">Description</td>
</tr>
<tr>
<td class="TestContent" colspan="4">
<a href="tests/positive_parser_tests/Manifestpos001.rdf">Manifestpos001.rdf</a></td>
</tr>
<tr>
<td class="TestNamespacesHead" colspan="4">Preconditions - Namespace</td>
</tr>
<tr>
<td class="TestContent" colspan="4">@prefix ex: &lt;http://example.org/vocab#&gt;</td>
</tr>
<tr>
<td class="TestDescriptionHead" colspan="4">Documents <a href="tests/positive_parser_tests/pos001.xml" class="whiteLink">pos001.xml</a></td>
</tr>
<tr>
<td class="TestXML" colspan="4">
<pre>&lt;?xml version="1.0"?&gt;
&lt;powder xmlns="http://www.w3.org/2007/05/powder#"
xmlns:ex="http://example.org/vocab#"&gt;
&lt;attribution&gt;
&lt;issuedby src="http://authority.example.org/company.rdf#me" /&gt;
&lt;issued&gt;2007-12-14T00:00:00&lt;/issued&gt;
&lt;/attribution&gt;
&lt;dr&gt;
&lt;iriset&gt;
&lt;includehosts&gt;example.com&lt;/includehosts&gt;
&lt;/iriset&gt;
&lt;descriptorset&gt;
&lt;ex:color&gt;red&lt;/ex:color&gt;
&lt;ex:shape&gt;square&lt;/ex:shape&gt;
&lt;displaytext&gt;Everything on example.com is red and square&lt;/displaytext&gt;
&lt;displayicon src="http://example.org/icon.png" /&gt;
&lt;/descriptorset&gt;
&lt;/dr&gt;
&lt;/powder&gt;
</pre></td>
</tr>
</tbody></table>
<table summary="The attribution element optionally contains a unique issued element" id="posparse-002" class="TestTable">
<tbody><tr>
<td class="TestType">Parser Test</td>
<td class="TestType">Positive</td>
<td class="TestDescription">The attribution element optionally contains a unique issued element</td>
<td class="TestNumber">002</td>
</tr>
<tr>
<td class="TestDescriptionHead" colspan="4">Test Assertion</td>
</tr>
<tr>
<td class="TestContent" colspan="4">The required <strong><em>attribution</em></strong> element of a valid POWDER document may contain exactly one <strong><em>issued </em></strong>element</td>
</tr>
<tr>
<td class="TestContent" colspan="4"><a href="http://www.w3.org/TR/powder-dr/#structure">Protocol for Web Description Resources (POWDER): Description Resources Section 2.1 Operational Semantics</a></td>
</tr>
<tr>
<td class="TestDescriptionHead" colspan="4">Description</td>
</tr>
<tr>
<td class="TestDescription" colspan="4">
<a href="tests/positive_parser_tests/Manifestpos002.rdf">Manifestpos002.rdf</a></td>
</tr>
<tr>
<td class="TestNamespacesHead" colspan="4">Preconditions - Namespace</td>
</tr>
<tr>
<td class="TestContent" colspan="4">@prefix ex: &lt;http://example.org/vocab#&gt;</td>
</tr>
<tr>
<td class="TestDescriptionHead" colspan="4">Documents <a href="tests/positive_parser_tests/pos002.xml" class="whiteLink">pos002.xml</a></td>
</tr>
<tr>
<td class="TestXML" colspan="4">
<pre>&lt;?xml version="1.0"?&gt;
&lt;powder xmlns="http://www.w3.org/2007/05/powder#"
xmlns:ex="http://example.org/vocab#"&gt;
&lt;attribution&gt;
&lt;issuedby src="http://authority.example.org/company.rdf#me" /&gt;
&lt;issued&gt;2007-12-14T00:00:00&lt;/issued&gt;
&lt;/attribution&gt;
&lt;dr&gt;
&lt;iriset&gt;
&lt;includehosts&gt;example.com&lt;/includehosts&gt;
&lt;/iriset&gt;
&lt;descriptorset&gt;
&lt;ex:color&gt;red&lt;/ex:color&gt;
&lt;ex:shape&gt;square&lt;/ex:shape&gt;
&lt;displaytext&gt;Everything on example.com is red and square&lt;/displaytext&gt;
&lt;displayicon src="http://example.org/icon.png" /&gt;
&lt;/descriptorset&gt;
&lt;/dr&gt;
&lt;/powder&gt;
</pre></td>
</tr>
</tbody></table>
<table summary="An attribution element optionally contains a unique valifrom element and/or a unique validuntil element" id="posparse-003" class="TestTable">
<tbody><tr>
<td class="TestType">Parser Test</td>
<td class="TestType">Positive</td>
<td class="TestDescription">An attribution element optionally contains a unique validfrom element and/or a unique validuntil element</td>
<td class="TestNumber">003</td>
</tr>
<tr>
<td class="TestDescriptionHead" colspan="4">Test Assertion</td>
</tr>
<tr>
<td class="TestContent" colspan="4">The required <strong><em>attribution</em></strong> element of a valid POWDER document may contain exactly one <em><strong>validfrom </strong></em>element and may contain exactly one <em><strong>validuntil </strong></em>element</td>
</tr>
<tr>
<td class="TestContent" colspan="4"><a href="http://www.w3.org/TR/powder-dr/#certification">Protocol for Web Description Resources (POWDER): Description Resources Section 5.2 Certification Using POWDER</a></td>
</tr>
<tr>
<td class="TestDescriptionHead" colspan="4">Description</td>
</tr>
<tr>
<td class="TestDescription" colspan="4">
<a href="tests/positive_parser_tests/Manifestpos003.rdf">Manifestpos003.rdf</a></td>
</tr>
<tr>
<td class="TestNamespacesHead" colspan="4">Precondition - Namespace</td>
</tr>
<tr>
<td class="TestContent" colspan="4">@prefix ex: &lt;http://example.org/vocab#&gt;</td>
</tr>
<tr>
<td class="TestDescriptionHead" colspan="4">Documents <a href="tests/positive_parser_tests/pos003.xml" class="whiteLink">pos003.xml</a></td>
</tr>
<tr>
<td class="TestXML" colspan="4">
<pre>&lt;?xml version="1.0"?&gt;
&lt;powder xmlns="http://www.w3.org/2007/05/powder#"
xmlns:ex="http://example.org/vocab#"&gt;
&lt;attribution&gt;
&lt;issuedby src="http://authority.example.org/company.rdf#me"/&gt;
&lt;issued&gt;2007-12-14T00:00:00&lt;/issued&gt;
&lt;validfrom&gt;2007-12-14T00:00:00&lt;/validfrom&gt;
&lt;validuntil&gt;2008-12-14T00:00:00&lt;/validuntil&gt;
&lt;/attribution&gt;
&lt;dr&gt;
&lt;iriset&gt;
&lt;includehosts&gt;example.com&lt;/includehosts&gt;
&lt;/iriset&gt;
&lt;descriptorset&gt;
&lt;ex:color&gt;red&lt;/ex:color&gt;
&lt;ex:shape&gt;square&lt;/ex:shape&gt;
&lt;displaytext&gt;Everything on example.com is red and square&lt;/displaytext&gt;
&lt;displayicon src="http://example.org/icon.png" /&gt;
&lt;/descriptorset&gt;
&lt;/dr&gt;
&lt;/powder&gt;
</pre></td>
</tr>
</tbody></table>
<table summary="The attribution element may contain an abouthosts element" id="posparse-004" class="TestTable">
<tbody><tr>
<td class="TestType">Parser Test</td>
<td class="TestType">Positive</td>
<td class="TestDescription">The attribution element may contain an abouthosts element</td>
<td class="TestNumber">004</td>
</tr>
<tr>
<td class="TestDescriptionHead" colspan="4">Test Assertion</td>
</tr>
<tr>
<td class="TestContent" colspan="4">The required <em><strong>attribution </strong></em>element of a valid POWDER document may contain exactly one <em><strong>abouthosts </strong></em>elements</td>
</tr>
<tr>
<td class="TestContent" colspan="4"><a href="http://www.w3.org/TR/powder-dr/#directDescript">Protocol for Web Description Resources (POWDER): Description Resources Section 2.3 Exclusive Description Resources</a></td>
</tr>
<tr>
<td class="TestDescriptionHead" colspan="4">Description</td>
</tr>
<tr>
<td class="TestDescription" colspan="4">
<a href="tests/positive_parser_tests/Manifestpos004.rdf">Manifestpos004.rdf</a></td>
</tr>
<tr>
<td class="TestNamespacesHead" colspan="4">Precondition - Namespace</td>
</tr>
<tr>
<td class="TestContent" colspan="4">@prefix ex: &lt;http://example.org/vocab#&gt;</td>
</tr>
<tr>
<td class="TestDescriptionHead" colspan="4">Documents <a href="tests/positive_parser_tests/pos004.xml" class="whiteLink">pos004.xml</a></td>
</tr>
<tr>
<td class="TestXML" colspan="4">
<pre>&lt;?xml version="1.0"?&gt;
&lt;powder xmlns="http://www.w3.org/2007/05/powder#"
xmlns:ex="http://example.org/vocab#"&gt;
&lt;attribution&gt;
&lt;issuedby src="http://authority.example.org/company.rdf#me"/&gt;
&lt;issued&gt;2007-12-14T00:00:00&lt;/issued&gt;
&lt;validfrom&gt;2007-12-14T00:00:00&lt;/validfrom&gt;
&lt;validuntil&gt;2008-12-14T00:00:00&lt;/validuntil&gt;
&lt;abouthosts&gt;books.example.com archive.example.net&lt;/abouthosts&gt;
&lt;/attribution&gt;
&lt;dr&gt;
&lt;iriset&gt;
&lt;includehosts&gt;example.com&lt;/includehosts&gt;
&lt;/iriset&gt;
&lt;descriptorset&gt;
&lt;ex:color&gt;red&lt;/ex:color&gt;
&lt;ex:shape&gt;square&lt;/ex:shape&gt;
&lt;displaytext&gt;Everything on example.com is red and square&lt;/displaytext&gt;
&lt;displayicon src="http://example.org/icon.png" /&gt;
&lt;/descriptorset&gt;
&lt;/dr&gt;
&lt;/powder&gt;
</pre></td>
</tr>
</tbody></table>
<table summary="A POWDER document may include an unordered list of two or more descriptor set elements" id="posparse-005" class="TestTable">
<tbody><tr>
<td class="TestType">Parser Test</td>
<td class="TestType">Positive</td>
<td class="TestDescription">A POWDER document may include an unordered list of two or more Description Resource (<code>dr</code>) elements</td>
<td class="TestNumber">005</td>
</tr>
<tr>
<td class="TestDescriptionHead" colspan="4">Test Assertion</td>
</tr>
<tr>
<td class="TestContent" colspan="4">A valid POWDER document may contain any number of <em><strong>dr </strong></em>elements </td>
</tr>
<tr>
<td class="TestContent" colspan="4"><a href="http://www.w3.org/TR/powder-dr/#structure">Protocol for Web Description Resources (POWDER): Description Resources Section 2.1 Operational Semantics</a></td>
</tr>
<tr>
<td class="TestDescriptionHead" colspan="4">Description</td>
</tr>
<tr>
<td class="TestDescription" colspan="4">
<a href="tests/positive_parser_tests/Manifestpos005.rdf">Manifestpos005.rdf</a></td>
</tr>
<tr>
<td colspan="4" class="TestNamespacesHead">Preconditions - Namespace</td>
</tr>
<tr>
<td class="TestContent" colspan="4">@prefix ex: &lt;http://example.org/vocab#&gt;</td>
</tr>
<tr>
<td class="TestDescriptionHead" colspan="4">Documents <a href="tests/positive_parser_tests/pos005.xml" class="whiteLink">pos005.xml</a></td>
</tr>
<tr>
<td class="TestXML" colspan="4">
<pre>&lt;?xml version="1.0"?&gt;
&lt;powder xmlns="http://www.w3.org/2007/05/powder#"
xmlns:ex="http://example.org/vocab#"&gt;
&lt;attribution&gt;
&lt;issuedby src="http://authority.example.org/company.rdf#me" /&gt;
&lt;/attribution&gt;
&lt;dr&gt;
&lt;iriset&gt;
&lt;includehosts&gt;example.com&lt;/includehosts&gt;
&lt;/iriset&gt;
&lt;descriptorset&gt;
&lt;ex:color&gt;red&lt;/ex:color&gt;
&lt;/descriptorset&gt;
&lt;/dr&gt;
&lt;dr&gt;
&lt;iriset&gt;
&lt;includehosts&gt;example.com&lt;/includehosts&gt;
&lt;includepathstartswith&gt;/foo&lt;/includepathstartswith&gt;
&lt;/iriset&gt;
&lt;descriptorset&gt;
&lt;ex:color&gt;blue&lt;/ex:color&gt;
&lt;/descriptorset&gt;
&lt;/dr&gt;
&lt;/powder&gt;
</pre></td>
</tr>
</tbody></table>
<table summary="A POWDER document may include an ordered list of two or more descriptor set elements" id="posparse-006" class="TestTable">
<tbody><tr>
<td class="TestType">Parser Test</td>
<td class="TestType">Positive</td>
<td class="TestDescription">A POWDER document may include an ordered list of two or more descriptor set elements</td>
<td class="TestNumber">006</td>
</tr>
<tr>
<td class="TestDescriptionHead" colspan="4">Test Assertion</td>
</tr>
<tr>
<td class="TestContent" colspan="4">A valid POWDER document may contain an <em><strong>ol </strong></em> element which contains an arbitrarily sized ordered set of <em><strong>dr </strong></em>elements</td>
</tr>
<tr>
<td class="TestContent" colspan="4"><a href="http://www.w3.org/TR/powder-dr/#olDR">Protocol for Web Description Resources (POWDER): Description Resources Section 2.3 Exclusive Description Resources</a></td>
</tr>
<tr>
<td class="TestDescriptionHead" colspan="4">Description</td>
</tr>
<tr>
<td class="TestDescription" colspan="4">
<a href="tests/positive_parser_tests/Manifestpos006.rdf">Manifestpos006.rdf</a></td>
</tr>
<tr>
<td class="TestNamespacesHead" colspan="4">Preconditions - Namespace</td>
</tr>
<tr>
<td class="TestContent" colspan="4">@prefix ex: &lt;http://example.org/vocab#&gt;</td>
</tr>
<tr>
<td class="TestDescriptionHead" colspan="4">Documents <a href="tests/positive_parser_tests/pos006.xml" class="whiteLink">pos006.xml</a></td>
</tr>
<tr>
<td class="TestXML" colspan="4">
<pre>&lt;?xml version="1.0"?&gt;
&lt;powder xmlns="http://www.w3.org/2007/05/powder#"
xmlns:ex="http://example.org/vocab#"&gt;
&lt;attribution&gt;
&lt;issuedby src="http://authority.example.org/company.rdf#me" /&gt;
&lt;issued&gt;2007-12-14T00:00:00&lt;/issued&gt;
&lt;abouthosts&gt;example.com&lt;/abouthosts&gt;
&lt;/attribution&gt;
&lt;ol&gt;
&lt;dr&gt;
&lt;iriset&gt;
&lt;includehosts&gt;example.com&lt;/includehosts&gt;
&lt;includepathstartswith&gt;/foo&lt;/includepathstartswith&gt;
&lt;/iriset&gt;
&lt;descriptorset&gt;
&lt;ex:color&gt;blue&lt;/ex:color&gt;
&lt;/descriptorset&gt;
&lt;/dr&gt;
&lt;dr&gt;
&lt;iriset&gt;
&lt;includehosts&gt;example.com&lt;/includehosts&gt;
&lt;/iriset&gt;
&lt;descriptorset&gt;
&lt;ex:color&gt;red&lt;/ex:color&gt;
&lt;/descriptorset&gt;
&lt;/dr&gt;
&lt;/ol&gt;
&lt;/powder&gt;
</pre></td>
</tr>
</tbody></table>
<table summary="A POWDER document may include descriptor set elements without a dr element" id="pos-parse007" class="TestTable">
<tbody><tr>
<td class="TestType">Parser Test</td>
<td class="TestType">Positive</td>
<td class="TestDescription">A POWDER document may include descriptor set elements without a dr element</td>
<td class="TestNumber">007</td>
</tr>
<tr>
<td class="TestDescriptionHead" colspan="4">Test Assertions</td>
</tr>
<tr>
<td class="TestContent" colspan="4">A valid POWDER document may contain <em><strong>descriptorset </strong></em>elements not within a <em><strong>dr </strong></em>element</td>
</tr>
<tr>
<td class="TestContent" colspan="4"><a href="http://www.w3.org/TR/powder-dr/#directDescript">Protocol for Web Description Resources (POWDER): Description Resources Section 2.5 Direct Resource Description</a></td>
</tr>
<tr>
<td class="TestDescriptionHead" colspan="4">Description</td>
</tr>
<tr>
<td class="TestDescription" colspan="4">
<a href="tests/positive_parser_tests/Manifestpos007.rdf">Manifestpos007.rdf</a></td>
</tr>
<tr>
<td class="TestNamespacesHead" colspan="4">Preconditions - Namespace</td>
</tr>
<tr>
<td class="TestContent" colspan="4">@prefix ex: &lt;http://example.org/vocab#&gt;</td>
</tr>
<tr>
<td class="TestDescriptionHead" colspan="4">Documents <a href="tests/positive_parser_tests/pos007.xml" class="whiteLink">pos007.xml</a></td>
</tr>
<tr>
<td class="TestXML" colspan="4">
<pre>&lt;?xml version="1.0"?&gt;
&lt;powder xmlns="http://www.w3.org/2007/05/powder#"
xmlns:ex="http://example.org/vocab#"&gt;
&lt;attribution&gt;
&lt;issuedby src="http://authority.example.org/company.rdf#me" /&gt;
&lt;abouthosts&gt;example.org example.com&lt;/abouthosts&gt;
&lt;/attribution&gt;
&lt;descriptorset xml:id="red"&gt;
&lt;ex:color&gt;red&lt;/ex:color&gt;
&lt;/descriptorset&gt;
&lt;descriptorset xml:id="blue"&gt;
&lt;ex:color&gt;blue&lt;/ex:color&gt;
&lt;/descriptorset&gt;
&lt;/powder&gt;
</pre></td>
</tr>
</tbody></table>
<table summary="A POWDER document may include descriptor set elements without a dr element" id="pos-parse008" class="TestTable">
<tbody><tr>
<td class="TestType">Parser Test</td>
<td class="TestType">Positive</td>
<td class="TestDescription">A dr element within a POWDER document must contain one or more iriset elements</td>
<td class="TestNumber">008</td>
</tr>
<tr>
<td class="TestDescriptionHead" colspan="4">Test Assertions</td>
</tr>
<tr>
<td class="TestContent" colspan="4">If a valid POWDER document contains <em><strong>dr </strong></em>elements, they must include one or more <em><strong>iriset </strong></em>elements</td>
</tr>
<tr>
<td class="TestContent" colspan="4"><a href="http://www.w3.org/TR/powder-dr/#directDescript">Protocol for Web Description Resources (POWDER): Description Resources Section 2.5 Direct Resource Description</a></td>
</tr>
<tr>
<td class="TestDescriptionHead" colspan="4">Description</td>
</tr>
<tr>
<td class="TestDescription" colspan="4">
<a href="tests/positive_parser_tests/Manifestpos008.rdf">Manifestpos008.rdf</a></td>
</tr>
<tr>
<td class="TestNamespacesHead" colspan="4">Preconditions - Namespace</td>
</tr>
<tr>
<td class="TestContent" colspan="4">@prefix ex: &lt;http://example.org/vocab#&gt;</td>
</tr>
<tr>
<td class="TestDescriptionHead" colspan="4">Documents <a href="tests/positive_parser_tests/pos008.xml" class="whiteLink">pos008.xml</a></td>
</tr>
<tr>
<td class="TestXML" colspan="4">
<pre>&lt;?xml version="1.0"?&gt;
&lt;powder xmlns="http://www.w3.org/2007/05/powder#"
xmlns:ex="http://example.org/vocab#"&gt;
&lt;attribution&gt;
&lt;issuedby src="http://authority.example.org/company.rdf#me" /&gt;
&lt;issued&gt;2007-12-14T00:00:00&lt;/issued&gt;
&lt;abouthosts&gt;example.org example.com&lt;/abouthosts&gt;
&lt;/attribution&gt;
&lt;dr&gt;
&lt;iriset&gt;
&lt;includehosts&gt;example.com&lt;/includehosts&gt;
&lt;includepathstartswith&gt;/foo&lt;/includepathstartswith&gt;
&lt;/iriset&gt;
&lt;iriset&gt;
&lt;includehosts&gt;example.org&lt;/includehosts&gt;
&lt;includepathstartswith&gt;/bar&lt;/includepathstartswith&gt;
&lt;/iriset&gt;
&lt;descriptorset&gt;
&lt;ex:color&gt;red&lt;/ex:color&gt;
&lt;ex:shape&gt;square&lt;/ex:shape&gt;
&lt;displaytext&gt;Everything on example.com/foo and everything on example.org/bar is red and square&lt;/displaytext&gt;
&lt;displayicon src="http://example.org/icon.png"/&gt;
&lt;/descriptorset&gt;
&lt;/dr&gt;
&lt;/powder&gt;
</pre></td>
</tr>
</tbody></table>
<table summary="A POWDER document may include references to pre-defined description in remote descriptor sets" id="posparse-009" class="TestTable">
<tbody><tr>
<td class="TestType">Parser Test</td>
<td class="TestType">Positive</td>
<td class="TestDescription">A POWDER document may include references to descriptor sets defined in a remote POWDER document</td>
<td class="TestNumber">009</td>
</tr>
<tr>
<td class="TestDescriptionHead" colspan="4">Test Assertion</td>
</tr>
<tr>
<td class="TestContent" colspan="4">A valid POWDER document may contain <em><strong>descriptorset</strong></em> elements that point to externally defined descriptor sets </td>
</tr>
<tr>
<td class="TestContent" colspan="4"><a href="http://www.w3.org/TR/powder-dr/#preDefinedDescriptors">Protocol for Web Description Resources (POWDER): Description Resources Section 2.6 Pre-defined descriptors</a></td>
</tr>
<tr>
<td class="TestDescriptionHead" colspan="4">Description</td>
</tr>
<tr>
<td class="TestDescription" colspan="4">
<a href="tests/positive_parser_tests/Manifestpos009.rdf">Manifestpos009.rdf</a></td>
</tr>
<tr>
<td colspan="4" class="TestNamespacesHead">Preconditions - Namespace</td>
</tr>
<tr>
<td class="TestContent" colspan="4">@prefix ex: &lt;http://example.org/vocab#&gt;</td>
</tr>
<tr>
<td class="TestDescriptionHead" colspan="4">Documents <a href="tests/positive_parser_tests/pos009.xml" class="whiteLink">pos009.xml</a></td>
</tr>
<tr>
<td class="TestXML" colspan="4">
<pre>&lt;?xml version="1.0"?&gt;
&lt;powder xmlns="http://www.w3.org/2007/05/powder#"&gt;
&lt;attribution&gt;
&lt;issuedby src="http://books.example.com/company.rdf#me" /&gt;
&lt;issued&gt;2008-03-03T00:00:00&lt;/issued&gt;
&lt;/attribution&gt;
&lt;dr&gt;
&lt;iriset&gt;
&lt;includehosts&gt;books.example.com&lt;/includehosts&gt;
&lt;includepathstartswith&gt;/robin/&lt;/includepathstartswith&gt;
&lt;/iriset&gt;
&lt;descriptorset src="http://education.example.org/powder1.xml#ks1" /&gt;
&lt;/dr&gt;
&lt;/powder&gt;
</pre></td>
</tr>
</tbody></table>
<table summary="A DR element may contain multiple descriptor set elements" id="posparse-010" class="TestTable">
<tbody><tr>
<td class="TestType">Parser Test</td>
<td class="TestType">Positive</td>
<td class="TestDescription">A POWDER document may contain Description Resources with multiple descriptorset elements</td>
<td class="TestNumber">010</td>
</tr>
<tr>
<td class="TestDescriptionHead" colspan="4">Test Assertion</td>
</tr>
<tr>
<td class="TestContent" colspan="4">A valid POWDER document may contain <em><strong>dr</strong></em> elements that contain more than one <em><strong>descriptorset</strong></em> elements</td>
</tr>
<tr>
<td class="TestContent" colspan="4"><a href="http://www.w3.org/TR/powder-dr/#multiDesc">Protocol for Web Description Resources (POWDER): Description Resources Section 2.8.1 Multiple Descriptor Sets</a></td>
</tr>
<tr>
<td class="TestDescriptionHead" colspan="4">Description</td>
</tr>
<tr>
<td class="TestDescription" colspan="4">
<a href="tests/positive_parser_tests/Manifestpos010.rdf">Manifestpos010.rdf</a></td>
</tr>
<tr>
<td colspan="4" class="TestNamespacesHead">Preconditions - Namespace</td>
</tr>
<tr>
<td class="TestContent" colspan="4">@prefix ex: &lt;http://example.org/vocab#&gt;</td>
</tr>
<tr>
<td class="TestDescriptionHead" colspan="4">Documents <a href="tests/positive_parser_tests/pos010.xml" class="whiteLink">pos010.xml</a></td>
</tr>
<tr>
<td class="TestXML" colspan="4">
<pre>&lt;?xml version="1.0"?&gt;
&lt;powder xmlns="http://www.w3.org/2007/05/powder#"
xmlns:ex="http://example.org/vocab#"&gt;
&lt;attribution&gt;
&lt;issuedby src="http://authority.example.org/company.rdf#me" /&gt;
&lt;issued&gt;2007-12-14T00:00:00&lt;/issued&gt;
&lt;/attribution&gt;
&lt;dr&gt;
&lt;iriset&gt;
&lt;includehosts&gt;movie.example.com&lt;/includehosts&gt;
&lt;includepathstartswith&gt;/after9pm&lt;/includepathstartswith&gt;
&lt;/iriset&gt;
&lt;descriptorset&gt;
&lt;ex:agemin&gt;18&lt;/ex:agemin&gt;
&lt;/descriptorset&gt;
&lt;descriptorset&gt;
&lt;typeof src="http://trust.example.org/vocab#trustedsite"/&gt;
&lt;/descriptorset&gt;
&lt;/dr&gt;
&lt;/powder&gt;
</pre></td>
</tr>
</tbody></table>
<table summary="A DR element may contain Description Resources that are referenced in various parts of the document" id="posparse-011" class="TestTable">
<tbody><tr><td class="TestType">Parser Test</td>
<td class="TestType">Positive</td>
<td class="TestDescription">A POWDER document may contain Description Resources that are referenced in various parts of the document</td>
<td class="TestNumber">011</td>
</tr>
<tr>
<td class="TestDescriptionHead" colspan="4">Test Assertion</td>
</tr>
<tr>
<td class="TestContent" colspan="4">A valid POWDER document may contain <em><strong>descriptorsets</strong></em> elements with a <em><strong>node</strong></em>attibute that can subsequently be referenced in one or more <em><strong>descriptorset</strong></em> elements in the document</td>
</tr>
<tr>
<td class="TestContent" colspan="4"><a href="http://www.w3.org/TR/powder-dr/#multiDesc">Protocol for Web Description Resources (POWDER): Description Resources Section 2.8.1 Multiple Descriptor Sets</a></td>
</tr>
<tr>
<td class="TestDescriptionHead" colspan="4">Description</td>
</tr>
<tr>
<td class="TestDescription" colspan="4">
<a href="tests/positive_parser_tests/Manifestpos011.rdf">Manifestpos011.rdf</a></td>
</tr>
<tr>
<td colspan="4" class="TestNamespacesHead">Preconditions - Namespace</td>
</tr>
<tr>
<td class="TestContent" colspan="4">@prefix ex: &lt;http://example.org/vocab#&gt;</td>
</tr>
<tr>
<td class="TestDescriptionHead" colspan="4">Documents <a href="tests/positive_parser_tests/pos011.xml" class="whiteLink">pos011.xml</a></td>
</tr>
<tr>
<td class="TestXML" colspan="4">
<pre>&lt;?xml version="1.0"?&gt;
&lt;powder xmlns="http://www.w3.org/2007/05/powder#"
xmlns:ex="http://example.org/vocab#"&gt;
&lt;attribution&gt;
&lt;issuedby src="http://authority.example.org/company.rdf#me" /&gt;
&lt;issued&gt;2007-12-14T00:00:00&lt;/issued&gt;
&lt;/attribution&gt;
&lt;dr&gt;
&lt;iriset&gt;
&lt;includehosts&gt;movie.example.com&lt;/includehosts&gt;
&lt;includepathstartswith&gt;/after9pm&lt;/includepathstartswith&gt;
&lt;/iriset&gt;
&lt;descriptorset include="adult" /&gt;
&lt;descriptorset include="trustmark" /&gt;
&lt;/dr&gt;
&lt;descriptorset node="adult"&gt;
&lt;ex:agemin&gt;18&lt;/ex:agemin&gt;
&lt;/descriptorset&gt;
&lt;descriptorset node="trustmark"&gt;
&lt;typeof src="http://trust.example.org/vocab#trustedsite" /&gt;
&lt;/descriptorset&gt;
&lt;/powder&gt;
</pre></td>
</tr>
</tbody></table>
<table summary="The value of a descriptor may be an XML Literal" id="posparse-012" class="TestTable">
<tbody><tr>
<td class="TestType">Parser Test</td>
<td class="TestType">Positive</td>
<td class="TestDescription">The value of a descriptor may be an XML Literal</td>
<td class="TestNumber">012</td>
</tr>
<tr>
<td class="TestDescriptionHead" colspan="4">Test Assertion</td>
</tr>
<tr>
<td class="TestContent" colspan="4">A valid POWDER document may contain <em><strong>descriptorset</strong></em> elements that contain XML elements</td>
</tr>
<tr>
<td class="TestContent" colspan="4"><a href="http://www.w3.org/TR/powder-dr/#xmldata">Protocol for Web Description Resources (POWDER): Description Resources Section 2.8.2 XML Data in POWDER</a></td>
</tr>
<tr>
<td class="TestDescriptionHead" colspan="4">Description</td>
</tr>
<tr>
<td class="TestDescription" colspan="4">
<a href="tests/positive_parser_tests/Manifestpos012.rdf">Manifestpos012.rdf</a></td>
</tr>
<tr>
<td colspan="4" class="TestNamespacesHead">Preconditions - Namespace</td>
</tr>
<tr>
<td class="TestContent" colspan="4">@prefix ex: &lt;http://example.org/vocab#&gt;</td>
</tr>
<tr>
<td class="TestDescriptionHead" colspan="4">Documents <a href="tests/positive_parser_tests/pos012.xml" class="whiteLink">pos012.xml</a></td>
</tr>
<tr>
<td class="TestXML" colspan="4">
<pre>&lt;?xml version="1.0"?&gt;
&lt;powder xmlns:ex="http://example.org/vocab#"
xmlns:ex2="http://example.org/palette#"
xmlns="http://www.w3.org/2007/05/powder#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"&gt;
&lt;attribution&gt;
&lt;issuedby src="http://authority.example.org/company.rdf#me" /&gt;
&lt;issued&gt;2007-12-14T00:00:00&lt;/issued&gt;
&lt;/attribution&gt;
&lt;dr&gt;
&lt;iriset&gt;
&lt;includehosts&gt;example.org&lt;/includehosts&gt;
&lt;/iriset&gt;
&lt;descriptorset&gt;
&lt;ex:color rdf:parseType="Literal"&gt;
&lt;ex2:hex&gt;ff0000&lt;/ex2:hex&gt;
&lt;ex2:red&gt;255&lt;/ex2:red&gt;
&lt;ex2:green&gt;0&lt;/ex2:green&gt;
&lt;ex2:blue&gt;0&lt;/ex2:blue&gt;
&lt;/ex:color&gt;
&lt;displaytext&gt;Everything on example.org is red&lt;/displaytext&gt;
&lt;displayicon src="http://example.org/icon.png" /&gt;
&lt;/descriptorset&gt;
&lt;/dr&gt;
&lt;/powder&gt;
</pre></td>
</tr>
</tbody></table>
<table class="TestTable" summary="Cardinalities of include schemes" id="posparse-013">
<tbody><tr>
<td class="TestType"><div>Parser Test</div></td>
<td class="TestType">Positive</td>
<td class="TestDescription">The includeschemes element may occur zero or exactly one time</td>
<td class="TestNumber">013</td>
</tr>
<tr>
<td class="TestDescriptionHead" colspan="4">Test Assertion</td>
</tr>
<tr>
<td class="TestContent" colspan="4">An <em><strong>iriset</strong></em> element MUST contain zero or exactly one occurence of the <em><strong>includeschemes</strong></em> element</td>
</tr>
<tr>
<td class="TestContent" colspan="4"><a href="http://www.w3.org/TR/powder-grouping/#byIRIcomp">Protocol for Web Description Resources (POWDER): Grouping of Resources Section 2.1 Constraints on IRI components</a></td>
</tr>
<tr>
<td class="TestDescriptionHead" colspan="4">Description</td>
</tr>
<tr>
<td class="TestContent" colspan="4">
<a href="tests/positive_parser_tests/Manifestpos013.rdf">Manifestpos013.rdf</a></td>
</tr>
<tr>
<td class="TestNamespacesHead" colspan="4">Preconditions - Namespace</td>
</tr>
<tr>
<td class="TestContent" colspan="4">@prefix ex: &lt;http://example.org/vocab#&gt;</td>
</tr>
<tr>
<td class="TestDescriptionHead" colspan="4">Documents <a href="tests/positive_parser_tests/pos013.xml" class="whiteLink">pos013.xml</a></td>
</tr>
<tr>
<td class="TestXML" colspan="4">
<pre>&lt;?xml version="1.0"?&gt;
&lt;powder xmlns="http://www.w3.org/2007/05/powder#"
xmlns:ex="http://example.org/vocab#"&gt;
&lt;attribution&gt;
&lt;issuedby src="http://authority.example.org/company.rdf#me" /&gt;
&lt;issued&gt;2007-12-14T00:00:00&lt;/issued&gt;
&lt;/attribution&gt;
&lt;dr&gt;
&lt;iriset&gt;
&lt;includeschemes&gt;http https&lt;/includeschemes&gt;
&lt;includehosts&gt;example.org&lt;/includehosts&gt;
&lt;/iriset&gt;
&lt;descriptorset&gt;
&lt;ex:color&gt;red&lt;/ex:color&gt;
&lt;ex:shape&gt;square&lt;/ex:shape&gt;
&lt;displaytext&gt;Everything on example.org is red and square&lt;/displaytext&gt;
&lt;displayicon src="http://example.org/icon.png" /&gt;
&lt;/descriptorset&gt;
&lt;/dr&gt;
&lt;/powder&gt;
</pre></td>
</tr>
</tbody></table>
<table class="TestTable" summary="Cardinalities of include schemes" id="posparse-014">
<tbody><tr>
<td class="TestType"><div>Parser Test</div></td>
<td class="TestType">Positive</td>
<td class="TestDescription">The includehosts element may occur zero or exactly one time</td>
<td class="TestNumber">014</td>
</tr>
<tr>
<td class="TestDescriptionHead" colspan="4">Test Assertion</td>
</tr>
<tr>
<td class="TestContent" colspan="4">An <em><strong>iriset</strong></em> element MUST contain zero or exactly one occurence of the <em><strong>includehosts</strong></em> element</td>
</tr>
<tr>
<td class="TestContent" colspan="4"><a href="http://www.w3.org/TR/powder-grouping/#byIRIcomp">Protocol for Web Description Resources (POWDER): Grouping of Resources Section 2.1 Constraints on IRI components</a></td>
</tr>
<tr>
<td class="TestDescriptionHead" colspan="4">Description</td>
</tr>
<tr>
<td class="TestContent" colspan="4">
<a href="tests/positive_parser_tests/Manifestpos014.rdf">Manifestpos014.rdf</a></td>
</tr>
<tr>
<td class="TestNamespacesHead" colspan="4">Preconditions - Namespace</td>
</tr>
<tr>
<td class="TestContent" colspan="4">@prefix ex: &lt;http://example.org/vocab#&gt;</td>
</tr>
<tr>
<td class="TestDescriptionHead" colspan="4">Documents <a href="tests/positive_parser_tests/pos014.xml" class="whiteLink">pos014.xml</a></td>
</tr>
<tr>
<td class="TestXML" colspan="4">
<pre>&lt;?xml version="1.0"?&gt;
&lt;powder xmlns="http://www.w3.org/2007/05/powder#"
xmlns:ex="http://example.org/vocab#"&gt;
&lt;attribution&gt;
&lt;issuedby src="http://authority.example.org/company.rdf#me" /&gt;
&lt;issued&gt;2007-12-14T00:00:00&lt;/issued&gt;
&lt;/attribution&gt;
&lt;dr&gt;
&lt;iriset&gt;
&lt;includehosts&gt;example.org&lt;/includehosts&gt;
&lt;/iriset&gt;
&lt;descriptorset&gt;
&lt;ex:color&gt;red&lt;/ex:color&gt;
&lt;ex:shape&gt;square&lt;/ex:shape&gt;
&lt;displaytext&gt;Everything on example.org is red and square&lt;/displaytext&gt;
&lt;displayicon src="http://example.org/icon.png" /&gt;
&lt;/descriptorset&gt;
&lt;/dr&gt;
&lt;/powder&gt;
</pre></td>
</tr>
</tbody></table>
<table class="TestTable" summary="Cardinalities of include schemes" id="posparse-015">
<tbody><tr>
<td class="TestType"><div>Parser Test</div></td>
<td class="TestType">Positive</td>
<td class="TestDescription">The includeexactpaths element may occur zero or exactly one time</td>
<td class="TestNumber">015</td>
</tr>
<tr>
<td class="TestDescriptionHead" colspan="4">Test Assertion</td>
</tr>
<tr>
<td class="TestContent" colspan="4">An <em><strong>iriset</strong></em> element MUST contain zero or exactly one occurence of the <em><strong>includeexactpaths</strong></em> element</td>
</tr>
<tr>
<td class="TestContent" colspan="4"><a href="http://www.w3.org/TR/powder-grouping/#byIRIcomp">Protocol for Web Description Resources (POWDER): Grouping of Resources Section 2.1 Constraints on IRI components</a></td>
</tr>
<tr>
<td class="TestDescriptionHead" colspan="4">Description</td>
</tr>
<tr>
<td class="TestContent" colspan="4">
<a href="tests/positive_parser_tests/Manifestpos015.rdf">Manifestpos015.rdf</a></td>
</tr>
<tr>
<td class="TestNamespacesHead" colspan="4">Preconditions - Namespace</td>
</tr>
<tr>
<td class="TestContent" colspan="4">@prefix ex: &lt;http://example.org/vocab#&gt;</td>
</tr>
<tr>
<td class="TestDescriptionHead" colspan="4">Documents <a href="tests/positive_parser_tests/pos015.xml" class="whiteLink">pos015.xml</a></td>
</tr>
<tr>
<td class="TestXML" colspan="4">
<pre>&lt;?xml version="1.0"?&gt;
&lt;powder xmlns="http://www.w3.org/2007/05/powder#"
xmlns:ex="http://example.org/vocab#"&gt;
&lt;attribution&gt;
&lt;issuedby src="http://authority.example.org/company.rdf#me" /&gt;
&lt;issued&gt;2007-12-14T00:00:00&lt;/issued&gt;
&lt;/attribution&gt;
&lt;dr&gt;
&lt;iriset&gt;
&lt;includehosts&gt;example.org&lt;/includehosts&gt;
&lt;includeexactpaths&gt;/foo/products/ /foo/retailers/&lt;/includeexactpaths&gt;
&lt;/iriset&gt;
&lt;descriptorset&gt;
&lt;ex:color&gt;red&lt;/ex:color&gt;
&lt;ex:shape&gt;square&lt;/ex:shape&gt;
&lt;displaytext&gt;Everything on example.org/foo/products/ and example.org/foo/retailers/ is red and square&lt;/displaytext&gt;
&lt;displayicon src="http://example.org/icon.png" /&gt;
&lt;/descriptorset&gt;
&lt;/dr&gt;
&lt;/powder&gt;
</pre></td>
</tr>
</tbody></table>
<table class="TestTable" summary="Cardinalities of include schemes" id="posparse-016">
<tbody><tr>
<td class="TestType"><div>Parser Test</div></td>
<td class="TestType">Positive</td>
<td class="TestDescription">The includepathcontains element may occur zero or more times</td>
<td class="TestNumber">016</td>
</tr>
<tr>
<td class="TestDescriptionHead" colspan="4">Test Assertion</td>
</tr>
<tr>
<td class="TestContent" colspan="4">An <em><strong>iriset</strong></em> element may contain any number of <em><strong>includepathcontains</strong></em> elements</td>
</tr>
<tr>
<td class="TestContent" colspan="4"><a href="http://www.w3.org/TR/powder-grouping/#byIRIcomp">Protocol for Web Description Resources (POWDER): Grouping of Resources Section 2.1 Constraints on IRI components</a></td>
</tr>
<tr>
<td class="TestDescriptionHead" colspan="4">Description</td>
</tr>
<tr>
<td class="TestContent" colspan="4">
<a href="tests/positive_parser_tests/Manifestpos016.rdf">Manifestpos016.rdf</a></td>
</tr>
<tr>
<td class="TestNamespacesHead" colspan="4">Preconditions - Namespace</td>
</tr>
<tr>
<td class="TestContent" colspan="4">@prefix ex: &lt;http://example.org/vocab#&gt;</td>
</tr>
<tr>
<td class="TestDescriptionHead" colspan="4">Documents <a href="tests/positive_parser_tests/pos016.xml" class="whiteLink">pos016.xml</a></td>
</tr>
<tr>
<td class="TestXML" colspan="4">
<pre>&lt;?xml version="1.0"?&gt;
&lt;powder xmlns="http://www.w3.org/2007/05/powder#"
xmlns:ex="http://example.org/vocab#"&gt;
&lt;attribution&gt;
&lt;issuedby src="http://authority.example.org/company.rdf#me" /&gt;
&lt;issued&gt;2007-12-14T00:00:00&lt;/issued&gt;
&lt;/attribution&gt;
&lt;dr&gt;
&lt;iriset&gt;
&lt;includehosts&gt;example.org&lt;/includehosts&gt;
&lt;includepathcontains&gt;/products/&lt;/includepathcontains&gt;
&lt;includepathcontains&gt;/retailers/&lt;/includepathcontains&gt;
&lt;/iriset&gt;
&lt;descriptorset&gt;
&lt;ex:color&gt;red&lt;/ex:color&gt;
&lt;ex:shape&gt;square&lt;/ex:shape&gt;
&lt;displaytext&gt;Every product or retailer related content on example.org is red and square&lt;/displaytext&gt;
&lt;displayicon src="http://example.org/icon.png" /&gt;
&lt;/descriptorset&gt;
&lt;/dr&gt;
&lt;/powder&gt;
</pre></td>
</tr>
</tbody></table>
<table class="TestTable" summary="Cardinalities of include schemes" id="posparse-017">
<tbody><tr>
<td class="TestType"><div>Parser Test</div></td>
<td class="TestType">Positive</td>
<td class="TestDescription">The includepathbeginswith element may occur zero or exactly one time</td>
<td class="TestNumber">017</td>
</tr>
<tr>
<td class="TestDescriptionHead" colspan="4">Test Assertion</td>
</tr>
<tr>
<td class="TestContent" colspan="4">An <em><strong>iriset</strong></em> element MUST contain zero or exactly one occurence of the <em><strong>includepathbeginswith</strong></em> element</td>
</tr>
<tr>
<td class="TestContent" colspan="4"><a href="http://www.w3.org/TR/powder-grouping/#byIRIcomp">Protocol for Web Description Resources (POWDER): Grouping of Resources Section 2.1 Constraints on IRI components</a></td>
</tr>
<tr>
<td class="TestDescriptionHead" colspan="4">Description</td>
</tr>
<tr>
<td class="TestContent" colspan="4">
<a href="tests/positive_parser_tests/Manifestpos017.rdf">Manifestpos017.rdf</a></td>
</tr>
<tr>
<td class="TestNamespacesHead" colspan="4">Preconditions - Namespace</td>
</tr>
<tr>
<td class="TestContent" colspan="4">@prefix ex: &lt;http://example.org/vocab#&gt;</td>
</tr>
<tr>
<td class="TestDescriptionHead" colspan="4">Documents <a href="tests/positive_parser_tests/pos017.xml" class="whiteLink">pos017.xml</a></td>
</tr>
<tr>
<td class="TestXML" colspan="4">
<pre>&lt;?xml version="1.0"?&gt;
&lt;powder xmlns="http://www.w3.org/2007/05/powder#"
xmlns:ex="http://example.org/vocab#"&gt;
&lt;attribution&gt;
&lt;issuedby src="http://authority.example.org/company.rdf#me" /&gt;
&lt;issued&gt;2007-12-14T00:00:00&lt;/issued&gt;
&lt;/attribution&gt;
&lt;dr&gt;
&lt;iriset&gt;
&lt;includehosts&gt;example.org&lt;/includehosts&gt;
&lt;includepathstartswith&gt;/foo/ /bar/&lt;/includepathstartswith&gt;
&lt;/iriset&gt;
&lt;descriptorset&gt;
&lt;ex:color&gt;red&lt;/ex:color&gt;
&lt;ex:shape&gt;square&lt;/ex:shape&gt;
&lt;displaytext&gt;Everything on example.org/foo/ and example.org/bar/ is red and square&lt;/displaytext&gt;
&lt;displayicon src="http://example.org/icon.png" /&gt;
&lt;/descriptorset&gt;
&lt;/dr&gt;
&lt;/powder&gt;
</pre></td>
</tr>
</tbody></table>
<table class="TestTable" summary="Cardinalities of include schemes" id="posparse-018">
<tbody><tr>
<td class="TestType"><div>Parser Test</div></td>
<td class="TestType">Positive</td>
<td class="TestDescription">The includepathendswith element may occur zero or exactly one time</td>
<td class="TestNumber">018</td>
</tr>
<tr>
<td class="TestDescriptionHead" colspan="4">Test Assertion</td>
</tr>
<tr>
<td class="TestContent" colspan="4">An <em><strong>iriset</strong></em> element MUST contain zero or exactly one occurence of the <em><strong>includepathendswith</strong></em> element</td>
</tr>
<tr>
<td class="TestContent" colspan="4"><a href="http://www.w3.org/TR/powder-grouping/#byIRIcomp">Protocol for Web Description Resources (POWDER): Grouping of Resources Section 2.1 Constraints on IRI components</a></td>
</tr>
<tr>
<td class="TestDescriptionHead" colspan="4">Description</td>
</tr>
<tr>
<td class="TestContent" colspan="4">
<a href="tests/positive_parser_tests/Manifestpos018.rdf">Manifestpos018.rdf</a></td>
</tr>
<tr>
<td class="TestNamespacesHead" colspan="4">Preconditions - Namespace</td>
</tr>
<tr>
<td class="TestContent" colspan="4">@prefix ex: &lt;http://example.org/vocab#&gt;</td>
</tr>
<tr>
<td class="TestDescriptionHead" colspan="4">Documents <a href="tests/positive_parser_tests/pos018.xml" class="whiteLink">pos018.xml</a></td>
</tr>
<tr>
<td class="TestXML" colspan="4">
<pre>&lt;?xml version="1.0"?&gt;
&lt;powder xmlns="http://www.w3.org/2007/05/powder#"
xmlns:ex="http://example.org/vocab#"&gt;
&lt;attribution&gt;
&lt;issuedby src="http://authority.example.org/company.rdf#me" /&gt;
&lt;issued&gt;2007-12-14T00:00:00&lt;/issued&gt;
&lt;/attribution&gt;
&lt;dr&gt;
&lt;iriset&gt;
&lt;includehosts&gt;example.org&lt;/includehosts&gt;
&lt;includepathendswith&gt;index.htm index.html&lt;/includepathendswith&gt;
&lt;/iriset&gt;
&lt;descriptorset&gt;
&lt;ex:color&gt;red&lt;/ex:color&gt;
&lt;ex:shape&gt;square&lt;/ex:shape&gt;
&lt;displaytext&gt;Every home page on example.org is red and square&lt;/displaytext&gt;
&lt;displayicon src="http://example.org/icon.png" /&gt;
&lt;/descriptorset&gt;
&lt;/dr&gt;
&lt;/powder&gt;
</pre></td>
</tr>
</tbody></table>
<table class="TestTable" summary="Cardinalities of include schemes" id="posparse-019">
<tbody><tr>
<td class="TestType"><div>Parser Test</div></td>
<td class="TestType">Positive</td>
<td class="TestDescription">The includeports element may occur zero or exactly one time</td>
<td class="TestNumber">019</td>
</tr>
<tr>
<td class="TestDescriptionHead" colspan="4">Test Assertion</td>
</tr>
<tr>
<td class="TestContent" colspan="4">An <em><strong>iriset</strong></em> element MUST contain zero or exactly one occurence of the <em><strong>includeports</strong></em> element</td>
</tr>
<tr>
<td class="TestContent" colspan="4"><a href="http://www.w3.org/TR/powder-grouping/#byIRIcomp">Protocol for Web Description Resources (POWDER): Grouping of Resources Section 2.1 Constraints on IRI components</a></td>
</tr>
<tr>
<td class="TestDescriptionHead" colspan="4">Description</td>
</tr>
<tr>
<td class="TestContent" colspan="4">
<a href="tests/positive_parser_tests/Manifestpos019.rdf">Manifestpos019.rdf</a></td>
</tr>
<tr>
<td class="TestNamespacesHead" colspan="4">Preconditions - Namespace</td>
</tr>
<tr>
<td class="TestContent" colspan="4">@prefix ex: &lt;http://example.org/vocab#&gt;</td>
</tr>
<tr>
<td class="TestDescriptionHead" colspan="4">Documents <a href="tests/positive_parser_tests/pos019.xml" class="whiteLink">pos019.xml</a></td>
</tr>
<tr>
<td class="TestXML" colspan="4">
<pre>&lt;?xml version="1.0"?&gt;
&lt;powder xmlns="http://www.w3.org/2007/05/powder#"
xmlns:ex="http://example.org/vocab#"&gt;
&lt;attribution&gt;
&lt;issuedby src="http://authority.example.org/company.rdf#me" /&gt;
&lt;issued&gt;2007-12-14T00:00:00&lt;/issued&gt;
&lt;/attribution&gt;
&lt;dr&gt;
&lt;iriset&gt;
&lt;includehosts&gt;example.org&lt;/includehosts&gt;
&lt;includeports&gt;8080 8180 8280&lt;/includeports&gt;
&lt;/iriset&gt;
&lt;descriptorset&gt;
&lt;ex:color&gt;red&lt;/ex:color&gt;
&lt;ex:shape&gt;square&lt;/ex:shape&gt;
&lt;displaytext&gt;Everything on example.org is red and square&lt;/displaytext&gt;
&lt;displayicon src="http://example.org/icon.png" /&gt;
&lt;/descriptorset&gt;
&lt;/dr&gt;
&lt;/powder&gt;
</pre></td>
</tr>
</tbody></table>
<table class="TestTable" summary="Cardinalities of include schemes" id="posparse-020">
<tbody><tr>
<td class="TestType"><div>Parser Test</div></td>
<td class="TestType">Positive</td>
<td class="TestDescription">The includequerycontains element may occur zero or or exactly one time</td>
<td class="TestNumber">020</td>
</tr>
<tr>
<td class="TestDescriptionHead" colspan="4">Test Assertion</td>
</tr>
<tr>
<td class="TestContent" colspan="4">An <em><strong>iriset</strong></em> element may contain zero or exactly one occurence of the <em><strong>includequerycontains</strong></em> element</td>
</tr>
<tr>
<td class="TestContent" colspan="4"><a href="http://www.w3.org/TR/powder-grouping/#byIRIcomp">Protocol for Web Description Resources (POWDER): Grouping of Resources Section 2.1 Constraints on IRI components</a></td>
</tr>
<tr>
<td class="TestDescriptionHead" colspan="4">Description</td>
</tr>
<tr>
<td class="TestContent" colspan="4">
<a href="tests/positive_parser_tests/Manifestpos020.rdf">Manifestpos020.rdf</a></td>
</tr>
<tr>
<td class="TestNamespacesHead" colspan="4">Preconditions - Namespace</td>
</tr>
<tr>
<td class="TestContent" colspan="4">@prefix ex: &lt;http://example.org/vocab#&gt;</td>
</tr>
<tr>
<td class="TestDescriptionHead" colspan="4">Documents <a href="tests/positive_parser_tests/pos020.xml" class="whiteLink">pos020.xml</a></td>
</tr>
<tr>
<td class="TestXML" colspan="4">
<pre>&lt;?xml version="1.0"?&gt;
&lt;powder xmlns="http://www.w3.org/2007/05/powder#"
xmlns:ex="http://example.org/vocab#"&gt;
&lt;attribution&gt;
&lt;issuedby src="http://authority.example.org/company.rdf#me" /&gt;
&lt;issued&gt;2007-12-14T00:00:00&lt;/issued&gt;
&lt;/attribution&gt;
&lt;dr&gt;
&lt;iriset&gt;
&lt;includehosts&gt;example.org&lt;/includehosts&gt;
&lt;includequerycontains&gt;id=abcdef&amp;amp;group=12345&lt;/includequerycontains&gt;
&lt;/iriset&gt;
&lt;descriptorset&gt;
&lt;ex:color&gt;red&lt;/ex:color&gt;
&lt;ex:shape&gt;square&lt;/ex:shape&gt;
&lt;displaytext&gt;Products on example.org that are red and square&lt;/displaytext&gt;
&lt;displayicon src="http://example.org/icon.png" /&gt;
&lt;/descriptorset&gt;
&lt;/dr&gt;
&lt;/powder&gt;
</pre></td>
</tr>
</tbody></table>
<table class="TestTable" summary="Cardinalities of include schemes" id="posparse-021">
<tbody><tr>
<td class="TestType"><div>Parser Test</div></td>
<td class="TestType">Positive</td>
<td class="TestDescription">The includeregex element may occur zero or more times</td>
<td class="TestNumber">021</td>
</tr>
<tr>
<td class="TestDescriptionHead" colspan="4">Test Assertion</td>
</tr>
<tr>
<td class="TestContent" colspan="4">An <em><strong>iriset</strong></em> element may contain zero or more occurences of the <em><strong>includeregex</strong></em> element</td>
</tr>
<tr>
<td class="TestContent" colspan="4"><a href="http://www.w3.org/TR/powder-grouping/#byIRIcomp">Protocol for Web Description Resources (POWDER): Grouping of Resources Section 2.1 Constraints on IRI components</a></td>
</tr>
<tr>
<td class="TestDescriptionHead" colspan="4">Description</td>
</tr>
<tr>
<td class="TestContent" colspan="4">
<a href="tests/positive_parser_tests/Manifestpos021.rdf">Manifestpos021.rdf</a></td>
</tr>
<tr>
<td class="TestNamespacesHead" colspan="4">Preconditions - Namespace</td>
</tr>
<tr>
<td class="TestContent" colspan="4">@prefix ex: &lt;http://example.org/vocab#&gt;</td>
</tr>
<tr>
<td class="TestDescriptionHead" colspan="4">Documents <a href="tests/positive_parser_tests/pos021.xml" class="whiteLink">pos021.xml</a></td>
</tr>
<tr>
<td class="TestXML" colspan="4">
<pre>&lt;?xml version="1.0"?&gt;
&lt;powder xmlns="http://www.w3.org/2007/05/powder#"
xmlns:ex="http://example.org/vocab#"&gt;
&lt;attribution&gt;
&lt;issuedby src="http://authority.example.org/company.rdf#me" /&gt;
&lt;issued&gt;2007-12-14T00:00:00&lt;/issued&gt;
&lt;/attribution&gt;
&lt;dr&gt;
&lt;iriset&gt;
&lt;includeregex&gt;^(([^\:\/\?\#]+)\:)//([^\:\/\?\#]+\.)?example\.(org|net)/(foo|bar)&lt;/includeregex&gt;
&lt;includeregex&gt;(\.jpg|\.png|\.gif)$&lt;/includeregex&gt;
&lt;/iriset&gt;
&lt;descriptorset&gt;
&lt;ex:color&gt;red&lt;/ex:color&gt;
&lt;ex:shape&gt;square&lt;/ex:shape&gt;
&lt;displaytext&gt;All images on example.org/foo, example.org/bar, example.net/foo and example.net/bar are red and square&lt;/displaytext&gt;
&lt;displayicon src="http://example.org/icon.png" /&gt;
&lt;/descriptorset&gt;
&lt;/dr&gt;
&lt;/powder&gt;
</pre></td>
</tr>
</tbody></table>
<table class="TestTable" summary="Cardinalities of include schemes" id="posparse-022">
<tbody><tr>
<td class="TestType"><div>Parser Test</div></td>
<td class="TestType">Positive</td>
<td class="TestDescription">The includeresources element may occur zero or exactly one time</td>
<td class="TestNumber">022</td>
</tr>
<tr>
<td class="TestDescriptionHead" colspan="4">Test Assertion</td>
</tr>
<tr>
<td class="TestContent" colspan="4">An <em><strong>iriset</strong></em> element may contain zero or exactly one occurence of the <em><strong>includeresources</strong></em> element</td>
</tr>
<tr>
<td class="TestContent" colspan="4"><a href="http://www.w3.org/TR/powder-grouping/#byIRIcomp">Protocol for Web Description Resources (POWDER): Grouping of Resources Section 2.1 Constraints on IRI components</a></td>
</tr>
<tr>
<td class="TestDescriptionHead" colspan="4">Description</td>
</tr>
<tr>
<td class="TestContent" colspan="4">
<a href="tests/positive_parser_tests/Manifestpos022.rdf">Manifestpos022.rdf</a></td>
</tr>
<tr>
<td class="TestNamespacesHead" colspan="4">Preconditions - Namespace</td>
</tr>
<tr>
<td class="TestContent" colspan="4">@prefix ex: &lt;http://example.org/vocab#&gt;</td>
</tr>
<tr>
<td class="TestDescriptionHead" colspan="4">Documents <a href="tests/positive_parser_tests/pos022.xml" class="whiteLink">pos022.xml</a></td>
</tr>
<tr>
<td class="TestXML" colspan="4">
<pre>&lt;?xml version="1.0"?&gt;
&lt;powder xmlns="http://www.w3.org/2007/05/powder#"
xmlns:ex="http://example.org/vocab#"&gt;
&lt;attribution&gt;
&lt;issuedby src="http://authority.example.org/company.rdf#me" /&gt;
&lt;issued&gt;2007-12-14T00:00:00&lt;/issued&gt;
&lt;/attribution&gt;
&lt;dr&gt;
&lt;iriset&gt;
&lt;includehosts&gt;example.org&lt;/includehosts&gt;
&lt;includepathstartswith&gt;/foo&lt;/includepathstartswith&gt;
&lt;includeresources&gt;http://example.org/bar/index.html&lt;/includeresources&gt;
&lt;/iriset&gt;
&lt;descriptorset&gt;
&lt;ex:color&gt;red&lt;/ex:color&gt;
&lt;ex:shape&gt;square&lt;/ex:shape&gt;
&lt;displaytext&gt;Everything on example.org/foo and http://example.org/bar/index.html is red and square&lt;/displaytext&gt;
&lt;displayicon src="http://example.org/icon.png" /&gt;
&lt;/descriptorset&gt;
&lt;/dr&gt;
&lt;/powder&gt;
</pre></td>
</tr>
</tbody></table>
<table class="TestTable" summary="Cardinalities of include schemes" id="posparse-023">
<tbody><tr>
<td class="TestType"><div>Parser Test</div></td>
<td class="TestType">Positive</td>
<td class="TestDescription">The includeiripattern element may occur zero or exactly one time</td>
<td class="TestNumber">023</td>
</tr>
<tr>
<td class="TestDescriptionHead" colspan="4">Test Assertion</td>
</tr>
<tr>
<td class="TestContent" colspan="4">An <em><strong>iriset</strong></em> element may contain zero or exactly one occurence of the <em><strong>includeiripattern</strong></em> element</td>
</tr>
<tr>
<td class="TestContent" colspan="4"><a href="http://www.w3.org/TR/2008/WD-powder-grouping-20081114/#wild">Protocol
for Web Description Resources (POWDER): Grouping of Resources Section
2.2 Grouping using Wildcards: The includeiripattern and
excludeiripattern IRI constraints</a></td>
</tr>
<tr>
<td class="TestDescriptionHead" colspan="4">Description</td>
</tr>
<tr>
<td class="TestContent" colspan="4">
<a href="tests/positive_parser_tests/Manifestpos023.rdf">Manifestpos023.rdf</a></td>
</tr>
<tr>
<td class="TestNamespacesHead" colspan="4">Preconditions - Namespace</td>
</tr>
<tr>
<td class="TestContent" colspan="4">@prefix ex: &lt;http://example.org/vocab#&gt;</td>
</tr>
<tr>
<td class="TestDescriptionHead" colspan="4">Documents <a href="tests/positive_parser_tests/pos023.xml" class="whiteLink">pos023.xml</a></td>
</tr>
<tr>
<td class="TestXML" colspan="4">
<pre>&lt;?xml version="1.0"?&gt;
&lt;powder xmlns="http://www.w3.org/2007/05/powder#"
xmlns:ex="http://example.org/vocab#"&gt;
&lt;attribution&gt;
&lt;issuedby src="http://authority.example.org/company.rdf#me" /&gt;
&lt;issued&gt;2007-12-14T00:00:00&lt;/issued&gt;
&lt;/attribution&gt;
&lt;dr&gt;
&lt;iriset&gt;
&lt;includeiripattern&gt;http://example.org&lt;/includeiripattern&gt;
&lt;/iriset&gt;
&lt;descriptorset&gt;
&lt;ex:color&gt;red&lt;/ex:color&gt;
&lt;ex:shape&gt;square&lt;/ex:shape&gt;
&lt;displaytext&gt;Everything on http://example.org is red and square&lt;/displaytext&gt;
&lt;displayicon src="http://example.org/icon.png" /&gt;
&lt;/descriptorset&gt;
&lt;/dr&gt;
&lt;/powder&gt;
</pre></td>
</tr>
</tbody></table>
<p>The preceeding tests related to IRI constraints are focused on the <code>include...</code> elements. Each
test is equally applicable to the corresponding <code>exclude...</code> element.</p>
<h3 id="negparser">4.2 Negative Parser Tests</h3>
<table summary="Every POWDER document includes exactly one attribution element" id="negparse-001" class="TestTable">
<tbody><tr>
<td class="TestType">Parser Test</td>
<td class="TestType">Negative</td>
<td class="TestDescription">Every POWDER document includes exactly one attribution element</td>
<td class="TestNumber">001</td>
</tr>
<tr>
<td class="TestDescriptionHead" colspan="4">Test Assertion</td>
</tr>
<tr>
<td class="TestContent" colspan="4">If a POWDER document does not include exactly one <em><strong>attribution </strong></em>element, it is not a valid POWDER document</td>
</tr>
<tr>
<td class="TestContent" colspan="4"><a href="http://www.w3.org/TR/powder-dr/#structure">Protocol for Web Description Resources (POWDER): Description Resources Section 2.1 Operational Semantics</a></td>
</tr>
<tr>
<td class="TestDescriptionHead" colspan="4">Description</td>
</tr>
<tr>
<td class="TestDescription" colspan="4">
<a href="tests/negative_parser_tests/Manifestneg001.rdf">Manifestneg001.rdf</a></td>
</tr>
<tr>
<td class="TestNamespacesHead" colspan="4">Preconditions - Namespace</td>
</tr>
<tr>
<td class="TestContent" colspan="4">@prefix ex: &lt;http://example.org/vocab#&gt;</td>
</tr>
<tr>
<td class="TestDescriptionHead" colspan="4">Documents <a href="tests/negative_parser_tests/neg001.xml" class="whiteLink">neg001.xml</a></td>
</tr>
<tr>
<td class="TestXML" colspan="4">
<pre>&lt;?xml version="1.0"?&gt;
&lt;powder xmlns="http://www.w3.org/2007/05/powder#"
xmlns:ex="http://example.org/vocab#"&gt;
&lt;attribution&gt;
&lt;issuedby src="http://authority.example.org/company.rdf#me" /&gt;
&lt;issued&gt;2007-12-14T00:00:00&lt;/issued&gt;
&lt;/attribution&gt;
&lt;attribution&gt;
&lt;issuedby ref="http://authority.example.org/company.rdf#you" /&gt;
&lt;/attribution&gt;
&lt;dr&gt;
&lt;iriset&gt;
&lt;includehosts&gt;example.com&lt;/includehosts&gt;
&lt;/iriset&gt;
&lt;descriptorset&gt;
&lt;ex:color&gt;red&lt;/ex:color&gt;
&lt;ex:shape&gt;square&lt;/ex:shape&gt;
&lt;displaytext&gt;Everything on example.com is red and square&lt;/displaytext&gt;
&lt;displayicon src="http://example.org/icon.png" /&gt;
&lt;/descriptorset&gt;
&lt;/dr&gt;
&lt;/powder&gt;
</pre></td>
</tr>
</tbody></table>
<table summary="The attribution element MUST contain an issuedby element" id="negparse-002" class="TestTable">
<tbody><tr>
<td class="TestType">Parser Test</td>
<td class="TestType">Negative</td>
<td class="TestDescription">The attribution element MUST contain an issuedby element</td>
<td class="TestNumber">002</td>
</tr>
<tr>
<td class="TestDescriptionHead" colspan="4">Test Assertion</td>
</tr>
<tr>
<td class="TestContent" colspan="4">If a POWDER document contains an <em><strong>attribution </strong></em>element that does not include an <em><strong>issuedby </strong></em>element, it is not a valid POWDER document</td>
</tr>
<tr>
<td class="TestContent" colspan="4"><a href="http://www.w3.org/TR/powder-dr/#operational">Protocol for Web Description Resources (POWDER): Description Resources Section 2.1 Operational Semantics</a></td>
</tr>
<tr>
<td class="TestDescriptionHead" colspan="4">Description</td>
</tr>
<tr>
<td class="TestDescription" colspan="4">
<a href="tests/negative_parser_tests/Manifestneg002.rdf">Manifestneg002.rdf</a></td>
</tr>
<tr>
<td class="TestNamespacesHead" colspan="4">Preconditions - Namespace</td>
</tr>
<tr>
<td class="TestContent" colspan="4">@prefix ex: &lt;http://example.org/vocab#&gt;</td>
</tr>
<tr>
<td class="TestDescriptionHead" colspan="4">Documents <a href="tests/negative_parser_tests/neg002.xml" class="whiteLink">neg002.xml</a></td>
</tr>
<tr>
<td class="TestXML" colspan="4">
<pre>&lt;?xml version="1.0"?&gt;
&lt;powder xmlns="http://www.w3.org/2007/05/powder#"
xmlns:ex="http://example.org/vocab#"&gt;
&lt;attribution&gt;
&lt;issued&gt;2007-12-14T00:00:00&lt;/issued&gt;
&lt;validfrom&gt;2007-12-14T00:00:00&lt;/validfrom&gt;
&lt;validuntil&gt;2008-12-14T00:00:00&lt;/validuntil&gt;
&lt;/attribution&gt;
&lt;dr&gt;
&lt;iriset&gt;
&lt;includehosts&gt;example.com&lt;/includehosts&gt;
&lt;/iriset&gt;
&lt;descriptorset&gt;
&lt;ex:color&gt;red&lt;/ex:color&gt;
&lt;ex:shape&gt;square&lt;/ex:shape&gt;
&lt;displaytext&gt;Everything on example.com is red and square&lt;/displaytext&gt;
&lt;displayicon src="http://example.org/icon.png" /&gt;
&lt;/descriptorset&gt;
&lt;/dr&gt;
&lt;/powder&gt;
</pre></td>
</tr>
</tbody></table>
<table summary="A dr element MUST include an iriset element" id="negparse-003" class="TestTable">
<tbody><tr>
<td class="TestType">Parser Test</td>
<td class="TestType">Negative</td>
<td class="TestDescription">A dr element MUST include an iriset element</td>
<td class="TestNumber">003</td>
</tr>
<tr>
<td class="TestDescriptionHead" colspan="4">Test Assertion</td>
</tr>
<tr>
<td class="TestContent" colspan="4">If a POWDER document contains at least one <em><strong>dr </strong></em>element that does not include an <em><strong>iriset </strong></em>element, it is not a valid POWDER document</td>
</tr>
<tr>
<td class="TestContent" colspan="4"><a href="http://www.w3.org/TR/powder-dr/#operational">Protocol for Web Description Resources (POWDER): Description Resources Section 2.1 Operational Semantics</a></td>
</tr>
<tr>
<td class="TestDescriptionHead" colspan="4">Description</td>
</tr>
<tr>
<td class="TestDescription" colspan="4">
<a href="tests/negative_parser_tests/Manifestneg003.rdf">Manifestneg003.rdf</a></td>
</tr>
<tr>
<td class="TestNamespacesHead" colspan="4">Preconditions - Namespace</td>
</tr>
<tr>
<td class="TestContent" colspan="4">@prefix ex: &lt;http://example.org/vocab#&gt;</td>
</tr>
<tr>
<td class="TestDescriptionHead" colspan="4">Documents <a href="tests/negative_parser_tests/neg003.xml" class="whiteLink">neg003.xml</a></td>
</tr>
<tr>
<td class="TestXML" colspan="4">
<pre>&lt;?xml version="1.0"?&gt;
&lt;powder xmlns="http://www.w3.org/2007/05/powder#"
xmlns:ex="http://example.org/vocab#"&gt;
&lt;attribution&gt;
&lt;issuedby src="http://authority.example.org/company.rdf#me" /&gt;
&lt;issued&gt;2007-12-14T00:00:00&lt;/issued&gt;
&lt;/attribution&gt;
&lt;dr&gt;
&lt;descriptorset&gt;
&lt;ex:color&gt;red&lt;/ex:color&gt;
&lt;ex:shape&gt;square&lt;/ex:shape&gt;
&lt;displaytext&gt;Everything on example.com is red and square&lt;/displaytext&gt;
&lt;displayicon src="http://example.org/icon.png" /&gt;
&lt;/descriptorset&gt;
&lt;/dr&gt;
&lt;/powder&gt;
</pre></td>
</tr>
</tbody></table>
<table summary="An iriset element must not be empty" id="negparse-004" class="TestTable">
<tbody><tr>
<td class="TestType">Parser Test</td>
<td class="TestType">Negative</td>
<td class="TestDescription">An iriset element must not be empty</td>
<td class="TestNumber">004</td>
</tr>
<tr>
<td class="TestDescriptionHead" colspan="4">Test Assertion</td>
</tr>
<tr>
<td class="TestContent" colspan="4">If a POWDER document contains a <em><strong>dr </strong></em>element that has an empty <em><strong>iriset </strong></em>element, it is not a valid POWDER document</td>
</tr>
<tr>
<td class="TestContent" colspan="4"><a href="http://www.w3.org/TR/powder-dr/#operational">Protocol for Web Description Resources (POWDER): Description Resources Section 2.1 Operational Semantics</a></td>
</tr>
<tr>
<td class="TestDescriptionHead" colspan="4">Description</td>
</tr>
<tr>
<td class="TestDescription" colspan="4">
<a href="tests/negative_parser_tests/Manifestneg004.rdf">Manifestneg004.rdf</a></td>
</tr>
<tr>
<td class="TestNamespacesHead" colspan="4">Preconditions - Namespace</td>
</tr>
<tr>
<td class="TestContent" colspan="4">@prefix ex: &lt;http://example.org/vocab#&gt;</td>
</tr>
<tr>
<td class="TestDescriptionHead" colspan="4">Documents <a href="tests/negative_parser_tests/neg004.xml" class="whiteLink">neg004.xml</a></td>
</tr>
<tr>
<td class="TestXML" colspan="4">
<pre>&lt;?xml version="1.0"?&gt;
&lt;powder xmlns="http://www.w3.org/2007/05/powder#"
xmlns:ex="http://example.org/vocab#"&gt;
&lt;attribution&gt;
&lt;issuedby src="http://authority.example.org/company.rdf#me" /&gt;
&lt;issued&gt;2007-12-14T00:00:00&lt;/issued&gt;
&lt;validfrom&gt;2007-12-14T00:00:00&lt;/validfrom&gt;
&lt;validuntil&gt;2008-12-14T00:00:00&lt;/validuntil&gt;
&lt;/attribution&gt;
&lt;dr&gt;
&lt;iriset&gt;
&lt;/iriset&gt;
&lt;descriptorset&gt;
&lt;ex:color&gt;red&lt;/ex:color&gt;
&lt;ex:shape&gt;square&lt;/ex:shape&gt;
&lt;displaytext&gt;Everything on example.com is red and square&lt;/displaytext&gt;
&lt;displayicon src="http://example.org/icon.png" /&gt;
&lt;/descriptorset&gt;
&lt;/dr&gt;
&lt;/powder&gt;
</pre></td>
</tr>
</tbody></table>
<table summary="An iriset element must not be empty" id="negparse-005" class="TestTable">
<tbody><tr>
<td class="TestType">Parser Test</td>
<td class="TestType">Negative</td>
<td class="TestDescription">A descriptorset element must not contain tag elements</td>
<td class="TestNumber">005</td>
</tr>
<tr>
<td class="TestDescriptionHead" colspan="4">Test Assertion</td>
</tr>
<tr>
<td class="TestContent" colspan="4">If a POWDER document contains a <em><strong>descriptorset </strong></em>element that contains a <em><strong>tag </strong></em>element, it is not a valid POWDER document</td>
</tr>
<tr>
<td class="TestContent" colspan="4"><a href="http://www.w3.org/TR/powder-dr/#tags">Protocol
for Web Description Resources (POWDER): Description Resources Section
2.7 Free Text Tags, Comments, Labels and "See Also"</a></td>
</tr>
<tr>
<td class="TestDescriptionHead" colspan="4">Description</td>
</tr>
<tr>
<td class="TestDescription" colspan="4">
<a href="tests/negative_parser_tests/Manifestneg005.rdf">Manifestneg005.rdf</a></td>
</tr>
<tr>
<td class="TestNamespacesHead" colspan="4">Preconditions - Namespace</td>
</tr>
<tr>
<td class="TestContent" colspan="4">@prefix ex: &lt;http://example.org/vocab#&gt;</td>
</tr>
<tr>
<td class="TestDescriptionHead" colspan="4">Documents <a href="tests/negative_parser_tests/neg005.xml" class="whiteLink">neg005.xml</a></td>
</tr>
<tr>
<td class="TestXML" colspan="4">
<pre>&lt;?xml version="1.0"?&gt;
&lt;powder xmlns="http://www.w3.org/2007/05/powder#"
xmlns:ex="http://example.org/vocab#"&gt;
&lt;attribution&gt;
&lt;issuedby src="http://authority.example.org/company.rdf#me" /&gt;
&lt;issued&gt;2007-12-14T00:00:00&lt;/issued&gt;
&lt;/attribution&gt;
&lt;dr&gt;
&lt;iriset&gt;
&lt;includehosts&gt;example.com&lt;/includehosts&gt;
&lt;/iriset&gt;
&lt;descriptorset&gt;
&lt;ex:color&gt;red&lt;/ex:color&gt;
&lt;ex:shape&gt;square&lt;/ex:shape&gt;
&lt;tag&gt;London&lt;/tag&gt;
&lt;/descriptorset&gt;
&lt;tagset&gt;
&lt;tag&gt;Swiss Re&lt;/tag&gt;
&lt;tag&gt;gherkin&lt;/tag&gt;
&lt;tag&gt;London&lt;/tag&gt;
&lt;/tagset&gt;
&lt;/dr&gt;
&lt;/powder&gt;
</pre></td>
</tr>
</tbody></table>
<table summary="An iriset element must not be empty" id="negparse-006" class="TestTable">
<tbody><tr>
<td class="TestType">Parser Test</td>
<td class="TestType">Negative</td>
<td class="TestDescription">A dr element must contain a descriptotrset element or a tag element</td>
<td class="TestNumber">006</td>
</tr>
<tr>
<td class="TestDescriptionHead" colspan="4">Test Assertion</td>
</tr>
<tr>
<td class="TestContent" colspan="4">If a POWDER document contains neither a <em><strong>descriptorset </strong></em>element nor a <em><strong>tagset </strong></em>element, it is not a valid POWDER document</td>
</tr>
<tr>
<td class="TestContent" colspan="4"><a href="http://www.w3.org/TR/powder-dr/#tags">Protocol
for Web Description Resources (POWDER): Description Resources Section
2.7 Free Text Tags, Comments, Labels and "See Also"</a></td>
</tr>
<tr>
<td class="TestDescriptionHead" colspan="4">Description</td>
</tr>
<tr>
<td class="TestDescription" colspan="4">
<a href="tests/negative_parser_tests/Manifestneg006.rdf">Manifestneg006.rdf</a></td>
</tr>
<tr>
<td class="TestNamespacesHead" colspan="4">Preconditions - Namespace</td>
</tr>
<tr>
<td class="TestContent" colspan="4">@prefix ex: &lt;http://example.org/vocab#&gt;</td>
</tr>
<tr>
<td class="TestDescriptionHead" colspan="4">Documents <a href="tests/negative_parser_tests/neg006.xml" class="whiteLink">neg006.xml</a></td>
</tr>
<tr>
<td class="TestXML" colspan="4">
<pre>&lt;?xml version="1.0"?&gt;
&lt;powder xmlns="http://www.w3.org/2007/05/powder#"
xmlns:ex="http://example.org/vocab#"&gt;
&lt;attribution&gt;
&lt;issuedby src="http://authority.example.org/company.rdf#me" /&gt;
&lt;issued&gt;2007-12-14T00:00:00&lt;/issued&gt;
&lt;/attribution&gt;
&lt;dr&gt;
&lt;iriset&gt;
&lt;includehosts&gt;example.com&lt;/includehosts&gt;
&lt;/iriset&gt;
&lt;/dr&gt;
&lt;/powder&gt;
</pre></td>
</tr>
</tbody></table>
<h3 id="grddl">4.3 GRDDL Tests</h3>
<table summary="POWDER document with a single DR" id="grddl-001" class="TestTable">
<tbody><tr>
<td class="TestType">GRDDL Test</td>
<td class="TestType">Positive</td>
<td class="TestDescription">Transformation of a POWDER document with a single Description Resource</td>
<td class="TestNumber">001</td>
</tr>
<tr>
<td class="TestDescriptionHead" colspan="4">Test Assertion</td>
</tr>
<tr>
<td class="TestContent" colspan="4">A transformation of a POWDER document to POWDER-S must produce semantically identical results with this test in respect to the <em><strong>dr </strong></em>elements</td>
</tr>
<tr>
<td class="TestContent" colspan="4"><a href="http://www.w3.org/TR/powder-dr/#formalSemantics">Protocol for Web Description Resources (POWDER): Description Resources Section 2.2 Formal Semantics</a></td>
</tr>
<tr>
<td class="TestDescriptionHead" colspan="4">Description</td>
</tr>
<tr>
<td class="TestDescription" colspan="4">
<a href="tests/grddl_tests/Manifestgrddl001.rdf">Manifestgrddl001.rdf</a></td>
</tr>
<tr>
<td class="TestNamespacesHead" colspan="4">Preconditions - Namespace</td>
</tr>
<tr>
<td class="TestContent" colspan="4">@prefix ex: &lt;http://example.org/vocab#&gt;</td>
</tr>
<tr>
<td class="TestDescriptionHead" colspan="4">Documents <a href="tests/grddl_tests/powder001.xml" class="whiteLink">powder001.xml</a> | <a href="tests/grddl_tests/powders001.rdf" class="whiteLink">powders001.rdf</a></td>
</tr>
<tr>
<td class="TestXML" colspan="4">
<pre>&lt;?xml version="1.0"?&gt;
&lt;powder xmlns="http://www.w3.org/2007/05/powder#"
xmlns:ex="http://example.org/vocab#"&gt;
&lt;attribution&gt;
&lt;issuedby src="http://authority.example.org/company.rdf#me" /&gt;
&lt;issued&gt;2007-12-14T00:00:00&lt;/issued&gt;
&lt;/attribution&gt;
&lt;dr&gt;
&lt;iriset&gt;
&lt;includehosts&gt;example.com&lt;/includehosts&gt;
&lt;/iriset&gt;
&lt;descriptorset&gt;
&lt;ex:color&gt;red&lt;/ex:color&gt;
&lt;ex:shape&gt;square&lt;/ex:shape&gt;
&lt;displaytext&gt;Everything on example.com is red and square&lt;/displaytext&gt;
&lt;displayicon src="http://example.org/icon.png" /&gt;
&lt;/descriptorset&gt;
&lt;/dr&gt;
&lt;/powder&gt;
</pre></td>
</tr>
<tr>
<td class="TestRDF" colspan="4">
<pre>&lt;?xml version="1.0"?&gt;
&lt;rdf:RDF
xmlns:wdrs="http://www.w3.org/2007/05/powder-s#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#"
xmlns:owl="http://www.w3.org/2002/07/owl#"
xmlns:ex="http://example.org/vocab#"&gt;
&lt;owl:Ontology rdf:about=""&gt;
&lt;wdrs:issuedby rdf:resource="http://authority.example.org/company.rdf#me" /&gt;
&lt;wdrs:issued&gt;2007-12-14T00:00:00&lt;/wdrs:issued&gt;
&lt;/owl:Ontology&gt;
&lt;owl:Class rdf:nodeID="iriset_1"&gt;
&lt;owl:equivalentClass&gt;
&lt;owl:Class&gt;
&lt;owl:intersectionOf rdf:parseType="Collection"&gt;
&lt;owl:Restriction&gt;
&lt;owl:onProperty rdf:resource="http://www.w3.org/2007/05/powder-s#matchesregex" /&gt;
&lt;owl:hasValue rdf:datatype="http://www.w3.org/2001/XMLSchema#string"&gt;\:\/\/(([^\/\?\#]*)\@)?([^\:\/\?\#\@]+\.)?(example\.com)(:([0-9]+))?\/&lt;/owl:hasValue&gt;
&lt;/owl:Restriction&gt;
&lt;/owl:intersectionOf&gt;
&lt;/owl:Class&gt;
&lt;/owl:equivalentClass&gt;
&lt;/owl:Class&gt;
&lt;owl:Class rdf:nodeID="descriptorset_1"&gt;
&lt;owl:subClassOf rdf:resource="http://www.w3.org/2002/07/owl#Thing&quot; /&gt;
&lt;rdfs:subClassOf&gt;
&lt;owl:Class&gt;
&lt;owl:intersectionOf rdf:parseType="Collection"&gt;
&lt;owl:Restriction&gt;
&lt;owl:onProperty rdf:resource="http://example.org/vocab#color" /&gt;
&lt;owl:hasValue&gt;red&lt;/owl:hasValue&gt;
&lt;/owl:Restriction&gt;
&lt;owl:Restriction&gt;
&lt;owl:onProperty rdf:resource="http://example.org/vocab#shape" /&gt;
&lt;owl:hasValue&gt;square&lt;/owl:hasValue&gt;
&lt;/owl:Restriction&gt;
&lt;/owl:intersectionOf&gt;
&lt;/owl:Class&gt;
&lt;/rdfs:subClassOf&gt;
&lt;wdrs:text&gt;Everything on example.com is red and square&lt;/wdrs:text&gt;
&lt;wdrs:logo rdf:resource="http://example.org/icon.png" /&gt;
&lt;/owl:Class&gt;
&lt;rdf:Description rdf:nodeID="iriset_1"&gt;
&lt;rdfs:subClassOf rdf:nodeID="descriptorset_1"/&gt;
&lt;/rdf:Description&gt;
&lt;/rdf:RDF&gt;
</pre></td>
</tr>
</tbody></table>
<table summary="POWDER document with an ordered list of DRs" id="grddl-002" class="TestTable">
<tbody><tr>
<td class="TestType">GRDDL Test</td>
<td class="TestType">Positive</td>
<td class="TestDescription">Transformation of a POWDER document with an ordered list of Description Resources</td>
<td class="TestNumber">002</td>
</tr>
<tr>
<td class="TestDescriptionHead" colspan="4">Test Assertion</td>
</tr>
<tr>
<td class="TestContent" colspan="4">A transformation of a POWDER
document to POWDER-S must produce semantically identical results with
this test with respect to the <em><strong>ol </strong></em>elements</td>
</tr>
<tr>
<td class="TestContent" colspan="4"><a href="http://www.w3.org/TR/powder-dr/#olDR">Protocol for Web Description Resources (POWDER): Description Resources Section 2.3 Exclusive Description Resources</a></td>
</tr>
<tr>
<td class="TestDescriptionHead" colspan="4">Description</td>
</tr>
<tr>
<td class="TestDescription" colspan="4">
<a href="tests/grddl_tests/Manifestgrddl002.rdf">Manifestgrddl002.rdf</a></td>
</tr>
<tr>
<td class="TestNamespacesHead" colspan="4">Preconditions - Namespace</td>
</tr>
<tr>
<td class="TestContent" colspan="4">@prefix ex: &lt;http://example.org/vocab#&gt;</td>
</tr>
<tr>
<td class="TestDescriptionHead" colspan="4">Documents <a href="tests/grddl_tests/powder002.xml" class="whiteLink">powder002.xml</a> | <a href="tests/grddl_tests/powders002.rdf" class="whiteLink">powders002.rdf</a></td>
</tr>
<tr>
<td class="TestXML" colspan="4">
<pre>&lt;?xml version="1.0"?&gt;
&lt;powder xmlns="http://www.w3.org/2007/05/powder#"
xmlns:ex="http://example.org/vocab#"&gt;
&lt;attribution&gt;
&lt;issuedby src="http://authority.example.org/company.rdf#me" /&gt;
&lt;issued&gt;2007-12-14T00:00:00&lt;/issued&gt;
&lt;abouthosts&gt;example.com&lt;/abouthosts&gt;
&lt;/attribution&gt;
&lt;ol&gt;
&lt;dr&gt;
&lt;iriset&gt;
&lt;includehosts&gt;example.com&lt;/includehosts&gt;
&lt;includepathstartswith&gt;/foo&lt;/includepathstartswith&gt;
&lt;/iriset&gt;
&lt;descriptorset&gt;
&lt;ex:color&gt;blue&lt;/ex:color&gt;
&lt;/descriptorset&gt;
&lt;/dr&gt;
&lt;dr&gt;
&lt;iriset&gt;
&lt;includehosts&gt;example.com&lt;/includehosts&gt;
&lt;/iriset&gt;
&lt;descriptorset&gt;
&lt;ex:color&gt;red&lt;/ex:color&gt;
&lt;/descriptorset&gt;
&lt;/dr&gt;
&lt;/ol&gt;
&lt;/powder&gt;
</pre></td>
</tr>
<tr>
<td class="TestRDF" colspan="4">
<pre>&lt;?xml version="1.0"?&gt;
&lt;rdf:RDF
xmlns:wdrs="http://www.w3.org/2007/05/powder-s#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#"
xmlns:owl="http://www.w3.org/2002/07/owl#"
xmlns:ex="http://example.org/vocab#"&gt;
&lt;owl:Ontology rdf:about=""&gt;
&lt;wdrs:issuedby rdf:resource="http://authority.example.org/company.rdf#me" /&gt;
&lt;wdrs:issued&gt;2007-12-14T00:00:00&lt;/wdrs:issued&gt;
&lt;/owl:Ontology&gt;
&lt;owl:Class rdf:nodeID="aboutset"&gt;
&lt;owl:equivalentClass&gt;
&lt;owl:Class&gt;
&lt;owl:intersectionOf rdf:parseType="Collection"&gt;
&lt;owl:Restriction&gt;
&lt;owl:onProperty rdf:resource="http://www.w3.org/2007/05/powder-s#matchesregex" /&gt;
&lt;owl:hasValue rdf:datatype="http://www.w3.org/2001/XMLSchema#string"&gt;\:\/\/(([^\/\?\#]*)\@)?([^\:\/\?\#\@]+\.)?(example\.com)(\:([0-9]+))?\/&lt;/owl:hasValue&gt;
&lt;/owl:Restriction&gt;
&lt;/owl:intersectionOf&gt;
&lt;/owl:Class&gt;
&lt;/owl:equivalentClass&gt;
&lt;/owl:Class&gt;
&lt;owl:Class rdf:nodeID="iriset_1"&gt;
&lt;owl:equivalentClass&gt;
&lt;owl:Class&gt;
&lt;owl:intersectionOf rdf:parseType="Collection"&gt;
&lt;owl:Restriction&gt;
&lt;owl:onProperty rdf:resource="http://www.w3.org/2007/05/powder-s#matchesregex" /&gt;
&lt;owl:hasValue rdf:datatype="http://www.w3.org/2001/XMLSchema#string"&gt;\:\/\/(([^\/\?\#]*)\@)?([^\:\/\?\#\@]+\.)?(example\.com)(\:([0-9]+))?\/&lt;/owl:hasValue&gt;
&lt;/owl:Restriction&gt;
&lt;owl:Restriction&gt;
&lt;owl:onProperty rdf:resource="http://www.w3.org/2007/05/powder-s#matchesregex" /&gt;
&lt;owl:hasValue rdf:datatype="http://www.w3.org/2001/XMLSchema#string"&gt;\:\/\/(([^\/\?\#]*)\@)?([^\:\/\?\#\@]*)(\:([0-9]+))?(\/foo)&lt;/owl:hasValue&gt;
&lt;/owl:Restriction&gt;
&lt;/owl:intersectionOf&gt;
&lt;/owl:Class&gt;
&lt;/owl:equivalentClass&gt;
&lt;/owl:Class&gt;
&lt;owl:Class rdf:nodeID="iriset_1_not"&gt;
&lt;owl:equivalentClass&gt;
&lt;owl:Class&gt;
&lt;owl:unionOf rdf:parseType="Collection"&gt;
&lt;owl:Restriction&gt;
&lt;owl:onProperty rdf:resource="http://www.w3.org/2007/05/powder-s#notmatchesregex" /&gt;
&lt;owl:hasValue rdf:datatype="http://www.w3.org/2001/XMLSchema#string"&gt;\:\/\/(([^\/\?\#]*)\@)?([^\:\/\?\#\@]+\.)?(example\.com)(\:([0-9]+))?\/&lt;/owl:hasValue&gt;
&lt;/owl:Restriction&gt;
&lt;owl:Restriction&gt;
&lt;owl:onProperty rdf:resource="http://www.w3.org/2007/05/powder-s#notmatchesregex" /&gt;
&lt;owl:hasValue rdf:datatype="http://www.w3.org/2001/XMLSchema#string"&gt;\:\/\/(([^\/\?\#]*)\@)?([^\:\/\?\#\@]*)(\:([0-9]+))?(\/foo)&lt;/owl:hasValue&gt;
&lt;/owl:Restriction&gt;
&lt;/owl:unionOf&gt;
&lt;/owl:Class&gt;
&lt;/owl:equivalentClass&gt;
&lt;/owl:Class&gt;
&lt;owl:Class rdf:nodeID="descriptorset_1"&gt;
&lt;rdfs:subClassOf rdf:nodeID="aboutset"/&gt;
&lt;rdfs:subClassOf&gt;
&lt;owl:Class&gt;
&lt;owl:intersectionOf rdf:parseType="Collection"&gt;
&lt;owl:Restriction&gt;
&lt;owl:onProperty rdf:resource="http://example.org/vocab#color" /&gt;
&lt;owl:hasValue&gt;blue&lt;/owl:hasValue&gt;
&lt;/owl:Restriction&gt;
&lt;/owl:intersectionOf&gt;
&lt;/owl:Class&gt;
&lt;/rdfs:subClassOf&gt;
&lt;/owl:Class&gt;
&lt;rdf:Description rdf:nodeID="iriset_1"&gt;
&lt;rdfs:subClassOf rdf:nodeID="descriptorset_1"/&gt;
&lt;/rdf:Description&gt;
&lt;owl:Class rdf:nodeID="iriset_2"&gt;
&lt;owl:equivalentClass&gt;
&lt;owl:Class&gt;
&lt;owl:intersectionOf rdf:parseType="Collection"&gt;
&lt;owl:Restriction&gt;
&lt;owl:onProperty rdf:resource="http://www.w3.org/2007/05/powder-s#matchesregex" /&gt;
&lt;owl:hasValue rdf:datatype="http://www.w3.org/2001/XMLSchema#string"&gt;\:\/\/(([^\/\?\#]*)\@)?([^\:\/\?\#\@]+\.)?(example\.com)(\:([0-9]+))?\/&lt;/owl:hasValue&gt;
&lt;/owl:Restriction&gt;
&lt;owl:Class rdf:nodeID="iriset_1_not" /&gt;
&lt;/owl:intersectionOf&gt;
&lt;/owl:Class&gt;
&lt;/owl:equivalentClass&gt;
&lt;/owl:Class&gt;
&lt;owl:Class rdf:nodeID="descriptorset_2"&gt;
&lt;rdfs:subClassOf rdf:nodeID="aboutset"/&gt;
&lt;rdfs:subClassOf&gt;
&lt;owl:Class&gt;
&lt;owl:intersectionOf rdf:parseType="Collection"&gt;
&lt;owl:Restriction&gt;
&lt;owl:onProperty rdf:resource="http://example.org/vocab#color" /&gt;
&lt;owl:hasValue&gt;red&lt;/owl:hasValue&gt;
&lt;/owl:Restriction&gt;
&lt;/owl:intersectionOf&gt;
&lt;/owl:Class&gt;
&lt;/rdfs:subClassOf&gt;
&lt;/owl:Class&gt;
&lt;owl:Class&gt;
&lt;rdfs:subClassOf rdf:nodeID="descriptorset_2"/&gt;
&lt;/owl:Class&gt;
&lt;/rdf:RDF&gt;
</pre></td>
</tr>
</tbody></table>
<table summary="POWDER document with a DR with scope the union of two IRI sets" id="grddl-003" class="TestTable">
<tbody><tr>
<td class="TestType">GRDDL Test</td>
<td class="TestType">Positive</td>
<td class="TestDescription">Transformation of a POWDER document containing a description resource for which the scope is the union of two IRI sets</td>
<td class="TestNumber">003</td>
</tr>
<tr>
<td class="TestDescriptionHead" colspan="4">Test Assertion</td>
</tr>
<tr>
<td class="TestContent" colspan="4">A transformation of a POWDER
document to POWDER-S must produce semantically identical results with
this test with respect to the union of <em><strong>iriset </strong></em>elements</td>
</tr>
<tr>
<td class="TestContent" colspan="4"><a href="http://www.w3.org/TR/powder-grouping/#conj-disj">Protocol for Web Description Resources (POWDER): Grouping of Resources Section 2.6 Grouping of resources</a></td>
</tr>
<tr>
<td class="TestDescriptionHead" colspan="4">Description</td>
</tr>
<tr>
<td class="TestDescription" colspan="4">
<a href="tests/grddl_tests/Manifestgrddl003.rdf">Manifestgrddl003.rdf</a></td>
</tr>
<tr>
<td class="TestNamespacesHead" colspan="4">Preconditions - Namespaces</td>
</tr>
<tr>
<td class="TestContent" colspan="4">@prefix ex: &lt;http://example.org/vocab#&gt;</td>
</tr>
<tr>
<td class="TestDescriptionHead" colspan="4">Documents <a href="tests/grddl_tests/powder003.xml" class="whiteLink">powder003.xml</a> | <a href="tests/grddl_tests/powders003.rdf" class="whiteLink">powders003.rdf</a></td>
</tr>
<tr>
<td class="TestXML" colspan="4">
<pre>&lt;?xml version="1.0"?&gt;
&lt;powder xmlns="http://www.w3.org/2007/05/powder#"
xmlns:ex="http://example.org/vocab#"&gt;
&lt;attribution&gt;
&lt;issuedby src="http://authority.example.org/company.rdf#me" /&gt;
&lt;issued&gt;2007-12-14T00:00:00&lt;/issued&gt;
&lt;/attribution&gt;
&lt;dr&gt;
&lt;iriset&gt;
&lt;includehosts&gt;example.com&lt;/includehosts&gt;
&lt;includepathstartswith&gt;/foo&lt;/includepathstartswith&gt;
&lt;/iriset&gt;
&lt;iriset&gt;
&lt;includehosts&gt;example.org&lt;/includehosts&gt;
&lt;includepathstartswith&gt;/bar&lt;/includepathstartswith&gt;
&lt;/iriset&gt;
&lt;descriptorset&gt;
&lt;ex:color&gt;red&lt;/ex:color&gt;
&lt;ex:shape&gt;square&lt;/ex:shape&gt;
&lt;displaytext&gt;Everything on example.com/foo, and everything on example.org/bar, is red and square&lt;/displaytext&gt;
&lt;displayicon src="http://example.org/icon.png" /&gt;
&lt;/descriptorset&gt;
&lt;/dr&gt;
&lt;/powder&gt;
</pre></td>
</tr>
<tr>
<td class="TestRDF" colspan="4">
<pre>&lt;?xml version="1.0"?&gt;
&lt;rdf:RDF
xmlns:wdrs="http://www.w3.org/2007/05/powder-s#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#"
xmlns:owl="http://www.w3.org/2002/07/owl#"
xmlns:ex="http://example.org/vocab#"&gt;
&lt;owl:Ontology rdf:about=""&gt;
&lt;wdrs:issuedby rdf:resource="http://authority.example.org/company.rdf#me" /&gt;
&lt;wdrs:issued&gt;2007-12-14T00:00:00&lt;/wdrs:issued&gt;
&lt;/owl:Ontology&gt;
&lt;owl:Class rdf:nodeID="iriset_1"&gt;
&lt;owl:equivalentClass&gt;
&lt;owl:Class&gt;
&lt;owl:intersectionOf rdf:parseType="Collection"&gt;
&lt;owl:Restriction&gt;
&lt;owl:onProperty rdf:resource="http://www.w3.org/2007/05/powder-s#matchesregex" /&gt;
&lt;owl:hasValue rdf:datatype="http://www.w3.org/2001/XMLSchema#string"&gt;\:\/\/(([^\/\?\#]*)\@)?([^\:\/\?\#\@]+\.)?(example\.com)(\:([0-9]+))?\/&lt;/owl:hasValue&gt;
&lt;/owl:Restriction&gt;
&lt;owl:Restriction&gt;
&lt;owl:onProperty rdf:resource="http://www.w3.org/2007/05/powder-s#matchesregex" /&gt;
&lt;owl:hasValue rdf:datatype="http://www.w3.org/2001/XMLSchema#string"&gt;\:\/\/(([^\/\?\#]*)\@)?([^\:\/\?\#\@]*)(\:([0-9]+))?(\/foo)&lt;/owl:hasValue&gt;
&lt;/owl:Restriction&gt;
&lt;/owl:intersectionOf&gt;
&lt;/owl:Class&gt;
&lt;/owl:equivalentClass&gt;
&lt;/owl:Class&gt;
&lt;owl:Class rdf:nodeID="iriset_2"&gt;
&lt;owl:equivalentClass&gt;
&lt;owl:Class&gt;
&lt;owl:intersectionOf rdf:parseType="Collection"&gt;
&lt;owl:Restriction&gt;
&lt;owl:onProperty rdf:resource="http://www.w3.org/2007/05/powder-s#matchesregex" /&gt;
&lt;owl:hasValue rdf:datatype="http://www.w3.org/2001/XMLSchema#string"&gt;\:\/\/(([^\/\?\#]*)\@)?([^\:\/\?\#\@]+\.)?(example\.com)(\:([0-9]+))?\/&lt;/owl:hasValue&gt;
&lt;/owl:Restriction&gt;
&lt;owl:Restriction&gt;
&lt;owl:onProperty rdf:resource="http://www.w3.org/2007/05/powder-s#matchesregex" /&gt;
&lt;owl:hasValue rdf:datatype="http://www.w3.org/2001/XMLSchema#string"&gt;\:\/\/(([^\/\?\#]*)\@)?([^\:\/\?\#\@]*)(\:([0-9]+))?(\/bar)&lt;/owl:hasValue&gt;
&lt;/owl:Restriction&gt;
&lt;/owl:intersectionOf&gt;
&lt;/owl:Class&gt;
&lt;/owl:equivalentClass&gt;
&lt;/owl:Class&gt;
&lt;owl:Class rdf:nodeID="descriptorset_1"&gt;
&lt;wdrs:text&gt;Everything on example.com/foo, and everything on example.org/bar, is red and square&lt;/wdrs:text&gt;
&lt;wdrs:logo rdf:resource="http://example.org/icon.png" /&gt;
&lt;rdfs:subClassOf&gt;
&lt;owl:Class&gt;
&lt;owl:intersectionOf rdf:parseType="Collection"&gt;
&lt;owl:Restriction&gt;
&lt;owl:onProperty rdf:resource="http://example.org/vocab#color" /&gt;
&lt;owl:hasValue&gt;red&lt;/owl:hasValue&gt;
&lt;/owl:Restriction&gt;
&lt;owl:Restriction&gt;
&lt;owl:onProperty rdf:resource="http://example.org/vocab#shape" /&gt;
&lt;owl:hasValue&gt;square&lt;/owl:hasValue&gt;
&lt;/owl:Restriction&gt;
&lt;/owl:intersectionOf&gt;
&lt;/owl:Class&gt;
&lt;/rdfs:subClassOf&gt;
&lt;/owl:Class&gt;
&lt;owl:Class rdf:nodeID="iriset_1"&gt;
&lt;rdfs:subClassOf rdf:nodeID="descriptorset_1"/&gt;
&lt;/owl:Class&gt;
&lt;owl:Class rdf:nodeID="iriset_2"&gt;
&lt;rdfs:subClassOf rdf:nodeID="descriptorset_1"/&gt;
&lt;/owl:Class&gt;
&lt;/rdf:RDF&gt;
</pre></td>
</tr>
</tbody></table>
<table summary="POWDER document with no DRs but with descriptors that can be referenced externally" id="grddl-004" class="TestTable">
<tbody><tr>
<td class="TestType">GRDDL Test</td>
<td class="TestType">Positive</td>
<td class="TestDescription">Transformation of a POWDER document with no DRs but with descriptors that can be referenced externally</td>
<td class="TestNumber">004</td>
</tr>
<tr>
<td class="TestDescriptionHead" colspan="4">Test Assertion</td>
</tr>
<tr>
<td class="TestContent" colspan="4">A transformation of a POWDER
document to POWDER-S must produce semantically identical results with
this test with respect to the transformation of <em><strong>descriptorset </strong></em>elements not within a <em><strong>dr </strong></em>element</td>
</tr>
<tr>
<td class="TestContent" colspan="4"><a href="http://www.w3.org/TR/powder-formal/#emptyIRIsets">Protocol for Web Description Resources (POWDER): Formal Semantics Section 4.4 Direct Descriptions</a></td>
</tr>
<tr>
<td class="TestDescriptionHead" colspan="4">Description</td>
</tr>
<tr>
<td class="TestDescription" colspan="4">
<a href="tests/grddl_tests/Manifestgrddl004.rdf">Manifestgrddl004.rdf</a></td>
</tr>
<tr>
<td class="TestNamespacesHead" colspan="4">Preconditions - Namespaces</td>
</tr>
<tr>
<td class="TestContent" colspan="4">@prefix ex: &lt;http://example.org/vocab#&gt;</td>
</tr>
<tr>
<td class="TestDescriptionHead" colspan="4">Documents <a href="tests/grddl_tests/powder004.xml" class="whiteLink">powder004.xml</a> | <a href="tests/grddl_tests/powders004.rdf" class="whiteLink">powders004.rdf</a></td>
</tr>
<tr>
<td class="TestXML" colspan="4"><pre>&lt;?xml version="1.0"?&gt;
&lt;powder xmlns="http://www.w3.org/2007/05/powder#"
xmlns:ex="http://example.org/vocab#"&gt;
&lt;attribution&gt;
&lt;issuedby src="http://authority.example.org/company.rdf#me" /&gt;
&lt;abouthosts&gt;example.org example.com&lt;/abouthosts&gt;
&lt;/attribution&gt;
&lt;descriptorset xml:id="red"&gt;
&lt;ex:color&gt;red&lt;/ex:color&gt;
&lt;/descriptorset&gt;
&lt;descriptorset xml:id="blue"&gt;
&lt;ex:color&gt;blue&lt;/ex:color&gt;
&lt;/descriptorset&gt;
&lt;/powder&gt;
</pre></td>
</tr>
<tr>
<td class="TestRDF" colspan="4">
<pre>&lt;?xml version="1.0"?&gt;
&lt;rdf:RDF
xmlns:wdrs="http://www.w3.org/2007/05/powder-s#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#"
xmlns:owl="http://www.w3.org/2002/07/owl#"
xmlns:ex="http://example.org/vocab#"&gt;
&lt;owl:Ontology rdf:about=""&gt;
&lt;wdrs:issuedby rdf:resource="http://authority.example.org/company.rdf#me" /&gt;
&lt;wdrs:issued&gt;2007-12-14T00:00:00&lt;/wdrs:issued&gt;
&lt;/owl:Ontology&gt;
&lt;owl:Class rdf:nodeID="aboutset"&gt;
&lt;owl:equivalentClass&gt;
&lt;owl:Class&gt;
&lt;owl:intersectionOf rdf:parseType="Collection"&gt;
&lt;owl:Restriction&gt;
&lt;owl:onProperty rdf:resource="http://www.w3.org/2007/05/powder-s#matchesregex" /&gt;
&lt;owl:hasValue rdf:datatype="http://www.w3.org/2001/XMLSchema-datatypes#string"&gt;\:\/\/(([^\/\?\#]*)\@)?([^\:\/\?\#\@]+\.)?(example\.org|example\.com)(\:([0-9]+))?\/&lt;/owl:hasValue&gt;
&lt;/owl:Restriction&gt;
&lt;/owl:intersectionOf&gt;
&lt;/owl:Class&gt;
&lt;/owl:equivalentClass&gt;
&lt;/owl:Class&gt;
&lt;owl:Class rdf:ID="red"&gt;
&lt;rdfs:subClassOf&gt;
&lt;owl:Class&gt;
&lt;owl:intersectionOf rdf:parseType="Collection"&gt;
&lt;owl:Restriction&gt;
&lt;owl:onProperty rdf:resource="http://example.org/vocab#color" /&gt;
&lt;owl:hasValue rdf:resource="http://example.org/vocab#red"/&gt;
&lt;/owl:Restriction&gt;
&lt;/owl:intersectionOf&gt;
&lt;/owl:Class&gt;
&lt;/rdfs:subClassOf&gt;
&lt;/owl:Class&gt;
&lt;owl:Class rdf:ID="blue"&gt;
&lt;rdfs:subClassOf&gt;
&lt;owl:Class&gt;
&lt;owl:intersectionOf rdf:parseType="Collection"&gt;
&lt;owl:Restriction&gt;
&lt;owl:onProperty rdf:resource="http://example.org/vocab#color" /&gt;
&lt;owl:hasValue rdf:resource="http://example.org/vocab#blue"/&gt;
&lt;/owl:Restriction&gt;
&lt;/owl:intersectionOf&gt;
&lt;/owl:Class&gt;
&lt;/rdfs:subClassOf&gt;
&lt;/owl:Class&gt;
&lt;/rdf:RDF&gt;
</pre></td>
</tr>
</tbody></table>
<table summary="POWDER document with includehosts and includeports elements" id="grddl-005" class="TestTable">
<tbody><tr>
<td class="TestType">GRDDL Test</td>
<td class="TestType">Positive</td>
<td class="TestDescription">Transformation of a POWDER document containing includehost and includeports in the iriset element</td>
<td class="TestNumber">005</td>
</tr>
<tr>
<td class="TestDescriptionHead" colspan="4">Test Assertion</td>
</tr>
<tr>
<td colspan="4" class="TestContent">A transformation of a POWDER
document to POWDER-S must produce semantically identical results with
this test with respect to the transformation of <strong>includehosts </strong>and <strong>includeports </strong>elements</td>
</tr>
<tr>
<td class="TestContent" colspan="4"><a href="http://www.w3.org/TR/powder-grouping/#byIRIcomp">Protocol for Web Description Resources (POWDER): Grouping of Resources Section 2.1 Constraints on IRI components</a></td>
</tr>
<tr>
<td class="TestDescriptionHead" colspan="4">Description</td>
</tr>
<tr>
<td class="TestDescription" colspan="4">
<a href="tests/grddl_tests/Manifestgrddl005.rdf">Manifestgrddl005.rdf</a></td>
</tr>
<tr>
<td class="TestNamespacesHead" colspan="4">Preconditions - Namespace</td>
</tr>
<tr>
<td class="TestContent" colspan="4">@prefix ex: &lt;http://example.org/vocab#&gt;</td>
</tr>
<tr>
<td class="TestDescriptionHead" colspan="4">Documents <a href="tests/grddl_tests/powder005.xml" class="whiteLink">powder005.xml</a> | <a href="tests/grddl_tests/powders005.rdf" class="whiteLink">powders005.rdf</a></td>
</tr>
<tr>
<td class="TestXML" colspan="4">
<pre>&lt;?xml version="1.0"?&gt;
&lt;powder xmlns="http://www.w3.org/2007/05/powder#"
xmlns:ex="http://example.org/vocab#"&gt;
&lt;attribution&gt;
&lt;issuedby src="http://authority.example.org/company.rdf#me" /&gt;
&lt;issued&gt;2007-12-14T00:00:00&lt;/issued&gt;
&lt;/attribution&gt;
&lt;dr&gt;
&lt;iriset&gt;
&lt;includehosts&gt;example.com example.org&lt;/includehosts&gt;
&lt;includeports&gt;80 8080 8081 8082&lt;/includeports&gt;
&lt;/iriset&gt;
&lt;descriptorset&gt;
&lt;ex:color&gt;red&lt;/ex:color&gt;
&lt;ex:shape&gt;square&lt;/ex:shape&gt;
&lt;displaytext&gt;Everything on example.org and example.com is is red and square&lt;/displaytext&gt;
&lt;displayicon src="http://example.org/icon.png" /&gt;
&lt;/descriptorset&gt;
&lt;/dr&gt;
&lt;/powder&gt;
</pre></td>
</tr>
<tr>
<td class="TestRDF" colspan="4">
<pre>&lt;?xml version="1.0"?&gt;
&lt;rdf:RDF
xmlns:wdrs="http://www.w3.org/2007/05/powder-s#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#"
xmlns:owl="http://www.w3.org/2002/07/owl#"
xmlns:ex="http://example.org/vocab#"&gt;
&lt;owl:Ontology rdf:about=""&gt;
&lt;wdrs:issuedby rdf:resource="http://authority.example.org/company.rdf#me" /&gt;
&lt;wdrs:issued&gt;2007-12-14T00:00:00&lt;/wdrs:issued&gt;
&lt;/owl:Ontology&gt;
&lt;owl:Class rdf:nodeID="iriset_1"&gt;
&lt;owl:equivalentClass&gt;
&lt;owl:Class&gt;
&lt;owl:intersectionOf rdf:parseType="Collection"&gt;
&lt;owl:Restriction&gt;
&lt;owl:onProperty rdf:resource="http://www.w3.org/2007/05/powder-s#matchesregex" /&gt;
&lt;owl:hasValue rdf:datatype="http://www.w3.org/2001/XMLSchema-datatypes#string"&gt;\:\/\/([^\:\/\?\#\@]+\.)*[^\:\/\?\#\@]+\:(80|8080|8081|8082)\/&lt;/owl:hasValue&gt;
&lt;/owl:Restriction&gt;
&lt;owl:Restriction&gt;
&lt;owl:onProperty rdf:resource="http://www.w3.org/2007/05/powder-s#matchesregex" /&gt;
&lt;owl:hasValue rdf:datatype="http://www.w3.org/2001/XMLSchema-datatypes#string"&gt;(([^\/\?\#]*)\@)?([^\:\/\?\#\@]+\.)?(example\.com|example\.org)(:([0-9]+))?\/&lt;/owl:hasValue&gt;
&lt;/owl:Restriction&gt;
&lt;/owl:intersectionOf&gt;
&lt;/owl:Class&gt;
&lt;/owl:equivalentClass&gt;
&lt;/owl:Class&gt;
&lt;owl:Class rdf:nodeID="descriptorset_1"&gt;
&lt;owl:subClassOf rdf:resource="http://www.w3.org/2002/07/owl#Thing&quot; /&gt;
&lt;rdfs:subClassOf&gt;
&lt;owl:Class&gt;
&lt;owl:intersectionOf rdf:parseType="Collection"&gt;
&lt;owl:Restriction&gt;
&lt;owl:onProperty rdf:resource="http://example.org/vocab#color" /&gt;
&lt;owl:hasValue&gt;red&lt;/owl:hasValue&gt;
&lt;/owl:Restriction&gt;
&lt;owl:Restriction&gt;
&lt;owl:onProperty rdf:resource="http://example.org/vocab#shape" /&gt;
&lt;owl:hasValue&gt;square&lt;/owl:hasValue&gt;
&lt;/owl:Restriction&gt;
&lt;/owl:intersectionOf&gt;
&lt;/owl:Class&gt;
&lt;/rdfs:subClassOf&gt;
&lt;wdrs:text&gt;Everything on example.org is red and square&lt;/wdrs:text&gt;
&lt;wdrs:logo rdf:resource="http://example.org/icon.png" /&gt;
&lt;/owl:Class&gt;
&lt;rdf:Description rdf:nodeID="iriset_1"&gt;
&lt;rdfs:subClassOf rdf:nodeID="descriptorset_1"/&gt;
&lt;/rdf:Description&gt;
&lt;/rdf:RDF&gt;
</pre></td>
</tr>
</tbody></table>
<table summary="POWDER document with user-defined datatypes" id="grddl-006" class="TestTable">
<tbody><tr>
<td class="TestType">GRDDL Test</td>
<td class="TestType">Positive</td>
<td class="TestDescription">Transformation of a POWDER document to POWDER-BASE. The sample POWDER file here
defines an empty set; it is provided here merely as a test bed for transformation tools.</td>
<td class="TestNumber">006</td>
</tr>
<tr>
<td class="TestDescriptionHead" colspan="4">Test Assertion</td>
</tr>
<tr>
<td class="TestContent" colspan="4">Child elements of <strong><em>iriset</em></strong> are transformed into
<strong><em>includeregex/excluderegex</em></strong> elements in POWDER-BASE. Other elements are unaffected.</td>
</tr>
<tr>
<td class="TestContent" colspan="4"><a href="http://www.w3.org/TR/powder-formal/#iriSetSemantics">Protocol for Web Description Resources (POWDER): Formal Semantics Section 4.2 POWDER and POWDER-BASE IRI Set Semantics</a></td>
</tr>
<tr>
<td class="TestDescriptionHead" colspan="4">Description</td>
</tr>
<tr>
<td class="TestDescription" colspan="4">
<a href="tests/grddl_tests/Manifestgrddl006.rdf">Manifestgrddl006.rdf</a></td>
</tr>
<tr>
<td class="TestNamespacesHead" colspan="4">Preconditions - Namespace</td>
</tr>
<tr>
<td class="TestContent" colspan="4">@prefix ex: &lt;http://example.org/vocab#&gt;</td>
</tr>
<tr>
<td class="TestDescriptionHead" colspan="4">Documents <a href="tests/grddl_tests/powder006.xml" class="whiteLink">powder006.xml</a> | <a href="tests/grddl_tests/powderb006.rdf" class="whiteLink">powderb006.rdf</a></td>
</tr>
<tr>
<td class="TestXML" colspan="4">
<pre>&lt;?xml version="1.0"?&gt;
&lt;powder xmlns="http://www.w3.org/2007/05/powder#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:ex="http://example.org/vocab#"&gt;
&lt;attribution&gt;
&lt;issuedby src="http://authority.example.org/company.rdf#me" /&gt;
&lt;/attribution&gt;
&lt;dr&gt;
&lt;iriset&gt;
&lt;includeschemes&gt;http https&lt;/includeschemes&gt;
&lt;excludeschemes&gt;http https&lt;/excludeschemes&gt;
&lt;includehosts&gt;example.com example.org&lt;/includehosts&gt;
&lt;excludehosts&gt;example.com example.org&lt;/excludehosts&gt;
&lt;includepathstartswith&gt;foo bar&lt;/includepathstartswith&gt;
&lt;excludepathstartswith&gt;foo bar&lt;/excludepathstartswith&gt;
&lt;includepathcontains&gt;foo bar&lt;/includepathcontains&gt;
&lt;excludepathcontains&gt;foo bar&lt;/excludepathcontains&gt;
&lt;includepathendswith&gt;foo bar&lt;/includepathendswith&gt;
&lt;excludepathendswith&gt;foo bar&lt;/excludepathendswith&gt;
&lt;includeexactpaths&gt;foo bar&lt;/includeexactpaths&gt;
&lt;excludeexactpaths&gt;foo bar&lt;/excludeexactpaths&gt;
&lt;includeports&gt;80 8080 8081 8082&lt;/includeports&gt;
&lt;excludeports&gt;80 8080 8081 8082&lt;/excludeports&gt;
&lt;includeresources&gt;http://www.example.com/thing.foo http://www.example.com/thing.jpg&lt;/includeresources&gt;
&lt;excluderesources&gt;http://www.example.com/thing.foo http://www.example.com/thing.jpg&lt;/excluderesources&gt;
&lt;includequerycontains&gt;id=123456&amp;amp;group=abcdefg&lt;/includequerycontains&gt;
&lt;excludequerycontains&gt;id=123456&amp;amp;group=abcdefg&lt;/excludequerycontains&gt;
&lt;includeiripattern&gt;http://*.example.org:8080&lt;/includeiripattern&gt;
&lt;excludeiripattern&gt;http://*.example.org:8080&lt;/excludeiripattern&gt;
&lt;includeregex&gt;me&lt;/includeregex&gt;
&lt;excluderegex&gt;me&lt;/excluderegex&gt;
&lt;/iriset&gt;
&lt;descriptorset&gt;
&lt;ex:shape&gt;square&lt;/ex:shape&gt;
&lt;/descriptorset&gt;
&lt;/dr&gt;
&lt;/powder&gt;
</pre></td>
</tr>
<tr>
<td class="TestRDF" colspan="4">
<pre>&lt;?xml version="1.0" encoding="UTF-8"?&gt;
&lt;powder xmlns="http://www.w3.org/2007/05/powder#" xmlns:ex="http://example.org/vocab#" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"&gt;
&lt;attribution&gt;
&lt;issuedby src="http://authority.example.org/company.rdf#me"/&gt;
&lt;/attribution&gt;
&lt;dr&gt;
&lt;iriset&gt;
&lt;includeregex&gt;^(http|https)\:\/\/&lt;/includeregex&gt;
&lt;excluderegex&gt;^(http|https)\:\/\/&lt;/excluderegex&gt;
&lt;includeregex&gt;\:\/\/(([^\/\?\#]*)\@)?([^\:\/\?\#\@]+\.)?(example\.com|example\.org)(\:([0-9]+))?\/&lt;/includeregex&gt;
&lt;excluderegex&gt;\:\/\/(([^\/\?\#]*)\@)?([^\:\/\?\#\@]+\.)?(example\.com|example\.org)(\:([0-9]+))?\/&lt;/excluderegex&gt;
&lt;includeregex&gt;\:\/\/(([^\/\?\#]*)\@)?([^\:\/\?\#\@]*)(\:([0-9]+))?(foo|bar)&lt;/includeregex&gt;
&lt;excluderegex&gt;\:\/\/(([^\/\?\#]*)\@)?([^\:\/\?\#\@]*)(\:([0-9]+))?(foo|bar)&lt;/excluderegex&gt;
&lt;includeregex&gt;\:\/\/(([^\/\?\#]*)\@)?([^\:\/\?\#\@]*)(\:([0-9]+))?\/[^\?\#]*(foo|bar)[^\?\#]*[\?\#]?&lt;/includeregex&gt;
&lt;excluderegex&gt;\:\/\/(([^\/\?\#]*)\@)?([^\:\/\?\#\@]*)(\:([0-9]+))?\/[^\?\#]*(foo|bar)[^\?\#]*[\?\#]?&lt;/excluderegex&gt;
&lt;includeregex&gt;\:\/\/(([^\/\?\#]*)\@)?([^\:\/\?\#\@]*)(\:([0-9]+))?\/[^\?\#]*(foo|bar)($|\?|\#)&lt;/includeregex&gt;
&lt;excluderegex&gt;\:\/\/(([^\/\?\#]*)\@)?([^\:\/\?\#\@]*)(\:([0-9]+))?\/[^\?\#]*(foo|bar)($|\?|\#)&lt;/excluderegex&gt;
&lt;includeregex&gt;\:\/\/(([^\/\?\#]*)\@)?([^\:\/\?\#\@]*)(\:([0-9]+))?(foo|bar)($|\?|\#)&lt;/includeregex&gt;
&lt;excluderegex&gt;\:\/\/(([^\/\?\#]*)\@)?([^\:\/\?\#\@]*)(\:([0-9]+))?(foo|bar)($|\?|\#)&lt;/excluderegex&gt;
&lt;includeregex&gt;\:\/\/(([^\/\?\#]*)\@)?([^\:\/\?\#\@]+\.)*[^\:\/\?\#\@]+\:(80|8080|8081|8082)\/&lt;/includeregex&gt;
&lt;excluderegex&gt;\:\/\/(([^\/\?\#]*)\@)?([^\:\/\?\#\@]+\.)*[^\:\/\?\#\@]+\:(80|8080|8081|8082)\/&lt;/excluderegex&gt;
&lt;includeregex&gt;^(http\:\/\/www\.example\.com\/thing\.foo|http\:\/\/www\.example\.com\/thing\.jpg)$&lt;/includeregex&gt;
&lt;excluderegex&gt;^(http\:\/\/www\.example\.com\/thing\.foo|http\:\/\/www\.example\.com\/thing\.jpg)$&lt;/excluderegex&gt;
&lt;includeregex&gt;\:\/\/(([^\/\?\#]*)\@)?([^\:\/\?\#\@]*)(\:([0-9]+))?\/[^\?\#]*\?([^\#]*\&amp;amp;)?id=123456(\&amp;amp;|$)&lt;/includeregex&gt;
&lt;includeregex&gt;\:\/\/(([^\/\?\#]*)\@)?([^\:\/\?\#\@]*)(\:([0-9]+))?\/[^\?\#]*\?([^\#]*\&amp;amp;)?group=abcdefg(\&amp;amp;|$)&lt;/includeregex&gt;
&lt;excluderegex&gt;\:\/\/(([^\/\?\#]*)\@)?([^\:\/\?\#\@]*)(\:([0-9]+))?\/[^\?\#]*\?([^\#]*\&amp;amp;)?id=123456(\&amp;amp;|$)&lt;/excluderegex&gt;
&lt;excluderegex&gt;\:\/\/(([^\/\?\#]*)\@)?([^\:\/\?\#\@]*)(\:([0-9]+))?\/[^\?\#]*\?([^\#]*\&amp;amp;)?group=abcdefg(\&amp;amp;|$)&lt;/excluderegex&gt;
&lt;includeregex&gt;^http:\/\/([^:/\?#@]+\.)+example.org:8080&lt;/includeregex&gt;
&lt;excluderegex&gt;^http:\/\/([^:/\?#@]+\.)+example.org:8080&lt;/excluderegex&gt;
&lt;includeregex&gt;me&lt;/includeregex&gt;
&lt;excluderegex&gt;me&lt;/excluderegex&gt;
&lt;/iriset&gt;
&lt;descriptorset&gt;
&lt;ex:shape&gt;square&lt;/ex:shape&gt;
&lt;/descriptorset&gt;
&lt;/dr&gt;
&lt;/powder&gt;
</pre></td>
</tr>
</tbody></table>
<table summary="POWDER document with user-defined datatypes" id="grddl-007" class="TestTable">
<tbody><tr>
<td class="TestType">GRDDL Test</td>
<td class="TestType">Positive</td>
<td class="TestDescription">Transformation of a POWDER-BASE document to POWDER-S. As with GRDDL test 006, the
input file is designed to contain many different POWDER features rather than present a realistic data file.</td>
<td class="TestNumber">007</td>
</tr>
<tr>
<td class="TestDescriptionHead" colspan="4">Test Assertion</td>
</tr>
<tr>
<td class="TestContent" colspan="4">POWDER features, such as ordered lists, pre-defined descriptor sets and DRs with multiple IRI sets
are transformed as described throughout the docmentation. This test data presents a particular
challenge with respect to the numbering/identification of different elements.</td>
</tr>
<tr>
<td class="TestContent" colspan="4"><a href="http://www.w3.org/TR/powder-formal/">Protocol for Web Description Resources (POWDER): Formal Semantics</a></td>
</tr>
<tr>
<td class="TestDescriptionHead" colspan="4">Description</td>
</tr>
<tr>
<td class="TestDescription" colspan="4">
<a href="tests/grddl_tests/Manifestgrddl007.rdf">Manifestgrddl007.rdf</a></td>
</tr>
<tr>
<td class="TestNamespacesHead" colspan="4">Preconditions - Namespace</td>
</tr>
<tr>
<td class="TestContent" colspan="4">@prefix ex: &lt;http://example.org/vocab#&gt;</td>
</tr>
<tr>
<td class="TestDescriptionHead" colspan="4">Documents <a href="tests/grddl_tests/powder007.xml" class="whiteLink">powder007.xml</a> | <a href="tests/grddl_tests/powders007.rdf" class="whiteLink">powders007.rdf</a></td>
</tr>
<tr>
<td class="TestXML" colspan="4">
<pre>&lt;?xml version="1.0" encoding="UTF-8"?&gt;
&lt;powder xmlns="http://www.w3.org/2007/05/powder#"
xmlns:ex="http://example.org/vocab#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"&gt;
&lt;attribution&gt;
&lt;issuedby src="http://authority.example.org/company.rdf#me"/&gt;
&lt;/attribution&gt;
&lt;dr&gt;
&lt;iriset&gt;
&lt;includeregex&gt;\:\/\/(([^\/\?\#]*)\@)?([^\:\/\?\#\@]+\.)?(example\.com)(\:([0-9]+))?\/&lt;/includeregex&gt;
&lt;includeregex&gt;\:\/\/(([^\/\?\#]*)\@)?([^\:\/\?\#\@]*)(\:([0-9]+))?(foo|bar)&lt;/includeregex&gt;
&lt;/iriset&gt;
&lt;iriset&gt;
&lt;includeregex&gt;\:\/\/(([^\/\?\#]*)\@)?([^\:\/\?\#\@]+\.)?(example\.org)(\:([0-9]+))?\/&lt;/includeregex&gt;
&lt;/iriset&gt;
&lt;descriptorset&gt;
&lt;ex:shape&gt;square&lt;/ex:shape&gt;
&lt;/descriptorset&gt;
&lt;tagset&gt;
&lt;tag&gt;A tag&lt;/tag&gt;
&lt;tag&gt;Another tag&lt;/tag&gt;
&lt;/tagset&gt;
&lt;/dr&gt;
&lt;ol&gt;
&lt;dr&gt;
&lt;iriset&gt;
&lt;includeregex&gt;\:\/\/(([^\/\?\#]*)\@)?([^\:\/\?\#\@]+\.)?(example\.com)(\:([0-9]+))?\/&lt;/includeregex&gt;
&lt;includeregex&gt;\:\/\/(([^\/\?\#]*)\@)?([^\:\/\?\#\@]*)(\:([0-9]+))?\/[^\?\#]*(\.html|\.php|\.pdf)($|\?|\#)&lt;/includeregex&gt;
&lt;excluderegex&gt;\:\/\/(([^\/\?\#]*)\@)?([^\:\/\?\#\@]*)(\:([0-9]+))?\/[^\?\#]*(\.jpg|\.png|\.gif)($|\?|\#)&lt;/excluderegex&gt;
&lt;/iriset&gt;
&lt;descriptorset&gt;
&lt;ex:type&gt;Document&lt;/ex:type&gt;
&lt;/descriptorset&gt;
&lt;/dr&gt;
&lt;dr&gt;
&lt;iriset&gt;
&lt;includeregex&gt;\:\/\/(([^\/\?\#]*)\@)?([^\:\/\?\#\@]+\.)?(example\.com)(\:([0-9]+))?\/&lt;/includeregex&gt;
&lt;includeregex&gt;\:\/\/(([^\/\?\#]*)\@)?([^\:\/\?\#\@]*)(\:([0-9]+))?\/[^\?\#]*(\.jpg|\.png|\.gif)($|\?|\#)&lt;/includeregex&gt;
&lt;/iriset&gt;
&lt;descriptorset&gt;
&lt;ex:type&gt;Image&lt;/ex:type&gt;
&lt;/descriptorset&gt;
&lt;/dr&gt;
&lt;dr&gt;
&lt;iriset&gt;
&lt;includeregex&gt;\:\/\/(([^\/\?\#]*)\@)?([^\:\/\?\#\@]+\.)?(example\.com)(\:([0-9]+))?\/&lt;/includeregex&gt;
&lt;/iriset&gt;
&lt;descriptorset&gt;
&lt;ex:type&gt;Other&lt;/ex:type&gt;
&lt;/descriptorset&gt;
&lt;/dr&gt;
&lt;/ol&gt;
&lt;ol&gt;
&lt;dr&gt;
&lt;iriset&gt;
&lt;includeregex&gt;^[A-Za-z]+:\/\/([^:/\?#@]+\.)+example.org(\:[0-9]+)?&lt;/includeregex&gt;
&lt;/iriset&gt;
&lt;descriptorset&gt;
&lt;ex:colour&gt;red&lt;/ex:colour&gt;
&lt;/descriptorset&gt;
&lt;/dr&gt;
&lt;dr&gt;
&lt;iriset&gt;
&lt;includeregex&gt;\:\/\/(([^\/\?\#]*)\@)?([^\:\/\?\#\@]+\.)?(example\.org&gt;)(\:([0-9]+))?\/&lt;/includeregex&gt;
&lt;/iriset&gt;
&lt;descriptorset&gt;
&lt;ex:colour&gt;Blue&lt;/ex:colour&gt;
&lt;/descriptorset&gt;
&lt;/dr&gt;
&lt;/ol&gt;
&lt;descriptorset xml:id="round"&gt;
&lt;ex:shape&gt;round&lt;/ex:shape&gt;
&lt;/descriptorset&gt;
&lt;/powder&gt;</pre></td>
</tr>
<tr>
<td class="TestRDF" colspan="4">
<pre>&lt;?xml version="1.0" encoding="UTF-8"?&gt;
&lt;rdf:RDF xmlns:owl="http://www.w3.org/2002/07/owl#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#"
xmlns:wdrs="http://www.w3.org/2007/05/powder-s#"&gt;
&lt;owl:Ontology rdf:about=""&gt;
&lt;wdrs:issuedby rdf:resource="http://authority.example.org/company.rdf#me"/&gt;
&lt;/owl:Ontology&gt;
&lt;owl:Class xml:id="round"&gt;
&lt;rdfs:subClassOf&gt;
&lt;owl:Class&gt;
&lt;owl:intersectionOf rdf:parseType="Collection"&gt;
&lt;owl:Restriction&gt;
&lt;owl:onProperty rdf:resource="http://example.org/vocab#shape"/&gt;
&lt;owl:hasValue&gt;round&lt;/owl:hasValue&gt;
&lt;/owl:Restriction&gt;
&lt;/owl:intersectionOf&gt;
&lt;/owl:Class&gt;
&lt;/rdfs:subClassOf&gt;
&lt;/owl:Class&gt;
&lt;owl:Class rdf:nodeID="iriset_1"&gt;
&lt;owl:equivalentClass&gt;
&lt;owl:Class&gt;
&lt;owl:intersectionOf rdf:parseType="Collection"&gt;
&lt;owl:Restriction&gt;
&lt;owl:onProperty rdf:resource="http://www.w3.org/2007/05/powder-s#matchesregex"/&gt;
&lt;owl:hasValue rdf:datatype="http://www.w3.org/2001/XMLSchema-datatypes#string"&gt;\:\/\/(([^\/\?\#]*)\@)?([^\:\/\?\#\@]+\.)?(example\.com)(\:([0-9]+))?\/&lt;/owl:hasValue&gt;
&lt;/owl:Restriction&gt;
&lt;owl:Restriction&gt;
&lt;owl:onProperty rdf:resource="http://www.w3.org/2007/05/powder-s#matchesregex"/&gt;
&lt;owl:hasValue rdf:datatype="http://www.w3.org/2001/XMLSchema-datatypes#string"&gt;\:\/\/(([^\/\?\#]*)\@)?([^\:\/\?\#\@]*)(\:([0-9]+))?(foo|bar)&lt;/owl:hasValue&gt;
&lt;/owl:Restriction&gt;
&lt;/owl:intersectionOf&gt;
&lt;/owl:Class&gt;
&lt;/owl:equivalentClass&gt;
&lt;/owl:Class&gt;
&lt;owl:Class rdf:nodeID="iriset_2"&gt;
&lt;owl:equivalentClass&gt;
&lt;owl:Class&gt;
&lt;owl:intersectionOf rdf:parseType="Collection"&gt;
&lt;owl:Restriction&gt;
&lt;owl:onProperty rdf:resource="http://www.w3.org/2007/05/powder-s#matchesregex"/&gt;
&lt;owl:hasValue rdf:datatype="http://www.w3.org/2001/XMLSchema-datatypes#string"&gt;\:\/\/(([^\/\?\#]*)\@)?([^\:\/\?\#\@]+\.)?(example\.org)(\:([0-9]+))?\/&lt;/owl:hasValue&gt;
&lt;/owl:Restriction&gt;
&lt;/owl:intersectionOf&gt;
&lt;/owl:Class&gt;
&lt;/owl:equivalentClass&gt;
&lt;/owl:Class&gt;
&lt;owl:Class rdf:nodeID="descriptorset_1"&gt;
&lt;rdfs:subClassOf rdf:resource="http://www.w3.org/2002/07/owl#Thing"/&gt;
&lt;rdfs:subClassOf&gt;
&lt;owl:Class&gt;
&lt;owl:intersectionOf rdf:parseType="Collection"&gt;
&lt;owl:Restriction&gt;
&lt;owl:onProperty rdf:resource="http://example.org/vocab#shape"/&gt;
&lt;owl:hasValue&gt;square&lt;/owl:hasValue&gt;
&lt;/owl:Restriction&gt;
&lt;/owl:intersectionOf&gt;
&lt;/owl:Class&gt;
&lt;/rdfs:subClassOf&gt;
&lt;/owl:Class&gt;
&lt;owl:Class rdf:ID="tagset_1"&gt;
&lt;rdfs:subClassOf&gt;
&lt;owl:Class&gt;
&lt;owl:intersectionOf rdf:parseType="Collection"&gt;
&lt;owl:Restriction&gt;
&lt;owl:onProperty rdf:resource="http://www.w3.org/2007/05/powder-s#tag"/&gt;
&lt;owl:hasValue&gt;A tag&lt;/owl:hasValue&gt;
&lt;/owl:Restriction&gt;
&lt;owl:Restriction&gt;
&lt;owl:onProperty rdf:resource="http://www.w3.org/2007/05/powder-s#tag"/&gt;
&lt;owl:hasValue&gt;Another tag&lt;/owl:hasValue&gt;
&lt;/owl:Restriction&gt;
&lt;/owl:intersectionOf&gt;
&lt;/owl:Class&gt;
&lt;/rdfs:subClassOf&gt;
&lt;/owl:Class&gt;
&lt;owl:Class rdf:nodeID="iriset_1"&gt;
&lt;rdfs:subClassOf rdf:nodeID="descriptorset_1"/&gt;
&lt;rdfs:subClassOf rdf:nodeID="tagset_1"/&gt;
&lt;/owl:Class&gt;
&lt;owl:Class rdf:nodeID="iriset_2"&gt;
&lt;rdfs:subClassOf rdf:nodeID="descriptorset_1"/&gt;
&lt;rdfs:subClassOf rdf:nodeID="tagset_1"/&gt;
&lt;/owl:Class&gt;
&lt;owl:Class rdf:nodeID="iriset_ol1_1"&gt;
&lt;owl:equivalentClass&gt;
&lt;owl:Class&gt;
&lt;owl:intersectionOf rdf:parseType="Collection"&gt;
&lt;owl:Restriction&gt;
&lt;owl:onProperty rdf:resource="http://www.w3.org/2007/05/powder-s#matchesregex"/&gt;
&lt;owl:hasValue rdf:datatype="http://www.w3.org/2001/XMLSchema-datatypes#string"&gt;\:\/\/(([^\/\?\#]*)\@)?([^\:\/\?\#\@]+\.)?(example\.com)(\:([0-9]+))?\/&lt;/owl:hasValue&gt;
&lt;/owl:Restriction&gt;
&lt;owl:Restriction&gt;
&lt;owl:onProperty rdf:resource="http://www.w3.org/2007/05/powder-s#matchesregex"/&gt;
&lt;owl:hasValue rdf:datatype="http://www.w3.org/2001/XMLSchema-datatypes#string"&gt;\:\/\/(([^\/\?\#]*)\@)?([^\:\/\?\#\@]*)(\:([0-9]+))?\/[^\?\#]*(\.html|\.php|\.pdf)($|\?|\#)&lt;/owl:hasValue&gt;
&lt;/owl:Restriction&gt;
&lt;owl:Restriction&gt;
&lt;owl:onProperty rdf:resource="http://www.w3.org/2007/05/powder-s#notmatchesregex"/&gt;
&lt;owl:hasValue rdf:datatype="http://www.w3.org/2001/XMLSchema-datatypes#string"&gt;\:\/\/(([^\/\?\#]*)\@)?([^\:\/\?\#\@]*)(\:([0-9]+))?\/[^\?\#]*(\.jpg|\.png|\.gif)($|\?|\#)&lt;/owl:hasValue&gt;
&lt;/owl:Restriction&gt;
&lt;/owl:intersectionOf&gt;
&lt;/owl:Class&gt;
&lt;/owl:equivalentClass&gt;
&lt;/owl:Class&gt;
&lt;owl:Class rdf:nodeID="iriset_ol1_1_not"&gt;
&lt;owl:equivalentClass&gt;
&lt;owl:Class&gt;
&lt;owl:unionOf rdf:parseType="Collection"&gt;
&lt;owl:Restriction&gt;
&lt;owl:onProperty rdf:resource="http://www.w3.org/2007/05/powder-s#notmatchesregex"/&gt;
&lt;owl:hasValue rdf:datatype="http://www.w3.org/2001/XMLSchema-datatypes#string"&gt;\:\/\/(([^\/\?\#]*)\@)?([^\:\/\?\#\@]+\.)?(example\.com)(\:([0-9]+))?\/&lt;/owl:hasValue&gt;
&lt;/owl:Restriction&gt;
&lt;owl:Restriction&gt;
&lt;owl:onProperty rdf:resource="http://www.w3.org/2007/05/powder-s#notmatchesregex"/&gt;
&lt;owl:hasValue rdf:datatype="http://www.w3.org/2001/XMLSchema-datatypes#string"&gt;\:\/\/(([^\/\?\#]*)\@)?([^\:\/\?\#\@]*)(\:([0-9]+))?\/[^\?\#]*(\.html|\.php|\.pdf)($|\?|\#)&lt;/owl:hasValue&gt;
&lt;/owl:Restriction&gt;
&lt;owl:Restriction&gt;
&lt;owl:onProperty rdf:resource="http://www.w3.org/2007/05/powder-s#matchesregex"/&gt;
&lt;owl:hasValue rdf:datatype="http://www.w3.org/2001/XMLSchema-datatypes#string"&gt;\:\/\/(([^\/\?\#]*)\@)?([^\:\/\?\#\@]*)(\:([0-9]+))?\/[^\?\#]*(\.jpg|\.png|\.gif)($|\?|\#)&lt;/owl:hasValue&gt;
&lt;/owl:Restriction&gt;
&lt;/owl:unionOf&gt;
&lt;/owl:Class&gt;
&lt;/owl:equivalentClass&gt;
&lt;/owl:Class&gt;
&lt;owl:Class rdf:nodeID="descriptorset_ol1_1"&gt;
&lt;rdfs:subClassOf rdf:resource="http://www.w3.org/2002/07/owl#Thing"/&gt;
&lt;rdfs:subClassOf&gt;
&lt;owl:Class&gt;
&lt;owl:intersectionOf rdf:parseType="Collection"&gt;
&lt;owl:Restriction&gt;
&lt;owl:onProperty rdf:resource="http://example.org/vocab#type"/&gt;
&lt;owl:hasValue&gt;Document&lt;/owl:hasValue&gt;
&lt;/owl:Restriction&gt;
&lt;/owl:intersectionOf&gt;
&lt;/owl:Class&gt;
&lt;/rdfs:subClassOf&gt;
&lt;/owl:Class&gt;
&lt;owl:Class rdf:nodeID="iriset_ol1_1"&gt;
&lt;rdfs:subClassOf rdf:nodeID="descriptorset_ol1_1"/&gt;
&lt;/owl:Class&gt;
&lt;owl:Class rdf:nodeID="iriset_ol1_2"&gt;
&lt;owl:equivalentClass&gt;
&lt;owl:Class&gt;
&lt;owl:intersectionOf rdf:parseType="Collection"&gt;
&lt;owl:Restriction&gt;
&lt;owl:onProperty rdf:resource="http://www.w3.org/2007/05/powder-s#matchesregex"/&gt;
&lt;owl:hasValue rdf:datatype="http://www.w3.org/2001/XMLSchema-datatypes#string"&gt;\:\/\/(([^\/\?\#]*)\@)?([^\:\/\?\#\@]+\.)?(example\.com)(\:([0-9]+))?\/&lt;/owl:hasValue&gt;
&lt;/owl:Restriction&gt;
&lt;owl:Restriction&gt;
&lt;owl:onProperty rdf:resource="http://www.w3.org/2007/05/powder-s#matchesregex"/&gt;
&lt;owl:hasValue rdf:datatype="http://www.w3.org/2001/XMLSchema-datatypes#string"&gt;\:\/\/(([^\/\?\#]*)\@)?([^\:\/\?\#\@]*)(\:([0-9]+))?\/[^\?\#]*(\.jpg|\.png|\.gif)($|\?|\#)&lt;/owl:hasValue&gt;
&lt;/owl:Restriction&gt;
&lt;owl:Class rdf:nodeID="iriset_ol1_1_not"/&gt;
&lt;/owl:intersectionOf&gt;
&lt;/owl:Class&gt;
&lt;/owl:equivalentClass&gt;
&lt;/owl:Class&gt;
&lt;owl:Class rdf:nodeID="iriset_ol1_2_not"&gt;
&lt;owl:equivalentClass&gt;
&lt;owl:Class&gt;
&lt;owl:unionOf rdf:parseType="Collection"&gt;
&lt;owl:Restriction&gt;
&lt;owl:onProperty rdf:resource="http://www.w3.org/2007/05/powder-s#notmatchesregex"/&gt;
&lt;owl:hasValue rdf:datatype="http://www.w3.org/2001/XMLSchema-datatypes#string"&gt;\:\/\/(([^\/\?\#]*)\@)?([^\:\/\?\#\@]+\.)?(example\.com)(\:([0-9]+))?\/&lt;/owl:hasValue&gt;
&lt;/owl:Restriction&gt;
&lt;owl:Restriction&gt;
&lt;owl:onProperty rdf:resource="http://www.w3.org/2007/05/powder-s#notmatchesregex"/&gt;
&lt;owl:hasValue rdf:datatype="http://www.w3.org/2001/XMLSchema-datatypes#string"&gt;\:\/\/(([^\/\?\#]*)\@)?([^\:\/\?\#\@]*)(\:([0-9]+))?\/[^\?\#]*(\.jpg|\.png|\.gif)($|\?|\#)&lt;/owl:hasValue&gt;
&lt;/owl:Restriction&gt;
&lt;/owl:unionOf&gt;
&lt;/owl:Class&gt;
&lt;/owl:equivalentClass&gt;
&lt;/owl:Class&gt;
&lt;owl:Class rdf:nodeID="descriptorset_ol1_2"&gt;
&lt;rdfs:subClassOf rdf:resource="http://www.w3.org/2002/07/owl#Thing"/&gt;
&lt;rdfs:subClassOf&gt;
&lt;owl:Class&gt;
&lt;owl:intersectionOf rdf:parseType="Collection"&gt;
&lt;owl:Restriction&gt;
&lt;owl:onProperty rdf:resource="http://example.org/vocab#type"/&gt;
&lt;owl:hasValue&gt;Image&lt;/owl:hasValue&gt;
&lt;/owl:Restriction&gt;
&lt;/owl:intersectionOf&gt;
&lt;/owl:Class&gt;
&lt;/rdfs:subClassOf&gt;
&lt;/owl:Class&gt;
&lt;owl:Class rdf:nodeID="iriset_ol1_2"&gt;
&lt;rdfs:subClassOf rdf:nodeID="descriptorset_ol1_2"/&gt;
&lt;/owl:Class&gt;
&lt;owl:Class rdf:nodeID="iriset_ol1_3"&gt;
&lt;owl:equivalentClass&gt;
&lt;owl:Class&gt;
&lt;owl:intersectionOf rdf:parseType="Collection"&gt;
&lt;owl:Restriction&gt;
&lt;owl:onProperty rdf:resource="http://www.w3.org/2007/05/powder-s#matchesregex"/&gt;
&lt;owl:hasValue rdf:datatype="http://www.w3.org/2001/XMLSchema-datatypes#string"&gt;\:\/\/(([^\/\?\#]*)\@)?([^\:\/\?\#\@]+\.)?(example\.com)(\:([0-9]+))?\/&lt;/owl:hasValue&gt;
&lt;/owl:Restriction&gt;
&lt;owl:Class rdf:nodeID="iriset_ol1_1_not"/&gt;
&lt;owl:Class rdf:nodeID="iriset_ol1_2_not"/&gt;
&lt;/owl:intersectionOf&gt;
&lt;/owl:Class&gt;
&lt;/owl:equivalentClass&gt;
&lt;/owl:Class&gt;
&lt;owl:Class rdf:nodeID="iriset_ol1_3_not"&gt;
&lt;owl:equivalentClass&gt;
&lt;owl:Class&gt;
&lt;owl:unionOf rdf:parseType="Collection"&gt;
&lt;owl:Restriction&gt;
&lt;owl:onProperty rdf:resource="http://www.w3.org/2007/05/powder-s#notmatchesregex"/&gt;
&lt;owl:hasValue rdf:datatype="http://www.w3.org/2001/XMLSchema-datatypes#string"&gt;\:\/\/(([^\/\?\#]*)\@)?([^\:\/\?\#\@]+\.)?(example\.com)(\:([0-9]+))?\/&lt;/owl:hasValue&gt;
&lt;/owl:Restriction&gt;
&lt;/owl:unionOf&gt;
&lt;/owl:Class&gt;
&lt;/owl:equivalentClass&gt;
&lt;/owl:Class&gt;
&lt;owl:Class rdf:nodeID="descriptorset_ol1_3"&gt;
&lt;rdfs:subClassOf rdf:resource="http://www.w3.org/2002/07/owl#Thing"/&gt;
&lt;rdfs:subClassOf&gt;
&lt;owl:Class&gt;
&lt;owl:intersectionOf rdf:parseType="Collection"&gt;
&lt;owl:Restriction&gt;
&lt;owl:onProperty rdf:resource="http://example.org/vocab#type"/&gt;
&lt;owl:hasValue&gt;Other&lt;/owl:hasValue&gt;
&lt;/owl:Restriction&gt;
&lt;/owl:intersectionOf&gt;
&lt;/owl:Class&gt;
&lt;/rdfs:subClassOf&gt;
&lt;/owl:Class&gt;
&lt;owl:Class rdf:nodeID="iriset_ol1_3"&gt;
&lt;rdfs:subClassOf rdf:nodeID="descriptorset_ol1_3"/&gt;
&lt;/owl:Class&gt;
&lt;owl:Class rdf:nodeID="iriset_ol2_1"&gt;
&lt;owl:equivalentClass&gt;
&lt;owl:Class&gt;
&lt;owl:intersectionOf rdf:parseType="Collection"&gt;
&lt;owl:Restriction&gt;
&lt;owl:onProperty rdf:resource="http://www.w3.org/2007/05/powder-s#matchesregex"/&gt;
&lt;owl:hasValue rdf:datatype="http://www.w3.org/2001/XMLSchema-datatypes#string"&gt;^[A-Za-z]+:\/\/([^:/\?#@]+\.)+example.org(\:[0-9]+)?&lt;/owl:hasValue&gt;
&lt;/owl:Restriction&gt;
&lt;/owl:intersectionOf&gt;
&lt;/owl:Class&gt;
&lt;/owl:equivalentClass&gt;
&lt;/owl:Class&gt;
&lt;owl:Class rdf:nodeID="iriset_ol2_1_not"&gt;
&lt;owl:equivalentClass&gt;
&lt;owl:Class&gt;
&lt;owl:unionOf rdf:parseType="Collection"&gt;
&lt;owl:Restriction&gt;
&lt;owl:onProperty rdf:resource="http://www.w3.org/2007/05/powder-s#notmatchesregex"/&gt;
&lt;owl:hasValue rdf:datatype="http://www.w3.org/2001/XMLSchema-datatypes#string"&gt;^[A-Za-z]+:\/\/([^:/\?#@]+\.)+example.org(\:[0-9]+)?&lt;/owl:hasValue&gt;
&lt;/owl:Restriction&gt;
&lt;/owl:unionOf&gt;
&lt;/owl:Class&gt;
&lt;/owl:equivalentClass&gt;
&lt;/owl:Class&gt;
&lt;owl:Class rdf:nodeID="descriptorset_ol2_1"&gt;
&lt;rdfs:subClassOf rdf:resource="http://www.w3.org/2002/07/owl#Thing"/&gt;
&lt;rdfs:subClassOf&gt;
&lt;owl:Class&gt;
&lt;owl:intersectionOf rdf:parseType="Collection"&gt;
&lt;owl:Restriction&gt;
&lt;owl:onProperty rdf:resource="http://example.org/vocab#colour"/&gt;
&lt;owl:hasValue&gt;red&lt;/owl:hasValue&gt;
&lt;/owl:Restriction&gt;
&lt;/owl:intersectionOf&gt;
&lt;/owl:Class&gt;
&lt;/rdfs:subClassOf&gt;
&lt;/owl:Class&gt;
&lt;owl:Class rdf:nodeID="iriset_ol2_1"&gt;
&lt;rdfs:subClassOf rdf:nodeID="descriptorset_ol2_1"/&gt;
&lt;/owl:Class&gt;
&lt;owl:Class rdf:nodeID="iriset_ol2_2"&gt;
&lt;owl:equivalentClass&gt;
&lt;owl:Class&gt;
&lt;owl:intersectionOf rdf:parseType="Collection"&gt;
&lt;owl:Restriction&gt;
&lt;owl:onProperty rdf:resource="http://www.w3.org/2007/05/powder-s#matchesregex"/&gt;
&lt;owl:hasValue rdf:datatype="http://www.w3.org/2001/XMLSchema-datatypes#string"&gt;\:\/\/(([^\/\?\#]*)\@)?([^\:\/\?\#\@]+\.)?(example\.org&gt;)(\:([0-9]+))?\/&lt;/owl:hasValue&gt;
&lt;/owl:Restriction&gt;
&lt;owl:Class rdf:nodeID="iriset_ol2_1_not"/&gt;
&lt;/owl:intersectionOf&gt;
&lt;/owl:Class&gt;
&lt;/owl:equivalentClass&gt;
&lt;/owl:Class&gt;
&lt;owl:Class rdf:nodeID="iriset_ol2_2_not"&gt;
&lt;owl:equivalentClass&gt;
&lt;owl:Class&gt;
&lt;owl:unionOf rdf:parseType="Collection"&gt;
&lt;owl:Restriction&gt;
&lt;owl:onProperty rdf:resource="http://www.w3.org/2007/05/powder-s#notmatchesregex"/&gt;
&lt;owl:hasValue rdf:datatype="http://www.w3.org/2001/XMLSchema-datatypes#string"&gt;\:\/\/(([^\/\?\#]*)\@)?([^\:\/\?\#\@]+\.)?(example\.org&gt;)(\:([0-9]+))?\/&lt;/owl:hasValue&gt;
&lt;/owl:Restriction&gt;
&lt;/owl:unionOf&gt;
&lt;/owl:Class&gt;
&lt;/owl:equivalentClass&gt;
&lt;/owl:Class&gt;
&lt;owl:Class rdf:nodeID="descriptorset_ol2_2"&gt;
&lt;rdfs:subClassOf rdf:resource="http://www.w3.org/2002/07/owl#Thing"/&gt;
&lt;rdfs:subClassOf&gt;
&lt;owl:Class&gt;
&lt;owl:intersectionOf rdf:parseType="Collection"&gt;
&lt;owl:Restriction&gt;
&lt;owl:onProperty rdf:resource="http://example.org/vocab#colour"/&gt;
&lt;owl:hasValue&gt;Blue&lt;/owl:hasValue&gt;
&lt;/owl:Restriction&gt;
&lt;/owl:intersectionOf&gt;
&lt;/owl:Class&gt;
&lt;/rdfs:subClassOf&gt;
&lt;/owl:Class&gt;
&lt;owl:Class rdf:nodeID="iriset_ol2_2"&gt;
&lt;rdfs:subClassOf rdf:nodeID="descriptorset_ol2_2"/&gt;
&lt;/owl:Class&gt;
&lt;/rdf:RDF&gt;
</pre></td>
</tr>
</tbody></table>
<table summary="POWDER document with user-defined datatypes" id="grddl-008" class="TestTable">
<tbody><tr>
<td class="TestType">GRDDL Test</td>
<td class="TestType">Positive</td>
<td class="TestDescription">Transformation of POWDER-specific elements to POWDER-S.</td>
<td class="TestNumber">008</td>
</tr>
<tr>
<td class="TestDescriptionHead" colspan="4">Test Assertion</td>
</tr>
<tr>
<td class="TestContent" colspan="4">POWDER includes several
elements that trigger special behavior, acting as shortcuts. This data
allows those transformations to be tested.</td>
</tr>
<tr>
<td class="TestContent" colspan="4"><a href="http://www.w3.org/TR/powder-formal/#iriSetSemantics">Protocol for Web Description Resources (POWDER): Formal Semantics Section 4.2 POWDER and POWDER-BASE IRI Set Semantics</a></td>
</tr>
<tr>
<td class="TestDescriptionHead" colspan="4">Description</td>
</tr>
<tr>
<td class="TestDescription" colspan="4">
<a href="tests/grddl_tests/Manifestgrddl008.rdf">Manifestgrddl008.rdf</a></td>
</tr>
<tr>
<td class="TestNamespacesHead" colspan="4">Preconditions - Namespace</td>
</tr>
<tr>
<td class="TestContent" colspan="4">@prefix ex: &lt;http://example.org/vocab#&gt;</td>
</tr>
<tr>
<td class="TestDescriptionHead" colspan="4">Documents <a href="tests/grddl_tests/powder008.xml" class="whiteLink">powder008.xml</a> | <a href="tests/grddl_tests/powders008.rdf" class="whiteLink">powders008.rdf</a></td>
</tr>
<tr>
<td class="TestXML" colspan="4">
<pre>&lt;?xml version="1.0"?&gt;
&lt;powder xmlns="http://www.w3.org/2007/05/powder#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:ex="http://example.org/vocab#"&gt;
&lt;attribution&gt;
&lt;issuedby src="http://authority.example.org/company.rdf#me" /&gt;
&lt;issued&gt;2007-12-14T00:00:00&lt;/issued&gt;
&lt;validfrom&gt;2008-01-01T00:00:00&lt;/validfrom&gt;
&lt;validuntil&gt;2008-12-31T23:59:59&lt;/validuntil&gt;
&lt;certifiedby src="http://another.example.org/" /&gt;
&lt;supportedby src="http://yet.another.example.org" /&gt;
&lt;abouthosts&gt;example.com example.org&lt;/abouthosts&gt;
&lt;ex:property1&gt;value&lt;/ex:property1&gt;
&lt;ex:property2 rdf:resource="http://example.org/foo.rdf#frag" /&gt;
&lt;ex:property3 src="http://example.com/bar.rdf#frag" /&gt;
&lt;/attribution&gt;
&lt;more src="http://www.example.com/powder2.xml" /&gt;
&lt;dr&gt;
&lt;iriset&gt;
&lt;includehosts&gt;example.com example.org&lt;/includehosts&gt;
&lt;/iriset&gt;
&lt;descriptorset&gt;
&lt;ex:finish rdf:resource="http://example.org/vocab#shiny"/&gt;
&lt;ex:shape&gt;square&lt;/ex:shape&gt;
&lt;certified&gt;true&lt;/certified&gt;
&lt;sha1sum&gt;abcdef1234567890&lt;/sha1sum&gt;
&lt;typeof src="http://example.org/#thing" /&gt;
&lt;displaytext&gt;Some text to display&lt;/displaytext&gt;
&lt;displayicon src="http://example.com/icon.png" /&gt;
&lt;/descriptorset&gt;
&lt;tagset&gt;
&lt;seealso src="http://example.com/thing" /&gt;
&lt;label&gt;A bunch of tags&lt;/label&gt;
&lt;comment&gt;A pithy comment&lt;/comment&gt;
&lt;tag&gt;A tag&lt;/tag&gt;
&lt;tag&gt;Another tag&lt;/tag&gt;
&lt;/tagset&gt;
&lt;/dr&gt;
&lt;/powder&gt;</pre></td>
</tr>
<tr>
<td class="TestRDF" colspan="4">
<pre>&lt;?xml version="1.0" encoding="UTF-8"?&gt;
&lt;rdf:RDF xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#" xmlns:wdrs="http://www.w3.org/2007/05/powder-s#"&gt;
&lt;owl:Ontology rdf:about=""&gt;
&lt;wdrs:issuedby rdf:resource="http://authority.example.org/company.rdf#me"/&gt;
&lt;wdrs:issued&gt;2007-12-14T00:00:00&lt;/wdrs:issued&gt;
&lt;wdrs:validFrom&gt;2008-01-01T00:00:00&lt;/wdrs:validFrom&gt;
&lt;wdrs:validUntil&gt;2008-12-31T23:59:59&lt;/wdrs:validUntil&gt;
&lt;wdrs:certfiedby rdf:resource="http://another.example.org/"/&gt;
&lt;wdrs:supportedby rdf:resource="http://yet.another.example.org"/&gt;
&lt;ex:property1 xmlns="http://www.w3.org/2007/05/powder#" xmlns:ex="http://example.org/vocab#"&gt;value&lt;/ex:property1&gt;
&lt;ex:property2 xmlns="http://www.w3.org/2007/05/powder#" xmlns:ex="http://example.org/vocab#" xmlns:prefix_1="http://www.w3.org/1999/02/22-rdf-syntax-ns#" prefix_1:resource="http://example.org/foo.rdf#frag"/&gt;
&lt;ex:property3 xmlns="http://www.w3.org/2007/05/powder#" xmlns:ex="http://example.org/vocab#" xmlns:prefix_2="http://www.w3.org/1999/02/22-rdf-syntax-ns#" prefix_2:resource="http://example.com/bar.rdf#frag"/&gt;
&lt;/owl:Ontology&gt;
&lt;owl:Class rdf:nodeID="aboutset"&gt;
&lt;owl:equivalentClass&gt;
&lt;owl:Class&gt;
&lt;owl:intersectionOf rdf:parseType="Collection"&gt;
&lt;owl:Restriction&gt;
&lt;owl:onProperty rdf:resource="http://www.w3.org/2007/05/powder-s#matchesregex"/&gt;
&lt;owl:hasValue rdf:datatype="http://www.w3.org/2001/XMLSchema-datatypes#string"&gt;\:\/\/(([^\/\?\#]*)\@)?([^\:\/\?\#\@]+\.)?(\:\/\/(([^\/\?\#]*)\@)?([^\:\/\?\#\@]+\.)?(example\.com|example\.org)(\:([0-9]+))?\/)(\:([0-9]+))?\/&lt;/owl:hasValue&gt;
&lt;/owl:Restriction&gt;
&lt;/owl:intersectionOf&gt;
&lt;/owl:Class&gt;
&lt;/owl:equivalentClass&gt;
&lt;/owl:Class&gt;
&lt;owl:Ontology rdf:about=""&gt;
&lt;rdfs:seeAlso rdf:resource="http://www.example.com/powder2.xml"/&gt;
&lt;/owl:Ontology&gt;
&lt;owl:Class rdf:nodeID="iriset_1"&gt;
&lt;owl:equivalentClass&gt;
&lt;owl:Class&gt;
&lt;owl:intersectionOf rdf:parseType="Collection"&gt;
&lt;owl:Restriction&gt;
&lt;owl:onProperty rdf:resource="http://www.w3.org/2007/05/powder-s#matchesregex"/&gt;
&lt;owl:hasValue rdf:datatype="http://www.w3.org/2001/XMLSchema-datatypes#string"&gt;\:\/\/(([^\/\?\#]*)\@)?([^\:\/\?\#\@]+\.)?(example\.com|example\.org)(\:([0-9]+))?\/&lt;/owl:hasValue&gt;
&lt;/owl:Restriction&gt;
&lt;/owl:intersectionOf&gt;
&lt;/owl:Class&gt;
&lt;/owl:equivalentClass&gt;
&lt;/owl:Class&gt;
&lt;owl:Class rdf:nodeID="descriptorset_1"&gt;
&lt;rdfs:subClassOf rdf:nodeID="aboutset"/&gt;
&lt;rdfs:subClassOf&gt;
&lt;owl:Class&gt;
&lt;owl:intersectionOf rdf:parseType="Collection"&gt;
&lt;owl:Restriction&gt;
&lt;owl:onProperty rdf:resource="http://example.org/vocab#shape"/&gt;
&lt;owl:hasValue&gt;square&lt;/owl:hasValue&gt;
&lt;/owl:Restriction&gt;
&lt;owl:Restriction&gt;
&lt;owl:onProperty rdf:resource="http://example.org/vocab#finish"/&gt;
&lt;owl:hasValue rdf:resource="http://example.org/vocab#shiny"/&gt;
&lt;/owl:Restriction&gt;
&lt;owl:Restriction&gt;
&lt;owl:onProperty rdf:resource="http://www.w3.org/2007/05/powder-s#certified"/&gt;
&lt;owl:hasValue&gt;true&lt;/owl:hasValue&gt;
&lt;/owl:Restriction&gt;
&lt;owl:Restriction&gt;
&lt;owl:onProperty rdf:resource="http://www.w3.org/2007/05/powder-s#sha1sum"/&gt;
&lt;owl:hasValue&gt;abcdef1234567890&lt;/owl:hasValue&gt;
&lt;/owl:Restriction&gt;
&lt;owl:Class rdf:about="http://example.org/#thing"/&gt;
&lt;/owl:intersectionOf&gt;
&lt;/owl:Class&gt;
&lt;/rdfs:subClassOf&gt;
&lt;wdrs:text&gt;Some text to display&lt;/wdrs:text&gt;
&lt;wdrs:logo rdf:resource=""/&gt;
&lt;/owl:Class&gt;
&lt;owl:Class rdf:ID="tagset_1"&gt;
&lt;rdfs:label&gt;A bunch of tags&lt;/rdfs:label&gt;
&lt;rdfs:comment&gt;A pithy comment&lt;/rdfs:comment&gt;
&lt;rdfs:seeAlso rdf:resource="http://example.com/thing"/&gt;
&lt;rdfs:subClassOf&gt;
&lt;owl:Class&gt;
&lt;owl:intersectionOf rdf:parseType="Collection"&gt;
&lt;owl:Restriction&gt;
&lt;owl:onProperty rdf:resource="http://www.w3.org/2007/05/powder-s#tag"/&gt;
&lt;owl:hasValue&gt;A tag&lt;/owl:hasValue&gt;
&lt;/owl:Restriction&gt;
&lt;owl:Restriction&gt;
&lt;owl:onProperty rdf:resource="http://www.w3.org/2007/05/powder-s#tag"/&gt;
&lt;owl:hasValue&gt;Another tag&lt;/owl:hasValue&gt;
&lt;/owl:Restriction&gt;
&lt;/owl:intersectionOf&gt;
&lt;/owl:Class&gt;
&lt;/rdfs:subClassOf&gt;
&lt;/owl:Class&gt;
&lt;owl:Class rdf:nodeID="iriset_1"&gt;
&lt;rdfs:subClassOf rdf:nodeID="descriptorset_1"/&gt;
&lt;rdfs:subClassOf rdf:nodeID="tagset_1"/&gt;
&lt;/owl:Class&gt;
&lt;/rdf:RDF&gt;</pre></td>
</tr>
</tbody></table>
<h3 id="locate">4.4 POWDER Locator Tests</h3>
<table summary="Locate a description using the link element" id="locator-001" class="TestTable">
<tbody><tr>
<td class="TestType">Associating Test</td>
<td class="TestType">Positive</td>
<td class="TestDescription">Discover descriptions by using the (X)HMTL LINK element</td>
<td class="TestNumber">001</td>
</tr>
<tr>
<td class="TestDescriptionHead" colspan="4">Test Assertion</td>
</tr>
<tr>
<td class="TestContent" colspan="4">A (X)HTML document can point to a POWDER document by using the LINK element within its HEAD section</td>
</tr>
<tr>
<td class="TestContent" colspan="4"><a href="http://www.w3.org/TR/powder-dr/#assoc-markup">Protocol for Web Description Resources (POWDER): Description Resources Section 4.1.1 (X)HTML link Elements</a></td>
</tr>
<tr>
<td class="TestDescriptionHead" colspan="4">Description</td>
</tr>
<tr>
<td class="TestDescription" colspan="4">
<a href="tests/locate_tests/Manifestlocate001.rdf">Manifestlocate001.rdf</a></td>
</tr>
<tr>
<td class="TestNamespacesHead" colspan="4">Preconditions - Namespace</td>
</tr>
<tr>
<td class="TestContent" colspan="4">@prefix ex: &lt;http://example.org/vocab#&gt;</td>
</tr>
<tr>
<td class="TestDescriptionHead" colspan="4">Documents <a href="tests/locate_tests/loc001.html" class="whiteLink">loc001.html</a> | <a href="tests/locate_tests/loc001.xml" class="whiteLink">loc001.xml</a></td>
</tr>
<tr>
<td class="TestHTML" colspan="4">
<pre>&lt;html xmlns="http://www.w3.org/1999/xhtml"&gt;
&lt;head profile="http://www.w3.org/2007/11/powder-profile"&gt;
&lt;meta name="wdr.issuedby" content="http://authority.example.org/company.rdf#me" /&gt;
&lt;link rel="describedby&quot; href="loc001.xml" type="application/powder+xml" /&gt;
&lt;title&gt;POWDER Locator Test&lt;/title&gt;
&lt;/head&gt;
&lt;body&gt;
This is an XHTML document described by a POWDER document.
&lt;/body&gt;
&lt;/html&gt;
</pre>
</td>
</tr>
<tr>
<td class="TestXML" colspan="4">
<pre>&lt;?xml version="1.0"?&gt;
&lt;powder xmlns="http://www.w3.org/2007/05/powder#"
xmlns:ex="http://example.org/vocab#"&gt;
&lt;attribution&gt;
&lt;issuedby src="http://authority.example.org/company.rdf#me" /&gt;
&lt;issued&gt;2007-12-14T00:00:00&lt;/issued&gt;
&lt;/attribution&gt;
&lt;dr&gt;
&lt;iriset&gt;
&lt;includehosts&gt;example.com&lt;/includehosts&gt;
&lt;/iriset&gt;
&lt;descriptorset&gt;
&lt;ex:color&gt;red&lt;/ex:color&gt;
&lt;ex:shape&gt;square&lt;/ex:shape&gt;
&lt;displaytext&gt;Everything on example.org is red and square&lt;/displaytext&gt;
&lt;displayicon src="http://example.org/icon.png" /&gt;
&lt;/descriptorset&gt;
&lt;/dr&gt;
&lt;/powder&gt;
</pre>
</td>
</tr>
</tbody>
</table>
<table summary="Locate a description using the link element" id="locator-002" class="TestTable">
<tbody><tr>
<td class="TestType">Associating Test</td>
<td class="TestType">Positive</td>
<td class="TestDescription">Discover descriptions by using the HTTP link header</td>
<td class="TestNumber">002</td>
</tr>
<tr>
<td class="TestDescriptionHead" colspan="4">Test Assertion</td>
</tr>
<tr>
<td class="TestContent" colspan="4">An agent can discover the
POWDER document associated with a (X)HTML document by inspecting the
HTTP response headers when requesting the (X)HTML document</td>
</tr>
<tr>
<td class="TestContent" colspan="4"><a href="http://www.w3.org/TR/powder-dr/#httplink">Protocol for Web Description Resources (POWDER): Description Resources Section 4.1.3 HTTP Link Headers</a></td>
</tr>
<tr>
<td class="TestDescriptionHead" colspan="4">Description</td>
</tr>
<tr>
<td class="TestDescription" colspan="4">
<a href="tests/locate_tests/Manifestlocate002.rdf">Manifestlocate002.rdf</a></td>
</tr>
<tr>
<td class="TestNamespacesHead" colspan="4">Preconditions - Namespace</td>
</tr>
<tr>
<td class="TestContent" colspan="4">@prefix ex: &lt;http://example.org/vocab#&gt;</td>
</tr>
<tr>
<td class="TestDescriptionHead" colspan="4">Documents <a href="tests/locate_tests/loc002.html" class="whiteLink">loc002.html</a> | <a href="tests/locate_tests/loc002.xml" class="whiteLink">loc002.xml</a></td>
</tr>
<tr>
<td class="TestHTML" colspan="4">
<pre>&lt;html xmlns="http://www.w3.org/1999/xhtml"&gt;
&lt;head&gt;
&lt;title&gt;POWDER Locator Test&lt;/title&gt;
&lt;/head&gt;
&lt;body&gt;
This is an XHTML document described by a POWDER document which is discovered through the HTTP Link: header.
&lt;/body&gt;
&lt;/html&gt;
</pre>
</td>
</tr>
<tr>
<td class="TestXML" colspan="4">
<pre>&lt;?xml version=&quot;1.0&quot;?&gt;
&lt;powder xmlns=&quot;http://www.w3.org/2007/05/powder#&quot;
xmlns:ex=&quot;http://example.org/vocab#&quot;&gt;
&lt;attribution&gt;
&lt;issuedby src=&quot;http://authority.example.org/company.rdf#me&quot; /&gt;
&lt;issued&gt;2007-12-14T00:00:00&lt;/issued&gt;
&lt;/attribution&gt;
&lt;dr&gt;
&lt;iriset&gt;
&lt;includehosts&gt;w3.org&lt;/includehosts&gt;
&lt;includepathendswith&gt;tests/locate_tests/loc002.html&lt;/includepathendswith&gt;
&lt;/iriset&gt;
&lt;descriptorset&gt;
&lt;ex:color&gt;green&lt;/ex:color&gt;
&lt;displaytext&gt;POWDER file located through HTTP Link&lt;/displaytext&gt;
&lt;/descriptorset&gt;
&lt;/dr&gt;
&lt;/powder&gt;
</pre>
</td>
</tr>
</tbody>
</table>
<table summary="Locate a description using wdrs:describedby" id="locator-003" class="TestTable">
<tbody><tr>
<td class="TestType">Associating Test</td>
<td class="TestType">Positive</td>
<td class="TestDescription">Discover descriptions by using the <code>wdrs:describedby</code> property</td>
<td class="TestNumber">003</td>
</tr>
<tr>
<td class="TestDescriptionHead" colspan="4">Test Assertion</td>
</tr>
<tr>
<td class="TestContent" colspan="4">A document expressed in a format that supports RDF properties can use the <code>wdrs:described</code> property to link a resource to a POWDER document</td>
</tr>
<tr>
<td class="TestContent" colspan="4"><a href="http://www.w3.org/TR/powder-dr/#semlink">Protocol
for Web Description Resources (POWDER): Description Resources Section
4.1.4 Semantic Linkage Using the describedby Property</a></td>
</tr>
<tr>
<td class="TestDescriptionHead" colspan="4">Description</td>
</tr>
<tr>
<td class="TestDescription" colspan="4">
<a href="tests/locate_tests/Manifestlocate003.rdf">Manifestlocate003.rdf</a></td>
</tr>
<tr>
<td class="TestNamespacesHead" colspan="4">Preconditions - Namespace</td>
</tr>
<tr>
<td class="TestContent" colspan="4">@prefix ex: &lt;http://example.org/vocab#&gt;</td>
</tr>
<tr>
<td class="TestDescriptionHead" colspan="4">Documents <a href="tests/locate_tests/loc003.html" class="whiteLink">loc003.html</a> | <a href="tests/locate_tests/loc003a.xml" class="whiteLink">loc003a.xml</a>| <a href="tests/locate_tests/loc003b.xml" class="whiteLink">loc003b.xml</a></td>
</tr>
<tr>
<td class="TestHTML" colspan="4"><pre>&lt;html
xmlns=&quot;http://www.w3.org/1999/xhtml&quot; version=&quot;XHTML+RDFa 1.0&quot;
xmlns:wdrs=&quot;http://www.w3.org/2007/05/powder-s#&quot;&gt;
&lt;head&gt;
&lt;title&gt;POWDER Locator Test: RDFa and the wdrs:describedby property&lt;/title&gt;
&lt;link rel=&quot;wdrs:describedBy&quot; href=&quot;loc003a.xml&quot; type=&quot;application/xml+powder&quot;/&gt;
&lt;/head&gt;
&lt;body&gt;
&lt;p&gt;&hellip;&lt;/p&gt;
&lt;p&gt;Charles I came to the throne believing in his
&lt;a about=&quot;loc003b.xml&quot;
rev=&quot;wdrs:describedBy&quot;
href=&quot;http://monarchy.example.org/divine_right.html&quot;&gt;Divine Right&lt;/a&gt; to rule...&lt;/p&gt;
&lt;p&gt;&hellip;&lt;/p&gt;
&lt;p&gt;This is an XHTML+RDFa document described by a &lt;a href=&quot;loc003a.xml&quot;&gt;POWDER document&lt;/a&gt;. The document
contains a link to a &lt;a rev=&quot;wdrs:describedby&quot; href=&quot;page.html&quot; about=&quot;loc003b.xml&quot;&gt;resource&lt;/a&gt;
that is described by another &lt;a href=&quot;loc003b&quot;&gt;POWDER document&lt;/a&gt;.
&lt;/body&gt;
&lt;/html&gt;
</pre></td>
</tr>
<tr>
<td class="TestXML" colspan="4"><pre>&lt;?xml version="1.0"?&gt;
&lt;powder xmlns="http://www.w3.org/2007/05/powder#"
xmlns:ex="http://example.org/vocab#"&gt;
&lt;attribution&gt;
&lt;issuedby src="http://authority.example.org/company.rdf#me" /&gt;
&lt;issued&gt;2007-12-14T00:00:00&lt;/issued&gt;
&lt;/attribution&gt;
&lt;dr&gt;
&lt;iriset&gt;
&lt;includehosts&gt;example.com&lt;/includehosts&gt;
&lt;/iriset&gt;
&lt;descriptorset&gt;
&lt;ex:color&gt;red&lt;/ex:color&gt;
&lt;ex:shape&gt;square&lt;/ex:shape&gt;
&lt;displaytext&gt;Everything on example.org is red and square&lt;/displaytext&gt;
&lt;displayicon src="http://example.org/icon.png" /&gt;
&lt;/descriptorset&gt;
&lt;/dr&gt;
&lt;/powder&gt;
</pre></td>
</tr>
<tr>
<td class="TestXML" colspan="4">
<pre>&lt;?xml version="1.0"?&gt;
&lt;powder xmlns="http://www.w3.org/2007/05/powder#"
xmlns:ex="http://example.org/vocab#"&gt;
&lt;attribution&gt;
&lt;issuedby src="http://authority.example.org/company.rdf#me" /&gt;
&lt;issued&gt;2007-12-14T00:00:00&lt;/issued&gt;
&lt;/attribution&gt;
&lt;dr&gt;
&lt;iriset&gt;
&lt;includehosts&gt;example.org&lt;/includehosts&gt;
&lt;/iriset&gt;
&lt;descriptorset&gt;
&lt;ex:color&gt;blue&lt;/ex:color&gt;
&lt;ex:shape&gt;round&lt;/ex:shape&gt;
&lt;displaytext&gt;Everything on example.org is blue and round&lt;/displaytext&gt;
&lt;displayicon src="http://example.org/icon.png" /&gt;
&lt;/descriptorset&gt;
&lt;/dr&gt;
&lt;/powder&gt;
</pre>
</td>
</tr>
</tbody>
</table>
<table summary="Locate descriptions from feeds" id="locator-004" class="TestTable">
<tbody><tr>
<td class="TestType">Associating Test</td>
<td class="TestType">Positive</td>
<td class="TestDescription">Discover descriptions in feeds by using the <code>wdrs:describedby</code> property</td>
<td class="TestNumber">004</td>
</tr>
<tr>
<td class="TestDescriptionHead" colspan="4">Test Assertion</td>
</tr>
<tr>
<td class="TestContent" colspan="4">The <code>wdrs:described</code> property can be used to associate descriptions with feed entries</td>
</tr>
<tr>
<td class="TestContent" colspan="4"><a href="http://www.w3.org/TR/powder-dr/#atom">Protocol for Web Description Resources (POWDER): Description Resources Section 4.1.2 ATOM link Elements</a></td>
</tr>
<tr>
<td class="TestDescriptionHead" colspan="4">Description</td>
</tr>
<tr>
<td class="TestDescription" colspan="4">
<a href="tests/locate_tests/Manifestlocate004.rdf">Manifestlocate004.rdf</a></td>
</tr>
<tr>
<td class="TestNamespacesHead" colspan="4">Preconditions - Namespace</td>
</tr>
<tr>
<td class="TestContent" colspan="4">@prefix ex: &lt;http://example.org/vocab#&gt;</td>
</tr>
<tr>
<td class="TestDescriptionHead" colspan="4">Documents <a href="tests/locate_tests/loc004_atom.xml" class="whiteLink">loc004_atom.xml</a> | <a href="tests/locate_tests/loc004a.xml" class="whiteLink">loc004a.xml</a> | <a href="tests/locate_tests/loc004b.xml" class="whiteLink">loc004b.xml</a></td>
</tr>
<tr>
<td class="TestHTML" colspan="4">
<pre>&lt;?xml version=&quot;1.0&quot; encoding=&quot;utf-8&quot;?&gt;
&lt;feed
xmlns=&quot;http://www.w3.org/2005/Atom&quot;&gt;
&lt;link rel=&quot;self&quot; href=&quot;http://www.w3.org/TR/powder-test/tests/locate_tests/loc004_atom.xml&quot; /&gt;
<strong>&lt;link rel=&quot;describedby&quot; href=&quot;loc004a.xml&quot; /&gt;</strong>
&lt;title&gt;The English Civil War&lt;/title&gt;
&lt;link href="http://ecw.example.org/"/&gt;
&lt;updated&gt;2007-10-30T15:00:00Z&lt;/updated&gt;
&lt;author&gt;
&lt;name&gt;John Doe&lt;/name&gt;
&lt;/author&gt;
&lt;id&gt;urn:uuid:60a76c80-d399-11d9-b93C-0003939e0af6&lt;/id&gt;
&lt;entry&gt;
&lt;title&gt;Charles I&lt;/title&gt;
&lt;link href="http://ecw.example.org/charles1.html"/&gt;
&lt;id&gt;urn:uuid:1225c695-cfb8-4ebb-aaaa-80da344efa6a&lt;/id&gt;
&lt;updated&gt;2007-06-04T09:39:21Z&lt;/updated&gt;
&lt;summary&gt;Charles I came to the throne believing in his Divine Right to rule...&lt;/summary&gt;
&lt;/entry&gt;
&lt;entry&gt;
<strong>&lt;link rel="describedby" href="loc004b.xml" /&gt;</strong>
&lt;title&gt;Divine Right&lt;/title&gt;
&lt;link href="http://monarchy.example.org/divine_right.html"/&gt;
&lt;id&gt;urn:uuid:1225c695-cfb8-4ebb-aaaa-80da344efa6b&lt;/id&gt;
&lt;updated&gt;2007-06-06T13:43:54Z&lt;/updated&gt;
&lt;summary&gt;Divine Right was claimed by several English monarchs, notably Charles I...&lt;/summary&gt;
&lt;/entry&gt;
&lt;/feed&gt;
</pre>
</td>
</tr>
<tr>
<td class="TestXML" colspan="4">
<pre>&lt;?xml version="1.0"?&gt;
&lt;powder xmlns="http://www.w3.org/2007/05/powder#"
xmlns:ex="http://example.org/vocab#"&gt;
&lt;attribution&gt;
&lt;issuedby src="http://authority.example.org/company.rdf#me" /&gt;
&lt;issued&gt;2007-12-14T00:00:00&lt;/issued&gt;
&lt;/attribution&gt;
&lt;dr&gt;
&lt;iriset&gt;
&lt;includehosts&gt;example.com&lt;/includehosts&gt;
&lt;/iriset&gt;
&lt;descriptorset&gt;
&lt;ex:color&gt;red&lt;/ex:color&gt;
&lt;ex:shape&gt;square&lt;/ex:shape&gt;
&lt;displaytext&gt;Everything on example.org is red and square&lt;/displaytext&gt;
&lt;displayicon src="http://example.org/icon.png" /&gt;
&lt;/descriptorset&gt;
&lt;/dr&gt;
&lt;/powder&gt;
</pre>
</td>
</tr>
<tr>
<td class="TestXML" colspan="4">
<pre>&lt;?xml version="1.0"?&gt;
&lt;powder xmlns="http://www.w3.org/2007/05/powder#"
xmlns:ex="http://example.org/vocab#"&gt;
&lt;attribution&gt;
&lt;issuedby src="http://authority.example.org/company.rdf#me" /&gt;
&lt;issued&gt;2007-12-14T00:00:00&lt;/issued&gt;
&lt;/attribution&gt;
&lt;dr&gt;
&lt;iriset&gt;
&lt;includehosts&gt;example.org&lt;/includehosts&gt;
&lt;/iriset&gt;
&lt;descriptorset&gt;
&lt;ex:color&gt;blue&lt;/ex:color&gt;
&lt;ex:shape&gt;round&lt;/ex:shape&gt;
&lt;displaytext&gt;Everything on example.org is blue and round&lt;/displaytext&gt;
&lt;displayicon src="http://example.org/icon.png" /&gt;
&lt;/descriptorset&gt;
&lt;/dr&gt;
&lt;/powder&gt;
</pre>
</td>
</tr>
</tbody>
</table>
<h2 id="infer">4.5 POWDER Data Extraction Tests</h2>
<table summary="POWDER Processor results - single dr" id="data-001" class="TestTable">
<tbody><tr>
<td class="TestType">Data Extraction Test</td>
<td class="TestType">Positive Test</td>
<td class="TestDescription">Results of the describe(u) function of a POWDER Processor given a POWDER document with a single dr element</td>
<td class="TestNumber">001</td>
</tr>
<tr>
<td class="TestDescriptionHead" colspan="4">Test Assertion</td>
</tr>
<tr>
<td class="TestContent" colspan="4">If the IRI and the POWDER document of the test are given to a <code>describe</code> function of a conformant POWDER Processor, it must return the RDF graph of the test</td>
</tr>
<tr>
<td class="TestContent" colspan="4"><a href="http://www.w3.org/TR/powder-dr/#structure">Protocol for Web Description Resources (POWDER): Description Resources Section 2.1 Operational Semantics</a></td>
</tr>
<tr>
<td class="TestDescriptionHead" colspan="4">Description</td>
</tr>
<tr>
<td class="TestDescription" colspan="4">
<a href="tests/data_tests/Manifestdata001.rdf">Manifestdata001.rdf</a></td>
</tr>
<tr>
<td class="TestNamespacesHead" colspan="4">Preconditions - Namespace</td>
</tr>
<tr>
<td class="TestContent" colspan="4">@prefix ex: &lt;http://example.org/vocab#&gt;</td>
</tr>
<tr>
<td class="TestDescriptionHead" colspan="4">Documents <a href="tests/data_tests/pp001.xml" class="whiteLink">pp001.xml</a> | <a href="tests/data_tests/pp001.rdf" class="whiteLink">pp001.rdf</a></td>
</tr>
<tr>
<td class="TestHTML" colspan="4">
<pre>http://www.example.com/</pre>
</td>
</tr>
<tr>
<td class="TestXML" colspan="4">
<pre>&lt;?xml version="1.0"?&gt;
&lt;powder xmlns="http://www.w3.org/2007/05/powder#"
xmlns:ex="http://example.org/vocab#"&gt;
&lt;attribution&gt;
&lt;issuedby src="http://authority.example.org/company.rdf#me" /&gt;
&lt;issued&gt;2007-12-14T00:00:00&lt;/issued&gt;
&lt;/attribution&gt;
&lt;dr&gt;
&lt;iriset&gt;
&lt;includehosts&gt;example.com&lt;/includehosts&gt;
&lt;/iriset&gt;
&lt;descriptorset&gt;
&lt;ex:color&gt;red&lt;/ex:color&gt;
&lt;ex:shape&gt;square&lt;/ex:shape&gt;
&lt;displaytext&gt;Everything on example.com is red and square&lt;/displaytext&gt;
&lt;displayicon src="http://authority.example.org/icon.png" /&gt;
&lt;/descriptorset&gt;
&lt;/dr&gt;
&lt;/powder&gt;
</pre></td>
</tr>
<tr>
<td class="TestRDF" colspan="4">
<pre>&lt;rdf:Description rdf:about="http://www.example.com/"&gt;
&lt;ex:color&gt;red&lt;/ex:color&gt;
&lt;ex:shape&gt;square&lt;/ex:shape&gt;
&lt;wdrs:logo rdf:resource="http://example.org/icon.png"/&gt;
&lt;wdrs:text&gt;Everything on example.com is red and square&lt;/wdrs:text&gt;
&lt;wdrs:describedby rdf:resource="tests/data_extraction/powder001.xml"/&gt;
&lt;/rdf:Description&gt;
</pre>
</td>
</tr>
</tbody></table>
<table summary="POWDER Processor results - disjoint description resources" id="data-002" class="TestTable">
<tbody><tr>
<td class="TestType">Data Extraction Test</td>
<td class="TestType">Positive Test</td>
<td class="TestDescription">Results of the describe(u) function of a POWDER Processor given a POWDER document with disjoint description resources</td>
<td class="TestNumber">002</td>
</tr>
<tr>
<td class="TestDescriptionHead" colspan="4">Test Assertion</td>
</tr>
<tr>
<td class="TestContent" colspan="4">If the IRI and the POWDER document of the test are given to a <code>describe</code> function of a conformant POWDER Processor, it must return the RDF graph of the test</td>
</tr>
<tr>
<td class="TestContent" colspan="4"><a href="http://www.w3.org/TR/powder-dr/#olDR">Protocol for Web Description Resources (POWDER): Description Resources Section 2.3 Exclusive Description Resources</a></td>
</tr>
<tr>
<td class="TestDescriptionHead" colspan="4">Description</td>
</tr>
<tr>
<td class="TestDescription" colspan="4">
<a href="tests/data_tests/Manifestdata002.rdf">Manifestdata002.rdf</a></td>
</tr>
<tr>
<td class="TestNamespacesHead" colspan="4">Preconditions - Namespace</td>
</tr>
<tr>
<td class="TestContent" colspan="4">@prefix ex: &lt;http://example.org/vocab#&gt;</td>
</tr>
<tr>
<td class="TestDescriptionHead" colspan="4">Documents <a href="tests/data_tests/pp002.xml" class="whiteLink">pp002.xml</a> | <a href="tests/data_tests/pp002.rdf" class="whiteLink">pp002.rdf</a></td>
</tr>
<tr>
<td class="TestHTML" colspan="4">
<pre>http://www.example.com/foo/index.html</pre>
</td>
</tr>
<tr>
<td class="TestXML" colspan="4">
<pre>&lt;?xml version="1.0"?&gt;
&lt;powder xmlns="http://www.w3.org/2007/05/powder#"
xmlns:ex="http://example.org/vocab#"&gt;
&lt;attribution&gt;
&lt;issuedby src="http://authority.example.org/company.rdf#me" /&gt;
&lt;/attribution&gt;
&lt;dr&gt;
&lt;iriset&gt;
&lt;includehosts&gt;example.com&lt;/includehosts&gt;
&lt;excludepathstartswith&gt;/foo&lt;/excludepathstartswith&gt;
&lt;/iriset&gt;
&lt;descriptorset&gt;
&lt;ex:color&gt;red&lt;/ex:color&gt;
&lt;/descriptorset&gt;
&lt;/dr&gt;
&lt;dr&gt;
&lt;iriset&gt;
&lt;includehosts&gt;example.com&lt;/includehosts&gt;
&lt;includepathstartswith&gt;/foo&lt;/includepathstartswith&gt;
&lt;/iriset&gt;
&lt;descriptorset&gt;
&lt;ex:color&gt;blue&lt;/ex:color&gt;
&lt;/descriptorset&gt;
&lt;/dr&gt;
&lt;/powder&gt;
</pre></td>
</tr>
<tr>
<td class="TestRDF" colspan="4">
<pre>&lt;rdf:Description rdf:about="http://www.example.com/foo/index.html"&gt;
&lt;ex:color&gt;blue&lt;/ex:color&gt;
&lt;wdrs:describedby rdf:resource="tests/data_extraction/powder002.xml"/&gt;
&lt;/rdf:Description&gt;
</pre>
</td>
</tr>
</tbody></table>
<table summary="POWDER Processor results - ordered list of Description Resources" id="data-003" class="TestTable">
<tbody><tr>
<td class="TestType">Data Extraction Test</td>
<td class="TestType">Positive Test</td>
<td class="TestDescription">Results of the describe(u) function of a POWDER Processor given a POWDER document with an ordered list of Description Resources</td>
<td class="TestNumber">003</td>
</tr>
<tr>
<td class="TestDescriptionHead" colspan="4">Test Assertion</td>
</tr>
<tr>
<td class="TestContent" colspan="4">If the IRI and the POWDER document of the test are given to a <code>describe</code> function of a conformant POWDER Processor, it must return the RDF graph of the test</td>
</tr>
<tr>
<td class="TestContent" colspan="4"><a href="http://www.w3.org/TR/powder-dr/#olDR">Protocol for Web Description Resources (POWDER): Description Resources Section 2.3 Exclusive Description Resources</a></td>
</tr>
<tr>
<td class="TestDescriptionHead" colspan="4">Description</td>
</tr>
<tr>
<td class="TestDescription" colspan="4">
<a href="tests/data_tests/Manifestdata003.rdf">Manifestdata003.rdf</a></td>
</tr>
<tr>
<td class="TestNamespacesHead" colspan="4">Preconditions - Namespace</td>
</tr>
<tr>
<td class="TestContent" colspan="4">@prefix ex: &lt;http://example.org/vocab#&gt;</td>
</tr>
<tr>
<td class="TestDescriptionHead" colspan="4">Documents <a href="tests/data_tests/pp003.xml" class="whiteLink">pp003.xml</a> | <a href="tests/data_tests/pp003.rdf" class="whiteLink">pp003.rdf</a></td>
</tr>
<tr>
<td class="TestHTML" colspan="4">
<pre>http://www.example.com/foo/index.html</pre>
</td>
</tr>
<tr>
<td class="TestXML" colspan="4">
<pre>&lt;?xml version="1.0"?&gt;
&lt;powder xmlns="http://www.w3.org/2007/05/powder#"
xmlns:ex="http://example.org/vocab#"&gt;
&lt;attribution&gt;
&lt;issuedby src="http://authority.example.org/company.rdf#me" /&gt;
&lt;issued&gt;2007-12-14T00:00:00&lt;/issued&gt;
&lt;abouthosts&gt;example.com&lt;/abouthosts&gt;
&lt;/attribution&gt;
&lt;ol&gt;
&lt;dr&gt;
&lt;iriset&gt;
&lt;includehosts&gt;example.com&lt;/includehosts&gt;
&lt;includepathstartswith&gt;/foo&lt;/includepathstartswith&gt;
&lt;/iriset&gt;
&lt;descriptorset&gt;
&lt;ex:color&gt;blue&lt;/ex:color&gt;
&lt;/descriptorset&gt;
&lt;/dr&gt;
&lt;dr&gt;
&lt;iriset&gt;
&lt;includehosts&gt;example.com&lt;/includehosts&gt;
&lt;/iriset&gt;
&lt;descriptorset&gt;
&lt;ex:color&gt;red&lt;/ex:color&gt;
&lt;/descriptorset&gt;
&lt;/dr&gt;
&lt;/ol&gt;
&lt;/powder&gt;
</pre></td>
</tr>
<tr>
<td class="TestRDF" colspan="4">
<pre>&lt;rdf:Description rdf:about="http://www.example.com/foo/index.html"&gt;
&lt;ex:color&gt;blue&lt;/ex:color&gt;
&lt;wdrs:describedby rdf:resource="tests/data_extraction/powder003.xml"/&gt;
&lt;/rdf:Description&gt;
</pre>
</td>
</tr>
</tbody></table>
<table summary="POWDER Processor results - ordered list of description resources 2" id="data-004" class="TestTable">
<tbody><tr>
<td class="TestType">Data Extraction Test</td>
<td class="TestType">Positive Test</td>
<td class="TestDescription">Results of the describe(u) function of a
POWDER Processor given a POWDER document with an ordered list of
Description Resources 2</td>
<td class="TestNumber">004</td>
</tr>
<tr>
<td class="TestDescriptionHead" colspan="4">Test Assertion</td>
</tr>
<tr>
<td class="TestContent" colspan="4">If the IRI and the POWDER document of the test are given to a <code>describe</code> function of a conformant POWDER Processor, it must return the RDF graph of the test</td>
</tr>
<tr>
<td class="TestContent" colspan="4"><a href="http://www.w3.org/TR/powder-dr/#olDR">Protocol for Web Description Resources (POWDER): Description Resources Section 2.3 Exclusive Description Resources</a></td>
</tr>
<tr>
<td class="TestDescriptionHead" colspan="4">Description</td>
</tr>
<tr>
<td class="TestDescription" colspan="4">
<a href="tests/data_tests/Manifestdata004.rdf">Manifestdata004.rdf</a></td>
</tr>
<tr>
<td class="TestNamespacesHead" colspan="4">Preconditions - Namespace</td>
</tr>
<tr>
<td class="TestContent" colspan="4">@prefix ex: &lt;http://example.org/vocab#&gt;</td>
</tr>
<tr>
<td class="TestDescriptionHead" colspan="4">Documents <a href="tests/data_tests/pp004.xml" class="whiteLink">pp004.xml</a> | <a href="tests/data_tests/pp004.rdf" class="whiteLink">pp004.rdf</a></td>
</tr>
<tr>
<td class="TestHTML" colspan="4">
<pre>http://www.example.com/bar/index.html</pre>
</td>
</tr>
<tr>
<td class="TestXML" colspan="4">
<pre>&lt;?xml version="1.0"?&gt;
&lt;powder xmlns="http://www.w3.org/2007/05/powder#"
xmlns:ex="http://example.org/vocab#"&gt;
&lt;attribution&gt;
&lt;issuedby src="http://authority.example.org/company.rdf#me" /&gt;
&lt;issued&gt;2007-12-14T00:00:00&lt;/issued&gt;
&lt;abouthosts&gt;example.com&lt;/abouthosts&gt;
&lt;/attribution&gt;
&lt;ol&gt;
&lt;dr&gt;
&lt;iriset&gt;
&lt;includehosts&gt;example.com&lt;/includehosts&gt;
&lt;includepathstartswith&gt;/foo&lt;/includepathstartswith&gt;
&lt;/iriset&gt;
&lt;descriptorset&gt;
&lt;ex:color&gt;blue&lt;/ex:color&gt;
&lt;/descriptorset&gt;
&lt;/dr&gt;
&lt;dr&gt;
&lt;iriset&gt;
&lt;includehosts&gt;example.com&lt;/includehosts&gt;
&lt;/iriset&gt;
&lt;descriptorset&gt;
&lt;ex:color&gt;red&lt;/ex:color&gt;
&lt;/descriptorset&gt;
&lt;/dr&gt;
&lt;/ol&gt;
&lt;/powder&gt;
</pre></td>
</tr>
<tr>
<td class="TestRDF" colspan="4">
<pre>&lt;rdf:Description rdf:about="http://www.example.com/foo/index.html"&gt;
&lt;ex:color&gt;red&lt;/ex:color&gt;
&lt;wdrs:describedby rdf:resource="tests/data_extraction/powder004.xml"/&gt;
&lt;/rdf:Description&gt;
</pre>
</td>
</tr>
</tbody></table>
<table summary="POWDER Processor results - Direct resource descriptions" id="data-005" class="TestTable">
<tbody><tr>
<td class="TestType">Data Extraction Test</td>
<td class="TestType">Positive Test</td>
<td class="TestDescription">Results of the describe(u) function of a
POWDER Processor given a POWDER document containing descriptor sets not
within a Description Resource</td>
<td class="TestNumber">005</td>
</tr>
<tr>
<td class="TestDescriptionHead" colspan="4">Test Assertion</td>
</tr>
<tr>
<td class="TestContent" colspan="4">If the IRI and the POWDER document of the test are given to a <code>describe</code> function of a conformant POWDER Processor, it must return the RDF graph of the test</td>
</tr>
<tr>
<td class="TestContent" colspan="4"><a href="http://www.w3.org/TR/powder-dr/#directDescript">Protocol for Web Description Resources (POWDER): Description Resources Section 2.5 Direct Resource Description</a></td>
</tr>
<tr>
<td class="TestDescriptionHead" colspan="4">Description</td>
</tr>
<tr>
<td class="TestDescription" colspan="4">
<a href="tests/data_tests/Manifestdata005.rdf">Manifestdata005.rdf</a></td>
</tr>
<tr>
<td class="TestNamespacesHead" colspan="4">Preconditions - Namespace</td>
</tr>
<tr>
<td class="TestContent" colspan="4">@prefix ex: &lt;http://example.org/vocab#&gt;</td>
</tr>
<tr>
<td class="TestDescriptionHead" colspan="4">Documents <a href="tests/data_tests/pp005.xml" class="whiteLink">pp005.xml</a> | <a href="tests/data_tests/pp005.rdf" class="whiteLink">pp005.rdf</a></td>
</tr>
<tr>
<td class="TestHTML" colspan="4">
<pre>http://www.example.org/</pre>
</td>
</tr>
<tr>
<td class="TestXML" colspan="4">
<pre>&lt;?xml version="1.0"?&gt;
&lt;powder xmlns="http://www.w3.org/2007/05/powder#"
xmlns:ex="http://example.org/vocab#"&gt;
&lt;attribution&gt;
&lt;issuedby src="http://authority.example.org/company.rdf#me" /&gt;
&lt;abouthosts&gt;example.org example.com&lt;/abouthosts&gt;
&lt;/attribution&gt;
&lt;descriptorset xml:id="red"&gt;
&lt;ex:color&gt;red&lt;/ex:color&gt;
&lt;/descriptorset&gt;
&lt;descriptorset xml:id="blue"&gt;
&lt;ex:color&gt;blue&lt;/ex:color&gt;
&lt;/descriptorset&gt;
&lt;/powder&gt;
</pre></td>
</tr>
<tr>
<td class="TestRDF" colspan="4">
<pre>&lt;rdf:Description rdf:about="http://www.example.org/"&gt;
&lt;wdrs:notknownto rdf:resource="<em>IRI of the POWDER Processor</em>"/&gt;
&lt;/rdf:Description&gt;
</pre>
</td>
</tr>
</tbody></table>
<table summary="POWDER Processor results - Free text tags" id="data-006" class="TestTable">
<tbody><tr>
<td class="TestType">Data Extraction Test</td>
<td class="TestType">Positive Test</td>
<td class="TestDescription">Results of the describe(u) function of a POWDER Processor given a POWDER document containing free text tags</td>
<td class="TestNumber">006</td>
</tr>
<tr>
<td class="TestDescriptionHead" colspan="4">Test Assertion</td>
</tr>
<tr>
<td class="TestContent" colspan="4">If the IRI and the POWDER document of the test are given to a <code>describe</code> function of a conformant POWDER Processor, it must return the RDF graph of the test</td>
</tr>
<tr>
<td class="TestContent" colspan="4"><a href="http://www.w3.org/TR/powder-dr/#tags">Protocol
for Web Description Resources (POWDER): Description Resources Section
2.7 Free Text Tags, Comments, Labels and "See Also"</a></td>
</tr>
<tr>
<td class="TestDescriptionHead" colspan="4">Description</td>
</tr>
<tr>
<td class="TestDescription" colspan="4">
<a href="tests/data_tests/Manifestdata006.rdf">Manifestdata006.rdf</a></td>
</tr>
<tr>
<td class="TestNamespacesHead" colspan="4">Preconditions - Namespace</td>
</tr>
<tr>
<td class="TestContent" colspan="4">@prefix ex: &lt;http://example.org/vocab#&gt;</td>
</tr>
<tr>
<td class="TestDescriptionHead" colspan="4">Documents <a href="tests/data_tests/pp006.xml" class="whiteLink">pp006.xml</a> | <a href="tests/data_tests/pp006.rdf" class="whiteLink">pp006.rdf</a></td>
</tr>
<tr>
<td class="TestHTML" colspan="4">
<pre>http://www.example.com/</pre>
</td>
</tr>
<tr>
<td class="TestXML" colspan="4">
<pre>&lt;?xml version="1.0"?&gt;
&lt;powder xmlns="http://www.w3.org/2007/05/powder#"
xmlns:ex="http://example.org/vocab#"&gt;
&lt;attribution&gt;
&lt;issuedby src="http://authority.example.org/company.rdf#me" /&gt;
&lt;issued&gt;2007-12-14T00:00:00&lt;/issued&gt;
&lt;/attribution&gt;
&lt;dr&gt;
&lt;iriset&gt;
&lt;includehosts&gt;example.com&lt;/includehosts&gt;
&lt;/iriset&gt;
&lt;tagset&gt;
&lt;tag&gt;London&lt;/tag&gt;
&lt;tag&gt;Swiss Re&lt;/tag&gt;
&lt;tag&gt;gherkin&lt;/tag&gt;
&lt;/tagset&gt;
&lt;/dr&gt;
&lt;/powder&gt;
</pre></td>
</tr>
<tr>
<td class="TestRDF" colspan="4">
<pre>&lt;rdf:Description rdf:about="http://example.com/"&gt;
&lt;wdrs:tag&gt;London&lt;/wdrs:tag&gt;
&lt;wdrs:tag&gt;Swiss Re&lt;/wdrs:tag&gt;
&lt;wdrs:tag&gt;gherkin&lt;/wdrs:tag&gt;
&lt;wdrs:describedby rdf:resource="tests/data_extraction/powder006.xml"/&gt;
&lt;/rdf:Description&gt;
</pre>
</td>
</tr>
</tbody></table>
<table summary="POWDER Processor results - XML Data" id="data-007" class="TestTable">
<tbody><tr>
<td class="TestType">Data Extraction Test</td>
<td class="TestType">Positive Test</td>
<td class="TestDescription">Results of the describe(u) function of a POWDER Processor given a POWDER document containing XML data</td>
<td class="TestNumber">007</td>
</tr>
<tr>
<td class="TestDescriptionHead" colspan="4">Test Assertion</td>
</tr>
<tr>
<td class="TestContent" colspan="4">If the IRI and the POWDER document of the test are given to a <code>describe</code> function of a conformant POWDER Processor, it must return the RDF graph of the test</td>
</tr>
<tr>
<td class="TestContent" colspan="4"><a href="http://www.w3.org/TR/powder-dr/#xmldata">Protocol for Web Description Resources (POWDER): Description Resources 2.8.2 XML Data in POWDER</a></td>
</tr>
<tr>
<td class="TestDescriptionHead" colspan="4">Description</td>
</tr>
<tr>
<td class="TestDescription" colspan="4">
<a href="tests/data_tests/Manifestdata007.rdf">Manifestdata007.rdf</a></td>
</tr>
<tr>
<td class="TestNamespacesHead" colspan="4">Preconditions - Namespace</td>
</tr>
<tr>
<td class="TestContent" colspan="4">@prefix ex: &lt;http://example.org/vocab#&gt;</td>
</tr>
<tr>
<td class="TestDescriptionHead" colspan="4">Documents <a href="tests/data_tests/pp007.xml" class="whiteLink">pp007.xml</a> | <a href="tests/data_tests/pp007.rdf" class="whiteLink">pp007.rdf</a></td>
</tr>
<tr>
<td class="TestHTML" colspan="4">
<pre>http://www.example.com/</pre>
</td>
</tr>
<tr>
<td class="TestXML" colspan="4">
<pre>&lt;?xml version="1.0"?&gt;
&lt;powder xmlns:ex="http://example.org/vocab#"
xmlns:ex2="http://example.org/palette#"
xmlns="http://www.w3.org/2007/05/powder#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"&gt;
&lt;attribution&gt;
&lt;issuedby src="http://authority.example.org/company.rdf#me" /&gt;
&lt;issued&gt;2007-12-14T00:00:00&lt;/issued&gt;
&lt;/attribution&gt;
&lt;dr&gt;
&lt;iriset&gt;
&lt;includehosts&gt;example.com&lt;/includehosts&gt;
&lt;/iriset&gt;
&lt;descriptorset&gt;
&lt;ex:color rdf:parseType="Literal"&gt;
&lt;ex2:hex&gt;ff0000&lt;/ex2:hex&gt;
&lt;ex2:red&gt;255&lt;/ex2:red&gt;
&lt;ex2:green&gt;0&lt;/ex2:green&gt;
&lt;ex2:blue&gt;0&lt;/ex2:blue&gt;
&lt;/ex:color&gt;
&lt;displaytext&gt;Everything on example.org is red&lt;/displaytext&gt;
&lt;displayicon src="http://example.org/icon.png" /&gt;
&lt;/descriptorset&gt;
&lt;/dr&gt;
&lt;/powder&gt;
</pre></td>
</tr>
<tr>
<td class="TestRDF" colspan="4">
<pre>&lt;rdf:Description rdf:about="http://www.example.com/"&gt;
&lt;ex:color rdf:parseType="Literal"&gt;
&lt;ex2:hex&gt;ff0000&lt;/ex2:hex&gt;
&lt;ex2:red&gt;255&lt;/ex2:red&gt;
&lt;ex2:green&gt;0&lt;/ex2:green&gt;
&lt;ex2:blue&gt;0&lt;/ex2:blue&gt;
&lt;/ex:color&gt;
&lt;wdrs:logo rdf:resource="http://example.org/icon.png"/&gt;
&lt;wdrs:text&gt;Everything on example.org is red&lt;/wdrs:text&gt;
&lt;wdrs:describedby rdf:resource="tests/data_extraction/powder007.xml"/&gt;
&lt;/rdf:Description&gt;
</pre>
</td>
</tr>
</tbody></table>
<table summary="POWDER Processor results - Remote descriptor sets" id="data-008" class="TestTable">
<tbody><tr>
<td class="TestType">Data Extraction Test</td>
<td class="TestType">Positive Test</td>
<td class="TestDescription">Results of the describe(u) function of a
POWDER Processor given a POWDER document containing references to
remote descriptor sets</td>
<td class="TestNumber">008</td>
</tr>
<tr>
<td class="TestDescriptionHead" colspan="4">Test Assertion</td>
</tr>
<tr>
<td class="TestContent" colspan="4">If the IRI and the POWDER document of the test are given to a <code>describe</code> function of a conformant POWDER Processor, it must return the RDF graph of the test</td>
</tr>
<tr>
<td class="TestContent" colspan="4"><a href="http://www.w3.org/TR/powder-dr/#preDefinedDescriptors">Protocol for Web Description Resources (POWDER): Description Resources Section 2.6 Pre-Defined Descriptors</a></td>
</tr>
<tr>
<td class="TestDescriptionHead" colspan="4">Description</td>
</tr>
<tr>
<td class="TestDescription" colspan="4">
<a href="tests/data_tests/Manifestdata008.rdf">Manifestdata008.rdf</a></td>
</tr>
<tr>
<td class="TestNamespacesHead" colspan="4">Preconditions - Namespaces</td>
</tr>
<tr>
<td class="TestContent" colspan="4">@prefix ex: &lt;http://example.org/vocab#&gt;</td>
</tr>
<tr>
<td class="TestContent" colspan="4">tests/data_extraction/powder008a.xml</td>
</tr>
<tr>
<td class="TestDescriptionHead" colspan="4">Documents <a href="tests/data_tests/pp008b.xml" class="whiteLink">pp008b.xml</a> | <a href="tests/data_tests/pp008.rdf" class="whiteLink">pp008.rdf</a></td>
</tr>
<tr>
<td class="TestHTML" colspan="4">
<pre>http://books.example.com/robin/book1.html</pre>
</td>
</tr>
<tr>
<td class="TestXML" colspan="4">
<pre>&lt;?xml version="1.0"?&gt;
&lt;powder xmlns="http://www.w3.org/2007/05/powder#"&gt;
&lt;attribution&gt;
&lt;issuedby src="http://books.example.com/company.rdf#me" /&gt;
&lt;issued&gt;2008-03-03T00:00:00&lt;/issued&gt;
&lt;/attribution&gt;
&lt;dr&gt;
&lt;iriset&gt;
&lt;includehosts&gt;books.example.com&lt;/includehosts&gt;
&lt;includepathstartswith&gt;/robin/&lt;/includepathstartswith&gt;
&lt;/iriset&gt;
&lt;descriptorset src="tests/data_extraction/powder008a.xml#ks1" /&gt;
&lt;/dr&gt;
&lt;dr&gt;
&lt;iriset&gt;
&lt;includehosts&gt;books.example.com&lt;/includehosts&gt;
&lt;includepathstartswith&gt;/starling/&lt;/includepathstartswith&gt;
&lt;/iriset&gt;
&lt;descriptorset src="tests/data_extraction/powder008a.xml#ks2" /&gt;
&lt;/dr&gt;
&lt;/powder&gt;
</pre></td>
</tr>
<tr>
<td class="TestRDF" colspan="4">
<pre>&lt;rdf:Description rdf:about="http://books.example.com/robin/book1.html"&gt;
&lt;wdrs:logo rdf:resource="http://education.example.org/ks1.png"/&gt;
&lt;wdrs:text&gt;
This material is suitable for UK National Curriculum Key Stage 1
&lt;/wdrs:text&gt;
&lt;wdrs:describedby rdf:resource="tests/data_extraction/powder008b.xml"/&gt;
&lt;/rdf:Description&gt;
</pre>
</td>
</tr>
</tbody></table>
<table summary="POWDER Processor results - Multiple descriptor resources 1" id="data-009" class="TestTable">
<tbody><tr>
<td class="TestType">Data Extraction Test</td>
<td class="TestType">Positive Test</td>
<td class="TestDescription">Results of the describe(u) function of a
POWDER Processor given a POWDER document containing multiple dr elements and a IRI matching one of them</td>
<td class="TestNumber">009</td>
</tr>
<tr>
<td class="TestDescriptionHead" colspan="4">Test Assertion</td>
</tr>
<tr>
<td class="TestContent" colspan="4">If the IRI and the POWDER document of the test are given to a <code>describe</code> function of a conformant POWDER Processor, it must return the RDF graph of the test</td>
</tr>
<tr>
<td class="TestContent" colspan="4"><a href="http://www.w3.org/TR/powder-dr/#operational">Protocol for Web Description Resources (POWDER): Description Resources Section 2.1 Operational Semantics</a></td>
</tr>
<tr>
<td class="TestDescriptionHead" colspan="4">Description</td>
</tr>
<tr>
<td class="TestDescription" colspan="4">
<a href="tests/data_tests/Manifestdata009.rdf">Manifestdata009.rdf</a></td>
</tr>
<tr>
<td class="TestNamespacesHead" colspan="4">Preconditions - Namespaces</td>
</tr>
<tr>
<td class="TestContent" colspan="4">@prefix ex: &lt;http://example.org/vocab#&gt;</td>
</tr>
<tr>
<td class="TestDescriptionHead" colspan="4">Documents <a href="tests/data_tests/pp009.xml" class="whiteLink">pp009.xml</a> | <a href="tests/data_tests/pp009.rdf" class="whiteLink">pp009.rdf</a></td>
</tr>
<tr>
<td class="TestHTML" colspan="4">
<pre>http://www.example.com/page.html</pre>
</td>
</tr>
<tr>
<td class="TestXML" colspan="4">
<pre>&lt;?xml version="1.0"?&gt;
&lt;powder xmlns="http://www.w3.org/2007/05/powder#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:ex="http://example.org/vocab#"&gt;
&lt;attribution&gt;
&lt;issuedby src="http://authority.example.org/company.rdf#me" /&gt;
&lt;/attribution&gt;
&lt;dr&gt;
&lt;iriset&gt;
&lt;includehosts&gt;example.com&lt;/includehosts&gt;
&lt;/iriset&gt;
&lt;descriptorset&gt;
&lt;ex:color&gt;red&lt;/ex:color&gt;
&lt;/descriptorset&gt;
&lt;/dr&gt;
&lt;dr&gt;
&lt;iriset&gt;
&lt;includehosts&gt;example.com&lt;/includehosts&gt;
&lt;includepathstartswith&gt;/foo&lt;/includepathstartswith&gt;
&lt;/iriset&gt;
&lt;descriptorset&gt;
&lt;ex:finish rdf:resource="http://example.org/vocab#shiny" /&gt;
&lt;/descriptorset&gt;
&lt;/dr&gt;
&lt;/powder&gt;
</pre></td>
</tr>
<tr>
<td class="TestRDF" colspan="4">
<pre>&lt;rdf:Description rdf:about="http://www.example.com/foo.bar"&gt;
&lt;ex:color&gt;red&lt;/ex:color&gt;
&lt;wdrs:describedby rdf:resource="tests/data/pp009.xml" /&gt;
&lt;/rdf:Description&gt;
</pre>
</td>
</tr>
</tbody></table>
<table summary="POWDER Processor results - Multiple descriptor resources 2" id="data-010" class="TestTable">
<tbody><tr>
<td class="TestType">Data Extraction Test</td>
<td class="TestType">Positive Test</td>
<td class="TestDescription">Results of the describe(u) function of a
POWDER Processor given a POWDER document containing multiple dr elements and a IRI matching two of them</td>
<td class="TestNumber">010</td>
</tr>
<tr>
<td class="TestDescriptionHead" colspan="4">Test Assertion</td>
</tr>
<tr>
<td class="TestContent" colspan="4">If the IRI and the POWDER document of the test are given to a <code>describe</code> function of a conformant POWDER Processor, it must return the RDF graph of the test</td>
</tr>
<tr>
<td class="TestContent" colspan="4"><a href="http://www.w3.org/TR/powder-dr/#operational">Protocol for Web Description Resources (POWDER): Description Resources Section 2.1 Operational Semantics</a></td>
</tr>
<tr>
<td class="TestDescriptionHead" colspan="4">Description</td>
</tr>
<tr>
<td class="TestDescription" colspan="4">
<a href="tests/data_tests/Manifestdata010.rdf">Manifestdata010.rdf</a></td>
</tr>
<tr>
<td class="TestNamespacesHead" colspan="4">Preconditions - Namespaces</td>
</tr>
<tr>
<td class="TestContent" colspan="4">@prefix ex: &lt;http://example.org/vocab#&gt;</td>
</tr>
<tr>
<td class="TestDescriptionHead" colspan="4">Documents <a href="tests/data_tests/pp010.xml" class="whiteLink">pp010.xml</a> | <a href="tests/data_tests/pp010.rdf" class="whiteLink">pp010.rdf</a></td>
</tr>
<tr>
<td class="TestHTML" colspan="4">
<pre>http://www.example.com/foo.bar</pre>
</td>
</tr>
<tr>
<td class="TestXML" colspan="4">
<pre>&lt;?xml version="1.0"?&gt;
&lt;powder xmlns="http://www.w3.org/2007/05/powder#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:ex="http://example.org/vocab#"&gt;
&lt;attribution&gt;
&lt;issuedby src="http://authority.example.org/company.rdf#me" /&gt;
&lt;/attribution&gt;
&lt;dr&gt;
&lt;iriset&gt;
&lt;includehosts&gt;example.com&lt;/includehosts&gt;
&lt;/iriset&gt;
&lt;descriptorset&gt;
&lt;ex:color&gt;red&lt;/ex:color&gt;
&lt;/descriptorset&gt;
&lt;/dr&gt;
&lt;dr&gt;
&lt;iriset&gt;
&lt;includehosts&gt;example.com&lt;/includehosts&gt;
&lt;includepathstartswith&gt;/foo&lt;/includepathstartswith&gt;
&lt;/iriset&gt;
&lt;descriptorset&gt;
&lt;ex:finish rdf:resource="http://example.org/vocab#shiny" /&gt;
&lt;/descriptorset&gt;
&lt;/dr&gt;
&lt;/powder&gt;
</pre></td>
</tr>
<tr>
<td class="TestRDF" colspan="4">
<pre>&lt;rdf:Description rdf:about="http://www.example.com/foo.bar"&gt;
&lt;ex:color&gt;red&lt;/ex:color&gt;
&lt;ex:finish rdf:resource="http://example.org/vocab#shiny" /&gt;
&lt;wdrs:describedby rdf:resource="tests/data/pp010.xml" /&gt;
&lt;/rdf:Description&gt;
</pre>
</td>
</tr>
</tbody></table>
<h3 id="canTest">4.6 Canonicalization Tests</h3>
<table summary="Percent-encoded triples are converted to the characters they represent" id="canon-001" class="TestTable">
<tbody><tr>
<td class="TestType"><div>Canonicalization Test</div></td>
<td class="TestType">Positive</td>
<td class="TestDescription">Percent encoded triples are converted into the characters they represent.</td>
<td class="TestNumber">001</td>
</tr>
<tr>
<td class="TestDescriptionHead" colspan="4">Test Assertion</td>
</tr>
<tr>
<td class="TestContent" colspan="4">With the exception of spaces and reserved characters, percent encoded triples are converted to the characters they represent in both the candidate IRI and the IRI constraints in a POWDER document. Therefore either candidate IRI will match the IRI set in either POWDER document.</td>
</tr>
<tr>
<td class="TestContent" colspan="4"><a href="http://www.w3.org/TR/powder-grouping/#canon">Protocol for Web Description Resources (POWDER): Grouping of Resources Section 2.1.4 IRI/URI Canonicalization</a></td>
</tr>
<tr>
<td class="TestDescriptionHead" colspan="4">Description</td>
</tr>
<tr>
<td class="TestContent" colspan="4">
<a href="tests/canon_tests/Manifestcanon001.rdf">Manifestcanon001.rdf</a></td>
</tr>
<tr>
<td class="TestNamespacesHead" colspan="4">Preconditions - Namespace</td>
</tr>
<tr>
<td class="TestContent" colspan="4">@prefix ex: &lt;http://example.org/vocab#&gt;</td>
</tr>
<tr>
<td class="TestDescriptionHead" colspan="4">Documents <a href="tests/canon_tests/match001a.xml" class="whiteLink">match001a.xml</a> <a href="tests/canon_tests/match001b.xml" class="whiteLink">match001b.xml</a></td>
</tr>
<tr>
<td class="TestHTML" colspan="4">
<pre>http://www.example.com/images/C&eacute;line.jpg http://www.example.com/images/C%C3%A9line.jpg</pre>
</td>
</tr>
<tr>
<td class="TestXML" colspan="4">
<pre>&lt;?xml version=&quot;1.0&quot;?&gt;
&lt;powder xmlns=&quot;http://www.w3.org/2007/05/powder#&quot;
xmlns:ex=&quot;http://example.org/vocab#&quot;&gt;
&lt;attribution&gt;
&lt;issuedby src=&quot;http://authority.example.org/company.rdf#me&quot; /&gt;
&lt;issued&gt;2007-12-14T00:00:00&lt;/issued&gt;
&lt;/attribution&gt;
&lt;dr&gt;
&lt;iriset&gt;
&lt;includehosts&gt;example.com&lt;/includehosts&gt;
&lt;includepathcontains&gt;Fran%c3%a7ois C%C3%A9line&lt;/includepathcontains&gt;
&lt;/iriset&gt;
&lt;descriptorset&gt;
&lt;ex:color&gt;red&lt;/ex:color&gt;
&lt;/descriptorset&gt;
&lt;/dr&gt;
&lt;/powder&gt;
</pre></td>
</tr>
<tr>
<td class="TestXML" colspan="4">
<pre>&lt;?xml version=&quot;1.0&quot;?&gt;
&lt;powder xmlns=&quot;http://www.w3.org/2007/05/powder#&quot;
xmlns:ex=&quot;http://example.org/vocab#&quot;&gt;
&lt;attribution&gt;
&lt;issuedby src=&quot;http://authority.example.org/company.rdf#me&quot; /&gt;
&lt;issued&gt;2007-12-14T00:00:00&lt;/issued&gt;
&lt;/attribution&gt;
&lt;dr&gt;
&lt;iriset&gt;
&lt;includehosts&gt;example.com&lt;/includehosts&gt;
&lt;includepathcontains&gt;Fran&ccedil;ois C&eacute;line&lt;/includepathcontains&gt;
&lt;/iriset&gt;
&lt;descriptorset&gt;
&lt;ex:color&gt;red&lt;/ex:color&gt;
&lt;/descriptorset&gt;
&lt;/dr&gt;
&lt;/powder&gt;
</pre></td>
</tr>
<tr>
<td class="TestRDF" colspan="4">
<pre>&lt;rdf:Description rdf:about=&quot;http://www.example.com/images/C&eacute;line.jpg&quot;&gt;
&lt;ex:color&gt;red&lt;/ex:color&gt;
&lt;wdrs:describedby rdf:resource=&quot;tests/canon_tests/match001a.xml&quot; /&gt;
&lt;/rdf:Description&gt;
</pre>
</td>
</tr>
<tr>
<td class="TestRDF" colspan="4">
<pre>&lt;rdf:Description rdf:about=&quot;http://www.example.com/images/C&eacute;line.jpg&quot;&gt;
&lt;ex:color&gt;red&lt;/ex:color&gt;
&lt;wdrs:describedby rdf:resource=&quot;tests/canon_tests/match001b.xml&quot; /&gt;
&lt;/rdf:Description&gt;
</pre>
</td>
</tr>
</tbody></table>
<table summary="Space characters (%20) and reserved characters as per Section 2.2 of RFC 3986 must not be converted to literals" id="canon-002" class="TestTable">
<tbody><tr>
<td class="TestType"><div>Canonicalization Test</div></td>
<td class="TestType">Positive</td>
<td class="TestDescription">Space characters (%20) and reserved characters as per Section 2.2 of RFC 3986 must not be converted to literals.</td>
<td class="TestNumber">002</td>
</tr>
<tr>
<td class="TestDescriptionHead" colspan="4">Test Assertion</td>
</tr>
<tr>
<td class="TestContent" colspan="4">Percent-encoded spaces and reservered characters are not decoded either in the candidate IRI or the data.</td>
</tr>
<tr>
<td class="TestContent" colspan="4"><a href="http://www.w3.org/TR/powder-grouping/#canon">Protocol for Web Description Resources (POWDER): Grouping of Resources Section 2.1.4 IRI/URI Canonicalization</a></td>
</tr>
<tr>
<td class="TestDescriptionHead" colspan="4">Description</td>
</tr>
<tr>
<td class="TestContent" colspan="4">
<a href="tests/canon_tests/Manifestcanon002.rdf">Manifestcanon002.rdf</a></td>
</tr>
<tr>
<td class="TestNamespacesHead" colspan="4">Preconditions - Namespace</td>
</tr>
<tr>
<td class="TestContent" colspan="4">@prefix ex: &lt;http://example.org/vocab#&gt;</td>
</tr>
<tr>
<td class="TestDescriptionHead" colspan="4">Documents <a href="tests/canon_tests/match002.xml" class="whiteLink">match002.xml</a></td>
</tr>
<tr>
<td class="TestHTML" colspan="4">
<pre>http://example.com/my%20doc.doc </pre>
</td>
</tr>
<tr>
<td class="TestXML" colspan="4">
<pre>&lt;?xml version=&quot;1.0&quot;?&gt;
&lt;powder xmlns=&quot;http://www.w3.org/2007/05/powder#&quot;
xmlns:ex=&quot;http://example.org/vocab#&quot;&gt;
&lt;attribution&gt;
&lt;issuedby src=&quot;http://authority.example.org/company.rdf#me&quot; /&gt;
&lt;issued&gt;2007-12-14T00:00:00&lt;/issued&gt;
&lt;/attribution&gt;
&lt;dr&gt;
&lt;iriset&gt;
&lt;includehosts&gt;example.com&lt;/includehosts&gt;
&lt;includepathstartswith&gt;/my%20doc.doc&lt;/includepathstartswith&gt;
&lt;/iriset&gt;
&lt;descriptorset&gt;
&lt;ex:color&gt;red&lt;/ex:color&gt;
&lt;/descriptorset&gt;
&lt;/dr&gt;
&lt;/powder&gt;
</pre></td>
</tr>
<tr>
<td class="TestRDF" colspan="4">
<pre>&lt;rdf:Description rdf:about=&quot;http://example.com/my%20doc.doc&quot;&gt;
&lt;ex:color&gt;red&lt;/ex:color&gt;
&lt;wdrs:describedby rdf:resource=&quot;tests/canon_tests/match002.xml&quot; /&gt;
&lt;/rdf:Description&gt;
</pre>
</td>
</tr>
</tbody></table>
<table summary="Space characters (%20) and reserved characters as per Section 2.2 of RFC 3986 must not be converted to literals" id="canon-003" class="TestTable">
<tbody><tr>
<td class="TestType"><div>Canonicalization Test</div></td>
<td class="TestType">Positive</td>
<td class="TestDescription">Space characters (%20) and reserved characters as per Section 2.2 of RFC 3986 must not be converted to literals.</td>
<td class="TestNumber">003</td>
</tr>
<tr>
<td class="TestDescriptionHead" colspan="4">Test Assertion</td>
</tr>
<tr>
<td class="TestContent" colspan="4">Percent-encoded spaces and reservered characters are not decoded either in the candidate IRI or the data.</td>
</tr>
<tr>
<td class="TestContent" colspan="4"><a href="http://www.w3.org/TR/powder-grouping/#canon">Protocol for Web Description Resources (POWDER): Grouping of Resources Section 2.1.4 IRI/URI Canonicalization</a></td>
</tr>
<tr>
<td class="TestDescriptionHead" colspan="4">Description</td>
</tr>
<tr>
<td class="TestContent" colspan="4">
<a href="tests/canon_tests/Manifestcanon003.rdf">Manifestcanon003.rdf</a></td>
</tr>
<tr>
<td class="TestNamespacesHead" colspan="4">Preconditions - Namespace</td>
</tr>
<tr>
<td class="TestContent" colspan="4">@prefix ex: &lt;http://example.org/vocab#&gt;</td>
</tr>
<tr>
<td class="TestDescriptionHead" colspan="4">Documents <a href="tests/canon_tests/match003.xml" class="whiteLink">match003.xml</a></td>
</tr>
<tr>
<td class="TestHTML" colspan="4">
<pre>http://example.com/foo/his%2Fhers/image.png</pre>
</td>
</tr>
<tr>
<td class="TestXML" colspan="4">
<pre>&lt;?xml version=&quot;1.0&quot;?&gt;
&lt;powder xmlns=&quot;http://www.w3.org/2007/05/powder#&quot;
xmlns:ex=&quot;http://example.org/vocab#&quot;&gt;
&lt;attribution&gt;
&lt;issuedby src=&quot;http://authority.example.org/company.rdf#me&quot; /&gt;
&lt;issued&gt;2007-12-14T00:00:00&lt;/issued&gt;
&lt;/attribution&gt;
&lt;dr&gt;
&lt;iriset&gt;
&lt;includehosts&gt;example.com&lt;/includehosts&gt;
&lt;includepathstartswith&gt;/foo/his%2Fhers&lt;/includepathstartswith&gt;
&lt;/iriset&gt;
&lt;descriptorset&gt;
&lt;ex:color&gt;red&lt;/ex:color&gt;
&lt;/descriptorset&gt;
&lt;/dr&gt;
&lt;/powder&gt;
</pre></td>
</tr>
<tr>
<td class="TestRDF" colspan="4">
<pre>&lt;rdf:Description rdf:about=&quot;http://example.com/foo/his%2Fhers/image.png&quot;&gt;
&lt;ex:color&gt;red&lt;/ex:color&gt;
&lt;wdrs:describedby rdf:resource=&quot;tests/canon_tests/match003.xml&quot; /&gt;
&lt;/rdf:Description&gt;
</pre>
</td>
</tr>
</tbody></table>
<table summary="Change the scheme and host string to ASCII lowercase" id="canon-004" class="TestTable">
<tbody><tr>
<td class="TestType"><div>Canonicalization Test</div></td>
<td class="TestType">Positive</td>
<td class="TestDescription">Change the scheme and host string to ASCII lowercase</td>
<td class="TestNumber">004</td>
</tr>
<tr>
<td class="TestDescriptionHead" colspan="4">Test Assertion</td>
</tr>
<tr>
<td class="TestContent" colspan="4">Scheme and host matching is case-insensitive and are normalised to ASCII lower case before matching. Paths are unaffected.</td>
</tr>
<tr>
<td class="TestContent" colspan="4"><a href="http://www.w3.org/TR/powder-grouping/#canon">Protocol for Web Description Resources (POWDER): Grouping of Resources Section 2.1.4 IRI/URI Canonicalization</a></td>
</tr>
<tr>
<td class="TestDescriptionHead" colspan="4">Description</td>
</tr>
<tr>
<td class="TestContent" colspan="4">
<a href="tests/canon_tests/Manifestcanon004.rdf">Manifestcanon004.rdf</a></td>
</tr>
<tr>
<td class="TestNamespacesHead" colspan="4">Preconditions - Namespace</td>
</tr>
<tr>
<td class="TestContent" colspan="4">@prefix ex: &lt;http://example.org/vocab#&gt;</td>
</tr>
<tr>
<td class="TestDescriptionHead" colspan="4">Documents <a href="tests/canon_tests/match004.xml" class="whiteLink">match004.xml</a></td>
</tr>
<tr>
<td class="TestHTML" colspan="4">
<pre>httpS://EXAMPLE.com/FOO/Capital.svg</pre>
</td>
</tr>
<tr>
<td class="TestXML" colspan="4">
<pre>&lt;?xml version=&quot;1.0&quot;?&gt;
&lt;powder xmlns=&quot;http://www.w3.org/2007/05/powder#&quot;
xmlns:ex=&quot;http://example.org/vocab#&quot;&gt;
&lt;attribution&gt;
&lt;issuedby src=&quot;http://authority.example.org/company.rdf#me&quot; /&gt;
&lt;issued&gt;2007-12-14T00:00:00&lt;/issued&gt;
&lt;/attribution&gt;
&lt;dr&gt;
&lt;iriset&gt;
&lt;includeschemes&gt;HTTPS&lt;/includeschemes&gt;
&lt;includehosts&gt;EXAMPLE.COM&lt;/includehosts&gt;
&lt;includepathstartswith&gt;/FOO&lt;/includepathstartswith&gt;
&lt;/iriset&gt;
&lt;descriptorset&gt;
&lt;ex:color&gt;red&lt;/ex:color&gt;
&lt;/descriptorset&gt;
&lt;/dr&gt;
&lt;/powder&gt;
</pre></td>
</tr>
<tr>
<td class="TestRDF" colspan="4">
<pre>&lt;rdf:Description rdf:about=&quot;https://example.com/FOO/Capital.svg&quot;&gt;
&lt;ex:color&gt;red&lt;/ex:color&gt;
&lt;wdrs:describedby rdf:resource=&quot;tests/canon_tests/match004.xml&quot; /&gt;
&lt;/rdf:Description&gt;
</pre>
</td>
</tr>
</tbody></table>
<table summary="ToASCII for IDNs" id="canon-005" class="TestTable">
<tbody><tr>
<td class="TestType"><div>Canonicalization Test</div></td>
<td class="TestType">Positive</td>
<td class="TestDescription">If the host string does not completely consist of ASCII characters, apply the ToASCII operation to the host string, with the UseSTD3ASCIIRules flag unset and the AllowUnassigned flag set.</td>
<td class="TestNumber">005</td>
</tr>
<tr>
<td class="TestDescriptionHead" colspan="4">Test Assertion</td>
</tr>
<tr>
<td class="TestContent" colspan="4">Applying the ToASCII operation leads to a match for both of the candidate IRIs with either POWDER document.</td>
</tr>
<tr>
<td class="TestContent" colspan="4"><a href="http://www.w3.org/TR/powder-grouping/#canon">Protocol for Web Description Resources (POWDER): Grouping of Resources Section 2.1.4 IRI/URI Canonicalization</a></td>
</tr>
<tr>
<td class="TestDescriptionHead" colspan="4">Description</td>
</tr>
<tr>
<td class="TestContent" colspan="4">
<a href="tests/canon_tests/Manifestcanon005.rdf">Manifestcanon005.rdf</a></td>
</tr>
<tr>
<td class="TestNamespacesHead" colspan="4">Preconditions - Namespace</td>
</tr>
<tr>
<td class="TestContent" colspan="4">@prefix ex: &lt;http://example.org/vocab#&gt;</td>
</tr>
<tr>
<td class="TestDescriptionHead" colspan="4">Documents <a href="tests/canon_tests/match005a.xml" class="whiteLink">match005a.xml</a> <a href="tests/canon_tests/match005b.xml" class="whiteLink">match005b.xml</a></td>
</tr>
<tr>
<td class="TestHTML" colspan="4">
<pre>http://www.sigma&sigma;.example.org/images/C&eacute;line.jpg http://www.xn--sigma-kde.example.org/images/C&eacute;line.jpg</pre>
</td>
</tr>
<tr>
<td class="TestXML" colspan="4">
<pre>&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; ?&gt;
&lt;powder xmlns=&quot;http://www.w3.org/2007/05/powder#&quot;
xmlns:ex=&quot;http://example.org/vocab#&quot;&gt;
&lt;attribution&gt;
&lt;issuedby src=&quot;http://authority.example.org/company.rdf#me&quot; /&gt;
&lt;issued&gt;2007-12-14T00:00:00&lt;/issued&gt;
&lt;/attribution&gt;
&lt;dr&gt;
&lt;iriset&gt;
&lt;includehosts&gt;sigma&sigma;.example.org&lt;/includehosts&gt;
&lt;/iriset&gt;
&lt;descriptorset&gt;
&lt;ex:color&gt;red&lt;/ex:color&gt;
&lt;/descriptorset&gt;
&lt;/dr&gt;
&lt;/powder&gt;
</pre></td>
</tr>
<tr>
<td class="TestXML" colspan="4">
<pre>&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; ?&gt;
&lt;powder xmlns=&quot;http://www.w3.org/2007/05/powder#&quot;
xmlns:ex=&quot;http://example.org/vocab#&quot;&gt;
&lt;attribution&gt;
&lt;issuedby src=&quot;http://authority.example.org/company.rdf#me&quot; /&gt;
&lt;issued&gt;2007-12-14T00:00:00&lt;/issued&gt;
&lt;/attribution&gt;
&lt;dr&gt;
&lt;iriset&gt;
&lt;includehosts&gt;xn--sigma-kde.example.org&lt;/includehosts&gt;
&lt;/iriset&gt;
&lt;descriptorset&gt;
&lt;ex:color&gt;red&lt;/ex:color&gt;
&lt;/descriptorset&gt;
&lt;/dr&gt;
&lt;/powder&gt;
</pre></td>
</tr>
<tr>
<td class="TestRDF" colspan="4">
<pre>&lt;rdf:Description rdf:about=&quot;http://www.xn--sigma-kde.example.org/images/C&eacute;line.jpg&quot;&gt;
&lt;ex:color&gt;red&lt;/ex:color&gt;
&lt;wdrs:describedby rdf:resource=&quot;tests/canon_tests/match005a.xml&quot; /&gt;
&lt;/rdf:Description&gt;
</pre>
</td>
</tr>
<tr>
<td class="TestRDF" colspan="4">
<pre>&lt;rdf:Description rdf:about=&quot;http://www.xn--sigma-kde.example.org/images/C&eacute;line.jpg&quot;&gt;
&lt;ex:color&gt;red&lt;/ex:color&gt;
&lt;wdrs:describedby rdf:resource=&quot;tests/canon_tests/match005b.xml&quot; /&gt;
&lt;/rdf:Description&gt;
</pre>
</td>
</tr>
</tbody></table>
<h2 id="ack">5 Acknowledgements</h2>
<p>Many thanks to Tim Boland for his comments and guidance and all members of the POWDER Working Group who have contributed to this document's production.</p>
<h2 id="refs">6 References</h2>
<dl>
<dt><a name="dr" id="dr">[DR]</a></dt>
<dd><cite><a href="http://www.w3.org/TR/powder-dr/">Protocol for Web Description Resources: Description Resources</a></cite> W3C Recommendation 1 September 2009</dd>
<dt><a name="rdftest" id="rdftest">[RDF-TEST]</a></dt>
<dd><cite><a href="http://www.w3.org/TR/2004/REC-rdf-testcases-20040210/">RDF Test Cases</a></cite> W3C Recommendation 10 February 2004</dd>
</dl>
</body></html>