Fred L. Drake Fred L. Drake, Jr." <fdrake@acm.org
Mon, 5 Oct 1998 12:46:56 -0400 (EDT)

Content-Type: text/plain; charset=us-ascii
Content-Description: message body text
Content-Transfer-Encoding: 7bit

  Ok, I forgot to attach the XBEL DTD after my response to Greg's
comments, so here it is.
  What's changed?  Only <bookmark> carries the "id" attribute, so only 
<bookmark> elements may be referred to by <alias> elements.  Comments
were added to help explain "scheme" and <alias>.  Reference to the ISO 
general entities has been removed.
  There are still outstanding issues related to the metadata stuff.
I'm waiting for commentary from Marc before I make changes there.


Fred L. Drake, Jr.	     <fdrake@acm.org>
Corporation for National Research Initiatives
1895 Preston White Dr.	    Reston, VA  20191

Content-Type: text/xml
Content-Description: YAX (Yet Another XBEL)
Content-Disposition: inline;
Content-Transfer-Encoding: 7bit

<!-- This is the XML Bookmarks Exchange Language, version 1.0.  It should
     be used with the formal public identifier:

	-//IDN python.org//DTD XML Bookmark Exchange Language 1.0//EN//XML

     One valid system identifier at which this DTD will remain
     available is:


     More information the on the DTD, including reference
     documentation, is available at:


    Attributes which take date/time values should encode the value
    according to the W3C NOTE on date/time formats:


<!ENTITY % common.attrs	"">
<!ENTITY % node.attrs	"added	  CDATA	#IMPLIED">
<!ENTITY % url.attrs	"id	  ID	#IMPLIED
			 href	  CDATA	#REQUIRED
                         visited  CDATA	#IMPLIED
                         modified CDATA	#IMPLIED">

<!ENTITY % nodes	"bookmark|folder|alias|separator">

<!ELEMENT xbel (title?, info?, desc?, (%nodes;)*)>
<!ATTLIST xbel
            version  CDATA	#FIXED "1.0"
<!ELEMENT title	     (#PCDATA)>
<!ATTLIST title

<!--=================== Info ======================================-->

<!ELEMENT info (metadata*)>
<!ATTLIST info

<!-- The "scheme" attribute should be a URI that points to some form -->
<!-- of specification.  The referenced spec. may be for either human -->
<!-- or machine consumption, based on the application requirements.  -->

<!ELEMENT metadata (meta*)>
<!ATTLIST metadata
	    scheme   CDATA	#IMPLIED
<!ATTLIST meta
	    name     CDATA	#REQUIRED

<!--=================== Folder ====================================-->

<!ELEMENT folder   (title?, info?, desc?,(%nodes;)*)>
<!ATTLIST folder
            folded   (yes|no)	'yes'   

<!--=================== Bookmark ==================================-->

<!ELEMENT bookmark (title?, info?, desc?)>
<!ATTLIST bookmark

<!ELEMENT desc       (#PCDATA)>
<!ATTLIST desc

<!--=================== Separator =================================-->

<!ELEMENT separator EMPTY>
<!ATTLIST separator

<!--=================== Alias =====================================-->

<!-- <alias> elements correspond to Netscape bookmark aliases.  The -->
<!-- required "ref" attribute must refer to a <bookmark> element.   -->
<!-- Note that Netscape aliases cannot refer to folders, so that is -->
<!-- not supported in XBEL, though it had been proposed at one      -->
<!-- point.                                                         -->

<!ATTLIST alias
            ref       IDREF	#REQUIRED