OASIS Mailing List ArchivesView the OASIS mailing list archive below
or browse/search using MarkMail.


Help: OASIS Mailing Lists Help | MarkMail Help



   Re: [xml-dev] XLink/XHTML consensus?

[ Lists Home | Date Index | Thread Index ]


"Wayne Steele" <xmlmaster@hotmail.com> wrote:

| Downsides to this system:
|    1. It uses DTDs
|    2. It uses Notations
|    3. It requires a non-xml syntax to be created (to represent link behavour 
| and semantics, with is then stuffed into a Notation's Public ID)

Demonizing DTDs is one thing, but to call declaration syntax "non-xml" is
nothing more than prejudice.  If it were true, the XML *spec* wouldn't
have bothered with specifying syntax for declarations.  I mean, really.

Notations are a poor cousin in XML because data attributes didn't make the
cut for XML 1.0.  Nobody in the XML world uses notations because (a) they
don't know what to do with them, and (b) not much can be done with them

| Inspiration for this suggestion was provided by the "Datatypes for DTDs" 
| note [http://www.w3.org/TR/dt4dtd].

| Notations and External Unparsed Entities provide a place to attach two 
| pieces of arbitrary semantics to an element, via an attribute declared of 

Related: http://lists.w3.org/Archives/Public/www-talk/2000JanFeb/0011.html

| <object href="http://example.org/1.gif"; />
| can have this in the DTD:
| <!NOTATION stdlink PUBLIC "xlink: show=new actuate=onLoad" >
| <!ENTITY std_href SYSTEM "@href" NDATA stdlink>
| <!ATTLIST object
|       LINKS ENTITIES "std_href"
|       ...

This will blow up on an SGML parser ("XML documents are SGML documents").

Unfortunately, XML (a) doesn't have the DATA declared value defined in the
WebSGML TC and (b) doesn't have data attributes (attributes on notations).
Otherwise, you could have something like this:

  <!NOTATION  Uri  
              PUBLIC "-//IETF/RFC 2396//NOTATION
              Uniform Resource Identifiers (URI):Generic Syntax"
  <!ATTLIST   #NOTATION   Uri  -- interpret URI as a typed locator -- 
              show    (replace|embed|new|etc)   "replace"
              actuate (onLoad|onRequest|etc)    "OnRequest"
              -- etc --

   <!ATTLIST  Object
              href    DATA  Uri    #REQUIRED
              foo     DATA  Uri [show="new"]  #IMPLIED
              bar     DATA  Uri [actuate="OnLoad"]  #IMPLIED
              --- etc --

(This isn't completely clean either, as it sort of implies that 'show',
'actuate' etc are explained in RFC 2396.  But it "works" if every URI in
the document has an interpretation in the same linking schema.)


News | XML in Industry | Calendar | XML Registry
Marketplace | Resources | MyXML.org | Sponsors | Privacy Statement

Copyright 2001 XML.org. This site is hosted by OASIS