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


Help: OASIS Mailing Lists Help | MarkMail Help



   DTD for OPML

[ Lists Home | Date Index | Thread Index ]
  • From: Wayne Steele <xmlmaster@hotmail.com>
  • To: xml-dev@lists.xml.org
  • Date: Mon, 18 Sep 2000 14:50:11 -0700 (PDT)

I made a DTD for OPML:

<!ENTITY % date-time	"(#PCDATA)*" >		<!-- conforming to the Date and Time 
Specification of RFC 822.-->
<!ENTITY % number	"(#PCDATA)*" >
<!ENTITY % string	"(#PCDATA)*" >

<!ELEMENT opml (head, body) >
<!ATTLIST opml
	version CDATA #IMPLIED>		<!-- a version string, of the form, x.y, where x 
and y are both numeric strings.-->

<!ELEMENT head ( title?, dateCreated?, dateModified?,
		ownerName?, ownerEmail?, expansionState?, vertScrollState?,
		windowTop?, windowLeft?, windowBottom?, windowRight?   	) >

<!ELEMENT title (#PCDATA)* >		<!--the title of the document.-->
<!ELEMENT dateCreated %date-time; >	<!--a date-time, indicating when the 
document was created.-->
<!ELEMENT dateModified %date-time;>	<!--a date-time, indicating when the 
document was last modified.-->
<!ELEMENT ownerName %date-time; >	<!--a string, the owner of the document. 
<!ELEMENT ownerEmail %date-time; >	<!--a string, the email address of the 
owner of the document.-->

<!ELEMENT expansionState (#PCDATA)* >
	a comma-separated list of line numbers that are expanded.
	The line numbers in the list tell you which headlines to expand.
	The order is important.
	For each element in the list, X, starting at the first summit, navigate 
flatdown X times and expand.
	Repeat for each element in the list.

<!ELEMENT vertScrollState %number; >
	a number, saying which line of the outline is displayed on the top line of 
the window.
	This number is calculated with the expansion state already applied.

<!ELEMENT windowTop  %number; >		<!-- a number, the pixel location of the 
top edge of the window.-->
<!ELEMENT windowLeft  %number; >	<!-- a number, the pixel location of the 
left edge of the window.-->
<!ELEMENT windowBottom  %number; >	<!-- a number, the pixel location of the 
bottom edge of the window.-->
<!ELEMENT windowRight  %number; >	<!-- a number, the pixel location of the 
right edge of the window.-->

<!ELEMENT body (outline)+ >
<!ELEMENT outline (outline)* >

<!ENTITY % OtherAttributes  " "       >
<!ATTLIST outline
	isComment	(true|false)	false
	isBreakpoint	(true|false)	false
	%OtherAttributes;				>
	text is the string of characters that's displayed when the outline is being 
browsed or edited.
	type is a string, it says how the other attributes of the <outline> are 
	isComment indicates whether the outline is commented or not.
	By convention if an outline is commented, all subordinate outlines are 
considered to be commented as well.
	isBreakpoint indicates whether a breakpoint is set on this outline.
	This attribute is mainly necessary for outlines used to edit scripts that 

	You can add whatever other attributes on the outline element you want.

-Wayne Steele

Get Your Private, Free E-mail from MSN Hotmail at http://www.hotmail.com.

Share information about yourself, create your own public profile at 


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

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