diff options
author | Ben Longbons <b.r.longbons@gmail.com> | 2014-07-20 20:59:18 -0700 |
---|---|---|
committer | Ben Longbons <b.r.longbons@gmail.com> | 2014-07-20 20:59:18 -0700 |
commit | 4e9e719d1eb5564e3594099a456da19bfb7a9c02 (patch) | |
tree | 830863850ef383aa4543c50c3c71d20191825c91 /client/dl/xmlspec-its.xsd | |
parent | d8f85017074530278ea87fe76dce023406147539 (diff) | |
download | tools-4e9e719d1eb5564e3594099a456da19bfb7a9c02.tar.gz tools-4e9e719d1eb5564e3594099a456da19bfb7a9c02.tar.bz2 tools-4e9e719d1eb5564e3594099a456da19bfb7a9c02.tar.xz tools-4e9e719d1eb5564e3594099a456da19bfb7a9c02.zip |
Add guesswork XSD for xml files
Diffstat (limited to 'client/dl/xmlspec-its.xsd')
-rw-r--r-- | client/dl/xmlspec-its.xsd | 2772 |
1 files changed, 2772 insertions, 0 deletions
diff --git a/client/dl/xmlspec-its.xsd b/client/dl/xmlspec-its.xsd new file mode 100644 index 0000000..6789551 --- /dev/null +++ b/client/dl/xmlspec-its.xsd @@ -0,0 +1,2772 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- ............................................................... --> +<!-- XML specification DTD ......................................... --> +<!-- ............................................................... --> +<!-- $Id: xmlspec-its.xsd,v 1.1 2008/02/10 07:44:48 fsasaki Exp $ --> +<!-- + TYPICAL INVOCATION: + # <!DOCTYPE spec PUBLIC + # "-//W3C//DTD Specification V2.10//EN" + # "http://www.w3.org/2002/xmlspec/dtd/2.10/xmlspec.dtd"> + + PURPOSE: + This XML DTD is for W3C specifications and other technical reports. + It is based in part on the TEI Lite and Sweb DTDs. + + COPYRIGHT: + + Copyright (C) 2000, 2001, 2002, 2003 Sun Microsystems, Inc. All Rights Reserved. + This document is governed by the W3C Software License[3] as + described in the FAQ[4]. + + [1] http://www.w3.org/TR/xslt + [2] http://www.w3.org/XML/1998/06/xmlspec-report-v21.htm + [3] http://www.w3.org/Consortium/Legal/copyright-software-19980720 + [4] http://www.w3.org/Consortium/Legal/IPR-FAQ-20000620.html#DTD + + DEPENDENCIES: + None. + + CHANGE HISTORY: + The list of historical changes is at the end of the DTD. For recent changes, + see the CVS log. + + For all details, see the design report at: + + <http://www.w3.org/XML/1998/06/xmlspec-report-v21.htm> + + This report is now out-of-date, but no more recent report has been prepared. + + #2003-06-25: nwalsh: Added translationloc, preverrataloc, rfc2119 + + #2003-05-28: nwalsh: Added errataloc, fixed IE bug. Added @num to prod. + + Published V2.4 + + #2003-03-12: nwalsh: Added local.* PEs to a number of additional + places to make customization layers easier. + + Published V2.3 + + #2002-09-04: nwalsh: Added 'phrase' to title, subtitle, version, + w3c-designation, w3c-doctype, day, month, year, name, + affiliation, email, language, role, lhs, rhs, com, + typename, date, loc, nt, sub, sup, term, termref, + titleref, xnt, xspecref, xtermref + + This is *solely* to support automated diffing. Users + are explicitly forbidden from using this as an escape + hatch to get extra markup in these contexts. + + #2001-10-08: nwalsh: Added local.arg.att and local.proto.att + + #2002-08-14: nwalsh: Published V2.2 + + Added marked sections around element and attlist declarations and + added the altlocs element + + MAINTAINERS: + Norman Walsh + Sun Microsystems, Inc. + Norman.Walsh@Sun.COM + voice: +1 413 256 6985 + fax: +1 413 256 6985 + + Eve Maler + Sun Microsystems, Inc. + elm@east.sun.com + voice: +1 781 442 3190 + fax: +1 781 442 1437 +--> +<!-- ............................................................... --> +<!-- Entities for characters and symbols ........................... --> +<!-- ............................................................... --> +<!-- + #1998-03-10: maler: Added “ and ”. + # Used 8879:1986-compatible decimal character + # references. + # Merged charent.mod file back into main file. + #1998-05-14: maler: Fixed ldquo and rdquo. Gave mdash a real number. + #1998-12-03: maler: Escaped the leading ampersands. +--> +<!-- ............................................................... --> +<!-- Entities for classes of standalone elements ................... --> +<!-- ............................................................... --> +<!-- + #1997-10-16: maler: Added table to %illus.class;. + #1997-11-28: maler: Added htable to %illus.class;. + #1997-12-29: maler: IGNOREd table. + #1998-03-10: maler: Removed SGML Open-specific %illus.class;. + # Added "local" entities for customization. + #1998-05-14: maler: Added issue to %note.class;. + # Removed %[local.]statusp.class;. + #1998-05-21: maler: Added constraintnote to %note.class;. + #1998-08-22: maler: Changed htable to table in %illus.class;. + # Added definitions to %illus.class;. + #2000-03-07: maler: Added proto and example to %illus.class;. +--> +<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" xmlns:xlink="http://www.w3.org/1999/xlink" + xmlns:its="http://www.w3.org/2005/11/its"> + <xs:import namespace="http://www.w3.org/1999/xlink" schemaLocation="xlink.xsd"/> + <xs:import namespace="http://www.w3.org/XML/1998/namespace" schemaLocation="xml.xsd"/> + <xs:import namespace="http://www.w3.org/2005/11/its" schemaLocation="its.xsd"/> + <xs:group name="p.class"> + <xs:sequence> + <xs:element ref="p"/> + </xs:sequence> + </xs:group> + <xs:element name="list.class" abstract="true"/> + <xs:element name="speclist.class" abstract="true"/> + <xs:element name="note.class" abstract="true"/> + <xs:element name="illus.class" abstract="true"/> + <!-- ............................................................... --> + <!-- Entities for classes of phrase-level elements ................. --> + <!-- ............................................................... --> + <!-- + #1997-12-29: maler: Added xspecref to %ref.class;. + #1998-03-10: maler: Added %ednote.class;. + # Added "local" entities for customization. + #2000-03-07: maler: Added function, var, el, att, and attval to + # %tech.class;. + # Added sub, sup, and phrase to %emph.class;. + --> + <xs:element name="annot.class" abstract="true"> + <xs:complexType> + <xs:group maxOccurs="unbounded" ref="obj.mix"/> + <xs:attributeGroup ref="common.att"/> + </xs:complexType> + </xs:element> + <xs:element name="termdef.class" abstract="true"/> + <xs:element name="emph.class" abstract="true"/> + <xs:element name="ref.class" abstract="true"/> + <xs:element name="loc.class" abstract="true"> + <xs:complexType mixed="true"> + <xs:sequence> + <xs:element minOccurs="0" maxOccurs="unbounded" ref="phrase"/> + </xs:sequence> + <xs:attributeGroup ref="common.att"/> + <xs:attributeGroup ref="simple-xlink.att"/> + <xs:attributeGroup ref="href-req.att"/> + <xs:attributeGroup ref="user-replace.att"/> + </xs:complexType> + </xs:element> + <xs:element name="tech.class" abstract="true"/> + <xs:element name="ednote.class" abstract="true"> + <xs:complexType> + <xs:sequence> + <xs:element minOccurs="0" ref="name"/> + <xs:element minOccurs="0" ref="date"/> + <xs:element ref="edtext"/> + </xs:sequence> + <xs:attributeGroup ref="common.att"/> + </xs:complexType> + </xs:element> + <!-- ............................................................... --> + <!-- Entities for mixtures of standalone elements .................. --> + <!-- ............................................................... --> + <!-- + #1997-09-30: maler: Created %p.mix; to eliminate p from self. + #1997-09-30: maler: Added %speclist.class; to %obj.mix; and %p.mix;. + #1997-09-30: maler: Added %note.class; to %obj.mix; and %p.mix;. + #1997-10-16: maler: Created %entry.mix;. Note that some elements + # left out here are still allowed in termdef, + # which entry can contain through %p.pcd.mix;. + #1997-11-28: maler: Added %p.class; to %statusobj.mix;. + #1998-03-10: maler: Added %ednote.class; to all mixtures, except + # %p.mix; and %statusobj.mix;, because paragraphs + # and status paragraphs will contain ednote + # through %p.pcd.mix;. + #1998-03-23: maler: Added %termdef.mix; (broken out from + # %termdef.pcd.mix;). + #1998-05-14: maler: Removed %statusobj.mix; and all mentions of + # %statusp.mix;. + --> + <!-- compensate for IE bug; suggested by ht --> + <xs:group name="div.mix"> + <xs:choice> + <xs:group ref="p.class"/> + <xs:element ref="list.class"/> + <xs:element ref="speclist.class"/> + <xs:element ref="note.class"/> + <xs:element ref="illus.class"/> + <xs:element ref="ednote.class"/> + </xs:choice> + </xs:group> + <!-- compensate for IE bug; suggested by ht --> + <xs:group name="obj.mix"> + <xs:choice> + <xs:group ref="p.class"/> + <xs:element ref="list.class"/> + <xs:element ref="speclist.class"/> + <xs:element ref="note.class"/> + <xs:element ref="illus.class"/> + <xs:element ref="ednote.class"/> + </xs:choice> + </xs:group> + <!-- compensate for IE bug; suggested by ht --> + <xs:group name="p.mix"> + <xs:choice> + <xs:element ref="list.class"/> + <xs:element ref="speclist.class"/> + <xs:element ref="note.class"/> + <xs:element ref="illus.class"/> + </xs:choice> + </xs:group> + <!-- compensate for IE bug; suggested by ht --> + <!-- compensate for IE bug; suggested by ht --> + <xs:group name="hdr.mix"> + <xs:choice> + <xs:group ref="p.class"/> + <xs:element ref="list.class"/> + <xs:element ref="ednote.class"/> + </xs:choice> + </xs:group> + <!-- compensate for IE bug; suggested by ht --> + <xs:group name="termdef.mix"> + <xs:choice> + <xs:element ref="note.class"/> + <xs:element ref="illus.class"/> + </xs:choice> + </xs:group> + <!-- ............................................................... --> + <!-- Entities for mixtures of #PCDATA and phrase-level elements .... --> + <!-- ............................................................... --> + <!-- + Note that %termdef.pcd.mix contains %note.class; + and %illus.class;, considered standalone elements. + --> + <!-- + #1997-09-30: maler: Added scrap and %note.class; to %termdef.pcd.mix;. + #1997-11-28: maler: Added %loc.class; to %p.pcd.mix;. + #1998-03-10: maler: Added %ednote.class; to all mixtures. + #1998-03-23: maler: Moved some %termdef.pcd.mix; stuff out to + # %termdef.mix;. + #1998-05-14: maler: Removed %statusp.pcd.mix;. + #1998-05-21: maler: Added constraint element to %eg.pcd.mix;. + #1999-07-02: maler: Added %loc.class; to %head.pcd.mix;, + # %label.pcd.mix;, %eg.pcd.mix;, %termdef.pcd.mix;, + # %tech.pcd.mix; (net: all PCD mixes have it). + # Removed unused %loc.pcd.mix;. + --> + <!-- compensate for IE bug; suggested by ht --> + <xs:group name="p.pcd.mix"> + <xs:sequence> + <xs:choice minOccurs="0"> + <xs:element ref="annot.class"/> + <xs:element ref="termdef.class"/> + <xs:element ref="emph.class"/> + <xs:element ref="ref.class"/> + <xs:element ref="tech.class"/> + <xs:element ref="loc.class"/> + <xs:element ref="ednote.class"/> + <xs:element ref="its:span"/> + <xs:element ref="its:ruby"/> + </xs:choice> + </xs:sequence> + </xs:group> + <!-- compensate for IE bug; suggested by ht --> + <xs:group name="head.pcd.mix"> + <xs:sequence> + <xs:choice minOccurs="0"> + <xs:element ref="annot.class"/> + <xs:element ref="emph.class"/> + <xs:element ref="tech.class"/> + <xs:element ref="loc.class"/> + <xs:element ref="ednote.class"/> + </xs:choice> + </xs:sequence> + </xs:group> + <!-- compensate for IE bug; suggested by ht --> + <xs:group name="label.pcd.mix"> + <xs:sequence> + <xs:choice minOccurs="0"> + <xs:element ref="annot.class"/> + <xs:element ref="termdef.class"/> + <xs:element ref="emph.class"/> + <xs:element ref="tech.class"/> + <xs:element ref="loc.class"/> + <xs:element ref="ednote.class"/> + </xs:choice> + </xs:sequence> + </xs:group> + <!-- compensate for IE bug; suggested by ht --> + <xs:group name="eg.pcd.mix"> + <xs:sequence> + <xs:choice minOccurs="0"> + <xs:element ref="annot.class"/> + <xs:element ref="emph.class"/> + <xs:element ref="loc.class"/> + <xs:element ref="ednote.class"/> + <xs:element ref="constraint"/> + </xs:choice> + </xs:sequence> + </xs:group> + <!-- compensate for IE bug; suggested by ht --> + <xs:group name="termdef.pcd.mix"> + <xs:sequence> + <xs:choice minOccurs="0"> + <xs:element ref="term"/> + <xs:element ref="emph.class"/> + <xs:element ref="ref.class"/> + <xs:element ref="tech.class"/> + <xs:element ref="loc.class"/> + <xs:element ref="ednote.class"/> + </xs:choice> + </xs:sequence> + </xs:group> + <!-- compensate for IE bug; suggested by ht --> + <xs:group name="bibl.pcd.mix"> + <xs:sequence> + <xs:choice minOccurs="0"> + <xs:element ref="emph.class"/> + <xs:element ref="ref.class"/> + <xs:element ref="loc.class"/> + <xs:element ref="ednote.class"/> + </xs:choice> + </xs:sequence> + </xs:group> + <!-- compensate for IE bug; suggested by ht --> + <xs:group name="tech.pcd.mix"> + <xs:sequence> + <xs:choice minOccurs="0"> + <xs:element ref="loc.class"/> + <xs:element ref="ednote.class"/> + <xs:element ref="phrase"/> + <xs:element ref="rfc2119"/> + </xs:choice> + </xs:sequence> + </xs:group> + <!-- ............................................................... --> + <!-- Entities for customizable content models ...................... --> + <!-- ............................................................... --> + <!-- + #1998-03-10: maler: Added customization entities. + #1998-05-14: maler: Allowed prevlocs and latestloc in either order. + #1999-07-02: maler: Made version optional; added copyright element. + #2000-03-07: maler: Allowed status and abstract in opposite order. + --> + <xs:complexType name="spec.mdl"> + <xs:sequence> + <xs:element ref="header"/> + <xs:element minOccurs="0" ref="front"/> + <xs:element ref="body"/> + <xs:element minOccurs="0" ref="back"/> + </xs:sequence> + </xs:complexType> + <xs:complexType name="header.mdl"> + <xs:sequence> + <xs:element ref="title"/> + <xs:element minOccurs="0" ref="subtitle"/> + <xs:element minOccurs="0" ref="version"/> + <xs:element ref="w3c-designation"/> + <xs:element ref="w3c-doctype"/> + <xs:element ref="pubdate"/> + <xs:element minOccurs="0" maxOccurs="unbounded" ref="notice"/> + <xs:element ref="publoc"/> + <xs:element minOccurs="0" ref="altlocs"/> + <xs:choice minOccurs="0"> + <xs:sequence> + <xs:element ref="prevlocs"/> + <xs:element minOccurs="0" ref="latestloc"/> + </xs:sequence> + <xs:sequence> + <xs:element ref="latestloc"/> + <xs:element minOccurs="0" ref="prevlocs"/> + </xs:sequence> + </xs:choice> + <xs:element ref="authlist"/> + <xs:element minOccurs="0" ref="errataloc"/> + <xs:element minOccurs="0" ref="preverrataloc"/> + <xs:element minOccurs="0" ref="translationloc"/> + <xs:element minOccurs="0" ref="copyright"/> + <xs:choice> + <xs:sequence> + <xs:element ref="status"/> + <xs:element ref="abstract"/> + </xs:sequence> + <xs:sequence> + <xs:element ref="abstract"/> + <xs:element ref="status"/> + </xs:sequence> + </xs:choice> + <xs:element minOccurs="0" ref="pubstmt"/> + <xs:element minOccurs="0" ref="sourcedesc"/> + <xs:element ref="langusage"/> + <xs:element ref="revisiondesc"/> + <xs:element ref="its:rules" maxOccurs="1" minOccurs="0"/> + </xs:sequence> + </xs:complexType> + <xs:complexType name="pubdate.mdl"> + <xs:sequence> + <xs:element minOccurs="0" ref="day"/> + <xs:element ref="month"/> + <xs:element ref="year"/> + </xs:sequence> + </xs:complexType> + <!-- ............................................................... --> + <!-- Entities for common attributes ................................ --> + <!-- ............................................................... --> + <!-- #2000-03-07: maler: Added %argtypes;. --> + <!-- + argtypes: + Values for function prototype argument datatypes. + --> + <xs:simpleType name="argtypes"> + <xs:restriction base="xs:token"> + <xs:enumeration value="boolean"/> + <xs:enumeration value="expression"/> + <xs:enumeration value="location-set"/> + <xs:enumeration value="node-set"/> + <xs:enumeration value="number"/> + <xs:enumeration value="object"/> + <xs:enumeration value="point"/> + <xs:enumeration value="range"/> + <xs:enumeration value="string"/> + </xs:restriction> + </xs:simpleType> + <!-- + key attribute: + Optionally provides a sorting or indexing key, for cases when + the element content is inappropriate for this purpose. + --> + <xs:attributeGroup name="key.att"> + <xs:attribute name="key"/> + </xs:attributeGroup> + <!-- + def attribute: + Points to the element where the relevant definition can be + found, using the IDREF mechanism. %def.att; is for optional + def attributes, and %def-req.att; is for required def + attributes. + --> + <xs:attributeGroup name="def-req.att"> + <xs:attribute name="def" use="required" type="xs:IDREF"/> + </xs:attributeGroup> + <!-- + ref attribute: + Points to the element where more information can be found, + using the IDREF mechanism. %ref.att; is for optional + ref attributes, and %ref-req.att; is for required ref + attributes. + --> + <xs:attributeGroup name="ref-req.att"> + <xs:attribute name="ref" use="required" type="xs:IDREF"/> + </xs:attributeGroup> + <!-- + #1998-03-23: maler: Added show and actuate attributes to href. + # Added semi-common xml:space attribute. + #1998-08-22: maler: Used new xlink:form and #IMPLIED features. + #1999-07-02: maler: Reorganized XLink-related entities completely; + # added xmlns:xlink attribute to the mix. + #2000-03-07: maler: Updated XLink usage to February 2000 draft, + # except that href still has no namespace prefix. + --> + <!-- + xmlns:xlink and xlink:type attributes: + xmlns:xlink declares the association of the xlink prefix + with the namespace created by the XLink specification. + xlink:type identifies an element as an XLink "simple" linking + element. + --> + <xs:attributeGroup name="simple-xlink.att"> + <xs:attribute ref="xlink:type" default="simple"/> + </xs:attributeGroup> + <!-- + href attributes: + The href attribute locates the remote-resource half of a + simple link; the element on which the href appears is the + local-resource half. Some elements are usable links only if + the author chooses to supply a functional href. The attribute + name should really be xlink:href, but is kept without the + prefix for now in order to be backwards-compatible. + --> + <xs:attributeGroup name="href.att"> + <xs:attribute name="href"/> + </xs:attributeGroup> + <xs:attributeGroup name="href-req.att"> + <xs:attribute name="href" use="required"/> + </xs:attributeGroup> + <!-- + xlink:show and xlink:actuate attributes: + These attributes offer instructions to the display engine + about how to handle traversal to resource indicated by an + href locator. + --> + <xs:attributeGroup name="auto-embed.att"> + <xs:attributeGroup ref="xlink:show"/> + <xs:attributeGroup ref="xlink:actuate"/> + </xs:attributeGroup> + <xs:attributeGroup name="user-replace.att"> + <xs:attributeGroup ref="xlink:show1"/> + <xs:attributeGroup ref="xlink:actuate1"/> + </xs:attributeGroup> + <xs:attributeGroup name="user-new.att"> + <xs:attributeGroup ref="xlink:show2"/> + <xs:attributeGroup ref="xlink:actuate1"/> + </xs:attributeGroup> + <!-- + xml:space attribute: + Indicates that the element contains whitespace that the + formatter or other application should retain, as appropriate + to its function. + --> + <xs:attributeGroup name="xmlspace.att"> + <xs:attribute ref="xml:space" default="preserve"/> + </xs:attributeGroup> + <!-- #2000-03-07: maler: Added common diff attribute. Made %role.att;. --> + <!-- + diff attribute: + Indicates in what way the element has changed. When a value + is not provided, that subelement should inherit a value from + its parent. If the root element has no value supplied, + assume "off". + --> + <xs:attributeGroup name="diff.att"> + <xs:attribute name="diff"> + <xs:simpleType> + <xs:restriction base="xs:token"> + <xs:enumeration value="chg"/> + <xs:enumeration value="add"/> + <xs:enumeration value="del"/> + <xs:enumeration value="off"/> + </xs:restriction> + </xs:simpleType> + </xs:attribute> + </xs:attributeGroup> + <!-- + role attribute: + Extends the useful life of the DTD by allowing authors to + make a subtype of any element. No default. + --> + <xs:attributeGroup name="role.att"> + <xs:attribute name="role" type="xs:NMTOKEN"/> + </xs:attributeGroup> + <!-- + Common attributes: + Every element has an ID attribute for links, a role + attribute, and a diff attribute. %common.att; is for + common attributes where the ID is optional, and + %common-idreq.att; is for common attributes where the + ID is required. + --> + <xs:attributeGroup name="common.att"> + <xs:attribute name="id" type="xs:ID"/> + <xs:attributeGroup ref="role.att"/> + <xs:attributeGroup ref="diff.att"/> + <xs:attributeGroup ref="its:its-att.local.with-ns.attributes"/> + </xs:attributeGroup> + <xs:attributeGroup name="common-idreq.att"> + <xs:attribute name="id" use="required" type="xs:ID"/> + <xs:attributeGroup ref="role.att"/> + <xs:attributeGroup ref="diff.att"/> + </xs:attributeGroup> + <!-- ............................................................... --> + <!-- Common elements ............................................... --> + <!-- ............................................................... --> + <!-- head: Title on divisions, productions, and the like --> + <xs:element name="head"> + <xs:complexType mixed="true"> + <xs:group minOccurs="0" maxOccurs="unbounded" ref="head.pcd.mix"/> + <xs:attributeGroup ref="common.att"/> + </xs:complexType> + </xs:element> + <!-- ............................................................... --> + <!-- Major specification structure ................................. --> + <!-- ............................................................... --> + <!-- + #1998-03-10: maler: Made spec content model easily customizable. + #1999-07-02: maler: Added doctype atts and status att. + #2000-03-07: maler: Added cr, issues, and dispcmts to w3c-doctype. + --> + <xs:element name="spec"> + <xs:complexType> + <xs:complexContent> + <xs:extension base="spec.mdl"> + <xs:attributeGroup ref="common.att"/> + <xs:attribute name="w3c-doctype"> + <xs:simpleType> + <xs:restriction base="xs:token"> + <xs:enumeration value="cr"/> + <xs:enumeration value="dispcmts"/> + <xs:enumeration value="issues"/> + <xs:enumeration value="wgnote"/> + <xs:enumeration value="memsub"/> + <xs:enumeration value="teamsub"/> + <xs:enumeration value="note"/> + <xs:enumeration value="other"/> + <xs:enumeration value="pr"/> + <xs:enumeration value="per"/> + <xs:enumeration value="rec"/> + <xs:enumeration value="wd"/> + <xs:enumeration value="review"/> + </xs:restriction> + </xs:simpleType> + </xs:attribute> + <xs:attribute name="other-doctype"/> + <xs:attribute name="status"> + <xs:simpleType> + <xs:restriction base="xs:token"> + <xs:enumeration value="int-review"/> + <xs:enumeration value="ext-review"/> + <xs:enumeration value="final"/> + </xs:restriction> + </xs:simpleType> + </xs:attribute> + </xs:extension> + </xs:complexContent> + </xs:complexType> + </xs:element> + <!-- + w3c-doctype attributes: + Indicates the type of document, so that the appropriate + stylesheet or workflow routing can be applied. Should + *not* generate any text (such as the "REC-" or "NOTE-" + prefix on the W3C designation content). No default. If + w3c-doctype is "other", other-doctype should be filled in. + + status attribute: + Indicates the stage of review of the document. May affect + the stylesheet's treatment of ednotes (e.g., whether to + output them). No default. + --> + <xs:element name="front"> + <xs:complexType> + <xs:sequence> + <xs:element maxOccurs="unbounded" ref="div1"/> + </xs:sequence> + <xs:attributeGroup ref="common.att"/> + </xs:complexType> + </xs:element> + <xs:element name="body"> + <xs:complexType> + <xs:sequence> + <xs:element maxOccurs="unbounded" ref="div1"/> + </xs:sequence> + <xs:attributeGroup ref="common.att"/> + </xs:complexType> + </xs:element> + <!-- #1997-09-30: maler: Added inform-div1 to back content. --> + <xs:element name="back"> + <xs:complexType> + <xs:choice> + <xs:sequence> + <xs:element maxOccurs="unbounded" ref="div1"/> + <xs:element minOccurs="0" maxOccurs="unbounded" ref="inform-div1"/> + </xs:sequence> + <xs:element maxOccurs="unbounded" ref="inform-div1"/> + </xs:choice> + <xs:attributeGroup ref="common.att"/> + </xs:complexType> + </xs:element> + <xs:element name="div1"> + <xs:complexType> + <xs:sequence> + <xs:element ref="head"/> + <xs:group minOccurs="0" maxOccurs="unbounded" ref="div.mix"/> + <xs:element minOccurs="0" maxOccurs="unbounded" ref="div2"/> + </xs:sequence> + <xs:attributeGroup ref="common.att"/> + </xs:complexType> + </xs:element> + <!-- + #1997-09-30: maler: Added inform-div1 declarations. + #2000-03-07: maler: Added div5 level. + --> + <!-- inform-div1: Non-normative division in back matter --> + <xs:element name="inform-div1"> + <xs:complexType> + <xs:sequence> + <xs:element ref="head"/> + <xs:group minOccurs="0" maxOccurs="unbounded" ref="div.mix"/> + <xs:element minOccurs="0" maxOccurs="unbounded" ref="div2"/> + </xs:sequence> + <xs:attributeGroup ref="common.att"/> + </xs:complexType> + </xs:element> + <xs:element name="div2"> + <xs:complexType> + <xs:sequence> + <xs:element ref="head"/> + <xs:group minOccurs="0" maxOccurs="unbounded" ref="div.mix"/> + <xs:element minOccurs="0" maxOccurs="unbounded" ref="div3"/> + </xs:sequence> + <xs:attributeGroup ref="common.att"/> + </xs:complexType> + </xs:element> + <xs:element name="div3"> + <xs:complexType> + <xs:sequence> + <xs:element ref="head"/> + <xs:group minOccurs="0" maxOccurs="unbounded" ref="div.mix"/> + <xs:element minOccurs="0" maxOccurs="unbounded" ref="div4"/> + </xs:sequence> + <xs:attributeGroup ref="common.att"/> + </xs:complexType> + </xs:element> + <xs:element name="div4"> + <xs:complexType> + <xs:sequence> + <xs:element ref="head"/> + <xs:group minOccurs="0" maxOccurs="unbounded" ref="div.mix"/> + <xs:element minOccurs="0" maxOccurs="unbounded" ref="div5"/> + </xs:sequence> + <xs:attributeGroup ref="common.att"/> + </xs:complexType> + </xs:element> + <xs:element name="div5"> + <xs:complexType> + <xs:sequence> + <xs:element ref="head"/> + <xs:group minOccurs="0" maxOccurs="unbounded" ref="div.mix"/> + </xs:sequence> + <xs:attributeGroup ref="common.att"/> + </xs:complexType> + </xs:element> + <!-- ............................................................... --> + <!-- Specification header .......................................... --> + <!-- ............................................................... --> + <!-- #1998-03-10: maler: Made header content model easily customizable. --> + <xs:element name="header"> + <xs:complexType> + <xs:complexContent> + <xs:extension base="header.mdl"> + <xs:attributeGroup ref="common.att"/> + </xs:extension> + </xs:complexContent> + </xs:complexType> + </xs:element> + <!-- Example of title: "Extensible Cheese Language (XCL)" --> + <xs:element name="title"> + <xs:complexType mixed="true"> + <xs:sequence> + <xs:element minOccurs="0" maxOccurs="unbounded" ref="phrase"/> + </xs:sequence> + <xs:attributeGroup ref="common.att"/> + </xs:complexType> + </xs:element> + <!-- Example of subtitle: "A Cheesy Specification" --> + <xs:element name="subtitle"> + <xs:complexType mixed="true"> + <xs:sequence> + <xs:element minOccurs="0" maxOccurs="unbounded" ref="phrase"/> + </xs:sequence> + <xs:attributeGroup ref="common.att"/> + </xs:complexType> + </xs:element> + <!-- Example of version: "Version 666.0" --> + <xs:element name="version"> + <xs:complexType mixed="true"> + <xs:sequence> + <xs:element minOccurs="0" maxOccurs="unbounded" ref="phrase"/> + </xs:sequence> + <xs:attributeGroup ref="common.att"/> + </xs:complexType> + </xs:element> + <!-- Example of w3c-designation: "WD-xcl-19991231" --> + <xs:element name="w3c-designation"> + <xs:complexType mixed="true"> + <xs:sequence> + <xs:element minOccurs="0" maxOccurs="unbounded" ref="phrase"/> + </xs:sequence> + <xs:attributeGroup ref="common.att"/> + </xs:complexType> + </xs:element> + <!-- Example of w3c-doctype: "W3C Working Draft" --> + <xs:element name="w3c-doctype"> + <xs:complexType mixed="true"> + <xs:sequence> + <xs:element minOccurs="0" maxOccurs="unbounded" ref="phrase"/> + </xs:sequence> + <xs:attributeGroup ref="common.att"/> + </xs:complexType> + </xs:element> + <!-- #1998-03-10: maler: Made pubdate content model easily customizable. --> + <xs:element name="pubdate"> + <xs:complexType> + <xs:complexContent> + <xs:extension base="pubdate.mdl"> + <xs:attributeGroup ref="common.att"/> + </xs:extension> + </xs:complexContent> + </xs:complexType> + </xs:element> + <xs:element name="day"> + <xs:complexType mixed="true"> + <xs:sequence> + <xs:element minOccurs="0" maxOccurs="unbounded" ref="phrase"/> + </xs:sequence> + <xs:attributeGroup ref="common.att"/> + </xs:complexType> + </xs:element> + <xs:element name="month"> + <xs:complexType mixed="true"> + <xs:sequence> + <xs:element minOccurs="0" maxOccurs="unbounded" ref="phrase"/> + </xs:sequence> + <xs:attributeGroup ref="common.att"/> + </xs:complexType> + </xs:element> + <xs:element name="year"> + <xs:complexType mixed="true"> + <xs:sequence> + <xs:element minOccurs="0" maxOccurs="unbounded" ref="phrase"/> + </xs:sequence> + <xs:attributeGroup ref="common.att"/> + </xs:complexType> + </xs:element> + <!-- #1999-07-02: maler: Declared copyright element. --> + <xs:element name="copyright"> + <xs:complexType> + <xs:group maxOccurs="unbounded" ref="hdr.mix"/> + <xs:attributeGroup ref="common.att"/> + </xs:complexType> + </xs:element> + <!-- Example of notice: "This draft is for public comment..." --> + <xs:element name="notice"> + <xs:complexType> + <xs:group maxOccurs="unbounded" ref="hdr.mix"/> + <xs:attributeGroup ref="common.att"/> + </xs:complexType> + </xs:element> + <!-- #2000-03-07: maler: Broadened models of *loc to %p.pcd.mix;. --> + <xs:element name="publoc"> + <xs:complexType mixed="true"> + <xs:group minOccurs="0" maxOccurs="unbounded" ref="p.pcd.mix"/> + <xs:attributeGroup ref="common.att"/> + </xs:complexType> + </xs:element> + <!-- + #2002-08-15: nwalsh: Added altlocs element. + The semantics of the altlocs are equivalent to the Dublin Core relation element + with type="hasVersion". Each of the loc elements inside altlocs should identify + an alternate version of the resource described by the document, for example + HTML, XML, and PDF forms. + --> + <xs:element name="altlocs"> + <xs:complexType> + <xs:sequence> + <xs:element maxOccurs="unbounded" ref="loc"/> + </xs:sequence> + <xs:attributeGroup ref="common.att"/> + </xs:complexType> + </xs:element> + <xs:element name="prevlocs"> + <xs:complexType mixed="true"> + <xs:group minOccurs="0" maxOccurs="unbounded" ref="p.pcd.mix"/> + <xs:attributeGroup ref="common.att"/> + </xs:complexType> + </xs:element> + <!-- + #2005-10-13: nwalsh: restrict latestloc content model. + New pubrules allows for multiple latestlocs. For some reason, this element + used to allow PCDATA. Now it allows only loc elements. If this causes + trouble, tell Norm. + --> + <xs:element name="latestloc"> + <xs:complexType> + <xs:sequence> + <xs:element maxOccurs="unbounded" ref="loc"/> + </xs:sequence> + <xs:attributeGroup ref="common.att"/> + </xs:complexType> + </xs:element> + <xs:element name="errataloc"> + <xs:complexType> + <xs:attributeGroup ref="common.att"/> + <xs:attributeGroup ref="simple-xlink.att"/> + <xs:attributeGroup ref="href-req.att"/> + </xs:complexType> + </xs:element> + <xs:element name="preverrataloc"> + <xs:complexType> + <xs:attributeGroup ref="common.att"/> + <xs:attributeGroup ref="simple-xlink.att"/> + <xs:attributeGroup ref="href-req.att"/> + </xs:complexType> + </xs:element> + <xs:element name="translationloc"> + <xs:complexType> + <xs:attributeGroup ref="common.att"/> + <xs:attributeGroup ref="simple-xlink.att"/> + <xs:attributeGroup ref="href-req.att"/> + </xs:complexType> + </xs:element> + <!-- loc (defined in "Phrase-level elements" below) --> + <xs:element name="authlist"> + <xs:complexType> + <xs:sequence> + <xs:element maxOccurs="unbounded" ref="author"/> + </xs:sequence> + <xs:attributeGroup ref="common.att"/> + </xs:complexType> + </xs:element> + <!-- + #1997-09-30: maler: Made affiliation optional. + #1998-03-10: maler: Made email optional. + --> + <xs:element name="author"> + <xs:complexType> + <xs:sequence> + <xs:element ref="name"/> + <xs:element minOccurs="0" ref="affiliation"/> + <xs:element minOccurs="0" ref="email"/> + </xs:sequence> + <xs:attributeGroup ref="common.att"/> + </xs:complexType> + </xs:element> + <xs:element name="name"> + <xs:complexType mixed="true"> + <xs:sequence> + <xs:element minOccurs="0" maxOccurs="unbounded" ref="phrase"/> + </xs:sequence> + <xs:attributeGroup ref="common.att"/> + <xs:attributeGroup ref="key.att"/> + </xs:complexType> + </xs:element> + <xs:element name="affiliation"> + <xs:complexType mixed="true"> + <xs:sequence> + <xs:element minOccurs="0" maxOccurs="unbounded" ref="phrase"/> + </xs:sequence> + <xs:attributeGroup ref="common.att"/> + </xs:complexType> + </xs:element> + <!-- #1999-07-02: maler: Added show/actuate attributes and default values. --> + <xs:element name="email"> + <xs:complexType mixed="true"> + <xs:sequence> + <xs:element minOccurs="0" maxOccurs="unbounded" ref="phrase"/> + </xs:sequence> + <xs:attributeGroup ref="common.att"/> + <xs:attributeGroup ref="simple-xlink.att"/> + <xs:attributeGroup ref="href-req.att"/> + <xs:attributeGroup ref="user-new.att"/> + </xs:complexType> + </xs:element> + <!-- + href attribute: + email functions as a hypertext reference through this + required attribute. Typically the reference would use + the mailto: scheme. E.g.: + + <email href="mailto:elm@arbortext.com">elm@arbortext.com</email> + --> + <!-- + #1998-05-15: maler: Changed status content from %statusobj.mix; + # to plain %obj.mix;. statusp is obsolete. + --> + <xs:element name="status"> + <xs:complexType> + <xs:group maxOccurs="unbounded" ref="obj.mix"/> + <xs:attributeGroup ref="common.att"/> + </xs:complexType> + </xs:element> + <xs:element name="abstract"> + <xs:complexType> + <xs:group minOccurs="0" maxOccurs="unbounded" ref="hdr.mix"/> + <xs:attributeGroup ref="common.att"/> + </xs:complexType> + </xs:element> + <xs:element name="pubstmt"> + <xs:complexType> + <xs:group maxOccurs="unbounded" ref="hdr.mix"/> + <xs:attributeGroup ref="common.att"/> + </xs:complexType> + </xs:element> + <xs:element name="sourcedesc"> + <xs:complexType> + <xs:group maxOccurs="unbounded" ref="hdr.mix"/> + <xs:attributeGroup ref="common.att"/> + </xs:complexType> + </xs:element> + <xs:element name="langusage"> + <xs:complexType> + <xs:sequence> + <xs:element maxOccurs="unbounded" ref="language"/> + </xs:sequence> + <xs:attributeGroup ref="common.att"/> + </xs:complexType> + </xs:element> + <xs:element name="language"> + <xs:complexType mixed="true"> + <xs:sequence> + <xs:element minOccurs="0" maxOccurs="unbounded" ref="phrase"/> + </xs:sequence> + <xs:attributeGroup ref="common.att"/> + </xs:complexType> + </xs:element> + <xs:element name="revisiondesc"> + <xs:complexType> + <xs:group maxOccurs="unbounded" ref="hdr.mix"/> + <xs:attributeGroup ref="common.att"/> + </xs:complexType> + </xs:element> + <!-- ............................................................... --> + <!-- Paragraph ..................................................... --> + <!-- ............................................................... --> + <!-- + #1997-09-30: maler: Changed from %obj.mix; to %p.mix;. + #1997-12-29: maler: Changed order of %p.mix; and %p.pcd.mix; + # references. + #1997-12-29: maler: Changed order of %statusobj.mix; and + # %statusp.pcd.mix; references. + #1998-05-14: maler: Removed statusp declarations. + --> + <xs:element name="p"> + <xs:complexType mixed="true"> + <xs:choice minOccurs="0" maxOccurs="unbounded"> + <xs:group ref="p.pcd.mix"/> + <xs:group ref="p.mix"/> + </xs:choice> + <xs:attributeGroup ref="common.att"/> + </xs:complexType> + </xs:element> + <!-- ............................................................... --> + <!-- Regular lists ................................................. --> + <!-- ............................................................... --> + <!-- ulist: Unordered list, typically bulleted. --> + <xs:element name="ulist" substitutionGroup="list.class"> + <xs:complexType> + <xs:sequence> + <xs:element maxOccurs="unbounded" ref="item"/> + </xs:sequence> + <xs:attributeGroup ref="common.att"/> + <xs:attribute name="spacing"> + <xs:simpleType> + <xs:restriction base="xs:token"> + <xs:enumeration value="normal"/> + <xs:enumeration value="compact"/> + </xs:restriction> + </xs:simpleType> + </xs:attribute> + </xs:complexType> + </xs:element> + <!-- + spacing attribute: + Use "normal" to get normal vertical spacing for items; + use "compact" to get less spacing. The default is dependent + on the stylesheet. + --> + <!-- olist: Ordered list, typically numbered. --> + <xs:element name="olist" substitutionGroup="list.class"> + <xs:complexType> + <xs:sequence> + <xs:element maxOccurs="unbounded" ref="item"/> + </xs:sequence> + <xs:attributeGroup ref="common.att"/> + <xs:attribute name="spacing"> + <xs:simpleType> + <xs:restriction base="xs:token"> + <xs:enumeration value="normal"/> + <xs:enumeration value="compact"/> + </xs:restriction> + </xs:simpleType> + </xs:attribute> + </xs:complexType> + </xs:element> + <!-- + spacing attribute: + Use "normal" to get normal vertical spacing for items; + use "compact" to get less spacing. The default is dependent + on the stylesheet. + --> + <xs:element name="item"> + <xs:complexType> + <xs:group maxOccurs="unbounded" ref="obj.mix"/> + <xs:attributeGroup ref="common.att"/> + </xs:complexType> + </xs:element> + <!-- slist: Simple list, typically with no mark. --> + <xs:element name="slist" substitutionGroup="list.class"> + <xs:complexType> + <xs:sequence> + <xs:element maxOccurs="unbounded" ref="sitem"/> + </xs:sequence> + <xs:attributeGroup ref="common.att"/> + </xs:complexType> + </xs:element> + <xs:element name="sitem"> + <xs:complexType mixed="true"> + <xs:group minOccurs="0" maxOccurs="unbounded" ref="p.pcd.mix"/> + <xs:attributeGroup ref="common.att"/> + </xs:complexType> + </xs:element> + <!-- glist: Glossary list, typically two-column. --> + <xs:element name="glist" substitutionGroup="list.class"> + <xs:complexType> + <xs:sequence> + <xs:element maxOccurs="unbounded" ref="gitem"/> + </xs:sequence> + <xs:attributeGroup ref="common.att"/> + </xs:complexType> + </xs:element> + <xs:element name="gitem"> + <xs:complexType> + <xs:sequence> + <xs:element ref="label"/> + <xs:element ref="def"/> + </xs:sequence> + <xs:attributeGroup ref="common.att"/> + </xs:complexType> + </xs:element> + <xs:element name="label"> + <xs:complexType mixed="true"> + <xs:group minOccurs="0" maxOccurs="unbounded" ref="label.pcd.mix"/> + <xs:attributeGroup ref="common.att"/> + </xs:complexType> + </xs:element> + <xs:element name="def"> + <xs:complexType> + <xs:group minOccurs="0" maxOccurs="unbounded" ref="obj.mix"/> + <xs:attributeGroup ref="common.att"/> + </xs:complexType> + </xs:element> + <!-- ............................................................... --> + <!-- Special lists ................................................. --> + <!-- ............................................................... --> + <!-- blist: Bibliography list. --> + <xs:element name="blist" substitutionGroup="speclist.class"> + <xs:complexType> + <xs:sequence> + <xs:element maxOccurs="unbounded" ref="bibl"/> + </xs:sequence> + <xs:attributeGroup ref="common.att"/> + </xs:complexType> + </xs:element> + <!-- #1999-07-02: maler: Added show/actuate attributes and default values. --> + <xs:element name="bibl"> + <xs:complexType mixed="true"> + <xs:group minOccurs="0" maxOccurs="unbounded" ref="bibl.pcd.mix"/> + <xs:attributeGroup ref="common.att"/> + <xs:attributeGroup ref="simple-xlink.att"/> + <xs:attributeGroup ref="href.att"/> + <xs:attributeGroup ref="user-replace.att"/> + <xs:attributeGroup ref="key.att"/> + </xs:complexType> + </xs:element> + <!-- + href attribute: + bibl optionally functions as a hypertext reference to the + referred-to resource through this attribute. E.g.: + + <bibl href="http://www.my.com/doc.htm">My Document</bibl> + --> + <!-- orglist: Organization member list. --> + <xs:element name="orglist" substitutionGroup="speclist.class"> + <xs:complexType> + <xs:sequence> + <xs:element maxOccurs="unbounded" ref="member"/> + </xs:sequence> + <xs:attributeGroup ref="common.att"/> + </xs:complexType> + </xs:element> + <!-- #1997-09-30: maler: Added optional affiliation. --> + <xs:element name="member"> + <xs:complexType> + <xs:sequence> + <xs:element ref="name"/> + <xs:element minOccurs="0" ref="affiliation"/> + <xs:element minOccurs="0" ref="role"/> + </xs:sequence> + <xs:attributeGroup ref="common.att"/> + </xs:complexType> + </xs:element> + <!-- name (defined in "Specification header" above) --> + <!-- affiliation (defined in "Specification header" above) --> + <xs:element name="role"> + <xs:complexType mixed="true"> + <xs:sequence> + <xs:element minOccurs="0" maxOccurs="unbounded" ref="phrase"/> + </xs:sequence> + <xs:attributeGroup ref="common.att"/> + </xs:complexType> + </xs:element> + <!-- ............................................................... --> + <!-- Notes ......................................................... --> + <!-- ............................................................... --> + <xs:element name="note" substitutionGroup="note.class"> + <xs:complexType> + <xs:group maxOccurs="unbounded" ref="obj.mix"/> + <xs:attributeGroup ref="common.att"/> + </xs:complexType> + </xs:element> + <!-- + #1998-05-14: maler: Declared issue element. + #2000-03-07: maler: Added head, source, resolution, and status. + --> + <xs:element name="issue" substitutionGroup="note.class"> + <xs:complexType> + <xs:sequence> + <xs:element minOccurs="0" ref="head"/> + <xs:element minOccurs="0" maxOccurs="unbounded" ref="source"/> + <xs:group maxOccurs="unbounded" ref="obj.mix"/> + <xs:element minOccurs="0" ref="resolution"/> + </xs:sequence> + <xs:attribute name="id" use="required" type="xs:ID"/> + <xs:attributeGroup ref="role.att"/> + <xs:attributeGroup ref="diff.att"/> + <xs:attribute name="status" default="open"> + <xs:simpleType> + <xs:restriction base="xs:token"> + <xs:enumeration value="open"/> + <xs:enumeration value="closed"/> + </xs:restriction> + </xs:simpleType> + </xs:attribute> + </xs:complexType> + </xs:element> + <!-- + status attribute: + Indicates whether the issue is open or closed. Note that + the lack of a resolution element does not necessarily mean + that the issue is still open. + --> + <xs:element name="source"> + <xs:complexType mixed="true"> + <xs:group minOccurs="0" maxOccurs="unbounded" ref="p.pcd.mix"/> + <xs:attributeGroup ref="common.att"/> + </xs:complexType> + </xs:element> + <xs:element name="resolution"> + <xs:complexType> + <xs:group maxOccurs="unbounded" ref="obj.mix"/> + <xs:attributeGroup ref="common.att"/> + </xs:complexType> + </xs:element> + <!-- wfcnote: Well-formedness constraint note. --> + <xs:element name="wfcnote" substitutionGroup="note.class"> + <xs:complexType> + <xs:sequence> + <xs:element ref="head"/> + <xs:group maxOccurs="unbounded" ref="obj.mix"/> + </xs:sequence> + <xs:attributeGroup ref="common-idreq.att"/> + </xs:complexType> + </xs:element> + <!-- + ID attribute: + wfcnote must have an ID so that it can be pointed to + from a wfc element in a production. + --> + <!-- vcnote: Validity constraint note. --> + <xs:element name="vcnote" substitutionGroup="note.class"> + <xs:complexType> + <xs:sequence> + <xs:element ref="head"/> + <xs:group maxOccurs="unbounded" ref="obj.mix"/> + </xs:sequence> + <xs:attributeGroup ref="common-idreq.att"/> + </xs:complexType> + </xs:element> + <!-- + ID attribute: + vcnote must have an ID so that it can be pointed to + from a vc element in a production. + --> + <!-- #1998-05-21: maler: Declared generic constraintnote element. --> + <!-- constraintnote: Generic constraint note. --> + <xs:element name="constraintnote" substitutionGroup="note.class"> + <xs:complexType> + <xs:sequence> + <xs:element ref="head"/> + <xs:group maxOccurs="unbounded" ref="obj.mix"/> + </xs:sequence> + <xs:attributeGroup ref="common-idreq.att"/> + <xs:attribute name="type" use="required" type="xs:NMTOKEN"/> + </xs:complexType> + </xs:element> + <!-- + ID attribute: + constraintnote must have an ID so that it can be + pointed to from a constraint element in a production. + --> + <!-- + type attribute: + constraintnote must have a type value keyword so that + it can be correctly characterized in the specification. + --> + <!-- ............................................................... --> + <!-- Basic display elements ........................................ --> + <!-- ............................................................... --> + <!-- #1998-03-23: maler: Added xml:space attribute. --> + <!-- eg: Example element, with whitespace respected. --> + <xs:element name="eg" substitutionGroup="illus.class"> + <xs:complexType mixed="true"> + <xs:group minOccurs="0" maxOccurs="unbounded" ref="eg.pcd.mix"/> + <xs:attributeGroup ref="common.att"/> + <xs:attributeGroup ref="xmlspace.att"/> + </xs:complexType> + </xs:element> + <!-- + #2000-03-07: maler: Removed the xml:attributes attribute. + # Added %local.graphic.att;. + --> + <!-- + graphic: Displayed graphic. Graphic data should be + displayed at the point where it is referenced. Not + actually conforming to XLink right now. + --> + <xs:element name="graphic" substitutionGroup="illus.class"> + <xs:complexType> + <xs:attributeGroup ref="common.att"/> + <xs:attributeGroup ref="simple-xlink.att"/> + <xs:attribute name="source" use="required"/> + <xs:attributeGroup ref="auto-embed.att"/> + <xs:attribute name="alt"/> + </xs:complexType> + </xs:element> + <!-- + source attribute: + The graphic data must reside at the location pointed to. + --> + <!-- #2000-03-07: maler: Added proto element structure. --> + <!-- proto: Function prototype, in the XPath/XPointer style. --> + <xs:element name="proto" substitutionGroup="illus.class"> + <xs:complexType> + <xs:sequence> + <xs:element minOccurs="0" maxOccurs="unbounded" ref="arg"/> + </xs:sequence> + <xs:attributeGroup ref="common.att"/> + <xs:attribute name="name" use="required" type="xs:NMTOKEN"/> + <xs:attribute name="return-type" use="required" type="argtypes"/> + </xs:complexType> + </xs:element> + <xs:element name="arg"> + <xs:complexType> + <xs:attributeGroup ref="common.att"/> + <xs:attribute name="type" use="required" type="argtypes"/> + <xs:attribute name="occur"> + <xs:simpleType> + <xs:restriction base="xs:token"> + <xs:enumeration value="opt"/> + <xs:enumeration value="req"/> + </xs:restriction> + </xs:simpleType> + </xs:attribute> + </xs:complexType> + </xs:element> + <!-- #2000-03-07: maler: Added example element. --> + <xs:element name="example" substitutionGroup="illus.class"> + <xs:complexType> + <xs:sequence> + <xs:element minOccurs="0" ref="head"/> + <xs:group maxOccurs="unbounded" ref="obj.mix"/> + </xs:sequence> + <xs:attributeGroup ref="common.att"/> + </xs:complexType> + </xs:element> + <!-- ............................................................... --> + <!-- EBNF .......................................................... --> + <!-- ............................................................... --> + <!-- + #1997-11-28: maler: Added prodgroup to scrap and defined it. + #1998-05-21: maler: Added constraint to prod. + #1999-07-02: maler: Added prodrecap to scrap; broadened scrap model. + # Added headstyle attribute to scrap. + --> + <!-- scrap: Collection of EBNF language productions. --> + <xs:element name="scrap" substitutionGroup="illus.class"> + <xs:complexType> + <xs:sequence> + <xs:element ref="head"/> + <xs:choice maxOccurs="unbounded"> + <xs:element ref="prodgroup"/> + <xs:element ref="prod"/> + <xs:element ref="bnf"/> + <xs:element ref="prodrecap"/> + </xs:choice> + </xs:sequence> + <xs:attributeGroup ref="common.att"/> + <xs:attribute name="lang" type="xs:IDREF"/> + <xs:attribute name="headstyle" default="show"> + <xs:simpleType> + <xs:restriction base="xs:token"> + <xs:enumeration value="show"/> + <xs:enumeration value="suppress"/> + </xs:restriction> + </xs:simpleType> + </xs:attribute> + </xs:complexType> + </xs:element> + <!-- + lang attribute: + The scrap can link to a description of the language used, + found in a language element in the header. + headstyle attribute: + Allows a scrap title to be suppressed from output. To be + used only when a scrap title directly next to a section + title is distracting or repetetive. + --> + <!-- + prodgroup: Sub-collection of productions, needed for + formatting reasons. + --> + <xs:element name="prodgroup"> + <xs:complexType> + <xs:sequence> + <xs:element maxOccurs="unbounded" ref="prod"/> + </xs:sequence> + <xs:attributeGroup ref="common.att"/> + <xs:attribute name="pcw1"/> + <xs:attribute name="pcw2"/> + <xs:attribute name="pcw3"/> + <xs:attribute name="pcw4"/> + <xs:attribute name="pcw5"/> + </xs:complexType> + </xs:element> + <!-- + pcw<n> attributes: + Presentational attributes to control the width + of the "pseudo-table" columns used to output + groups of productions. + --> + <!-- prod: EBNF language production. --> + <xs:element name="prod"> + <xs:complexType> + <xs:sequence> + <xs:element ref="lhs"/> + <xs:sequence maxOccurs="unbounded"> + <xs:element ref="rhs"/> + <xs:choice minOccurs="0" maxOccurs="unbounded"> + <xs:element ref="com"/> + <xs:element ref="wfc"/> + <xs:element ref="vc"/> + <xs:element ref="constraint"/> + </xs:choice> + </xs:sequence> + </xs:sequence> + <xs:attributeGroup ref="common-idreq.att"/> + <xs:attribute name="num"/> + </xs:complexType> + </xs:element> + <!-- + ID attribute: + The production must have an ID so that cross-references + (specref) and mentions of nonterminals (nt) can link to + it. + --> + <!-- lhs: Left-hand side of production. --> + <xs:element name="lhs"> + <xs:complexType mixed="true"> + <xs:sequence> + <xs:element minOccurs="0" maxOccurs="unbounded" ref="phrase"/> + </xs:sequence> + <xs:attributeGroup ref="common.att"/> + </xs:complexType> + </xs:element> + <!-- + rhs: Right-hand side of production; may have many + "right-hand sides," one to a line. + --> + <xs:element name="rhs"> + <xs:complexType mixed="true"> + <xs:choice minOccurs="0" maxOccurs="unbounded"> + <xs:element ref="phrase"/> + <xs:element ref="nt"/> + <xs:element ref="xnt"/> + <xs:element ref="com"/> + </xs:choice> + <xs:attributeGroup ref="common.att"/> + </xs:complexType> + </xs:element> + <!-- nt and xnt (defined in "Phrase-level elements" below) --> + <!-- #1997-11-28: maler: Added loc and bibref to com content. --> + <!-- com: Production comment. --> + <xs:element name="com"> + <xs:complexType mixed="true"> + <xs:choice minOccurs="0" maxOccurs="unbounded"> + <xs:element ref="phrase"/> + <xs:element ref="loc"/> + <xs:element ref="bibref"/> + </xs:choice> + <xs:attributeGroup ref="common.att"/> + </xs:complexType> + </xs:element> + <!-- + wfc: Reference to a well-formedness constraint; should + generate the head of the wfcnote pointed to. + --> + <xs:element name="wfc"> + <xs:complexType> + <xs:attributeGroup ref="def-req.att"/> + <xs:attributeGroup ref="common.att"/> + </xs:complexType> + </xs:element> + <!-- + def attribute: + Each well formedness tagline in a production must link to the + wfcnote that defines it. + --> + <!-- + vc: Reference to a validity constraint; should generate + the head of the vcnote pointed to. + --> + <xs:element name="vc"> + <xs:complexType> + <xs:attributeGroup ref="def-req.att"/> + <xs:attributeGroup ref="common.att"/> + </xs:complexType> + </xs:element> + <!-- + def attribute: + Each validity tagline in a production must link to the vcnote + that defines it. + --> + <!-- #1998-05-21: maler: Declared generic constraint element. --> + <!-- + constraint: Reference to a generic constraint; should + generate the head of the constraintnote pointed to. + --> + <xs:element name="constraint"> + <xs:complexType> + <xs:attributeGroup ref="def-req.att"/> + <xs:attributeGroup ref="common.att"/> + </xs:complexType> + </xs:element> + <!-- + def attribute: + Each constraint tagline in a production must link to the + constraint note that defines it. + --> + <!-- #1998-03-23: maler: Added xml:space attribute. --> + <!-- + bnf: Un-marked-up EBNF production, with whitespace + respected. + --> + <xs:element name="bnf"> + <xs:complexType mixed="true"> + <xs:group minOccurs="0" maxOccurs="unbounded" ref="eg.pcd.mix"/> + <xs:attributeGroup ref="common.att"/> + <xs:attributeGroup ref="xmlspace.att"/> + </xs:complexType> + </xs:element> + <!-- #1999-07-02: maler: Declared prodrecap. --> + <!-- + prodrecap: Reference to production or bnf that appears + in its "normative" form elsewhere in the spec; should + generate a copy of the original production, without + a production number next to it. + --> + <xs:element name="prodrecap"> + <xs:complexType> + <xs:attributeGroup ref="common.att"/> + <xs:attributeGroup ref="ref-req.att"/> + </xs:complexType> + </xs:element> + <!-- ............................................................... --> + <!-- Table ......................................................... --> + <!-- ............................................................... --> + <!-- + #1997-10-16: maler: Added table mechanism. + #1997-11-28: maler: Added non-null system ID to entity declaration. + # Added HTML table module. + #1997-12-29: maler: IGNOREd SGML Open table model. + #1998-03-10: maler: Removed SGML Open table model. + # Merged html-tbl.mod file into main file. + # Added %common.att; to all HTML table elements. + #1998-05-14: maler: Replaced table model with full HTML 4.0 model. + # Removed htable in favor of table. + # Removed htbody in favor of tbody. + --> + <xs:attributeGroup name="cellhalign.att"> + <xs:attribute name="align"> + <xs:simpleType> + <xs:restriction base="xs:token"> + <xs:enumeration value="left"/> + <xs:enumeration value="center"/> + <xs:enumeration value="right"/> + <xs:enumeration value="justify"/> + <xs:enumeration value="char"/> + </xs:restriction> + </xs:simpleType> + </xs:attribute> + <xs:attribute name="char"/> + <xs:attribute name="charoff"/> + </xs:attributeGroup> + <xs:attributeGroup name="cellvalign.att"> + <xs:attribute name="valign"> + <xs:simpleType> + <xs:restriction base="xs:token"> + <xs:enumeration value="top"/> + <xs:enumeration value="middle"/> + <xs:enumeration value="bottom"/> + <xs:enumeration value="baseline"/> + </xs:restriction> + </xs:simpleType> + </xs:attribute> + </xs:attributeGroup> + <xs:attributeGroup name="thtd.att"> + <xs:attribute name="abbr"/> + <xs:attribute name="axis"/> + <xs:attribute name="headers" type="xs:IDREFS"/> + <xs:attribute name="scope"> + <xs:simpleType> + <xs:restriction base="xs:token"> + <xs:enumeration value="row"/> + <xs:enumeration value="col"/> + <xs:enumeration value="rowgroup"/> + <xs:enumeration value="colgroup"/> + </xs:restriction> + </xs:simpleType> + </xs:attribute> + <xs:attribute name="rowspan" default="1" type="xs:NMTOKEN"/> + <xs:attribute name="colspan" default="1" type="xs:NMTOKEN"/> + </xs:attributeGroup> + <xs:attributeGroup name="width.att"> + <xs:attribute name="width"/> + </xs:attributeGroup> + <xs:attributeGroup name="span.att"> + <xs:attribute name="span" default="1" type="xs:NMTOKEN"/> + </xs:attributeGroup> + <!-- table: HTML-based geometric table model. --> + <xs:element name="table" substitutionGroup="illus.class"> + <xs:complexType> + <xs:sequence> + <xs:element minOccurs="0" ref="caption"/> + <xs:choice> + <xs:element minOccurs="0" maxOccurs="unbounded" ref="col"/> + <xs:element minOccurs="0" maxOccurs="unbounded" ref="colgroup"/> + </xs:choice> + <xs:element minOccurs="0" ref="thead"/> + <xs:element minOccurs="0" ref="tfoot"/> + <xs:element maxOccurs="unbounded" ref="tbody"/> + </xs:sequence> + <xs:attributeGroup ref="common.att"/> + <xs:attributeGroup ref="width.att"/> + <xs:attribute name="summary"/> + <xs:attribute name="border"/> + <xs:attribute name="frame"> + <xs:simpleType> + <xs:restriction base="xs:token"> + <xs:enumeration value="void"/> + <xs:enumeration value="above"/> + <xs:enumeration value="below"/> + <xs:enumeration value="hsides"/> + <xs:enumeration value="lhs"/> + <xs:enumeration value="rhs"/> + <xs:enumeration value="vsides"/> + <xs:enumeration value="box"/> + <xs:enumeration value="border"/> + </xs:restriction> + </xs:simpleType> + </xs:attribute> + <xs:attribute name="rules"> + <xs:simpleType> + <xs:restriction base="xs:token"> + <xs:enumeration value="none"/> + <xs:enumeration value="groups"/> + <xs:enumeration value="rows"/> + <xs:enumeration value="cols"/> + <xs:enumeration value="all"/> + </xs:restriction> + </xs:simpleType> + </xs:attribute> + <xs:attribute name="cellspacing"/> + <xs:attribute name="cellpadding"/> + </xs:complexType> + </xs:element> + <xs:element name="caption"> + <xs:complexType mixed="true"> + <xs:group minOccurs="0" maxOccurs="unbounded" ref="p.pcd.mix"/> + <xs:attributeGroup ref="common.att"/> + </xs:complexType> + </xs:element> + <xs:element name="col"> + <xs:complexType> + <xs:attributeGroup ref="common.att"/> + <xs:attributeGroup ref="span.att"/> + <xs:attributeGroup ref="width.att"/> + <xs:attributeGroup ref="cellhalign.att"/> + <xs:attributeGroup ref="cellvalign.att"/> + </xs:complexType> + </xs:element> + <xs:element name="colgroup"> + <xs:complexType> + <xs:sequence> + <xs:element minOccurs="0" maxOccurs="unbounded" ref="col"/> + </xs:sequence> + <xs:attributeGroup ref="common.att"/> + <xs:attributeGroup ref="span.att"/> + <xs:attributeGroup ref="width.att"/> + <xs:attributeGroup ref="cellhalign.att"/> + <xs:attributeGroup ref="cellvalign.att"/> + </xs:complexType> + </xs:element> + <xs:element name="thead"> + <xs:complexType> + <xs:sequence> + <xs:element maxOccurs="unbounded" ref="tr"/> + </xs:sequence> + <xs:attributeGroup ref="common.att"/> + <xs:attributeGroup ref="cellhalign.att"/> + <xs:attributeGroup ref="cellvalign.att"/> + </xs:complexType> + </xs:element> + <xs:element name="tfoot"> + <xs:complexType> + <xs:sequence> + <xs:element maxOccurs="unbounded" ref="tr"/> + </xs:sequence> + <xs:attributeGroup ref="common.att"/> + <xs:attributeGroup ref="cellhalign.att"/> + <xs:attributeGroup ref="cellvalign.att"/> + </xs:complexType> + </xs:element> + <xs:element name="tbody"> + <xs:complexType> + <xs:sequence> + <xs:element maxOccurs="unbounded" ref="tr"/> + </xs:sequence> + <xs:attributeGroup ref="common.att"/> + <xs:attributeGroup ref="cellhalign.att"/> + <xs:attributeGroup ref="cellvalign.att"/> + </xs:complexType> + </xs:element> + <xs:element name="tr"> + <xs:complexType> + <xs:choice maxOccurs="unbounded"> + <xs:element ref="th"/> + <xs:element ref="td"/> + </xs:choice> + <xs:attributeGroup ref="common.att"/> + <xs:attributeGroup ref="cellhalign.att"/> + <xs:attributeGroup ref="cellvalign.att"/> + </xs:complexType> + </xs:element> + <xs:element name="th"> + <xs:complexType mixed="true"> + <xs:choice minOccurs="0" maxOccurs="unbounded"> + <xs:group ref="p.pcd.mix"/> + <xs:group ref="p.mix"/> + </xs:choice> + <xs:attributeGroup ref="common.att"/> + <xs:attributeGroup ref="thtd.att"/> + <xs:attributeGroup ref="cellhalign.att"/> + <xs:attributeGroup ref="cellvalign.att"/> + </xs:complexType> + </xs:element> + <xs:element name="td"> + <xs:complexType mixed="true"> + <xs:choice minOccurs="0" maxOccurs="unbounded"> + <xs:group ref="p.pcd.mix"/> + <xs:group ref="p.mix"/> + </xs:choice> + <xs:attributeGroup ref="common.att"/> + <xs:attributeGroup ref="thtd.att"/> + <xs:attributeGroup ref="cellhalign.att"/> + <xs:attributeGroup ref="cellvalign.att"/> + </xs:complexType> + </xs:element> + <!-- ............................................................... --> + <!-- IDL structures for DOM specifications ......................... --> + <!-- ............................................................... --> + <!-- ............................................................... --> + <!-- Specialized entities for classes .............................. --> + <xs:group name="idl-desc.class"> + <xs:choice> + <xs:element ref="p"/> + <xs:element ref="note"/> + </xs:choice> + </xs:group> + <xs:element name="idl-tdef.class" abstract="true"/> + <xs:element name="idl-mod.class" abstract="true"/> + <xs:element name="idl-struct.class" abstract="true" substitutionGroup="idl-type.mix"/> + <xs:element name="idl-meth.class" abstract="true"/> + <!-- ............................................................... --> + <!-- Specialized entities for mixtures ............................. --> + <!-- + Quick reference to content model mixtures: + + desc tdef mod struct meth + group x x x x x + definitions, module x x x + interface x x x + typedef, case, component x + --> + <xs:group name="idl-grp.mix"> + <xs:choice> + <xs:group ref="idl-desc.class"/> + <xs:element ref="idl-tdef.class"/> + <xs:element ref="idl-mod.class"/> + <xs:element ref="idl-struct.class"/> + <xs:element ref="idl-meth.class"/> + </xs:choice> + </xs:group> + <xs:group name="idl-defn.mix"> + <xs:choice> + <xs:group ref="idl-desc.class"/> + <xs:element ref="idl-tdef.class"/> + <xs:element ref="idl-mod.class"/> + </xs:choice> + </xs:group> + <xs:group name="idl-intfc.mix"> + <xs:choice> + <xs:group ref="idl-desc.class"/> + <xs:element ref="idl-tdef.class"/> + <xs:element ref="idl-meth.class"/> + </xs:choice> + </xs:group> + <xs:element name="idl-type.mix" abstract="true"/> + <!-- ............................................................... --> + <!-- Specialized entities for common attributes .................... --> + <!-- + name attribute: + Provides a name. Required. + --> + <xs:attributeGroup name="idl-name.att"> + <xs:attribute name="name" use="required"/> + </xs:attributeGroup> + <!-- + type attribute: + Provides a type. Required. + --> + <xs:attributeGroup name="idl-type.att"> + <xs:attribute name="type" use="required"/> + </xs:attributeGroup> + <!-- ............................................................... --> + <!-- Common IDL element ............................................ --> + <xs:complexType name="descr"> + <xs:sequence> + <xs:element ref="descr"/> + </xs:sequence> + </xs:complexType> + <xs:element name="descr"> + <xs:complexType> + <xs:group minOccurs="0" maxOccurs="unbounded" ref="obj.mix"/> + <xs:attributeGroup ref="common.att"/> + </xs:complexType> + </xs:element> + <!-- ............................................................... --> + <!-- IDL definition elements ....................................... --> + <!-- definitions: Top-level element for definitions. --> + <xs:element name="definitions" substitutionGroup="illus.class"> + <xs:complexType> + <xs:group maxOccurs="unbounded" ref="idl-defn.mix"/> + <xs:attributeGroup ref="common.att"/> + </xs:complexType> + </xs:element> + <!-- group: Element used to group a set of definitions. --> + <xs:element name="group" substitutionGroup="idl-tdef.class"> + <xs:complexType> + <xs:complexContent> + <xs:extension base="descr"> + <xs:group minOccurs="0" maxOccurs="unbounded" ref="idl-grp.mix"/> + <xs:attributeGroup ref="common.att"/> + <xs:attributeGroup ref="idl-name.att"/> + </xs:extension> + </xs:complexContent> + </xs:complexType> + </xs:element> + <!-- interface: Definition of an interface. --> + <xs:element name="interface" substitutionGroup="idl-mod.class"> + <xs:complexType> + <xs:complexContent> + <xs:extension base="descr"> + <xs:group minOccurs="0" maxOccurs="unbounded" ref="idl-intfc.mix"/> + <xs:attributeGroup ref="common.att"/> + <xs:attributeGroup ref="idl-name.att"/> + <xs:attribute name="inherits"/> + </xs:extension> + </xs:complexContent> + </xs:complexType> + </xs:element> + <!-- module: Definition of a module. --> + <xs:element name="module" substitutionGroup="idl-mod.class"> + <xs:complexType> + <xs:complexContent> + <xs:extension base="descr"> + <xs:group minOccurs="0" maxOccurs="unbounded" ref="idl-defn.mix"/> + <xs:attributeGroup ref="common.att"/> + <xs:attributeGroup ref="idl-name.att"/> + </xs:extension> + </xs:complexContent> + </xs:complexType> + </xs:element> + <!-- reference: Reference to some other declaration. --> + <xs:element name="reference" substitutionGroup="idl-tdef.class"> + <xs:complexType> + <xs:attributeGroup ref="common.att"/> + <xs:attribute name="declaration" use="required" type="xs:IDREF"/> + </xs:complexType> + </xs:element> + <!-- typedef: Definition of a named type. --> + <xs:element name="typedef" substitutionGroup="idl-tdef.class"> + <xs:complexType> + <xs:complexContent> + <xs:extension base="descr"> + <xs:sequence> + <xs:element ref="idl-type.mix"/> + </xs:sequence> + <xs:attributeGroup ref="common.att"/> + <xs:attributeGroup ref="idl-name.att"/> + <xs:attribute name="array.size" type="xs:NMTOKEN"/> + </xs:extension> + </xs:complexContent> + </xs:complexType> + </xs:element> + <!-- struct: Declaration of a struct type. --> + <xs:element name="struct" substitutionGroup="idl-struct.class"> + <xs:complexType> + <xs:complexContent> + <xs:extension base="descr"> + <xs:sequence> + <xs:element maxOccurs="unbounded" ref="component"/> + </xs:sequence> + <xs:attributeGroup ref="common.att"/> + <xs:attributeGroup ref="idl-name.att"/> + </xs:extension> + </xs:complexContent> + </xs:complexType> + </xs:element> + <!-- component: Declaration of a structural member. --> + <xs:element name="component"> + <xs:complexType> + <xs:sequence> + <xs:element ref="idl-type.mix"/> + </xs:sequence> + <xs:attributeGroup ref="common.att"/> + <xs:attributeGroup ref="idl-name.att"/> + </xs:complexType> + </xs:element> + <!-- union: Declaration of a union type. --> + <xs:element name="union" substitutionGroup="idl-struct.class"> + <xs:complexType> + <xs:complexContent> + <xs:extension base="descr"> + <xs:sequence> + <xs:element maxOccurs="unbounded" ref="case"/> + </xs:sequence> + <xs:attributeGroup ref="common.att"/> + <xs:attributeGroup ref="idl-name.att"/> + <xs:attribute name="switch.type" use="required"/> + </xs:extension> + </xs:complexContent> + </xs:complexType> + </xs:element> + <xs:element name="case"> + <xs:complexType> + <xs:complexContent> + <xs:extension base="descr"> + <xs:sequence> + <xs:element ref="idl-type.mix"/> + </xs:sequence> + <xs:attributeGroup ref="common.att"/> + <xs:attribute name="labels" use="required"/> + </xs:extension> + </xs:complexContent> + </xs:complexType> + </xs:element> + <!-- enum: Declaration of an enum type. --> + <xs:element name="enum" substitutionGroup="idl-struct.class"> + <xs:complexType> + <xs:complexContent> + <xs:extension base="descr"> + <xs:sequence> + <xs:element maxOccurs="unbounded" ref="enumerator"/> + </xs:sequence> + <xs:attributeGroup ref="common.att"/> + <xs:attributeGroup ref="idl-name.att"/> + </xs:extension> + </xs:complexContent> + </xs:complexType> + </xs:element> + <xs:element name="enumerator"> + <xs:complexType> + <xs:complexContent> + <xs:extension base="descr"> + <xs:attributeGroup ref="common.att"/> + <xs:attributeGroup ref="idl-name.att"/> + </xs:extension> + </xs:complexContent> + </xs:complexType> + </xs:element> + <!-- sequence: Declaration of a sequence type (not named). --> + <xs:element name="sequence" substitutionGroup="idl-struct.class"> + <xs:complexType> + <xs:sequence> + <xs:element minOccurs="0" maxOccurs="unbounded" ref="sequence"/> + </xs:sequence> + <xs:attributeGroup ref="common.att"/> + <xs:attributeGroup ref="idl-type.att"/> + <xs:attribute name="size" type="xs:NMTOKEN"/> + </xs:complexType> + </xs:element> + <!-- constant: Declaration of a named constant. --> + <xs:element name="constant" substitutionGroup="idl-tdef.class"> + <xs:complexType> + <xs:complexContent> + <xs:extension base="descr"> + <xs:attributeGroup ref="common.att"/> + <xs:attributeGroup ref="idl-name.att"/> + <xs:attributeGroup ref="idl-type.att"/> + <xs:attribute name="value" use="required"/> + </xs:extension> + </xs:complexContent> + </xs:complexType> + </xs:element> + <!-- exception: Declaration of an exception. --> + <xs:element name="exception" substitutionGroup="idl-tdef.class"> + <xs:complexType> + <xs:complexContent> + <xs:extension base="descr"> + <xs:sequence> + <xs:element minOccurs="0" maxOccurs="unbounded" ref="component"/> + </xs:sequence> + <xs:attributeGroup ref="common.att"/> + <xs:attributeGroup ref="idl-name.att"/> + </xs:extension> + </xs:complexContent> + </xs:complexType> + </xs:element> + <!-- component (defined under struct, above) --> + <!-- attribute: Declaration of an attribute (data member). --> + <xs:element name="attribute" substitutionGroup="idl-meth.class"> + <xs:complexType> + <xs:complexContent> + <xs:extension base="descr"> + <xs:attributeGroup ref="common.att"/> + <xs:attributeGroup ref="idl-name.att"/> + <xs:attributeGroup ref="idl-type.att"/> + <xs:attribute name="readonly" default="no"> + <xs:simpleType> + <xs:restriction base="xs:token"> + <xs:enumeration value="yes"/> + <xs:enumeration value="no"/> + </xs:restriction> + </xs:simpleType> + </xs:attribute> + </xs:extension> + </xs:complexContent> + </xs:complexType> + </xs:element> + <!-- method: Declaration of a method. --> + <xs:element name="method" substitutionGroup="idl-meth.class"> + <xs:complexType> + <xs:complexContent> + <xs:extension base="descr"> + <xs:sequence> + <xs:element ref="parameters"/> + <xs:element ref="returns"/> + <xs:element ref="raises"/> + </xs:sequence> + <xs:attributeGroup ref="common.att"/> + <xs:attributeGroup ref="idl-name.att"/> + </xs:extension> + </xs:complexContent> + </xs:complexType> + </xs:element> + <xs:element name="parameters"> + <xs:complexType> + <xs:sequence> + <xs:element minOccurs="0" maxOccurs="unbounded" ref="param"/> + </xs:sequence> + <xs:attributeGroup ref="common.att"/> + </xs:complexType> + </xs:element> + <xs:element name="param"> + <xs:complexType> + <xs:complexContent> + <xs:extension base="descr"> + <xs:attributeGroup ref="common.att"/> + <xs:attributeGroup ref="idl-name.att"/> + <xs:attributeGroup ref="idl-type.att"/> + <xs:attribute name="attr" default="inout"> + <xs:simpleType> + <xs:restriction base="xs:token"> + <xs:enumeration value="in"/> + <xs:enumeration value="out"/> + <xs:enumeration value="inout"/> + </xs:restriction> + </xs:simpleType> + </xs:attribute> + </xs:extension> + </xs:complexContent> + </xs:complexType> + </xs:element> + <xs:element name="returns"> + <xs:complexType> + <xs:complexContent> + <xs:extension base="descr"> + <xs:attributeGroup ref="common.att"/> + <xs:attributeGroup ref="idl-type.att"/> + </xs:extension> + </xs:complexContent> + </xs:complexType> + </xs:element> + <xs:element name="raises"> + <xs:complexType> + <xs:sequence> + <xs:element minOccurs="0" maxOccurs="unbounded" ref="exception"/> + </xs:sequence> + </xs:complexType> + </xs:element> + <!-- exception (defined under constant, above) --> + <xs:element name="typename" substitutionGroup="idl-struct.class"> + <xs:complexType mixed="true"> + <xs:sequence> + <xs:element minOccurs="0" maxOccurs="unbounded" ref="phrase"/> + </xs:sequence> + <xs:attributeGroup ref="common.att"/> + </xs:complexType> + </xs:element> + <!-- ............................................................... --> + <!-- Phrase-level elements ......................................... --> + <!-- ............................................................... --> + <!-- #2000-03-07: maler: Added att and attval elements. --> + <!-- att: Attribute name. --> + <xs:element name="att" substitutionGroup="tech.class"> + <xs:complexType mixed="true"> + <xs:group minOccurs="0" maxOccurs="unbounded" ref="tech.pcd.mix"/> + <xs:attributeGroup ref="common.att"/> + </xs:complexType> + </xs:element> + <!-- attval: Attribute value. --> + <xs:element name="attval" substitutionGroup="tech.class"> + <xs:complexType mixed="true"> + <xs:group minOccurs="0" maxOccurs="unbounded" ref="tech.pcd.mix"/> + <xs:attributeGroup ref="common.att"/> + </xs:complexType> + </xs:element> + <!-- + bibref: Reference to a bibliography list entry; should + generate, in square brackets, "key" on bibl. + --> + <xs:element name="bibref" substitutionGroup="ref.class"> + <xs:complexType> + <xs:attributeGroup ref="common.att"/> + <xs:attributeGroup ref="ref-req.att"/> + </xs:complexType> + </xs:element> + <!-- + ref attribute: + A bibliography reference must link to the bibl element that + describes the resource. + --> + <xs:element name="code" substitutionGroup="tech.class"> + <xs:complexType mixed="true"> + <xs:group minOccurs="0" maxOccurs="unbounded" ref="tech.pcd.mix"/> + <xs:attributeGroup ref="common.att"/> + </xs:complexType> + </xs:element> + <!-- + #1998-03-10: maler: Declared ednote and related elements. + #1999-07-02: maler: Changed edtext content from #PCDATA to %p.pcd.mix;. + --> + <!-- ednote: Editorial note for communication among editors. --> + <xs:element name="ednote" substitutionGroup="ednote.class"/> + <xs:element name="date"> + <xs:complexType mixed="true"> + <xs:sequence> + <xs:element minOccurs="0" maxOccurs="unbounded" ref="phrase"/> + </xs:sequence> + <xs:attributeGroup ref="common.att"/> + </xs:complexType> + </xs:element> + <xs:element name="edtext"> + <xs:complexType mixed="true"> + <xs:group minOccurs="0" maxOccurs="unbounded" ref="p.pcd.mix"/> + <xs:attributeGroup ref="common.att"/> + </xs:complexType> + </xs:element> + <!-- #2000-03-07: maler: Added el element. --> + <!-- el: Element type name (GI). --> + <xs:element name="el" substitutionGroup="tech.class"> + <xs:complexType mixed="true"> + <xs:group minOccurs="0" maxOccurs="unbounded" ref="tech.pcd.mix"/> + <xs:attributeGroup ref="common.att"/> + </xs:complexType> + </xs:element> + <!-- #2000-03-07: maler: Expanded emph to %p.pcd.mix;. --> + <xs:element name="emph" substitutionGroup="emph.class"> + <xs:complexType mixed="true"> + <xs:group minOccurs="0" maxOccurs="unbounded" ref="p.pcd.mix"/> + <xs:attributeGroup ref="common.att"/> + </xs:complexType> + </xs:element> + <!-- footnote: Both footnote content and call to footnote. --> + <xs:element name="footnote" substitutionGroup="annot.class"/> + <!-- + #2000-03-07: maler: Added function and gave it content of + # %tech.pcd.mix; instead of XPath's #PCDATA. + --> + <xs:element name="function" substitutionGroup="tech.class"> + <xs:complexType mixed="true"> + <xs:group minOccurs="0" maxOccurs="unbounded" ref="tech.pcd.mix"/> + <xs:attributeGroup ref="common.att"/> + </xs:complexType> + </xs:element> + <xs:element name="kw" substitutionGroup="tech.class"> + <xs:complexType mixed="true"> + <xs:group minOccurs="0" maxOccurs="unbounded" ref="tech.pcd.mix"/> + <xs:attributeGroup ref="common.att"/> + </xs:complexType> + </xs:element> + <!-- #1999-07-02: maler: Added show/actuate attributes and default values. --> + <!-- loc: Generic link to a Web resource, similar to HTML's A. --> + <xs:element name="loc" substitutionGroup="loc.class"/> + <!-- + href attribute: + The purpose of a loc element is to function as a A-like + hypertext link to a resource. (Ideally, the content of loc + will also mention the URI of the resource, so that readers of + the printed version will be able to locate the resource.) E.g.: + + <loc href="http://www.my.com/doc.htm">http://www.my.com/doc.htm</loc> + --> + <!-- + nt: Mention of a nonterminal in text, along with a link to + the production in the current document that defines it. + --> + <xs:element name="nt" substitutionGroup="tech.class"> + <xs:complexType mixed="true"> + <xs:sequence> + <xs:element minOccurs="0" maxOccurs="unbounded" ref="phrase"/> + </xs:sequence> + <xs:attributeGroup ref="common.att"/> + <xs:attributeGroup ref="def-req.att"/> + </xs:complexType> + </xs:element> + <!-- + def attribute: + The nonterminal must link to the production that defines + it. + --> + <!-- #2000-03-07: maler: Declared phrase. --> + <!-- + phrase: "Attribute hanger" for small bits of (e.g.) differenced + text in a paragraph or similar, when another element isn't handy. + Beware that its content model may allow more nested elements than + would normally be allowed in some contexts. + --> + <xs:element name="phrase" substitutionGroup="emph.class"> + <xs:complexType mixed="true"> + <xs:group minOccurs="0" maxOccurs="unbounded" ref="p.pcd.mix"/> + <xs:attributeGroup ref="common.att"/> + </xs:complexType> + </xs:element> + <!-- #2003-06-25: nwalsh: RFC2119 elements --> + <xs:element name="rfc2119" substitutionGroup="emph.class"> + <xs:complexType mixed="true"> + <xs:sequence> + <xs:element minOccurs="0" maxOccurs="unbounded" ref="phrase"/> + </xs:sequence> + <xs:attributeGroup ref="common.att"/> + </xs:complexType> + </xs:element> + <!-- #1998-03-10: maler: Declared quote. --> + <!-- quote: Scare quotes and other purely presentational quotes. --> + <xs:element name="quote" substitutionGroup="emph.class"> + <xs:complexType mixed="true"> + <xs:group minOccurs="0" maxOccurs="unbounded" ref="p.pcd.mix"/> + <xs:attributeGroup ref="common.att"/> + </xs:complexType> + </xs:element> + <!-- + specref: Reference to a div, olist item, prod, or issue + in the current document; should generate italic "[n.n], + Section Title" for div, "n" for numbered item, "[n]" for + production, or "Issue id" for issue. + --> + <xs:element name="specref" substitutionGroup="ref.class"> + <xs:complexType> + <xs:attributeGroup ref="common.att"/> + <xs:attributeGroup ref="ref-req.att"/> + </xs:complexType> + </xs:element> + <!-- + ref attribute: + The purpose of a specref element is to link to a div, item + in an olist, or production in the current spec. + --> + <!-- #2000-03-07: maler: Added sub and sup. --> + <!-- sub: Subscript. --> + <xs:element name="sub" substitutionGroup="emph.class"> + <xs:complexType mixed="true"> + <xs:sequence> + <xs:element minOccurs="0" maxOccurs="unbounded" ref="phrase"/> + </xs:sequence> + <xs:attributeGroup ref="common.att"/> + </xs:complexType> + </xs:element> + <!-- sup: Superscript. --> + <xs:element name="sup" substitutionGroup="emph.class"> + <xs:complexType mixed="true"> + <xs:sequence> + <xs:element minOccurs="0" maxOccurs="unbounded" ref="phrase"/> + </xs:sequence> + <xs:attributeGroup ref="common.att"/> + </xs:complexType> + </xs:element> + <!-- term: The term in text that is being defined in text. --> + <xs:element name="term" substitutionGroup="termdef.class"> + <xs:complexType mixed="true"> + <xs:sequence> + <xs:element minOccurs="0" maxOccurs="unbounded" ref="phrase"/> + </xs:sequence> + <xs:attributeGroup ref="common.att"/> + </xs:complexType> + </xs:element> + <!-- termdef: Definition of a term in text. --> + <xs:element name="termdef" substitutionGroup="termdef.class"> + <xs:complexType mixed="true"> + <xs:choice minOccurs="0" maxOccurs="unbounded"> + <xs:group ref="termdef.pcd.mix"/> + <xs:group ref="termdef.mix"/> + </xs:choice> + <xs:attributeGroup ref="common-idreq.att"/> + <xs:attribute name="term" use="required"/> + </xs:complexType> + </xs:element> + <!-- + ID attribute: + A term definition must have an ID so that it can be linked + to from termref elements. + --> + <!-- + term attribute: + The canonical form of the term or phrase being defined must + appear in this attribute, even if the term or phrase also + appears in the element content in identical form (e.g., in + the term element). + --> + <!-- + termref: Mention of a term, along with a link to the + definition in the current document. + --> + <xs:element name="termref" substitutionGroup="ref.class"> + <xs:complexType mixed="true"> + <xs:sequence> + <xs:element minOccurs="0" maxOccurs="unbounded" ref="phrase"/> + </xs:sequence> + <xs:attributeGroup ref="common.att"/> + <xs:attributeGroup ref="def-req.att"/> + </xs:complexType> + </xs:element> + <!-- + ref attribute: + A term reference must link to the termdef element that + defines the term. + --> + <!-- #1999-07-02: maler: Added show/actuate attributes and default values. --> + <!-- + titleref: Citation of another document, which can also + link to that document if it is a Web resource. + --> + <xs:element name="titleref" substitutionGroup="ref.class"> + <xs:complexType mixed="true"> + <xs:sequence> + <xs:element minOccurs="0" maxOccurs="unbounded" ref="phrase"/> + </xs:sequence> + <xs:attributeGroup ref="common.att"/> + <xs:attributeGroup ref="simple-xlink.att"/> + <xs:attributeGroup ref="href.att"/> + <xs:attributeGroup ref="user-new.att"/> + </xs:complexType> + </xs:element> + <!-- + href attribute: + A title reference can optionally function as a hypertext + link to the resource with this title. E.g.: + + <loc href="http://www.my.com/doc.htm">http://www.my.com/doc.htm</loc> + --> + <!-- #2000-03-07: maler: Added var. --> + <!-- + var: String standing for a variable value that the user + or system will supply. For example: "For each node + <var>x</var> in this node-set..." + --> + <xs:element name="var" substitutionGroup="tech.class"> + <xs:complexType mixed="true"> + <xs:group minOccurs="0" maxOccurs="unbounded" ref="tech.pcd.mix"/> + <xs:attributeGroup ref="common.att"/> + </xs:complexType> + </xs:element> + <!-- #1999-07-02: maler: Added show/actuate attributes and default values. --> + <!-- + xnt: Mention of a nonterminal in text, along with a link to + the production in another document that defines it. + --> + <xs:element name="xnt" substitutionGroup="tech.class"> + <xs:complexType mixed="true"> + <xs:sequence> + <xs:element minOccurs="0" maxOccurs="unbounded" ref="phrase"/> + </xs:sequence> + <xs:attributeGroup ref="common.att"/> + <xs:attributeGroup ref="simple-xlink.att"/> + <xs:attributeGroup ref="href-req.att"/> + <xs:attributeGroup ref="user-new.att"/> + </xs:complexType> + </xs:element> + <!-- + href attribute: + The nonterminal must hyperlink to a resource that serves + to define it (e.g., a production in a related XML + specification). E.g.: + + <xnt href="http://www.w3.org/TR/spec.htm#prod3">Name</xnt> + --> + <!-- + #1997-12-29: maler: Declared xspecref. + #1999-07-02: maler: Added show/actuate attributes and default values. + --> + <!-- + xspecref: Reference to a div, olist item, prod, or issue + in a related specification document; should generate + no special text. + --> + <xs:element name="xspecref" substitutionGroup="ref.class"> + <xs:complexType mixed="true"> + <xs:sequence> + <xs:element minOccurs="0" maxOccurs="unbounded" ref="phrase"/> + </xs:sequence> + <xs:attributeGroup ref="common.att"/> + <xs:attributeGroup ref="simple-xlink.att"/> + <xs:attributeGroup ref="href-req.att"/> + <xs:attributeGroup ref="user-new.att"/> + </xs:complexType> + </xs:element> + <!-- + href attribute: + The spec reference must hyperlink to the resource to + cross-refer to (e.g., a section in a related XML + specification). E.g.: + + <xspecref href="http://www.w3.org/TR/spec.htm#sec2"> + the section on constraints</xspecref> + --> + <!-- #1999-07-02: maler: Added show/actuate attributes and default values. --> + <!-- + termref: Mention of a term, along with a link to the + definition in a related document. + --> + <xs:element name="xtermref" substitutionGroup="ref.class"> + <xs:complexType mixed="true"> + <xs:sequence> + <xs:element minOccurs="0" maxOccurs="unbounded" ref="phrase"/> + </xs:sequence> + <xs:attributeGroup ref="common.att"/> + <xs:attributeGroup ref="simple-xlink.att"/> + <xs:attributeGroup ref="href-req.att"/> + <xs:attributeGroup ref="user-new.att"/> + </xs:complexType> + </xs:element> + <!-- + href attribute: + The term reference must hyperlink to the resource that + serves to define the term (e.g., a term definition in + a related XML specification). E.g.: + + <xtermref href="http://www.w3.org/TR/spec.htm#term5"> + entity + </xtermref> + --> + <!-- ............................................................... --> + <!-- Unused elements for ADEPT ..................................... --> + <!-- ............................................................... --> + <!-- + #1997-09-30: maler: Added unusued elements. + #1997-10-14: maler: Fixed div to move nested div to the mixture. + #1998-05-14: maler: Added key-term, htable, and htbody. + #1998-11-30: maler: Added para, listitem, itemizedlist, and orderedlist. + --> + <!-- + The following elements are purposely declared but never + referenced. Declaring them allows them to be pasted from + an HTML document, an earlier version of an XMLspec document, + or a DocBook document into a document using this DTD in ADEPT. + The ATD Context Transformation mechanism will try to convert + them to the appropriate element for this DTD. While this + conversion will not work for all fragments, it does allow many + cases to work reasonably well. + --> + <xs:element name="div"> + <xs:complexType> + <xs:sequence> + <xs:element minOccurs="0" ref="head"/> + <xs:choice minOccurs="0" maxOccurs="unbounded"> + <xs:group ref="div.mix"/> + <xs:element ref="ul"/> + <xs:element ref="ol"/> + <xs:element ref="h1"/> + <xs:element ref="h2"/> + <xs:element ref="h3"/> + <xs:element ref="h4"/> + <xs:element ref="h5"/> + <xs:element ref="h6"/> + <xs:element ref="div"/> + </xs:choice> + </xs:sequence> + </xs:complexType> + </xs:element> + <xs:element name="h1"> + <xs:complexType mixed="true"> + <xs:choice minOccurs="0" maxOccurs="unbounded"> + <xs:group ref="head.pcd.mix"/> + <xs:element ref="em"/> + <xs:element ref="a"/> + </xs:choice> + </xs:complexType> + </xs:element> + <xs:element name="h2"> + <xs:complexType mixed="true"> + <xs:choice minOccurs="0" maxOccurs="unbounded"> + <xs:group ref="head.pcd.mix"/> + <xs:element ref="em"/> + <xs:element ref="a"/> + </xs:choice> + </xs:complexType> + </xs:element> + <xs:element name="h3"> + <xs:complexType mixed="true"> + <xs:choice minOccurs="0" maxOccurs="unbounded"> + <xs:group ref="head.pcd.mix"/> + <xs:element ref="em"/> + <xs:element ref="a"/> + </xs:choice> + </xs:complexType> + </xs:element> + <xs:element name="h4"> + <xs:complexType mixed="true"> + <xs:choice minOccurs="0" maxOccurs="unbounded"> + <xs:group ref="head.pcd.mix"/> + <xs:element ref="em"/> + <xs:element ref="a"/> + </xs:choice> + </xs:complexType> + </xs:element> + <xs:element name="h5"> + <xs:complexType mixed="true"> + <xs:choice minOccurs="0" maxOccurs="unbounded"> + <xs:group ref="head.pcd.mix"/> + <xs:element ref="em"/> + <xs:element ref="a"/> + </xs:choice> + </xs:complexType> + </xs:element> + <xs:element name="h6"> + <xs:complexType mixed="true"> + <xs:choice minOccurs="0" maxOccurs="unbounded"> + <xs:group ref="head.pcd.mix"/> + <xs:element ref="em"/> + <xs:element ref="a"/> + </xs:choice> + </xs:complexType> + </xs:element> + <xs:element name="pre"> + <xs:complexType mixed="true"> + <xs:choice minOccurs="0" maxOccurs="unbounded"> + <xs:group ref="eg.pcd.mix"/> + <xs:element ref="em"/> + </xs:choice> + </xs:complexType> + </xs:element> + <xs:element name="ul"> + <xs:complexType> + <xs:choice minOccurs="0" maxOccurs="unbounded"> + <xs:element ref="item"/> + <xs:element ref="li"/> + </xs:choice> + </xs:complexType> + </xs:element> + <xs:element name="ol"> + <xs:complexType> + <xs:choice minOccurs="0" maxOccurs="unbounded"> + <xs:element ref="item"/> + <xs:element ref="li"/> + </xs:choice> + </xs:complexType> + </xs:element> + <xs:element name="li"> + <xs:complexType mixed="true"> + <xs:group minOccurs="0" maxOccurs="unbounded" ref="obj.mix"/> + </xs:complexType> + </xs:element> + <xs:element name="em" type="xs:string"/> + <xs:element name="a" type="xs:string"/> + <xs:element name="key-term" type="xs:string"/> + <xs:element name="htable"> + <xs:complexType> + <xs:sequence> + <xs:element minOccurs="0" ref="caption"/> + <xs:choice> + <xs:element minOccurs="0" maxOccurs="unbounded" ref="col"/> + <xs:element minOccurs="0" maxOccurs="unbounded" ref="colgroup"/> + </xs:choice> + <xs:element minOccurs="0" ref="thead"/> + <xs:element minOccurs="0" ref="tfoot"/> + <xs:element maxOccurs="unbounded" ref="tbody"/> + </xs:sequence> + </xs:complexType> + </xs:element> + <xs:element name="htbody"> + <xs:complexType> + <xs:sequence> + <xs:element maxOccurs="unbounded" ref="tr"/> + </xs:sequence> + </xs:complexType> + </xs:element> + <xs:element name="statusp"> + <xs:complexType mixed="true"> + <xs:choice minOccurs="0" maxOccurs="unbounded"> + <xs:group ref="p.pcd.mix"/> + <xs:group ref="p.mix"/> + </xs:choice> + </xs:complexType> + </xs:element> + <xs:element name="itemizedlist"> + <xs:complexType> + <xs:sequence> + <xs:element minOccurs="0" maxOccurs="unbounded" ref="listitem"/> + </xs:sequence> + </xs:complexType> + </xs:element> + <xs:element name="orderedlist"> + <xs:complexType> + <xs:sequence> + <xs:element minOccurs="0" maxOccurs="unbounded" ref="listitem"/> + </xs:sequence> + </xs:complexType> + </xs:element> + <xs:element name="listitem"> + <xs:complexType> + <xs:sequence> + <xs:element minOccurs="0" maxOccurs="unbounded" ref="para"/> + </xs:sequence> + </xs:complexType> + </xs:element> + <xs:element name="para" type="xs:string"/> +</xs:schema> +<!-- ............................................................... --> +<!-- Change history ................................................ --> +<!-- ............................................................... --> +<!-- + #This revision history is no longer being maintained. See the CVS log + #for detailed revisions history. + ##################################################################### + #1997-08-18: maler + #- Did a major revision. + #1997-09-10: maler + #- Updated FPI. + #- Removed namekey element and put key attribute on name element. + #- Made statusp element and supporting entities. + #- Added slist element with sitem+ content. + #- Required head on scrap and added new bnf subelement. + #- Added an xnt element and allowed it and nt in regular text and rhs. + #- Removed the ntref element. + #- Added back the com element to the content of rhs. + #- Added a key attribute to bibl. + #- Removed the ident element. + #- Added a term element to be used inside termdef. + #- Added an xtermref element parallel to termref. + #- Beefed up DTD comments. + #1997-09-12: maler + #- Allowed term element in general text. + #- Changed bibref to EMPTY. + #- Added ref.class to termdef.pcd.mix. + #1997-09-14: maler + #- Changed main attribute of xtermref from def to href. + #- Added termdef.class to label contents. + #1997-09-30: maler + #- Added character entity module and added new entities. + #- Removed p from appearing directly in self; created %p.mix;. + #- Added inform-div (non-normative division) element. + #- Fixed xtermref comment to mention href, not ref. + #- Extended orglist model to allow optional affiliation. + #- Modified author to make affiliation optional. + #- Added %speclist.class; and %note.class; to %obj.mix; and %p.mix;. + #- Added %note.class; and %illus.class; to %termdef.pcd.mix;. + #- Added unused HTML elements. + #- Put empty system ID next to public ID in entity declarations. + #1997-10-14: maler + #- Fixed "unused" div content model to move nested div to mixture. + #1997-10-16: maler + #- Added SGML Open Exchange tables. + #1997-11-28: maler + #- Added support for prodgroup and its attributes. + #- Added support for HTML tables. + #- Added loc and bibref to content of com. + #- Added loc to general p content models. + #- Allowed p as alternative to statusp in status. + #- Added non-null system IDs to external parameter entity declarations. + #- (Modified the SGML Open table module to make it XML-compliant.) + #- (Modified the character entity module.) + #1997-12-29: maler + #- Moved #PCDATA occurrences to come before GIs in content models. + #- Removed use of the SGML Open table module. + #- Added xspecref element. + #- Ensured that all FPIs contain 4-digit year. + #- (Modified the character entity module.) + #1998-03-10: maler + #- Merged the character entity and table modules into the main file. + #- Added ldquo and rdquo entities. + #- Added common attributes to prodgroup. + #- Made the email element in header optional. + #- Removed reference to the SGML Open table model. + #- Added ednote element. + #- Added quote element. + #- Updated XLink usage to reflect 3 March 1998 WD. + #- Added "local" entities to the class entities for customization. + #- Parameterized several content models to allow for customization. + #1998-03-23: maler + #- Cleaned up some comments and removed some others. + #- Added xml:space semi-common attribute to eg and bnf elements. + #- Added show and embed attributes on all the uses of href. + #- Added %common.att; to all HTML table elements. + #- Added a real URI to the "typical invocation" comment. + #1998-05-14: maler + #- Fixed mdash, ldquo, and rdquo character entities. + #- Switched to the full HTML 4.0 table model. + #- Removed htable/htbody elements and replaced them with table/tbody. + #- Added issue element to %note.class; and declared it. + #- Allowed prevlocs and latestloc in either order. + #- Added key-term, htable, htbody, and statusp as unused elements. + #- Removed real statusp element in favor of plain p. + #1998-05-21: maler + #- Declared generic constraint and constraintnote elements. + #- Added constraintnote to %note.class;. + #- Added constraint to %eg.pcd.mix; and prod content model. + #1998-08-22: maler + #- Fixed %illus.class; to mention table instead of htable. + #- Added definitions to %illus.class; for DOM model. + #- Added DOM definitions element and its substructure. + #- Updated XLink usage in %href.att; to use xlink:form and #IMPLIED. + #- Added clarifying comments to href-using elements. + #1998-11-30: maler + #- Added new unused elements to support DocBook translation. + #- Updated maler phone numbers. + #1998-12-3: maler + #- Fixed character entities with respect to escaping of ampersands. + #- Added many more explanatory comments. + #1999-07-02: maler + #- Added %loc.class; to all PCD mixes that didn't already have it. + #- Removed unused %loc.pcd.mix;. + #- Made version in spec header optional. + #- Added three new attributes to spec. + #- Broadened content of edtext. + #- Added optional copyright element to header. + #- Reorganized XLink-related parameter entities; added xmlns:xlink. + #- Changed edtext content from #PCDATA to %p.pcd.mix;. + #- Added show/actuate atts and default values to all href elements. + #- Changed versioning scheme from 8-digit dates to version numbers. + #- Added w3c-doctype, other-doctype, status atts to spec element. + #- Added prodrecap element inside scrap. + #- Added headstyle attribute to scrap. + #2000-03-07: maler + #- Added proto element, its arg subelement, and the %argtypes; entity. + #- Added function, var, sub, sup, phrase, el, att, attval elements. + #- Expanded emph to %p.pcd.mix;. + #- Allowed status and abstract to appear in the opposite order. + #- Updated XLink usage to the latest WD, except for href and source. + #- Removed the xml:attributes attribute from graphic. + #- Added %local.graphic.att; to graphic. + #- Added common diff attribute. + #- Added div5 element. + #- Broadened content models of publoc, prevlocs, and latestloc. + #- Added head, source, resolution, and status attribute to issue. + #- Added cr, issues, and dispcmts to w3c-doctype attribute on spec. + #- Added example element. +--> +<!-- ............................................................... --> +<!-- End of XML specification DTD .................................. --> +<!-- ............................................................... --> |