home *** CD-ROM | disk | FTP | other *** search
/ CD Shareware Magazine 1999 April / CD_Shareware_Magazine_31.iso / WIN95 / INTERNET / xmlspy14.exe / XMLspy14.exe / file0009_55415_556df.bin < prev    next >
Encoding:
Text File  |  1999-02-05  |  1.7 KB  |  42 lines

  1. document        ::=    prolog element misc*
  2. prolog            ::=    xmlDecl? misc* (doctypedecl misc*)? 
  3. xmlDecl            ::=    '<?xml' (S attribute)* S? '?>' 
  4. misc            ::=    comment | S
  5. doctypedecl        ::=    '<!DOCTYPE' S DocTypeName (S externalID)? S? '>'
  6. DocTypeName        ::= Name
  7. element            ::= emptyElemTag | realElemTag
  8. realElemTag        ::= sTag content eTag { ElementName = ElementNameEnd }
  9. sTag            ::=    '<' S? ElementName (S attribute)* S? '>' 
  10. attribute        ::=    AttName Eq attQValue
  11. Eq!                ::=    S? '=' S? 
  12. eTag            ::= '</' ElementNameEnd S? '>'
  13. content            ::=    ( element | comment | TextData | S? )*
  14. TextData        ::= S* CharNoWhite CharData*
  15. emptyElemTag    ::= '<' S? ElementName (S attribute)* S? '/>'
  16. ElementName        ::= Name
  17. ElementNameEnd    ::= Name
  18. externalID        ::= (ExtIDNameSys S ExtIDTextSys) | (ExtIDNamePub S ExtIDTextPub)
  19. ExtIDNameSys    ::= 'SYSTEM'
  20. ExtIDTextSys    ::= SystemLiteral
  21. ExtIDNamePub    ::= 'PUBLIC'
  22. ExtIDTextPub    ::= PubidLiteral S SystemLiteral
  23. S!                ::=    (#x20 | #x09 | #x0D | #x0A)+
  24. AttName            ::=    Name
  25. Name            ::= (Letter | '_' | ':') (NameChar)*
  26. NameChar        ::= Letter | Digit | '.' | '-' | '_' | ':'
  27. attQValue        ::=    ('"' AttValue1 '"') | ("'" AttValue2 "'")
  28. AttValue1        ::= ([^<"])*
  29. AttValue2        ::= ([^<'])*
  30. SystemLiteral    ::= ('"' [^"]* '"') | ("'" [^']* "'") 
  31. PubidLiteral    ::= ('"' PubidChar* '"') | ("'" (PubidCharNoQu)* "'")
  32. PubidChar!        ::= #x20 | #x0D | #x0A | [a-zA-Z0-9] | [-'()+,./:=?;!*#@$_%]
  33. PubidCharNoQu!    ::= #x20 | #x0D | #x0A | [a-zA-Z0-9] | [-()+,./:=?;!*#@$_%]
  34. CharData        ::=    [^<]
  35. CharNoWhite!    ::=    [^<#x20#x09#x0D#x0A]
  36. comment            ::=    '<!--' CommentText '-->'
  37. CommentText        ::= ((CharNoDash) | ('-' (CharNoDash)))*
  38. CharNoDash!        ::=    #x09 | #x0A | #x0D | [#x20-#x2C] | [#x2E-#xFF]
  39. Digit!            ::=    [#x30-#x39]
  40. Letter!            ::=    [#x41-#xFF]
  41.  
  42.