[XML-SIG] XBEL DTD

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


--cwfcFncvGF
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

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



--cwfcFncvGF
Content-Type: text/xml
Content-Description: YAX (Yet Another XBEL)
Content-Disposition: inline;
	filename="xbel.dtd"
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:

	http://www.python.org/topics/xml/dtds/xbel-1.0.dtd

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

	http://www.python.org/topics/xml/xbel/

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

	http://www.w3.org/TR/NOTE-datetime
  -->


<!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
	    %common.attrs;
>

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

<!ELEMENT info (metadata*)>
<!ATTLIST info
	    %common.attrs;
>

<!-- 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
	    %common.attrs;
	    scheme   CDATA	#IMPLIED
>
<!ELEMENT meta (#PCDATA)>
<!ATTLIST meta
	    %common.attrs;
	    name     CDATA	#REQUIRED
>

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

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

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

<!ELEMENT bookmark (title?, info?, desc?)>
<!ATTLIST bookmark
	    %common.attrs;
	    %node.attrs;
            %url.attrs;
>

<!ELEMENT desc       (#PCDATA)>
<!ATTLIST desc
	    %common.attrs;
>

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

<!ELEMENT separator EMPTY>
<!ATTLIST separator
	    %common.attrs;
>

<!--=================== 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.                                                         -->

<!ELEMENT alias EMPTY>
<!ATTLIST alias
	    %common.attrs;
            ref       IDREF	#REQUIRED
>

--cwfcFncvGF--