[
Lists Home |
Date Index |
Thread Index
]
----- Original Message -----
From: "Bullard, Claude L (Len)" <clbullar@ingr.com>
To: "'Elliotte Rusty Harold'" <elharo@metalab.unc.edu>
Cc: <xml-dev@lists.xml.org>
Sent: Wednesday, January 16, 2002 7:54 PM
Subject: [xml-dev] Negotiate Out The Noise: (Was RE: SV: SV: [xml-dev]
XML=WAP? And DOA?)
> 3. Ask the Web: use RDF or some other expert system
> what is needed. Isn't this sort of a dictionary? It
> works as long as you own or accept the ontology of
> others. This is Trust and Verify. Advantages?
>
> 4. Send the code. Java folks like that. This
> is the ultimate, Trust Me, I Own The Process
> approach. Augmented with a way to export the
> information on request, it is easy for end users
> despite any problems of performance, proprietary
> languages, etc.
>
> Others?
Well, in fact it is a mix between 3 and 4, but some RDF for a document or
schema could point to some code resource (e.g. a Java Class) that would
implement a known interface depending on the relation type. Or it could even
point you to an interface. Here are some examples of how it could work,
obviously Java oriented, because I'm one of those Java folks :).
Example 1 :
- how do I parse this resource to a DOM ?
- well as it is XML 1.0, you can simply use an implementation of
javax.xml.DocumentBuilder
- ah ok I've got one here, thanks
theResource ---parseableToDOM---> anyClass (anonymous
resource) ---implements---> javax.xml.DocumentBuilder
<rdf:RDF>
<rdf:Description about="http://www.foo.com/sample.xml">
<mime:type>text/xml</mime:type>
<java:parseableToDOM>
<java:class>
<java:implements>javax.xml.DocumentBuilder</java:implements>
</java:class>
</java:parseableToDOM>
</rdf:Description>
</rdf:RFD>
Example 2 :
- how do I parse this other resource to a DOM ?
- well it's a kind of weird binary encoding that I'd rather not explain to
you for fear that you run away, but you can just use the Java class that you
can download there. It does implement javax.xml.DocumentBuilder, so you know
how to use it, don't you ?
- ok thanks... Got it ! Parsed ! Nice !
<rdf:RDF>
<rdf:Description about="http://www.foo.com/sample.xml">
<mime:type>application/vnd.weird.binary.encoding</mime:type>
<java:parseableToDOM>
<java:class
rdf:resource="http://www.foo.com/codebase/com/foo/WeirdBinaryFormatDecoder.c
lass">
<java:classname>com.foo.WeirdBinaryFormatDecoder</java:classname>
<java:implements>javax.xml.DocumentBuilder</java:implements>
</java:class>
</java:parseableToDOM>
</rdf:Description>
</rdf:RFD>
Example 3 :
- now, how can I validate this document ?
- well we've got a schema here, which is not especially following a
standard. Errr in fact it's a homegrown schema language, so you may not know
it or like it. But you can really use it to validate the document by
downloading and running this class here, that implements the well known (but
fictious for now) javax.xml.schema.Validator interface.
(RDF file left as an exercise to the reader)
The last example seems science-fictionesque, but with a framework such as
the Sun Multi Schema Validator, which defines an abstract grammar for XML
schemas, it is possible to imagine that many different schema languages of
the same class (including DTDs, XML Schema, TRAX, RELAX, etc. but excluding
Schematron) can be used programmatically in the same way. So you could
invent any kind of strange schema language, provided that you distributed
the appropriate Sun MSV com.sun.msv.reader.GrammarReader implementation
after a negotiation phase like the one described
above.
Regards,
Nicolas
|