WebSGML DTD for MCF (corrected #1)

(Previous version had 'W3C instead of Netscape: oops) 

> MCF is Meta Content Framework, an application of XML proposed by
> Netscape.  The drafts have been heavily reworked based on early
> feedback, check the spec out at:
> 
>  http://www.textuality.com/mcf/NOTE-MCF-XML.html
 
It is funny (perverse?) to  see someone trying to define a structure
language without the help of a structure language, when one is
available.  But I guess it is a sign of draftiness rather than
daftness :-)  

Here is an stab at the MCF schema description language using WebSGML.
":" must be NMCHAR character.  

Try doing this without parameter entities


Rick Jelliffe



<!-- ==========================================  -->
<!--             Netscape Metadata Content Format (draft only)         
 
-->
<!--                  SCHEMA DEFINITION LANGUAGE                 -->
<!--            editors: R.V. Guha, Tim Bray                           
    -->
<!--         (prep: Rick Jelliffe  from draft W3C documentation)    
-->
<!-- ==========================================  -->

<!-- Example of  good  WebSGML headers for this DTD:
   
   <?XML version="1.0x" rmd="internal" ?>
   <!SGML public  "IDN//W3C.ORG//SD XML 1.0//EN">
   <!DOCTYPE #implied 
                public "IDN//Netscape.com//DTD MCF 1.0//EN"
        SEEALSO
                public "ISO 8879//NOTATION 
                                      Application Requirements for
XML//EN"
                public "IDN//Netscape.com//NOTATION 
                                      Application Requirements for
MCF//EN"
	         "-//www.textuality.com/mcf/NOTE-MCF-XML.html"  
         [ <!EOR> ]>
  
-->
<!-- Note: ISO 9070-ish naming convention for parameter entities: 
	organisation::language::name
-->

<!-- =========================================== -->
<!-- Entity declarations used in this DTD: they are like macros   -->
<!-- =========================================== -->

<!ENTITY % sun::java::primitive-data-types " " ><!-- err dunno -->

<!ENTITY % netscape::mcf::pimitive-data-types
	" date |  %java-primitive-data-types; ">

<!ENTITY % netscape::mcf::categories  
	" Content | CurrentContainer | Subject | WebSite 
	| Page | Agent | Organisation | Person
	| TableOfContents| NaturalLanguage | Schedule "> 

<!ENTITY % netscape::mcf::contents-stuff	
	" authorIndividual | authorOrganisation | author
	| editor	| publisher | contactAgent | copyright
	
	| size | loadsize
	
	| publicationDate| lastRevisionDate | expires
	| contentUpdataSchedule | versionNumber
	| contentDownloadSchedule
	| nextUpdateTme | nextDownloadTime

	| subject | language | toc
	| siteHomePage | helpPage
	| linksTo | includesContent 
	| contentMimeType | contentPartMimeTypes
	| superTopic | objectIcon

	| location | contentMirror | contentAvailabilityStatus

	| accessMode | contentRating | contentCost ">

<!ENTITY % netscape::mcf::agent-stuff
	" emailAddress | homePage | contactInformation ">

<!ENTITY % netscape::mcf::schedule-stuff
	" scheduleStartDate | scheduleEndDate
	| scheduleIntervalTime | scheduleEarliestTime ">

<!ENTITY % netscape::mcf::bookstrap-units
	" typeOf |  Category | Unit | name | parent 
	| domain | name | range | Sequence
	| superType | PropertyType | functionalPropertyType
	| superPropertyType | mutuallyDisjoint
	| inherits | ord | Property " > 

<!ENTITY % netscape::mcf::all-the-rest
	" %netscape::mcf::contents-stuff;  | %netscape::mcf::agent-stuff; 
	| %netscape::mcf::schedule-stuff;  |  %netscape::mcf::bootstrap-units;
"
	| %netscape::mcf::primitive-data-types; " >

<!-- =========================================== -->
<!-- Declarations for the elements and attributes defined by MCF -->
<!-- =========================================== -->

<!ELEMENT xml-mcf   ANY >

<!ELEMENT mcf-ref  EMPTY>
<!ATTLIST mcf-ref
	XML-LINK "SIMPLE"  #FIXED
	ROLE      "XML-MCF-BLOCK" #FIXED
	HREF       CDATA    #REQUIRED >

<!ELEMENT ( %netscape::mcf::categories; )  ANY >
<!ATTLIST ( %netscape::mcf::categories; )
	id             ID	#IMPLIED>

<!ELEMENT ( %netscape::mcf::all-the-rest; )  ANY > 
<!ATTLIST ( %netscape::mcf::all-the-rest
	unit          IDREF   #IMPLIED
	inverse     (true | false )  false>
	
<!-- additional attribute for element type "inherits" -->
<!ATTLIST  inherits
	propertytype CDATA #REQUIRED>
	
<!-- =================================== EOF ====== -->

Received on Monday, 23 June 1997 03:55:40 UTC