home *** CD-ROM | disk | FTP | other *** search
/ PC World 2001 January / PCWorld_2001-01_cd.bin / Software / Topware / xmlspy / xmlspy35.exe / Main / gra_dtd.txt < prev    next >
Encoding:
Text File  |  2000-11-20  |  10.3 KB  |  115 lines

  1. extSubset        ::= xmlDecl? extSubsetDecl                                                    >DTD Document
  2. xmlDecl$        ::=    '<?xml' versionInfo? encodingDecl S? '?>'                            >XML Declaration (<?xml...?>)
  3. versionInfo$    ::= S 'version' Eq ( ( '"' VersionNum '"' ) | ( "'" VersionNum "'" ) )    >Version Info (version="1.0")
  4. VersionNum        ::= ([a-zA-Z0-9_.:] | '-')+                                                >Version Number (1.0)
  5. encodingDecl$    ::= S 'encoding' Eq ( ( '"' EncName '"' ) | ( "'" EncName "'" ) )        >Encoding Declaration (encoding="...")
  6. EncName            ::= [A-Za-z] ([A-Za-z0-9._] | '-')*                                        >Encoding Name (UTF-8, ISO-8859-1, etc)
  7. extSubsetDecl    ::= (markupdecl | DocTypeText | S)+                                        >Markup Declaration or Parameter-entity Reference
  8. DocTypeText        ::= PEReference+ | conditionalSect                                        >Parameter-entity Reference or Conditional Section
  9. markupdecl        ::=    elementdecl | attlistDecl | entityDecl | notationDecl | pi | comment    >Declaration for Element, Attribute List, Entity, or Notation
  10. Eq!                ::=    S? '=' S?                                                            >Equal sign ('=')
  11. elementdecl$    ::= '<!ELEMENT' S ElementDeclName S elementSpec                            >Element Declaration (<!ELEMENT...>)
  12. ElementDeclName$    ::= NameOrPERef                                                        >Element Name
  13. elementSpec$    ::= ( elementSpecFormatted '>' ) | ( elementSpecUnformatted    '>' )        >Element Content Specification ('EMPTY' | 'ANY' | Mixed | Children | PEReference)
  14. elementSpecFormatted$   ::= S? (elementText | elementMixed | elementChildren) S?        >Element Content Specification ('EMPTY' | 'ANY' | Mixed | Children | PEReference)
  15. elementSpecUnformatted$ ::= ([^%<>])* PEReference ([^%<>] | PEReference )*                >Element Content Specification ('EMPTY' | 'ANY' | Mixed | Children | PEReference)
  16. elementText$        ::= ElementEMPTY | ElementANY | ElementPCDATA | ElementPERef        >Element Content Specification ('EMPTY' | 'ANY' | (#PCData) | PEReference)
  17. ElementEMPTY$    ::= 'EMPTY'                                                                >Element Content Specification ('EMPTY')
  18. ElementANY$        ::= 'ANY'                                                                >Element Content Specification ('ANY'  )
  19. ElementPCDATA$    ::= '(' S? '#PCDATA' S? ')' '*'?                                        >Element Content Specification '(#PCDATA)'
  20. ElementPERef$    ::= PEReference                                                            >Parameter-entity Reference (%PE;)
  21. elementChildren$    ::= (elementSeq | elementChoice) ElementRepeat?                            >Children (Choice | Sequence)
  22. ElementRepeat$    ::= ('?' | '*' | '+')?                                                        >'?' | '*' | '+'
  23. elementChoice$    ::= '(' elementChoiceI ')'                                                >Choice ( a | b | c )
  24. elementChoiceI$    ::= S? elementGroup ( S? '|' S? elementGroup )* S?                        >Choice ( a | b | c )
  25. elementGroup$    ::= (ElementSubName | elementChoice | elementSeq) ElementRepeat?        >Name, PEReference, Choice, or Sequence
  26. elementSeq$        ::= '(' elementSeqI ')'                                                    >Sequence ( a , b , c )
  27. elementSeqI$    ::= S? elementGroup ( S? ',' S? elementGroup )* S?                        >Sequence ( a , b , c )
  28. elementMixed$    ::=    '(' elementMixedI ')*'                                                >Mixed (#PCDATA | Name | PEReference)
  29. elementMixedI$    ::=    S? '#PCDATA' (S? '|' S? ElementSubName)* S?                            >Mixed (#PCDATA | Name | PEReference)
  30. ElementSubName$    ::= NameOrPERef                                                            >Element Name (Name | PEReference)
  31. attlistDecl$    ::=    '<!ATTLIST' S AttlistName attlistRest                                >Attribute List Declaration (<!ATTLIST...>)
  32. AttlistName$    ::= NameOrPERef                                                            >Attribute List Name
  33. attlistRest$    ::= ( (S attlistRestFormatted)? S?'>' ) | ( S attlistRestUnformatted '>' )        >Attribute Definitions
  34. attlistRestFormatted$   ::= attlistText                                                            >Attribute Definitions
  35. attlistRestUnformatted$ ::= ([^%<>])* PEReference ([^%<>] | PEReference )*                        >Attribute Definitions
  36. attlistText$    ::= ( attDef (S attDef?)* )                                                >Attribute Definitions
  37. attDef$            ::= ( (AttDefName Snocrlf attDefRest) | AttDefPERef | (AttDefName S attDefRest) )                            >Attribute Definition (Name Attribute-Type Default-Declaration)
  38. AttDefName$        ::= AttName | PEReference                                                >Attribute Name
  39. AttDefPERef$    ::= PEReference                                                            >Parameter-entity Reference (%PE;)
  40. attDefRest        ::= ( attType Snocrlf? attDefault ) | AttTypePERef | ( attType S? attDefault )                            >Attribute-Type
  41. attType$        ::= attTypeText | attTypeNotation | attTypeEnum                            >Attribute-Type (String-Type | Tokenized-Type | Enumerated-Type)
  42. attTypeText$    ::= AttTypeCDATA | AttTypeIDREFS | AttTypeIDREF | AttTypeID | AttTypeENTITY | AttTypeENTITIES | AttTypeNMTOKENS | AttTypeNMTOKEN | AttTypePERef            >Attribute-Type (String-Type | Tokenized-Type)
  43. AttTypeCDATA$    ::= 'CDATA'                                                                >String-Type (CDATA)
  44. AttTypeIDREFS$    ::= 'IDREFS'                                                            >Tokenized-Type (IDREFS)
  45. AttTypeIDREF$    ::= 'IDREF'                                                                >Tokenized-Type (IDREF)
  46. AttTypeID$        ::= 'ID'                                                                >Tokenized-Type (ID)
  47. AttTypeENTITY$    ::= 'ENTITY'                                                            >Tokenized-Type (ENTITY)
  48. AttTypeENTITIES$    ::= 'ENTITIES'                                                            >Tokenized-Type (ENTITIES)
  49. AttTypeNMTOKENS$    ::= 'NMTOKENS'                                                            >Tokenized-Type (NMTOKENS)
  50. AttTypeNMTOKEN$    ::= 'NMTOKEN'                                                            >Tokenized-Type (NMTOKEN)
  51. AttTypePERef$    ::= PEReference                                                            >Parameter-entity Reference (%PE;)
  52. attTypeNotation$    ::= 'NOTATION' S '(' attTypeNotI ')'                                >Notation-Type ( NOTATION '(' Name | Name | ... ')' )
  53. attTypeNotI$    ::= S? AttTypeNotName (S? '|' S? AttTypeNotName)* S?                    >Notation-List ( Name | Name | ...  )
  54. AttTypeNotName$    ::= NameOrPERef                                                            >Notation-Name ( (Letter | '_' | ':') (Name-Character)* )
  55. attTypeEnum$    ::= '(' S? AttTypeEnumName (S? '|' S? AttTypeEnumName)* S? ')'            >Enumeration ( '(' Nmtoken | Nmtoken | ... ')' )
  56. AttTypeEnumName$    ::= Nmtoken | PEReference                                            >Nmtoken (Name-Character+)
  57. attDefault$        ::= AttREQUIRED | AttIMPLIED | ((AttFIXED S)? attDefValue) | PEReference    >Default-Declaration (#REQUIRED | #IMPLIED | #FIXED "value")
  58. AttREQUIRED$    ::= '#REQUIRED'                                                            >Default-Declaration (#REQUIRED)
  59. AttIMPLIED$        ::= '#IMPLIED'                                                            >Default-Declaration (#IMPLIED)
  60. AttFIXED$        ::= '#FIXED'                                                            >Default-Declaration (#FIXED)
  61. attDefValue$    ::= attQValue                                                            >Default Attribute Value ("value" | 'value')
  62. AttName            ::=    Name                                                                >Attribute Name
  63. NameOrPERef        ::= Name | PEReference                                                    >Name or Parameter-entity Reference (%PE;)
  64. PEReference        ::= '%' Name ';'                                                        >Parameter-entity Reference (%PE;)
  65. entityDecl        ::= geDecl | peDecl                                                        >Entity Declaration (<!ENTITY...>)
  66. geDecl$            ::= '<!ENTITY' S GEName S GEDef S? '>'                                    >Entity Declaration (<!ENTITY...>)
  67. peDecl$            ::= '<!ENTITY' S PEName S PEDef S? '>'                                    >Entity Declaration (<!ENTITY...>)
  68. GEName            ::= Name                                                                >Entity Name
  69. PEName            ::= '%' S Name                                                            >Parameter-entity Name
  70. GEDef            ::= EntityQValue | (externalID NDataDecl?) | PEReference                >Entity Definition (Entity-Value | External-ID NData-Declaration)
  71. PEDef            ::= EntityQValue | externalID | PEReference                                >Parameter-entity Definition (Entity-Value | External-ID)
  72. externalID$        ::= (ExtIDNameSys S ExtIDTextSys) | (ExtIDNamePub S ExtIDTextPub)        >External-ID ('SYSTEM' System-Literal | 'PUBLIC' Pubid-Literal System-Literal)
  73. ExtIDNameSys    ::= 'SYSTEM'                                                            >'SYSTEM'
  74. ExtIDTextSys    ::= SystemLiteral | PEReference                                            >System-Literal
  75. ExtIDNamePub    ::= 'PUBLIC'                                                            >'PUBLIC'
  76. ExtIDTextPub    ::= ( PubidLiteral | PEReference ) S ( SystemLiteral | PEReference )    >Pubid-Literal System-Literal
  77. NDataDecl        ::= S 'NDATA' S Name                                                    >NData-Declaration ('NDATA' Name)
  78. notationDecl$    ::= '<!NOTATION' S NotationName S NotationText S? '>'                    >Notation-Declaration (<!NOTATION...>)
  79. NotationName    ::= NameOrPERef                                                            >Notation Name
  80. NotationText    ::= externalID | PublicID                                                >Extermal-ID or Public-ID
  81. PublicID        ::= 'PUBLIC' S PubidLiteral                                                >Public-ID ('PUBLIC' Pubid-Literal)
  82. S!                ::=    (#x20 | #x09  | #x0D | #x0A)+                                        >Whitespace (Blank, Tab, CR, LF)
  83. Snocrlf!        ::=    (#x20 | #x09)+                                                        >Whitespace excluding any new-line char
  84. Name            ::= (Letter | '_' | ':') (NameChar)*                                    >Name ( (Letter | '_' | ':') (Name-Character)* )
  85. NameChar        ::= Letter | Digit | '.' | '-' | '_' | ':'                                >Name-Character (Letter | Digit | '.' | '-' | '_' | ':')
  86. Nmtoken            ::= NameChar+                                                            >Nmtoken (Name-Character+)
  87. EntityQValue    ::= ('"' EntityValue1 '"') | ("'" EntityValue2 "'")                        >Quoted Entity-Value
  88. EntityValue1    ::= ([^%&"] | PEReference | Reference)*                                    >Entity Value
  89. EntityValue2    ::= ([^%&'] | PEReference | Reference)*                                    >Entity Value
  90. attQValue        ::=    ('"' AttValue1 '"') | ("'" AttValue2 "'")                            >Quoted Attribute Value ("value" | 'value')
  91. AttValue1        ::= ([^<&"] | Reference)*                                                >Attribute Value
  92. AttValue2        ::= ([^<&'] | Reference)*                                                >Attribute Value
  93. Reference        ::= EntityRef | CharRef                                                    >Reference (Entity-Reference | Character-Reference)
  94. conditionalSect    ::= includeSect | ignoreSect | inclignSect                                >Conditional Section
  95. includeSect        ::= '<![' S? 'INCLUDE' S? '[' extSubsetDecl? ']]>'                        >Include Section
  96. ignoreSect        ::= '<![' S? 'IGNORE' S? '[' ignoreSectContents* ']]>'                    >Ignore Section
  97. inclignSect        ::= '<![' S? PEReference S? '[' ignoreSectContents* ']]>'                >Include or Ignore Section
  98. ignoreSectContents    ::= Ignore ('<![' ignoreSectContents ']]>' Ignore)*                    >Ignore Section Contents
  99. Ignore            ::= Char* / ( '<![' | ']]>' )                                            >Ignore
  100. CharRef            ::= ('&#' [0-9]+ ';') | ('&#x' [0-9a-fA-F]+ ';')                        >Character-Reference (Ù or ê)
  101. EntityRef        ::= '&' Name ';'                                                        >Entity-Reference (&Entity;)
  102. SystemLiteral    ::= ('"' [^"]* '"') | ("'" [^']* "'")                                    >System Literal
  103. PubidLiteral    ::= ('"' PubidChar* '"') | ("'" (PubidCharNoQu)* "'")                    >Pubid Literal
  104. PubidChar!        ::= #x20 | #x0D | #x0A | [a-zA-Z0-9] | [-'()+,./:=?;!*#@$_%]            >Pubid Character
  105. PubidCharNoQu!    ::= #x20 | #x0D | #x0A | [a-zA-Z0-9] | [-()+,./:=?;!*#@$_%]                >Pubid Character (no quotes)
  106. comment            ::=    '<!--' CommentText '-->'                                            >Comment (<!-- Text -->)
  107. CommentText        ::= (CharNoDash | ('-' CharNoDash))*                                    >Comment Text (may not contain '--')
  108. CharNoDash!        ::=    #x09 | #x0A | #x0D | [#x20-#x2C] | [#x2E-#xFF]                        >Character (no dash)
  109. pi$                ::= '<?' PITarget (S PIData)? '?>'                                        >Processing Instruction (<?pi...?>)
  110. PITarget        ::= Name - 'xml'                                                        >Processing Instruction Name (may not be 'xml')
  111. PIData            ::=    Char* / '?>'                                                        >Processing Instruction Data
  112. Char!            ::=    #x09 | #x0A | #x0D | [#x20-#xFF]                                    >Character
  113. Digit!            ::=    [#x30-#x39]                                                            >Digit ([0-9])
  114. Letter!            ::=    [#x41-#x5A] | [#x61-#x7A] | [#xC0-#xD6] | [#xD8-#xF6] | [#xF8-#xFF]    >Letter ([a-zA-Z], etc)
  115.