various Misc items where they can occur
    
  
     various satisfactions of the Names production in a NAMES
    attribute
    
  
     various valid Nmtoken 's in an attribute list declaration.
    
  
     various satisfaction of an NMTOKENS attribute value.
    
  
     valid EntityValue's.  Except for entity references,
              markup is not recognized.
    
  
     valid public IDs.
    
  
     XML decl and doctypedecl
    
  
     just doctypedecl
    
  
     S between decls is not required
    
  
    Empty-element tag must be used for element which are declared EMPTY.     
  
    Valid doctypedecl with Parameter entity reference.  The declaration of a parameter entity must precede any reference to it.     
  
    Valid doctypedecl with ExternalID as an External Entity declaration.     
  
    Valid doctypedecl with ExternalID as an External Entity.  A parameter entity reference is also used.     
  
     Valid types of markupdecl.
    
  
    Valid doctypedecl with ExternalID as an External Entity.  The external entity has an element declaration.     
  
    Valid doctypedecl with ExternalID as an Enternal Entity.  The external entity begins with a Text Declaration.     
  
     external subset can be empty
    
  
    Valid doctypedecl with EXternalID as Enternal Entity.  The external entity contains a parameter entity reference and condtional sections.
  
    Valid use of character data, comments, processing instructions and CDATA sections within the start and end tag.     
  
     valid element declarations
    
  
    Valid use of contentspec, element content models, and mixed content within an element type declaration.     
  
    Valid use of contentspec, element content models, choices, sequences and content particles within an element type declaration.  The optional character following a name or list governs the number of times the element or content particle may appear.     
  
    Valid use of contentspec, element content models, choices, sequences and content particles within an element type declaration.  The optional character following a name or list governs the number of times the element or content particle may appear.    
  
    Valid use of contentspec, element content models, choices, and content particles within an element type declaration.  The optional character following a name or list governs the number of times the element or content particle may appear.  Whitespace is also valid between choices.   
  
    Valid use of contentspec, element content models, sequences and content particles within an element type declaration.  The optional character following a name or list governs the number of times the element or content particle may appear.  Whitespace is also valid between sequences.   
  
     valid Mixed contentspec's.
    
  
     valid AttlistDecls: No AttDef's are required,
    and the terminating
          S is optional, multiple ATTLISTS per element are OK, and multiple
          declarations of the same attribute are OK.
    
  
     a valid AttDef
    
  
     the three kinds of attribute types
    
  
     StringType = "CDATA"
    
  
     the 7 tokenized attribute types
    
  
     enumerated types are NMTOKEN or NOTATION lists
    
  
     NOTATION enumeration has on or more items
    
  
     NMTOKEN enumerations haveon or more items
    
  
     the four types of default values
    
  
     valid conditional sections are INCLUDE and IGNORE
    
  
     valid INCLUDE sections -- options S before and
    after keyword, sections can nest
    
  
     valid IGNORE sections
    
  
     IGNOREd sections ignore everything except section delimiters
    
  
     Valid entity references.  Also ensures that a charref to
          '&' isn't interpreted as an entity reference open delimiter
    
  
     Valid PEReferences.
    
  
     An EntityDecl is either a GEDecl or a PEDecl
    
  
     Valid GEDecls
    
  
     Valid PEDecls
    
  
     EntityDef is either Entity value or an external id,
    with an optional NDataDecl
    
  
     valid NDataDecls
    
  
     no prolog
    
  
     Misc items after the document
    
  
     all valid S characters
    
  
     names with all valid ASCII characters, and one from each
              other class in NameChar
    
  
     various valid Name constructions
    
  
     Requires at least one name.
    
  
     at least one Nmtoken is required.
    
  
     an invalid Nmtoken character.
    
  
     valid attribute values
    
  
     valid CharData
    
  
     valid comments
    
  
     File is well-formed, but not valid.  An XML document is valid if it has an associated document type declaration and 
     if the document complies with the constraints expressed in it.
    
  
    Valid form of Processing Instruction. Shows that whitespace character data is valid before end of processing instruction.     
  
    Valid form of Processing Instruction. Shows that whitespace character data is valid before end of processing instruction.     
  
    Valid form of Processing Instruction. Shows that whitespace character data is valid before end of processing instruction.     
  
     valid CDSect's.  Note that a CDStart in a CDSect is not
              recognized as such
    
  
     prolog can be empty
    
  
     XML declaration only
    
  
     XML decl and Misc
    
  
    Test shows a valid XML declaration along with version info.     
  
    Test shows a valid XML declaration along with encoding declaration.     
  
    Test shows a valid XML declaration along with Standalone Document Declaration.     
  
    Test shows a valid XML declaration, encoding declarationand Standalone Document Declaration.     
  
    Test shows a prolog that has the VersionInfo delimited by double quotes.     
  
    Test shows a prolog that has the VersionInfo delimited by single quotes.     
  
    Test shows whitespace is allowed in prolog before version info.     
  
    Test shows whitespace is allowed in prolog on both sides of equal sign.     
  
    Test shows whitespace is NOT necessary before or after equal sign of versioninfo.     
  
    Test shows whitespace can be used on both sides of equal sign of versioninfo.     
  
     The valid version number.  We cannot test others because
              a 1.0 processor is allowed to fail them.
    
  
    Comments are valid as the Misc part of the prolog.    
  
    Processing Instructions are valid as the Misc part of the prolog.     
  
    Whitespace is valid as the Misc part of the prolog.     
  
    A combination of comments, whitespaces and processing instructions are valid as the Misc part of the prolog.     
  
    Double quotes can be used as delimeters for the value of a Standalone Document Declaration.     
  
    Single quotes can be used as delimeters for the value of a Standalone Document Declaration.     
  
    Empty element tag may be used for any element which has no content.     
  
    Character data is valid element content.     
  
    Elements content can be empty.     
  
    Whitespace is valid within a Start-tag.     
  
    Attributes are valid within a Start-tag.    
  
    Whitespace and Multiple Attributes are valid within a Start-tag.     
  
    Attributes are valid within a Start-tag.     
  
    Whitespace is valid within a Start-tags Attribute.    
  
    Test shows proper syntax for an End-tag.    
  
    Whitespace is valid after name in End-tag.     
  
    Valid display of an Empty Element Tag.    
  
    Empty Element Tags can contain an Attribute.    
  
    Whitespace is valid in an Empty Element Tag following the end of the attribute value.     
  
    Whitespace is valid after the name in an Empty Element Tag.     
  
    Whitespace and Multiple Attributes are valid in an Empty Element Tag.    
  
     valid character references
    
  
     PEDef is either an entity value or an external id
    
  
     valid external identifiers
    
  
      Validity Constraint:  No duplicate tokens 
    
  
     S cannot occur before the prolog
    
  
     comments cannot occur before the prolog
    
  
     only one document element
    
  
     document element must be complete.
    
  
    Use of illegal character within XML document.     
  
    Use of illegal character within XML document.     
  
    Use of illegal character within XML document.     
  
    Use of illegal character within XML document.     
  
    Use of illegal character within XML document.     
  
    Use of illegal character within XML document.     
  
    Use of illegal character within XML document.     
  
    Use of illegal character within XML document.     
  
    Use of illegal character within XML document.     
  
    Use of illegal character within XML document.     
  
    Use of illegal character within XML document.     
  
    Use of illegal character within XML document.     
  
    Use of illegal character within XML document.     
  
    Use of illegal character within XML document.     
  
    Use of illegal character within XML document.     
  
    Use of illegal character within XML document.     
  
    Use of illegal character within XML document.     
  
    Use of illegal character within XML document.     
  
    Use of illegal character within XML document.     
  
    Use of illegal character within XML document.     
  
    Use of illegal character within XML document.     
  
    Use of illegal character within XML document.     
  
    Use of illegal character within XML document.     
  
    Use of illegal character within XML document.     
  
    Use of illegal character within XML document.     
  
    Use of illegal character within XML document.     
  
    Use of illegal character within XML document.     
  
    Use of illegal character within XML document.     
  
    Use of illegal character within XML document.     
  
    Use of illegal character within XML document.     
  
    Use of illegal character within XML document.     
  
    Use of illegal character within XML document.     
  
    Use of illegal character within XML document.     
  
    Use of illegal character within XML document.     
  
    Use of illegal character within XML document.     
  
    Use of illegal character within XML document.     
  
    Use of illegal character within XML document.     
  
    Use of illegal character within XML document.     
  
    Use of illegal character within XML document.     
  
    Use of illegal character within XML document.     
  
    Use of illegal character within XML document.     
  
    Use of illegal character within XML document.     
  
    Use of illegal character within XML document.     
  
    Use of illegal character within XML document.     
  
    Use of illegal character within XML document.     
  
    Use of illegal character within XML document.     
  
    Use of illegal character within XML document.     
  
    Use of illegal character within XML document.     
  
    Use of illegal character within XML document.     
  
    Use of illegal character within XML document.     
  
    Use of illegal character within XML document.     
  
    Use of illegal character within XML document.     
  
    Use of illegal character within XML document.     
  
    Use of illegal character within XML document.     
  
    Use of illegal character within XML document.     
  
    Use of illegal character within XML document.     
  
    Use of illegal character within XML document.     
  
    Use of illegal character within XML document.     
  
    Use of illegal character within XML document.     
  
    Name contains invalid character.    
  
    Name contains invalid character.    
  
    Name contains invalid character.    
  
     a Name cannot start with a digit
    
  
     a Name cannot start with a '.'
    
  
     a Name cannot start with a "-"
    
  
     a Name cannot start with a CombiningChar
    
  
     a Name cannot start with an Extender
    
  
     EntityValue excludes '%'
    
  
     EntityValue excludes '&'
    
  
     incomplete character reference
    
  
     quote types must match
    
  
     quote types must match
    
  
     attribute values exclude '<'
    
  
     attribute values exclude '&'
    
  
     quote types must match
    
  
     quote types must match
    
  
     cannot contain delimiting quotes
    
  
     '"' excluded
    
  
     '\' excluded
    
  
     entity references excluded
    
  
     '>' excluded
    
  
     '<' excluded
    
  
     built-in entity refs excluded
    
  
      The public ID has a tab character, which is disallowed
     
  
     '<' excluded
    
  
     '&' excluded
    
  
     "]]>" excluded
    
  
     comments can't end in '-'
    
  
     one comment per comment (contrasted with SGML)
    
  
     can't include 2 or more adjacent '-'s
    
  
     "xml" is an invalid PITarget
    
  
     a PITarget must be present
    
  
     no space before "CDATA"
    
  
     no space after "CDATA"
    
  
     CDSect's can't nest
    
  
     prolog must start with XML decl
    
  
     prolog must start with XML decl
    
  
     "xml" must be lower-case
    
  
     VersionInfo must be supplied
    
  
     VersionInfo must come first
    
  
     SDDecl must come last
    
  
     no SGML-type PIs
    
  
     quote types must match
    
  
     quote types must match
    
  
    Comment is illegal in VersionInfo.     
  
    Illegal character in VersionNum.     
  
    Illegal character in VersionNum.     
  
     References aren't allowed in Misc,
    even if they would resolve to valid Misc.
    
  
     only declarations in DTD.
    
  
     A processor must not pass unknown declaration types.
    
  
     An XML declaration is not the same as a TextDecl
    
  
     external subset excludes doctypedecl
    
  
     quote types must match
    
  
     quote types must match
    
  
     initial S is required
    
  
     quotes are required
    
  
     yes or no must be lower case
    
  
     start-tag requires end-tag
    
  
     end-tag requires start-tag
    
  
    XML documents contain one or more elements
  
     XML declarations must be correctly terminated 
  
     XML declarations must be correctly terminated 
  
     S is required between attributes
    
  
     tags start with names, not nmtokens
    
  
     tags start with names, not nmtokens
    
  
     no space before name
    
  
     quotes are required (contrast with SGML)
    
  
     attribute name is required (contrast with SGML)
    
  
     Eq required
    
  
     no space before name
    
  
     cannot end with "/>"
    
  
     no NET (contrast with SGML)
    
  
     no non-comment declarations
    
  
     no conditional sections
    
  
     no conditional sections
    
  
    Illegal space before Empty element tag.    
  
    Illegal space after Empty element tag.    
  
    Illegal comment in Empty element tag.    
  
    Whitespace required between attributes.    
  
    Duplicate attribute name is illegal.    
  
     ELEMENT must be upper case.
    
  
     S before contentspec is required.
    
  
     only one content spec
    
  
     no comments in declarations (contrast with SGML)
    
  
     no parens on declared content
    
  
     no inclusions (contrast with SGML)
    
  
     no exclusions (contrast with SGML)
    
  
     no space before occurrence
    
  
     single group
    
  
     can't be both declared and modeled
    
  
    Invalid operator '|' must match previous operator ','
  
    Illegal character '-' in Element-content model     
  
    Optional character must follow a name or list     
  
    Illegal space before optional character
  
    Illegal space before optional character    
  
    Illegal space before optional character     
  
    connectors must match     
  
    connectors must match     
  
     occurrence on #PCDATA group must be *
    
  
     occurrence on #PCDATA group must be *
    
  
     #PCDATA must come first
    
  
     occurrence on #PCDATA group must be *
    
  
     only '|' connectors
    
  
    Only '|' connectors and occurrence on #PCDATA group must be *     
  
     no nested groups
    
  
     A name is required
    
  
     A name is required
    
  
     S is required before default
    
  
     S is required before type
    
  
     type is required
    
  
     default is required
    
  
     name is requried
    
  
     don't pass unknown attribute types
    
  
     must be upper case
    
  
     no IDS type
    
  
     no NUMBER type
    
  
     no NAME type
    
  
     no ENTITYS type
- types must be upper case
    
  
    types must be upper case     
  
     no keyword for NMTOKEN enumeration
    
  
     at least one value required
    
  
     separator must be '|'
    
  
     notations are NAMEs, not NMTOKENs -- note:
    Leaving the invalid
          notation undeclared would cause a validating parser to fail without
          checking the name syntax, so the notation is declared with an
          invalid name.  A parser that reports error positions should report
          an error at the AttlistDecl on line 6, before reaching the notation
          declaration.
    
  
     NOTATION must be upper case
    
  
     S after keyword is required
    
  
     parentheses are require
    
  
     values are unquoted
    
  
     values are unquoted
    
  
     at least one required
    
  
     separator must be ","
    
  
     values are unquoted
    
  
     keywords must be upper case
    
  
     S is required after #FIXED
    
  
     only #FIXED has both keyword and value
    
  
     #FIXED required value
    
  
     only one default type
    
  
     no other types, including TEMP, which is valid in SGML
    
  
     INCLUDE must be upper case
    
  
     no spaces in terminating delimiter
    
  
     IGNORE must be upper case
    
  
     delimiters must be balanced
    
  
     section delimiters must balance
    
  
     section delimiters must balance
    
  
     terminating ';' is required
    
  
     no S after '&#'
    
  
     no hex digits in numeric reference
    
  
     only hex digits in hex references
    
  
     no references to non-characters
    
  
     no references to non-characters
    
  
     terminating ';' is required
    
  
     no S after '&'
    
  
     no S before ';'
    
  
     terminating ';' is required
    
  
     no S after '%'
    
  
     no S before ';'
    
  
     This is neither
    
  
     S is required before EntityDef
    
  
     Entity name is a Name, not an NMToken
    
  
     no S after "<!"
    
  
     S is required after "<!ENTITY"
    
  
     S is required after "<!ENTITY"
    
  
     S is required after '%'
    
  
     S is required after name
    
  
     Entity name is a name, not an NMToken
    
  
     No typed replacement text
    
  
     Only one replacement value
    
  
     No NDataDecl on replacement text
    
  
     Value is required
    
  
     No NDataDecl without value
    
  
     no NDataDecls on parameter entities
    
  
     value is required
    
  
     only one value
    
  
     S required after "PUBLIC"
    
  
     S required after "SYSTEM"
    
  
     S required between literals
    
  
     "SYSTEM" implies only one literal
    
  
     only one keyword
    
  
     "PUBLIC" requires two literals (contrast with SGML)
    
  
     S is required before "NDATA"
    
  
     "NDATA" is upper-case
    
  
     notation name is required
    
  
     notation names are Names
    
  
     system literals may not contain
    URI fragments