Semantic Web: RDF Module For XHTML m12n

[or: Doing something about the SW]

People have been asking me about RDF in XHTML, and validating SDF etc., so
in the interests of "doing" something about the Semantic Web, I have created
a module [2] (http://xhtml.waptechinfo.com/modules/rdf/rdf.mod) for DC that
can be used in XHTML when XHTML Modularization goes to recommendation. This
means we can validate an XHTML document with RDF in it: a primary step
towards the SW. (As long as I haven't messed up the module).
For example, you could create the following XHTML Family using a DTD [1] I
have prepared.
It allows you to add small pieces of RDF data to the head section of your
XHTML documents. An example of the type of RDF you can use is given as [3].

Later I may start issuing modules for SDF, as long as I get enough support,
but note that they'll be XML Schema modules, which don't form an official
part of m12n yet.

[1] Simple XML DTD:
<!-- Simple DTD adding RDF to XHTML 1.1 -->
<!ENTITY % rdf-module.mod
     PUBLIC "-//WAP Tech Info//ELEMENTS XHTML RDF-Simple-DC 1.0//EN"
            "http://xhtml.waptechinfo.com/modules/rdf/rdf.mod" >
%rdf-module.mod;
<!ENTITY % xhtml11.dtd
     PUBLIC "-//W3C//XHTML 1.1//EN"
            "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd" >
%xhtml11.dtd;

[2] The module: http://xhtml.waptechinfo.com/modules/rdf/rdf.mod

<!-- XHTML Modularization RDF Simple DC Module 1.0  ............... -->
<!-- file: rdf.mod

     This is a simple RDF Dublin Core module for XHTML Modularization,
     adding simple RDF capabilities to any DTD that references it.

     Copyright 2000 Sean B. Palmer, WAP Tech Info, sean@waptechinfo.com

     This DTD module is identified by the PUBLIC and SYSTEM identifiers:

     PUBLIC "-//WAP Tech Info//ELEMENTS XHTML RDF-Simple-DC 1.0//EN"
     SYSTEM "http://xhtml.waptechinfo.com/modules/rdf/rdf.mod"
     .............................................................. -->

<!-- Bring in the QName file for rdf, giving the rdf:
     prefix for the namespace -->
<!ENTITY % rdf-qname.mod SYSTEM
 "http://xhtml.waptechinfo.com/modules/rdf/rdf-qname.mod">
%rdf-qname.mod;

<!-- Bring in the QName file for dc, giving the dc:
     prefix for the namespace -->
<!ENTITY % dc-qname.mod SYSTEM
 "http://xhtml.waptechinfo.com/modules/rdf/dc-qname.mod">
%dc-qname.mod;

<!ENTITY % rdf.RDF.qname  "%rdf.pfx;RDF" >
<!ENTITY % rdf.RDF.content  "( %rdf.description.qname; )" >
<!ELEMENT %rdf.RDF.qname;  %rdf.RDF.content; >

<!ENTITY % rdf.description.qname  "%RDF.pfx;description" >
<!ENTITY % rdf.description.content  "EMPTY" >
<!ELEMENT %rdf.description.qname  %rdf.description.content; >
<!ATTLIST %rdf.description.qname;
%rdf.description.about.qname;       %URI.datatype;          #REQUIRED

%dc.description.creator.qname;      CDATA                   #IMPLIED
%dc.description.date.qname;         %Datetime.datatype;     #IMPLIED
%dc.description.description.qname;  CDATA                   #IMPLIED
%dc.description.format.qname;       %ContentType.datatype;  #IMPLIED
%dc.description.language.qname;     %LanguageCode.datatype; #IMPLIED
%dc.description.publisher.qname;    CDATA                   #IMPLIED
%dc.description.relation.qname;     %URI.datatype;          #IMPLIED
%dc.description.rights.qname;       CDATA                   #IMPLIED
%dc.description.subject.qname;      CDATA                   #IMPLIED
%dc.description.title.qname;        CDATA                   #IMPLIED
>

<!ENTITY % HeadOpts.mix
         ( | %rdf.RDF.qname; )* >

<!-- End of XHTML Modularization RDF Simple DC Module 1.0 -->

[3] Example RDF (add to the <head> section):-

<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
     xmlns:dc="http://purl.org/dc/elements/1.1/" >
<rdf:description rdf:about="http://www.waptechinfo.com/"
     dc:title="WAP Tech Info"
     dc:description="A WAP technical resource,
                             containing links, news, tutorials, etc."
     dc:creator="Sean B. Palmer"
     dc:date="2000-11-06"
     dc:format="text/html" />
</rdf:RDF>

The full list of attributes that you can use is:
about (required), creator, date, description, format, language, publisher,
relation, rights, subject, title

Pretty snazzy, huh? Well, I hope it is of some use, at least.

Kindest Regards,
Sean B. Palmer
----------------------------------------------------
The Semantic Web: A Resource - http://xhtml.waptechinfo.com/swr/
WAP Tech Info - http://www.waptechinfo.com/
Mysterylights.com - http://www.mysterylights.com/
----------------------------------------------------
"The Internet; is that thing still around?" - Homer J. Simpson

Received on Wednesday, 8 November 2000 15:52:50 UTC