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

  1. document        ::=    prolog element misc*                                                >3DML Document
  2. prolog            ::=    xmlDecl? misc* (doctypedecl misc*)?                                    >Document Prolog (XML Declaration + Document Type)
  3. xmlDecl$        ::=    '<?xml' (S attribute)* S? '?>'                                        >XML Declaration (<?xml...?>)
  4. misc            ::=    comment | S                                                            >Comment or Whitespace
  5. doctypedecl$    ::=    '<!DOCTYPE' S DocTypeName (S externalID)? S? '>'                    >Document Type Declaration (<!DOCTYPE...>)
  6. DocTypeName        ::= Name                                                                >Document Type Name
  7. element            ::= emptyElemTag | realElemTag                                            >Element (<Element>...)
  8. realElemTag$    ::= sTag content eTag { ElementName = ElementNameEnd }                    >Element (<Element>...)
  9. sTag            ::=    '<' S? ElementName (S attribute)* S? '>'                            >Element Start Tag (<Element>)
  10. attribute$        ::=    AttName Eq attQValue                                                >Attribute (attribute="value")
  11. Eq!                ::=    S? '=' S?                                                            >Equal sign ('=')
  12. eTag            ::= '</' ElementNameEnd S? '>'                                            >Element End Tag (</Element>)
  13. content$        ::=    ( element | comment | TextData | S? )*                                >Element Content (Element | Comment | Text Data | Whitespace)
  14. TextData        ::= S* CharNoWhite CharData*                                            >Text Data
  15. emptyElemTag$    ::= '<' S? ElementName (S attribute)* S? '/>'                            >Empty Element (<Element/>)
  16. ElementName        ::= Name                                                                >Element Name
  17. ElementNameEnd    ::= Name                                                                >closing element name
  18. externalID$        ::= (ExtIDNameSys S ExtIDTextSys) | (ExtIDNamePub S ExtIDTextPub)        >External-ID ('SYSTEM' System-Literal | 'PUBLIC' Pubid-Literal System-Literal)
  19. ExtIDNameSys    ::= 'SYSTEM'                                                            >'SYSTEM'
  20. ExtIDTextSys    ::= SystemLiteral                                                        >System-Literal
  21. ExtIDNamePub    ::= 'PUBLIC'                                                            >'PUBLIC'
  22. ExtIDTextPub    ::= PubidLiteral S SystemLiteral                                        >Pubid-Literal System-Literal
  23. S!                ::=    (#x20 | #x09 | #x0D | #x0A)+                                        >Whitespace (Blank, Tab, CR, LF)
  24. AttName            ::=    Name                                                                >Attribute Name
  25. Name            ::= (Letter | '_' | ':') (NameChar)*                                    >Name ( (Letter | '_' | ':') (Name-Character)* )
  26. NameChar        ::= Letter | Digit | '.' | '-' | '_' | ':'                                >Name-Character (Letter | Digit | '.' | '-' | '_' | ':')
  27. attQValue        ::=    ('"' AttValue1 '"') | ("'" AttValue2 "'")                            >Quoted Attribute Value ("value" | 'value')
  28. AttValue1        ::= ([^<"])*                                                            >Attribute Value
  29. AttValue2        ::= ([^<'])*                                                            >Attribute Value
  30. SystemLiteral    ::= ('"' [^"]* '"') | ("'" [^']* "'")                                    >System Literal
  31. PubidLiteral    ::= ('"' PubidChar* '"') | ("'" (PubidCharNoQu)* "'")                    >Pubid Literal
  32. PubidChar!        ::= #x20 | #x0D | #x0A | [a-zA-Z0-9] | [-'()+,./:=?;!*#@$_%]            >Pubid Character
  33. PubidCharNoQu!    ::= #x20 | #x0D | #x0A | [a-zA-Z0-9] | [-()+,./:=?;!*#@$_%]                >Pubid Character (no quotes)
  34. CharData        ::=    [^<]                                                                >Character Data
  35. CharNoWhite!    ::=    [^<#x20#x09#x0D#x0A]                                                >Character (may not contain Whitespaces)
  36. comment            ::=    '<!--' CommentText '-->'                                            >Comment (<!-- Text -->)
  37. CommentText        ::= ((CharNoDash) | ('-' (CharNoDash)))*                                >Comment Text (may not contain '--')
  38. CharNoDash!        ::=    #x09 | #x0A | #x0D | [#x20-#x2C] | [#x2E-#xFF]                        >Character (no dash)
  39. Digit!            ::=    [#x30-#x39]                                                            >Digit ([0-9])
  40. Letter!            ::=    [#x41-#x5A] | [#x61-#x7A] | [#xC0-#xD6] | [#xD8-#xF6] | [#xF8-#xFF]    >Letter ([a-zA-Z], etc)
  41.  
  42.