[XML-SIG] XBEL DTD

Marc van Grootel bwaumg@urc.tue.nl
Tue, 15 Sep 1998 17:10:13 +0200


Hi,

I was well on my way of suggesting some changes too. Some of them
are the same as suggested by Fred.

I'm working on yet of few other suggestions. Which i'll post about in
a later mail since they need some more explanation and I would like
your opinions.

In addition to the changes suggested by Fred i want to suggest the
following:

  - make the 'info' element contain zero or more 'meta' tags, this
    way we don't have to fight too much about how to name them
    and can add new ones without breaking the DTD

  - also allow 'info' in a bookmark so extra data can be associated
    with a single bookmark

  - drop the 'title' for bookmarks and put that into 'url' and
    put the href itself back into the 'url' as an 'href' attribute.

    So instead of:

      <title>My link</title>
      <url>http://foo</url>

    Write:

      <url href="http://foo">My link</url>

    In the HTML3.2 DTD there's the following quote:

    "The term URL means a CDATA attribute whose value is a Uniform
    Resource Locator, See RFC1808 (June 95) and RFC1738 (Dec 94)."
 
    Putting the href out into element content as #PCDATA seems to
    broad to me.

  - make the 'title' optional too

  - instead of a bookmark a bare 'url' element should be allowed
    too. This should be considered a bookmark without a description
    and/or info.

  - allowing bookmark,url,alias etc directly under xbel

The three last suggestions may seem to come from out of the blue but
they have to do with the use of XBEL as a meta-dtd (see next post) and
the ability to extract XBEL from almost arbitrary XML documents.

I'll post my current DTD next too. Then it's about time I think to
reach a consensus and freeze it so Fred can go on ;)

>   I started working on Grail support for XBEL last night, and would
> like to suggest a small change to the DTD.
>   There doesn't appear any reason to make the info element or its
> children required, so I suggest all three be made optional.

Yup, I did that too already.

> The
> machine name, in particular, does not appear to be very useful.  I can
> also envision shared-bookmarks applications where the owner may vary    
> from folder to folder, so I'd also allow info within each folder.

I'm not sure but maybe the reason Mark suggested it was so a processor
could make certain assumptions. Maybe platform is a better name
anyway.

I even thought about adding optional info to a single bookmark.

There's a problem lurking with shared-bookmarks though. Currently id
is declared as ID. This means a valid document must have unique
id's. Merging different bookmark files may break that constraint.

A possible solution would be to rename id's when merging bookmark
files. An easy way out would be to declare id as CDATA but that's
not a real solution.

> Allowing it in the folder makes the outermost info superfluous; an
> info within the outermost folder would work just fine.  (I'll leave
> the folder inside the xbel element, since there may be good reason for
> adding things outside the folder in some applications.)  I've attached
> the modified DTD below.

I would like to throw out owner and machine in favor of a generic htmlish
meta tag.

  <info>
    <meta name="owner" content="me">
  </info>

If owner and/or machine name are needed you could claim a standard
meta tag with owner, machine or whatever your application needs. This
way all info could be processed by the same code.

Another use for a meta tag is for adding keywords. When these are
preserved it's trivial to put a HTML version on the web and have it
handled properly by the search bots.

Bye

Marc
--
Marc van Grootel
bwaumg@urc.tue.nl