- From: Henry S. Thompson <ht@cogsci.ed.ac.uk>
- Date: 11 Jan 2002 15:41:07 +0000
- To: Dave Beckett <dave.beckett@bristol.ac.uk>
- Cc: xmlschema-dev <xmlschema-dev@w3.org>, priscilla <priscilla@walmsley.com>
Here's a more general approach, only uses _two_ namespaces, could
serve as the starting point for a template for anyone wishing to
define a document type which provides for RDF descriptions from a
fixed vocabulary.
Please feel from to develop this further -- for your purposes you
would replace t: with dc: and myProp etc. with creator etc.
Note the example is not completely valid, intentionally -- creator is
not allowed.
ht
restricted-rdf.xsd:
<?xml version='1.0' encoding='UTF-8'?>
<!DOCTYPE schema PUBLIC "-//W3C//DTD XMLSchema 200102//EN" "http://www.w3.org/2001/XMLSchema.dtd" [
<!ENTITY % p ''>
<!ENTITY % s ''>
]>
<schema xmlns="http://www.w3.org/2001/XMLSchema"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
targetNamespace="http://www.w3.org/1999/02/22-rdf-syntax-ns#">
<element name="RDF">
<complexType>
<sequence>
<element ref="rdf:Description" minOccurs="0" maxOccurs="unbounded"/>
</sequence>
</complexType>
</element>
<element name="Description">
<complexType>
<sequence>
<element ref="rdf:any" minOccurs="0" maxOccurs="unbounded"/>
</sequence>
<attribute ref="rdf:about" use="optional"/>
</complexType>
</element>
<attribute name="about" type="anyURI"/>
<element name="any" abstract="true">
<annotation>
<documentation>Import this into a schema, and put something into the
substitution group of rdf:any to get a simple restricted version of rdf:RDF</documentation>
</annotation>
</element>
</schema>
simple-rdf-xmpl.xsd:
<?xml version='1.0' encoding='UTF-8'?>
<!DOCTYPE schema PUBLIC "-//W3C//DTD XMLSchema 200102//EN" "http://www.w3.org/2001/XMLSchema.dtd" [
<!ENTITY % p ''>
<!ENTITY % s ''>
]>
<schema xmlns="http://www.w3.org/2001/XMLSchema"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:t="http://www.example.org/restrictedRDFexample"
targetNamespace="http://www.example.org/restrictedRDFexample">
<import namespace="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
schemaLocation="restricted-rdf.xsd"/>
<element name="top">
<complexType>
<sequence>
<element ref="rdf:RDF"/>
</sequence>
</complexType>
</element>
<element name="myHead" substitutionGroup="rdf:any" abstract="true"/>
<element name="myProp" substitutionGroup="t:myHead"/>
<element name="myProp2" substitutionGroup="t:myHead"/>
<element name="myProp3" substitutionGroup="t:myHead"/>
</schema>
simple-rdf-xmpl.xml:
<?xml version='1.0'?>
<top xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns="http://www.example.org/restrictedRDFexample"
xsi:schemaLocation="http://www.example.org/restrictedRDFexample
simple-rdf-xmpl.xsd">
<rdf:RDF>
<rdf:Description rdf:about="http://www.ltg.ed.ac.uk/~ht/xsv-status.html">
<myProp>Henry S. Thompson</myProp>
<myProp2>The XSV Schema Validator</myProp2>
</rdf:Description>
<rdf:Description rdf:about="http://www.w3.org/">
<creator>Tim Berners Lee</creator>
</rdf:Description>
</rdf:RDF>
</top>
--
Henry S. Thompson, HCRC Language Technology Group, University of Edinburgh
W3C Fellow 1999--2001, part-time member of W3C Team
2 Buccleuch Place, Edinburgh EH8 9LW, SCOTLAND -- (44) 131 650-4440
Fax: (44) 131 650-4587, e-mail: ht@cogsci.ed.ac.uk
URL: http://www.ltg.ed.ac.uk/~ht/
Received on Friday, 11 January 2002 10:41:12 UTC