Re: RDF in XHTML

Jonathan Borden wrote:
> 
> Murray Altheim wrote:
> >
> > Theologically, it seems to me that few people in the W3C like the SGML
> > approach to dealing with non-XML content, which would be to use notations.
> > Their way would be using XML namespaces, which unfortunately don't provide
> > the features that XML notations do. You'd use XML Schema datatypes, which
> > is a might bit more complex.
> 
> XML namespaces and SGML notations are orthogonal. The web notion most akin
> to notations is MIME media types. XML namespaces are -only- applied to XML
> elements and attributes not binary content. Describing RDF as an XML Schema
> datatype is essentially what I've suggested.

Sorry I was unclear. Yes, XML Schema datatypes are what I am talking about
as well. I meant that datatypes are described by namespaces, as from the
datatypes spec:
>
> For example, to address the int datatype, the URI is: 
>
>       http://www.w3.org/2000/10/XMLSchema#int 

Each of these could be described by a notation. I'm in fact doing this
exact thing in a spec I'm working on to add datatypes to XTM.

> > The XML Schema approach is also markedly different, which is to
> > *validate*
> > the content.
> 
> ok, but suppose <!ELEMENT rdf:RDF ANY> modulo namespace prefix difficulties
> of DTDs. The XHTML document can validate and the RDF content can be
> constrained perhaps by an RDF Schema.

No, this is a common misunderstanding. "ANY" doesn't mean any content, it
means any configuration of already-declared elements, and not even mixed
content. You must *still* declare all element types and attributes, so 
this is *not* a go-ahead on well-formed content. Too bad there isn't such
a feature in XML (this would have been a good thing for the W3C). Anyway, 
we don't have that option. [See XML 1.0, bottom of Section 3.0]

> > XML 1.0 got halfway there in supporting SGML notations, in that one can
> > indicate the notation of element content, but one cannot do this for
> > attribute content. Given that most theologians believe that element and
> > attribute content are both "document content" this was an unfortunate
> > oversight that would have allowed DTDs to compete with XML Schemas on a
> > more level playing field. I'd like to see any update of XML include
> > notations on attributes, but I'm a bit cynical given the W3C's dislike
> > of DTDs.
> 
> Being an independent (and keeping this discussion entirely away from W3C
> issues) the thing that most definitively converted me from the DTD approach
> and toward the XML schema (small 's') approach is the comparison of XHTML as
> described by a DTD vs. TREX and RELAX (the RDDL spec contains all 3 schemata
> for RDDL).

Hmm. I find that curious. If I were to remove all the Murray-isms, that is,
all the "unnecessary" comments and conditional sections, you'd likely find
that XHTML modularization is about an order of magnitude less complex than
the XML Schema approach, and still more concise than any of the markup-
based approaches. My take on this is that the only way a non-DTD schema
designer is going to want to write complex schemas is with a tool, as there's
a lot more angle bracket stuff to type than in a DTD, which despite its non-XML
syntax isn't *really* all that complex.

> > In the DTD we'd have something akin to:
> >
> >    <!NOTATION dc PUBLIC
> >        "-//DCMI//NOTATION Dublin Core Metadata Element Set V1.0//EN""
> >        "http://dublincore.org/">
> >    <!NOTATION rdf SYSTEM "http://www.w3.org/1999/02/22-rdf-syntax-ns#">
> >    <!NOTATION blat PUBLIC "-//doctypes.org//NOTATION Blat 1.0//EN"
> >        "http://www.doctypes.org/blat/1.0/">
> >    ...
> >    <!ELEMENT  metadata  ( #PCDATA ) >  <!-- really, a CDATA section -->
> >    <!ATTLIST  metadata
> >        type  NOTATION  (dc|rdf|blat)
> >    >
> >    ]><!-- end of DTD -->
> >    ...
> >    <head>
> >    <metadata type="rdf">
> >    <![CDATA[
> >      {rdf content}
> >    ]]></metadata>
> >
> > The "(dc|rdf|blat)" list can't unfortunately be an open-ended list.
> 
> In a world that recognized PUBLIC IDs we might  be having a different
> discussion.

Not really. NOTATION declarations use XML production 75, ExternalId. This
is the same production as entity declarations, DOCTYPEs, etc.  It can use
a publicId and a systemId, or just a systemId. If in our design we used
only a systemId we'd have a very web-oriented system. The publicId is 
just there so that with a catalog, an implementor can get his entities to
resolve locally. No big deal. Don't let the PUBLIC identifier let you be
fooled; there's still a man behind the curtain.

Murray

...........................................................................
Murray Altheim                            <mailto:altheim&#x40;eng.sun.com>
XML Technology Center
Sun Microsystems, Inc., MS MPK17-102, 1601 Willow Rd., Menlo Park, CA 94025

      In the evening
      The rice leaves in the garden
      Rustle in the autumn wind
      That blows through my reed hut.  -- Minamoto no Tsunenobu

Received on Wednesday, 18 April 2001 04:45:09 UTC