Re: Updated Representing Content in RDF

The link you provide for the latest internal draft:

http://www.w3.org/WAI/ER/Content-in-RDF/

and the link for the latest editor's version:

http://www.w3.org/WAI/ER/Content/WD-Content-in-RDF-20080623

are broken. The latest version I can access is:

http://www.w3.org/WAI/ER/Content/WD-Content-in-RDF-20080327

Can you check the links or send html as it is too hard to read this draft 
in an email?
THanks,


--> Mike Squillace
IBM Human Ability and Accessibility Center
Austin, TX

W:512.823.7423
M:512.970.0066

masquill@us.ibm.com
www.ibm.com/able



Carlos A Velasco <carlos.velasco@fit.fraunhofer.de> 
Sent by: public-wai-ert-request@w3.org
06/23/2008 07:19 AM

To
public-wai-ert@w3.org
cc

Subject
Updated Representing Content in RDF






Hi all,

As per my last action item, here comes an update on the «Representing 
Content in RDF» document. As agreed, the abstract and introduction have 
been reworked, integrating sections that were too short in the previous 
draft.

I also converted into a list the scenarios of Section 3.

regards,
carlos
-- 
Dr Carlos A Velasco
   Fraunhofer Institute for Applied Information Technology FIT
   Web Compliance Center: http://webcc.fit.fraunhofer.de/
   imergo®: http://imergo.com/ · http://imergo.de/
   Schloss Birlinghoven, D53757 Sankt Augustin (Germany)
   Tel: +49-2241-142609 · Fax: +49-2241-1442609

Representing Content in RDF
W3C Working Draft 23 June 2008
This version:
http://www.w3.org/WAI/ER/Content/WD-Content-in-RDF-20080623
Latest published version:
N/A
Latest internal version:
http://www.w3.org/WAI/ER/Content-in-RDF/
Editors:
Johannes Koch, Fraunhofer Institute for Applied Information Technology 
(FIT)
Carlos A Velasco, Fraunhofer Institute for Applied Information Technology 
(FIT)
Copyright © 2008 W3C® (MIT, ERCIM, Keio), All Rights Reserved. W3C 
liability, trademark and document use rules apply.

Abstract
This document is the specification for a vocabulary to represent Content 
in RDF. This vocabulary is intended to provide a flexible framework within 
different usage scenarios to semantically describe any type of content, be 
it on the Web or in local storage media. The document contains as well 
introductory information on its usage and some examples. 
Status of this document
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 W3C technical reports index at http://www.w3.org/TR/.
Please send comments about this document to the mailing list of the ERT 
WG. The archives for this list are publicly available.
This is a W3C Working Draft for Representing Content in RDF vocabulary. 
Publication as a Working Draft does not imply endorsement by the W3C 
Membership. This is a draft document and may be updated, replaced or 
obsoleted by other documents at any time. It is inappropriate to cite this 
document as other than work in progress.
This document was produced under the 5 February 2004 W3C Patent Policy. 
The Working Group maintains a public list of patent disclosures relevant 
to this document; that page also includes instructions for disclosing a 
patent. An individual who has actual knowledge of a patent which the 
individual believes contains Essential Claim(s) with respect to this 
specification should disclose the information in accordance with section 6 
of the W3C Patent Policy.
This document has been produced as part of the W3C Web Accessibility 
Initiative (WAI). The goals of the Evaluation and Repair Tools Working 
Group (ERT WG) are discussed in the Working Group charter. The ERT WG is 
part of the WAI Technical Activity.

Table of Contents
1.      Introduction 
1.1. Namespaces
1.3. Use Cases
2.      Vocabulary usage: classes and properties 
2.1. Content class
2.2. Base64Content class
2.3. TextContent class
2.4. XMLContent class
2.5. XMLDecl class
2.6. DoctypeDecl class
2.7. A practical example
3.      When to create which resources?
4.      Open issues and extensions
Appendices
A.      Schema in RDF/XML
B.      Vocabulary Terms
C.      Mapping between DOM and the Content-in-RDF vocabulary
D.      Document Changes
E.      References

1. Introduction
This document is the specification for a vocabulary to represent Content 
in RDF. There is a wide variety of scenarios (see section below) where a 
description of any type of content, either on the Web or in any local 
storage media, is necessary. This specification provides an RDF 
application that allows a semantic description of such content. The 
vocabulary is built in a flexible manner, thus there are no limitations 
known at the time of writing this specification. It also provides 
opportunities for extensions to match particular needs of its users.
This document assumes the following background knowledge:
Basic knowledge of XML [XML] and its associated technologies.
Basic knowledge about the Semantic Web and RDF. For references, consult 
[RDF], [RDF-PRIMER] and [RDFS].
Although the concepts of the Semantic Web are simple, their abstraction 
with RDF is known to bring difficulties to beginners. It is recommended to 
read carefully the aforementioned references and other tutorials found on 
the Web. It must be also borne in mind that RDF is primarily targeted to 
be machine processable, and therefore, some of its expressions are not 
very intuitive for developers used to work with XML only. The examples 
will be serialized using the abbreviated RDF/XML notation.
The keywords must, required, recommended, should, may, and optional are 
used in accordance with [RFC2119].
1.1. Namespaces
Table 1 presents the namespaces typically used by this vocabulary (rdfs 
and owl namespaces are normally only used in the schema). The core 
namespace has the URI http://www.w3.org/2007/content# and the prefix cnt. 
The prefix notation presents the typical conventions used in the Web and 
in this document to denote a given namespace, and can be freely modified.

Namespace prefix
Namespace URI
Description
Table 1: Representing Content in RDF namespaces. 


cnt
http://www.w3.org/2007/content#
The default namespace for Representing Content in RDF.
rdf
http://www.w3.org/1999/02/22-rdf-syntax-ns#
Default RDF namespace [RDF].
rdfs
http://www.w3.org/2000/01/rdf-schema#
Default RDF schema namespace [RDFS].
owl
http://www.w3.org/2002/07/owl#
Default OWL namespace [OWL].
1.2. Use cases
As stated earlier, this framework is designed in an open way to facilitate 
different implementation scenarios. The origin of the application comes 
from vocabularies describing testing scenarios like EARL [EARL]. Typical 
applications could be:
Applications dealing with retrieval, editing and storage of content. For 
example, an archiving application could store in a database annotated 
media content that includes a serialization of the media files with this 
vocabulary.
Applications dealing with the exchange of text documents and other types 
of media, like Web Services. For example, an AJAX application could 
exchange document fragments and images with a Web server to react to 
different user actions.
Applications dealing with the testing and/or repair of content. For 
example, an accessibility testing tool could store together with the 
results of a compliance test, the tested Web resources to ensure that the 
correct version of the tested subject is available to the developers
This list is not exclusive and several other scenarios could be developed.
2. Vocabulary usage: classes and properties
This section presents a description of the classes and properties of this 
RDF vocabulary. We present every class together with its properties and 
subclasses. We also include whenever relevant short snippets and examples.
2.1. Content class
The Content class is an overarching class with no properties. It is 
recommended always to use one of its subclasses. A resource of type 
Content represents any content that could be found on the Web, in an 
Intranet or in local storage media, for example. There is no restriction 
within the vocabulary scope on what can be represented with this class: 
textual content, binary files (e.g., images or movies), XML files, etc.
There are three subclasses from the Content class: Base64Content, 
TextContent and XMLContent.
2.2. Base64Content class
The Base64Content class is a subclass of the Content class. A resource of 
type Base64Content represents Base64 encoded binary content (as defined by 
[RFC2045]) and can be used for any type of content, although its more 
typical use case is for binary files.
The following property may appear in resources of type Base64Content (with 
a maximum cardinality of 1):
characterEncoding
If the byte sequence was created from a given character sequence this 
property can be used to store the character encoding that was applied to 
create the byte sequence.
The following property must appear in resources of type Base64Content:
bytes
Character string representing the Base64 encoded byte sequence of the 
given content.
Example 2.1: This example displays the representation of the W3C logo as a 
Base64Content resource. (Note: due to its length, the encoded string has 
been chunked until {...}.)
<rdf:RDF
    xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
    xmlns:cnt="http://www.w3.org/2007/content#">

  <cnt:Base64Content rdf:about="http://www.w3.org/Icons/w3c_home.png">
 <cnt:bytes>77+9UE5HDQoaCgAAAA1JSERSAAAASAAAADAIAwAAAO+{...}</cnt:bytes>
  </cnt:Base64Content>

</rdf:RDF>
2.3. TextContent class
The TextContent class is a subclass of the Content class. A resource of 
type TextContent represents any type of textual content.
The following property may appear in resources of type TextContent (with a 
maximum cardinality of 1):
characterEncoding
If the character sequence was created from a given byte sequence this 
property can be used to store the character encoding that was applied to 
create the character sequence.
The following property must appear in resources of type TextContent:
chars
Character string representing the character sequence of the given content.
Example 2.2: The following example represents a CSS file as a TextContent 
resource.
<rdf:RDF
    xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
    xmlns:cnt="http://www.w3.org/2007/content#">

  <cnt:TextContent rdf:about="http://example.org/example.css">
    <cnt:characterEncoding>UTF-8</cnt:characterEncoding>
    <cnt:chars>body {
  color: #000;
  background: #fff
}
h1 {
  font-size: 1.6em
}
h2 {
  font-size: 1.3em
}</cnt:chars>
  </cnt:TextContent>

</rdf:RDF>
2.4. XMLContent class
The XMLContent class is a subclass of the Content class. A resource of 
type XMLContent represents XML content.
The following properties may appear in resources of type XMLContent (with 
a maximum cardinality of 1):
characterEncoding
If the parser's input character stream was created from a given byte 
stream this property can be used to store the character encoding that was 
applied to create the character stream. Note: This is the used character 
encoding, not the one declared in an XML declaration.
xmlDecl
Property pointing to an XMLDecl resource representing the XML declaration.
xmlLeadingMisc
Property representing as an XML Literal the part of the XML (comments and 
processing instructions) following the XML declaration and preceding the 
document type declaration if there is one.
doctypeDecl
Property pointing to a DoctypeDecl resource representing the document type 
declaration.
The following property must appear in resources of type XMLContent:
xmlRest
Property representing as an XML Literal 
the part of the XML following the document type declaration if there is a 
document type declaration, or
the part following the XML declaration if there is no document type 
declaration, or
the whole XML if there is neither XML declaration nor document type 
declaration.
It contains comments, processing instructions and the root element.
Example 2.3: The XHTML page with the following source code:
<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
  <head>
    <title>The title</title>
  </head>
  <body>
    <p>Some paragraph.</p>
  </body>
</html>
could be represented as this XMLContent resource.
<rdf:RDF
    xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
    xmlns:cnt="http://www.w3.org/2007/content#">

  <cnt:XMLContent rdf:about="http://example.org/example203.html">
    <cnt:xmlRest rdf:parseType="Literal"><html xmlns="
http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
  <head>
    <title>The title</title>
  </head>
  <body>
    <p>Some paragraph.</p>
  </body>
</html>
</cnt:xmlRest>
  </cnt:XMLContent>

</rdf:RDF>
For the use of xmlDecl, xmlLeadingMisc and doctypeDecl see 2.7. A 
practical example.
2.5. XMLDecl class
A resource of type XMLDecl represents an XML declaration. This class is 
normally used in conjunction with the XMLContent class, when the 
corresponding XML file has an XML declaration. The resources are linked 
via the xmlDecl property.
The following properties may appear in resources of type XMLDecl:
xmlEncoding
Property representing the character encoding specified in the XML 
declaration.
xmlStandalone
Property representing the standalone document declaration.
The following property must appear in resources of type XMLDecl:
xmlVersion
Property representing the XML version specified in the XML declaration.
Example 2.4: A typical XML declaration:
<?xml version="1.0" encoding="UTF-8" standalone="no" ?>
Can be expressed as the following XMLDecl resource:
<rdf:RDF
    xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
    xmlns:cnt="http://www.w3.org/2007/content#">

  <cnt:XMLDecl rdf:ID="xmld0">
    <cnt:xmlStandalone>no</cnt:xmlStandalone>
    <cnt:xmlEncoding>UTF-8</cnt:xmlEncoding>
    <cnt:xmlVersion>1.0</cnt:xmlVersion>
  </cnt:XMLDecl>

</rdf:RDF>
2.6. DoctypeDecl class
A resource of type DoctypeDecl represents a document type declaration. 
Likewise XMLDecl, this class is normally used in conjunction with the 
XMLContent class, when the corresponding XML file has a document type 
declaration. The resources are linked via the doctypeDecl property.
The following properties may appear in resources of type DoctypeDecl:
publicId
Property representing the formal public identifier.
systemId
Property representing the system identifier.
internalSubset
Property representing the internal subset.
The following property must appear in resources of type DoctypeDecl:
doctypeName
Property representing the document type name.
Example 2.5: A typical XHTML 1.0 Strict document type declaration:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
  "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
could be represented as the following DoctypeDecl resource:
<rdf:RDF
    xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
    xmlns:cnt="http://www.w3.org/2007/content#">

  <cnt:DoctypeDecl rdf:ID="dtd0">
 
<cnt:systemId>http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd</cnt:systemId>
    <cnt:publicId>-//W3C//DTD XHTML 1.0 Strict//EN</cnt:publicId>
    <cnt:doctypeName>html</cnt:doctypeName>
  </cnt:DoctypeDecl>

</rdf:RDF>
2.7. A practical example
To understand the versatility of the vocabulary, let us assume we have a 
given XHTML page containing an XML declaration, a comment preceding a 
document type declaration and some XHTML elements.
Example 2.6: A typical XHTML page.
<?xml version="1.0" encoding="UTF-8" standalone="no" ?>
<!-- this is a comment -->
<!DOCTYPE html "-//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">
  <head>
    <title>The title</title>
  </head>
  <body>
    <p>Some paragraph.</p>
  </body>
</html>
This page could be represented as simple TextContent:
<rdf:RDF
    xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
    xmlns:cnt="http://www.w3.org/2007/content#">

  <cnt:TextContent rdf:about="http://example.org/example207.html">
    <cnt:chars>&lt;?xml version="1.0" encoding="UTF-8" standalone="no" 
?&gt;
&lt;!-- this is a comment --&gt;
&lt;!DOCTYPE html "-//W3C//DTD XHTML 1.0 Strict//EN"
  "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"&gt;
&lt;html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"&gt;
  &lt;head&gt;
    &lt;title&gt;The title&lt;/title&gt;
  &lt;/head&gt;
  &lt;body&gt;
    &lt;p&gt;Some paragraph.&lt;/p&gt;
  &lt;/body&gt;
&lt;/html&gt;</cnt:chars>
  </cnt:TextContent>

</rdf:RDF>
or likewise as XMLContent. The information from the XML declaration is 
modelled as an XMLDecl resource and refered to from the XMLContent 
resource by the xmlDecl property. As the comment <!-- this is a comment 
--> precedes the document type declaration a xmlLeadingMisc property is 
created with its object literal containing the comment. The document type 
declaration is modelled as a DoctypeDecl resource and refered to from the 
XMLContent resource by the doctypeDecl property.
<rdf:RDF
    xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
    xmlns:cnt="http://www.w3.org/2007/content#"
    xml:base="http://example.org/example208.html">

  <cnt:DoctypeDecl rdf:ID="dtd0">
 
<cnt:systemId>http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd</cnt:systemId>
    <cnt:publicId>-//W3C//DTD XHTML 1.0 Strict//EN</cnt:publicId>
    <cnt:doctypeName>html</cnt:doctypeName>
  </cnt:DoctypeDecl>

  <cnt:XMLDecl rdf:ID="xmld0">
    <cnt:xmlStandalone>no</cnt:xmlStandalone>
    <cnt:xmlEncoding>UTF-8</cnt:xmlEncoding>
    <cnt:xmlVersion>1.0</cnt:xmlVersion>
  </cnt:XMLDecl>

  <cnt:XMLContent rdf:about="#">
    <cnt:xmlLeadingMisc rdf:parseType="Literal"><!-- this is a comment 
--></cnt:xmlLeadingMisc>
    <cnt:doctypeDecl rdf:resource="#dtd0" />
    <cnt:xmlDecl rdf:resource="#xmld0" />
    <cnt:xmlRest rdf:parseType="Literal"><html xmlns="
http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
  <head>
    <title>The title</title>
  </head>
  <body>
    <p>Some paragraph.</p>
  </body>
</html></cnt:xmlRest>
  </cnt:XMLContent>

</rdf:RDF>
3. When to create which resources?
We have identified some situations to make clear when to create which type 
of content resources. The following are only recommendations and are 
non-normative:
Situation A: Given the byte sequence of non-text content (byteSeq) read 
from a file system. A cnt:Base64Content resource may be created with a 
cnt:bytes property with an object literal created from byteSeq. But no 
cnt:TextContent resource must be created, although in some cases it is 
technically possible to create a character sequence from the byte sequence 
byteSeq using some character encoding.
Situation B: Given the byte sequence of text content (byteSeq) received 
from a Web server and an appropriate character encoding (ce). A 
cnt:Base64Content resource may be created with a cnt:bytes property with 
an object literal created from byteSeq. After transforming byteSeq to 
character sequence charSeq using character encoding ce, a cnt:TextContent 
resource may be created with cnt:chars property with an object literal 
charSeq and cnt:characterEncoding property with an object literal ce.
Situation C: Given the byte sequence of text content (byteSeq) received 
from a Web server and an inappropriate character encoding (ce). A 
cnt:Base64Content resource may be created with a cnt:bytes property with 
an object literal created from byteSeq. Because transforming byteSeq to a 
character sequence charSeq using character encoding ce fails, no 
cnt:TextContent resource can be created.
Situation D: Given the character sequence of text content (charSeq) 
created in memory and an appropriate character encoding (ce). A 
cnt:TextContent resource may be created with a cnt:chars property with an 
object literal created from charSeq. After transforming charSeq to byte 
sequence byteSeq using character encoding ce, a cnt:Base64Content resource 
may be created with cnt:bytes property with an object literal byteSeq and 
cnt:characterEncoding property with an object literal ce.
Situation E: Given the byte sequence of wellformed XML content (byteSeq) 
received from a Web server and an appropriate character encoding (ce). 
cnt:Base64Content and cnt:TextContent resources may be created as in 
situation B. Additionally, an cnt:XMLContent resource may be created.
Situation F: Given a DOM Document in memory, originally created by parsing 
some XML source, but afterwards changed by DOM operations. A cnt:XMLDecl 
resource may be created from the information in the Document node itself, 
and a cnt:DoctypeDecl resource from the information in the DocumentType 
node. A cnt:XMLContent resource may be created after serializing the 
relevant child nodes of the Document node (1. Comment and 
ProcessingInstruction nodes preceding a DocumentType node, and 2. nodes 
following a DocumentType node) to create object literals for 
cnt:xmlLeadingMisc and cnt:xmlRest. See the Mapping between DOM and the 
Content-in-RDF vocabulary.
4. Open issues and extensions
The vocabulary provides a framework that allows the representation of any 
type of content. Of course, there are many possibilities for extensions 
that will allow the inclusion of additional metadata, like, e.g., that 
included in some multimedia formats. Typical scenarios for extensions 
could be:
Classes to specify the Document Object Model (DOM) of XML or HTML 
documents.
Classes to specify the metadata of multimedia content like audio or image 
files.
Properties to ensure the integrity of data by providing some kind of 
checksum algorithm.
However, at the point of writing this specification, the Working Group has 
decided to provide the basic framework that will support the immediate 
needs of vocabularies using this specification like EARL [EARL], leaving 
the room open for further extensions as new use cases are presented to us.
Appendix A: Schema in RDF/XML
<rdf:RDF
    xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
    xmlns:owl="http://www.w3.org/2002/07/owl#"
    xmlns="http://www.w3.org/2007/content#"
    xmlns:xsd="http://www.w3.org/2001/XMLSchema#"
    xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#"
    xml:base="http://www.w3.org/2007/content">
  <owl:Ontology rdf:about="">
    <owl:versionInfo rdf:datatype="http://www.w3.org/2001/XMLSchema#string
"
    >Copyright © 2008 World Wide Web Consortium</owl:versionInfo>
  </owl:Ontology>

  <!-- Classes -->
  <rdfs:Class rdf:ID="Base64Content">
    <rdfs:subClassOf>
      <owl:Restriction>
        <owl:cardinality rdf:datatype="
http://www.w3.org/2001/XMLSchema#int"
        >1</owl:cardinality>
        <owl:onProperty>
          <rdf:Property rdf:about="#bytes"/>
        </owl:onProperty>
      </owl:Restriction>
    </rdfs:subClassOf>
    <rdfs:subClassOf>
      <owl:Restriction>
        <owl:onProperty>
          <rdf:Property rdf:about="#characterEncoding"/>
        </owl:onProperty>
        <owl:maxCardinality rdf:datatype="
http://www.w3.org/2001/XMLSchema#int"
        >1</owl:maxCardinality>
      </owl:Restriction>
    </rdfs:subClassOf>
    <rdfs:label xml:lang="en">Base64 content</rdfs:label>
    <rdfs:comment xml:lang="en">The base64 encoded content (can be used 
for all types of content)</rdfs:comment>
    <rdfs:subClassOf rdf:resource="#Content"/>
  </rdfs:Class>

  <rdfs:Class rdf:about="#Content">
    <rdfs:label xml:lang="en">Content</rdfs:label>
    <rdfs:comment xml:lang="en">The message body content</rdfs:comment>
  </rdfs:Class>

  <rdfs:Class rdf:ID="DoctypeDecl">
    <rdfs:label xml:lang="en">Document type declaration</rdfs:label>
    <rdfs:comment xml:lang="en">The document type 
declaration</rdfs:comment>
    <rdfs:subClassOf>
      <owl:Restriction>
        <owl:onProperty>
          <rdf:Property rdf:about="#doctypeName"/>
        </owl:onProperty>
        <owl:cardinality rdf:datatype="
http://www.w3.org/2001/XMLSchema#int"
        >1</owl:cardinality>
      </owl:Restriction>
    </rdfs:subClassOf>
    <rdfs:subClassOf>
      <owl:Restriction>
        <owl:onProperty>
          <rdf:Property rdf:about="#internalSubset"/>
        </owl:onProperty>
        <owl:maxCardinality rdf:datatype="
http://www.w3.org/2001/XMLSchema#int"
        >1</owl:maxCardinality>
      </owl:Restriction>
    </rdfs:subClassOf>
    <rdfs:subClassOf>
      <owl:Restriction>
        <owl:onProperty>
          <rdf:Property rdf:about="#publicId"/>
        </owl:onProperty>
        <owl:maxCardinality rdf:datatype="
http://www.w3.org/2001/XMLSchema#int"
        >1</owl:maxCardinality>
      </owl:Restriction>
    </rdfs:subClassOf>
    <rdfs:subClassOf>
      <owl:Restriction>
        <owl:onProperty>
          <rdf:Property rdf:about="#systemId"/>
        </owl:onProperty>
        <owl:maxCardinality rdf:datatype="
http://www.w3.org/2001/XMLSchema#int"
        >1</owl:maxCardinality>
      </owl:Restriction>
    </rdfs:subClassOf>
  </rdfs:Class>

  <rdfs:Class rdf:ID="TextContent">
    <rdfs:subClassOf>
      <owl:Restriction>
        <owl:cardinality rdf:datatype="
http://www.w3.org/2001/XMLSchema#int"
        >1</owl:cardinality>
        <owl:onProperty>
          <rdf:Property rdf:about="#chars"/>
        </owl:onProperty>
      </owl:Restriction>
    </rdfs:subClassOf>
    <rdfs:subClassOf>
      <owl:Restriction>
        <owl:onProperty>
          <rdf:Property rdf:about="#characterEncoding"/>
        </owl:onProperty>
        <owl:maxCardinality rdf:datatype="
http://www.w3.org/2001/XMLSchema#int"
        >1</owl:maxCardinality>
      </owl:Restriction>
    </rdfs:subClassOf>
    <rdfs:label xml:lang="en">Text content</rdfs:label>
    <rdfs:comment xml:lang="en">The text content (can be used for 
non-XML-wellformed text resources)</rdfs:comment>
    <rdfs:subClassOf rdf:resource="#Content"/>
  </rdfs:Class>

  <rdfs:Class rdf:ID="XMLContent">
    <rdfs:label xml:lang="en">XML content</rdfs:label>
    <rdfs:comment xml:lang="en">The XML content (can be used for 
XML-wellformed resource)</rdfs:comment>
    <rdfs:subClassOf rdf:resource="#Content"/>
    <rdfs:subClassOf>
      <owl:Restriction>
        <owl:onProperty>
          <rdf:Property rdf:about="#characterEncoding"/>
        </owl:onProperty>
        <owl:maxCardinality rdf:datatype="
http://www.w3.org/2001/XMLSchema#int"
        >1</owl:maxCardinality>
      </owl:Restriction>
    </rdfs:subClassOf>
    <rdfs:subClassOf>
      <owl:Restriction>
        <owl:onProperty>
          <rdf:Property rdf:about="#xmlDecl"/>
        </owl:onProperty>
        <owl:maxCardinality rdf:datatype="
http://www.w3.org/2001/XMLSchema#int"
        >1</owl:maxCardinality>
      </owl:Restriction>
    </rdfs:subClassOf>
    <rdfs:subClassOf>
      <owl:Restriction>
        <owl:onProperty>
          <rdf:Property rdf:about="#doctypeDecl"/>
        </owl:onProperty>
        <owl:maxCardinality rdf:datatype="
http://www.w3.org/2001/XMLSchema#int"
        >1</owl:maxCardinality>
      </owl:Restriction>
    </rdfs:subClassOf>
    <rdfs:subClassOf>
      <owl:Restriction>
        <owl:onProperty>
          <rdf:Property rdf:about="#xmlLeadingMisc"/>
        </owl:onProperty>
        <owl:maxCardinality rdf:datatype="
http://www.w3.org/2001/XMLSchema#int"
        >1</owl:maxCardinality>
      </owl:Restriction>
    </rdfs:subClassOf>
    <rdfs:subClassOf>
      <owl:Restriction>
        <owl:onProperty>
          <rdf:Property rdf:about="#xmlRest"/>
        </owl:onProperty>
        <owl:cardinality rdf:datatype="
http://www.w3.org/2001/XMLSchema#int"
        >1</owl:cardinality>
      </owl:Restriction>
    </rdfs:subClassOf>
  </rdfs:Class>

  <rdfs:Class rdf:ID="XMLDecl">
    <rdfs:subClassOf>
      <owl:Restriction>
        <owl:cardinality rdf:datatype="
http://www.w3.org/2001/XMLSchema#int"
        >1</owl:cardinality>
        <owl:onProperty>
          <rdf:Property rdf:about="#xmlVersion"/>
        </owl:onProperty>
      </owl:Restriction>
    </rdfs:subClassOf>
    <rdfs:comment xml:lang="en">The XML declaration</rdfs:comment>
    <rdfs:subClassOf>
      <owl:Restriction>
        <owl:onProperty>
          <rdf:Property rdf:about="#xmlEncoding"/>
        </owl:onProperty>
        <owl:maxCardinality rdf:datatype="
http://www.w3.org/2001/XMLSchema#int"
        >1</owl:maxCardinality>
      </owl:Restriction>
    </rdfs:subClassOf>
    <rdfs:subClassOf>
      <owl:Restriction>
        <owl:onProperty>
          <rdf:Property rdf:about="#xmlStandalone"/>
        </owl:onProperty>
        <owl:maxCardinality rdf:datatype="
http://www.w3.org/2001/XMLSchema#int"
        >1</owl:maxCardinality>
      </owl:Restriction>
    </rdfs:subClassOf>
    <rdfs:label xml:lang="en">XML declaration</rdfs:label>
  </rdfs:Class>

  <!-- Properties -->
  <rdf:Property rdf:about="#bytes">
    <rdfs:label xml:lang="en">Base64 encoded byte sequence</rdfs:label>
    <rdfs:comment xml:lang="en">The Base64 encoded byte sequence of the 
content</rdfs:comment>
    <rdfs:domain rdf:resource="#Base64Content"/>
  </rdf:Property>
  <rdf:Property rdf:about="#characterEncoding">
    <rdfs:label xml:lang="en">Character encoding</rdfs:label>
    <rdfs:comment xml:lang="en">The character encoding used create a 
character sequence from a byte
    sequence or vice versa</rdfs:comment>
  </rdf:Property>
  <rdf:Property rdf:about="#chars">
    <rdfs:comment xml:lang="en">The character sequence of the 
content</rdfs:comment>
    <rdfs:domain rdf:resource="#TextContent"/>
    <rdfs:label xml:lang="en">Character sequence</rdfs:label>
  </rdf:Property>
  <rdf:Property rdf:about="#doctypeDecl">
    <rdfs:label xml:lang="en">Document type declaration</rdfs:label>
    <rdfs:comment xml:lang="en">The document type 
declaration</rdfs:comment>
    <rdfs:domain rdf:resource="#XMLContent"/>
    <rdfs:range rdf:resource="#DoctypeDecl"/>
  </rdf:Property>
  <rdf:Property rdf:about="#doctypeName">
    <rdfs:label xml:lang="en">Document type name</rdfs:label>
    <rdfs:comment xml:lang="en">The document type name</rdfs:comment>
    <rdfs:domain rdf:resource="#DoctypeDecl"/>
    <rdfs:range rdf:resource="http://www.w3.org/2000/01/rdf-schema#Literal
"/>
  </rdf:Property>
  <rdf:Property rdf:about="#internalSubset">
    <rdfs:comment rdf:datatype="http://www.w3.org/2001/XMLSchema#string"
    >The internal subset of the DTD</rdfs:comment>
    <rdfs:label rdf:datatype="http://www.w3.org/2001/XMLSchema#string"
    >Internal DTD subset</rdfs:label>
    <rdfs:domain rdf:resource="#DoctypeDecl"/>
    <rdfs:range rdf:resource="http://www.w3.org/2000/01/rdf-schema#Literal
"/>
  </rdf:Property>
  <rdf:Property rdf:about="#publicId">
    <rdfs:label xml:lang="en">Public ID</rdfs:label>
    <rdfs:comment xml:lang="en">The document type declarations's public 
identifier</rdfs:comment>
    <rdfs:domain rdf:resource="#DoctypeDecl"/>
    <rdfs:range rdf:resource="http://www.w3.org/2000/01/rdf-schema#Literal
"/>
  </rdf:Property>
  <rdf:Property rdf:about="#systemId">
    <rdfs:label xml:lang="en">System ID</rdfs:label>
    <rdfs:comment xml:lang="en">The document type declarations's system 
identifier (typed: xsd:anyURI)</rdfs:comment>
    <rdfs:domain rdf:resource="#DoctypeDecl"/>
    <rdfs:range rdf:resource="http://www.w3.org/2000/01/rdf-schema#Literal
"/>
  </rdf:Property>
  <rdf:Property rdf:about="#xmlDecl">
    <rdfs:label xml:lang="en">XML declaration</rdfs:label>
    <rdfs:comment xml:lang="en">The XML declaration</rdfs:comment>
    <rdfs:domain rdf:resource="#XMLContent"/>
    <rdfs:range rdf:resource="#XMLDecl"/>
  </rdf:Property>
  <rdf:Property rdf:about="#xmlEncoding">
    <rdfs:label xml:lang="en">XML character encoding</rdfs:label>
    <rdfs:comment xml:lang="en">The XML character encoding</rdfs:comment>
    <rdfs:domain rdf:resource="#XMLDecl"/>
    <rdfs:range rdf:resource="http://www.w3.org/2000/01/rdf-schema#Literal
"/>
  </rdf:Property>
  <rdf:Property rdf:about="#xmlLeadingMisc">
    <rdfs:label xml:lang="en">XML leading misc</rdfs:label>
    <rdfs:comment xml:lang="en">The XML content preceding the document 
type declaration</rdfs:comment>
    <rdfs:domain rdf:resource="#XMLContent"/>
    <rdfs:range rdf:resource="
http://www.w3.org/2000/01/rdf-schema#XMLLiteral"/>
  </rdf:Property>
  <rdf:Property rdf:about="#xmlRest">
    <rdfs:label xml:lang="en">XML rest</rdfs:label>
    <rdfs:comment xml:lang="en">The XML content following the document 
type declaration</rdfs:comment>
    <rdfs:domain rdf:resource="#XMLContent"/>
    <rdfs:range rdf:resource="
http://www.w3.org/2000/01/rdf-schema#XMLLiteral"/>
  </rdf:Property>
  <rdf:Property rdf:about="#xmlStandalone">
    <rdfs:label xml:lang="en">XML standalone document 
declaration</rdfs:label>
    <rdfs:comment xml:lang="en">The XML standalone document 
declaration</rdfs:comment>
    <rdfs:domain rdf:resource="#XMLDecl"/>
    <rdfs:range rdf:resource="http://www.w3.org/2000/01/rdf-schema#Literal
"/>
  </rdf:Property>
  <rdf:Property rdf:about="#xmlVersion">
    <rdfs:label xml:lang="en">XML version</rdfs:label>
    <rdfs:comment xml:lang="en">The XML version</rdfs:comment>
    <rdfs:domain rdf:resource="#XMLDecl"/>
    <rdfs:range rdf:resource="http://www.w3.org/2000/01/rdf-schema#Literal
"/>
  </rdf:Property>
</rdf:RDF>
Appendix B: Vocabulary Terms
The following terms are defined by this specification:
Classes
Class name
Label
Allowable types
Required properties
Optional properties
Classes in the Representing Content in RDF namespace. 




cnt:Base64Content
Base64 encoded binary content

cnt:bytes
cnt:characterEncoding
cnt:Content
Content
cnt:Base64Content, cnt:TextContent, cnt:XMLContent


cnt:DoctypeDecl
Document type declaration

cnt:doctypeName
cnt:publicId, cnt:systemId, cnt:internalSubset
cnt:TextContent
Textual content

cnt:chars
cnt:characterEncoding
cnt:XMLContent
XML content

cnt:xmlRest
cnt:characterEncoding, cnt:xmlLeadingMisc, cnt:doctypeDecl
cnt:XMLDecl
XML declaration

cnt:xmlVersion
cnt:xmlEncoding, cnt:xmlStandalone
Properties
Property name
Label
Domain
Range
Restriction
Properties in the Representing Content in RDF namespace. 




cnt:bytes
Bytes
cnt:Base64Content
Literal
Exactly one per cnt:Base64Content
cnt:characterEncoding
Character encoding

Literal
At most one per cnt:Base64Content, cnt:TextContent or cnt:XMLContent
cnt:chars
Characters
cnt:TextContent
Literal
Exactly one per cnt:TextContent
cnt:doctypeDecl
Document type declaration
cnt:XMLContent
cnt:DoctypeDecl
At most one per cnt:XMLContent
cnt:doctypeName
Document type name
cnt:DoctypeDecl
Literal
Exactly one per cnt:DoctypeDecl
cnt:internalSubset
Internal subset
cnt:DoctypeDecl
Literal
At most one per cnt:DoctypeDecl
cnt:publicId
Formal public identifier
cnt:DoctypeDecl
Literal
At most one per cnt:DoctypeDecl
cnt:systemId
System identifier
cnt:DoctypeDecl
Literal
At most one per cnt:DoctypeDecl
cnt:xmlDecl
XML declaration
cnt:XMLContent
cnt:XMLDecl
At most one per cnt:XMLContent
cnt:xmlEncoding
XML character encoding
cnt:XMLDecl
Literal
At most one per cnt:XMLDecl
cnt:xmlLeadingMisc
XML preceding the document type declaration
cnt:XMLContent
XML Literal
At most one per cnt:XMLContent
cnt:xmlRest
XML following the document type declaration
cnt:XMLContent
XML Literal
Exactly one per cnt:XMLContent
cnt:xmlStandalone
XML standalone document declaration
cnt:XMLDecl
Literal
At most one per cnt:XMLDecl
cnt:xmlVersion
XML version
cnt:XMLDecl
Literal
Exactly one per cnt:XMLDecl
Appendix D: Mapping between DOM and the Content-in-RDF vocabulary
DOM property
Content-in-RDF property
Document.xmlVersion
xmlVersion
Document.xmlEncoding
xmlEncoding
Document.xmlStandalone
xmlStandalone
Document.doctype
doctypeDecl
DocumentType.name
doctypeName
DocumentType.publicId
publicId
DocumentType.systemId
systemId
DocumentType.internalSubset
internalSubset
Appendix E: Document Changes
Since the 20 February 2008 editorial draft, this document has changed as 
follows:
Added characterEncoding property to Base64Content, TextContent, XMLContent
.
Clarified definition text for xmlLeadingMisc and xmlRest properties.
Changed docTypeDecl to doctypeDecl, and DocTypeDecl to DoctypeDecl.
Changed dtdName to doctypename.
Changed examples 2.6, 2.7, 2.8 into one (2.6).
Added section "When to create which resources?".
Added appendix "Mapping between DOM and the Content-in-RDF vocabulary"
Some minor editorial changes.
Appendix E: References
[EARL]
Evaluation and Report Language (EARL) 1.0 Schema. W3C Working Draft 23 
March 2007.
http://www.w3.org/TR/EARL10/
[RDF]
Resource Description Framework (RDF) Model and Syntax Specification. W3C 
Recommendation, 22 February 1999.
http://www.w3.org/TR/1999/REC-rdf-syntax-19990222/
[RDF-PRIMER]
RDF Primer. W3C Recommendation, 10 February 2004.
http://www.w3.org/TR/rdf-primer/
[RDFS]
RDF Vocabulary Description Language 1.0: RDF Schema. W3C Recommendation 10 
February 2004.
http://www.w3.org/TR/rdf-schema/
[RDF-XML]
RDF/XML Syntax Specification (Revised). W3C Recommendation 10 February 
2004.
http://www.w3.org/TR/rdf-syntax-grammar/
[RFC2119]
Request for Comments: 2119. Key words for use in RFCs to Indicate 
Requirement Levels, March 1997 (IETF).
http://www.ietf.org/rfc/rfc2119.txt
[RFC2045]
Request for Comments: 2045. Multipurpose Internet Mail Extensions (MIME) 
Part One: Format of Internet Message Bodies, November 1996 (IETF).
http://www.ietf.org/rfc/rfc2045.txt
[OWL]
OWL Web Ontology Language Overview. W3C Recommendation 10 February 2004 .
http://www.w3.org/TR/owl-features/
[XML]
Extensible Markup Language (XML) 1.0 (Fourth Edition). W3C Recommendation 
16 August 2006, edited in place 29 September 2006.
http://www.w3.org/TR/xml/

Received on Tuesday, 24 June 2008 12:35:44 UTC