Created
February 13, 2022 00:12
-
-
Save karfau/e224d99441b556007c4b01b4f5f2f981 to your computer and use it in GitHub Desktop.
XML1.1 DOCTYPE and ENTITIES expanded
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
/* | |
https://www.w3.org/TR/2006/REC-xml11-20060816/#NT-S | |
[3] S ::= (#x20 | #x9 | #xD | #xA)+ | |
https://www.w3.org/TR/2006/REC-xml11-20060816/#NT-Name | |
[4] NameStartChar ::= ":" | [A-Z] | "_" | [a-z] | [#xC0-#xD6] | [#xD8-#xF6] | [#xF8-#x2FF] | [#x370-#x37D] | [#x37F-#x1FFF] | [#x200C-#x200D] | [#x2070-#x218F] | [#x2C00-#x2FEF] | [#x3001-#xD7FF] | [#xF900-#xFDCF] | [#xFDF0-#xFFFD] | [#x10000-#xEFFFF] | |
[4a] NameChar ::= NameStartChar | "-" | "." | [0-9] | #xB7 | [#x0300-#x036F] | [#x203F-#x2040] | |
[5] Name ::= NameStartChar (NameChar)* | |
https://www.w3.org/TR/2006/REC-xml11-20060816/#NT-EntityValue | |
[9] EntityValue ::= '"' ([^%&"] | PEReference | Reference)* '"' | "'" ([^%&'] | PEReference | Reference)* "'" | |
> Note: | |
> Although the EntityValue production allows the definition of a general entity consisting of a single explicit < in the literal (e.g., <!ENTITY mylt "<">), it is strongly advised to avoid this practice since any reference to that entity will cause a well-formedness error. | |
https://www.w3.org/TR/2006/REC-xml11-20060816/#NT-SystemLiteral | |
[11] SystemLiteral ::= ('"' [^"]* '"') | ("'" [^']* "'") | |
[12] PubidLiteral ::= '"' PubidChar* '"' | "'" (PubidChar - "'")* "'" | |
[13] PubidChar ::= #x20 | #xD | #xA | [a-zA-Z0-9] | [-'()+,./:=?;!*#@$_%] | |
https://www.w3.org/TR/2006/REC-xml11-20060816/#NT-Comment | |
[15] Comment ::= '<!--' ((Char - '-') | ('-' (Char - '-')))* '-->' | |
https://www.w3.org/TR/2006/REC-xml11-20060816/#NT-PI | |
[16] PI ::= '<?' PITarget (S (Char* - (Char* '?>' Char*)))? '?>' | |
[17] PITarget ::= Name - (('X' | 'x') ('M' | 'm') ('L' | 'l')) | |
https://www.w3.org/TR/2006/REC-xml11-20060816/#NT-prolog | |
[22] prolog ::= XMLDecl Misc* (doctypedecl Misc*)? | |
[23] XMLDecl ::= '<?xml' VersionInfo EncodingDecl? SDDecl? S? '?>' | |
[24] VersionInfo ::= S 'version' Eq ("'" VersionNum "'" | '"' VersionNum '"') | |
[25] Eq ::= S? '=' S? | |
[26] VersionNum ::= '1.1' | |
[27] Misc ::= Comment | PI | S | |
https://www.w3.org/TR/2006/REC-xml11-20060816/#NT-doctypedecl | |
[28] doctypedecl ::= '<!DOCTYPE' S Name (S ExternalID)? S? ('[' intSubset ']' S?)? '>' | |
[28a] DeclSep ::= PEReference | S | |
[28b] intSubset ::= (markupdecl | DeclSep)* | |
[29] markupdecl ::= elementdecl | AttlistDecl | EntityDecl | NotationDecl | PI | Comment | |
https://www.w3.org/TR/2006/REC-xml11-20060816/#NT-SDDecl | |
[32] SDDecl ::= S 'standalone' Eq (("'" ('yes' | 'no') "'") | ('"' ('yes' | 'no') '"')) | |
https://www.w3.org/TR/2006/REC-xml11-20060816/#NT-elementdecl | |
[45] elementdecl ::= '<!ELEMENT' S Name S contentspec S? '>' | |
[46] contentspec ::= 'EMPTY' | 'ANY' | Mixed | children | |
https://www.w3.org/TR/2006/REC-xml11-20060816/#NT-AttlistDecl | |
[52] AttlistDecl ::= '<!ATTLIST' S Name AttDef* S? '>' | |
[53] AttDef ::= S Name S AttType S DefaultDecl | |
https://www.w3.org/TR/2006/REC-xml11-20060816/#NT-CharRef | |
[66] CharRef ::= '&#' [0-9]+ ';' | '&#x' [0-9a-fA-F]+ ';' | |
https://www.w3.org/TR/2006/REC-xml11-20060816/#NT-Reference | |
[67] Reference ::= EntityRef | CharRef | |
[68] EntityRef ::= '&' Name ';' | |
https://www.w3.org/TR/2006/REC-xml11-20060816/#NT-PEReference | |
[69] PEReference ::= '%' Name ';' | |
https://www.w3.org/TR/2006/REC-xml11-20060816/#sec-entity-decl | |
[70] EntityDecl ::= GEDecl | PEDecl | |
[71] GEDecl ::= '<!ENTITY' S Name S EntityDef S? '>' | |
[72] PEDecl ::= '<!ENTITY' S '%' S Name S PEDef S? '>' | |
[73] EntityDef ::= EntityValue | (ExternalID NDataDecl?) | |
[74] PEDef ::= EntityValue | ExternalID | |
https://www.w3.org/TR/2006/REC-xml11-20060816/#NT-ExternalID | |
[75] ExternalID ::= 'SYSTEM' S SystemLiteral | 'PUBLIC' S PubidLiteral S SystemLiteral | |
[76] NDataDecl ::= S 'NDATA' S Name | |
https://www.w3.org/TR/2006/REC-xml11-20060816/#NT-NotationDecl | |
[82] NotationDecl ::= '<!NOTATION' S Name S (ExternalID | PublicID) S? '>' | |
[83] PublicID ::= 'PUBLIC' S PubidLiteral | |
*/ | |
/// EXPAND DOWN TO `intSubset` and `Literals` | |
<!DOCTYPE `Name``(S ExternalID)?``S?``('[' intSubset ']' S?)?`> { | |
// with no option | |
<!DOCTYPE `Name``S?`> ! | |
||| | |
// with one option | |
<!DOCTYPE `Name` `ExternalID``S?`> { | |
<!DOCTYPE `Name` SYSTEM `SystemLiteral``S?`> { | |
<!DOCTYPE `Name` SYSTEM "`[^"]*`"`S?`> ! | |
||| | |
<!DOCTYPE `Name` SYSTEM '`[^']*`'`S?`> ! | |
} | |
||| | |
<!DOCTYPE `Name` PUBLIC `PubidLiteral` `SystemLiteral``S?`> { | |
<!DOCTYPE `Name` PUBLIC `PubidLiteral` "`[^"]*`"`S?`> { | |
<!DOCTYPE `Name` PUBLIC "`PubidChar*`" "`[^"]*`"`S?`> ! | |
||| | |
<!DOCTYPE `Name` PUBLIC '`(PubidChar - "'")*`' "`[^"]*`"`S?`> ! | |
} | |
||| | |
<!DOCTYPE `Name` PUBLIC `PubidLiteral` '`[^']*`'`S?`> { | |
<!DOCTYPE `Name` PUBLIC "`PubidChar*`" '`[^']*`'`S?`> ! | |
||| | |
<!DOCTYPE `Name` PUBLIC '`(PubidChar - "'")*`' '`[^']*`'`S?`> ! | |
} | |
} | |
} | |
||| | |
<!DOCTYPE `Name``S?`[`intSubset`]`S?`> ! | |
||| | |
// with two options | |
<!DOCTYPE `Name` `ExternalID``S?`[`intSubset`]`S?`> { | |
<!DOCTYPE `Name` SYSTEM `SystemLiteral``S?`[`intSubset`]`S?`>{ | |
<!DOCTYPE `Name` SYSTEM "`[^"]*`"`S?`[`intSubset`]`S?`> ! | |
||| | |
<!DOCTYPE `Name` SYSTEM '`[^']*`'`S?`[`intSubset`]`S?`> ! | |
} | |
||| | |
<!DOCTYPE `Name` PUBLIC `PubidLiteral` `SystemLiteral``S?`[`intSubset`]`S?`> { | |
<!DOCTYPE `Name` PUBLIC `PubidLiteral` "`[^"]*`"`S?`[`intSubset`]`S?`> { | |
<!DOCTYPE `Name` PUBLIC "`PubidChar*`" "`[^"]*`"`S?`[`intSubset`]`S?`> ! | |
||| | |
<!DOCTYPE `Name` PUBLIC '`(PubidChar - "'")*`' "`[^"]*`"`S?`[`intSubset`]`S?`> ! | |
} | |
||| | |
<!DOCTYPE `Name` PUBLIC `PubidLiteral` '`[^']*`'`S?`[`intSubset`]`S?`> { | |
<!DOCTYPE `Name` PUBLIC "`PubidChar*`" '`[^']*`'`S?`[`intSubset`]`S?`> ! | |
||| | |
<!DOCTYPE `Name` PUBLIC '`(PubidChar - "'")*`' '`[^']*`'`S?`[`intSubset`]`S?`> ! | |
} | |
} | |
} | |
} | |
/// JUST THE LEAVES | |
/// already supported | |
<!DOCTYPE `Name``S?`> | |
<!DOCTYPE `Name` SYSTEM "`[^"]*`"`S?`> | |
<!DOCTYPE `Name` SYSTEM '`[^']*`'`S?`> | |
<!DOCTYPE `Name` PUBLIC "`PubidChar*`" "`[^"]*`"`S?`> | |
<!DOCTYPE `Name` PUBLIC '`(PubidChar - "'")*`' "`[^"]*`"`S?`> | |
<!DOCTYPE `Name` PUBLIC "`PubidChar*`" '`[^']*`'`S?`> | |
<!DOCTYPE `Name` PUBLIC '`(PubidChar - "'")*`' '`[^']*`'`S?`> | |
/// newly supported | |
<!DOCTYPE `Name``S?`[`intSubset`]`S?`> | |
<!DOCTYPE `Name` SYSTEM "`[^"]*`"`S?`[`intSubset`]`S?`> | |
<!DOCTYPE `Name` SYSTEM '`[^']*`'`S?`[`intSubset`]`S?`> | |
<!DOCTYPE `Name` PUBLIC "`PubidChar*`" "`[^"]*`"`S?`[`intSubset`]`S?`> | |
<!DOCTYPE `Name` PUBLIC '`(PubidChar - "'")*`' "`[^"]*`"`S?`[`intSubset`]`S?`> | |
<!DOCTYPE `Name` PUBLIC "`PubidChar*`" '`[^']*`'`S?`[`intSubset`]`S?`> | |
<!DOCTYPE `Name` PUBLIC '`(PubidChar - "'")*`' '`[^']*`'`S?`[`intSubset`]`S?`> | |
/// unsupported |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
/* | |
https://www.w3.org/TR/2006/REC-xml11-20060816/#NT-S | |
[3] S ::= (#x20 | #x9 | #xD | #xA)+ | |
https://www.w3.org/TR/2006/REC-xml11-20060816/#NT-Name | |
[4] NameStartChar ::= ":" | [A-Z] | "_" | [a-z] | [#xC0-#xD6] | [#xD8-#xF6] | [#xF8-#x2FF] | [#x370-#x37D] | [#x37F-#x1FFF] | [#x200C-#x200D] | [#x2070-#x218F] | [#x2C00-#x2FEF] | [#x3001-#xD7FF] | [#xF900-#xFDCF] | [#xFDF0-#xFFFD] | [#x10000-#xEFFFF] | |
[4a] NameChar ::= NameStartChar | "-" | "." | [0-9] | #xB7 | [#x0300-#x036F] | [#x203F-#x2040] | |
[5] Name ::= NameStartChar (NameChar)* | |
https://www.w3.org/TR/2006/REC-xml11-20060816/#NT-EntityValue | |
[9] EntityValue ::= '"' ([^%&"] | PEReference | Reference)* '"' | "'" ([^%&'] | PEReference | Reference)* "'" | |
> Note: | |
> Although the EntityValue production allows the definition of a general entity consisting of a single explicit < in the literal (e.g., <!ENTITY mylt "<">), it is strongly advised to avoid this practice since any reference to that entity will cause a well-formedness error. | |
https://www.w3.org/TR/2006/REC-xml11-20060816/#NT-SystemLiteral | |
[11] SystemLiteral ::= ('"' [^"]* '"') | ("'" [^']* "'") | |
[12] PubidLiteral ::= '"' PubidChar* '"' | "'" (PubidChar - "'")* "'" | |
[13] PubidChar ::= #x20 | #xD | #xA | [a-zA-Z0-9] | [-'()+,./:=?;!*#@$_%] | |
https://www.w3.org/TR/2006/REC-xml11-20060816/#NT-CharRef | |
[66] CharRef ::= '&#' [0-9]+ ';' | '&#x' [0-9a-fA-F]+ ';' | |
https://www.w3.org/TR/2006/REC-xml11-20060816/#NT-Reference | |
[67] Reference ::= EntityRef | CharRef | |
[68] EntityRef ::= '&' Name ';' | |
https://www.w3.org/TR/2006/REC-xml11-20060816/#NT-PEReference | |
[69] PEReference ::= '%' Name ';' | |
https://www.w3.org/TR/2006/REC-xml11-20060816/#sec-entity-decl | |
[70] EntityDecl ::= GEDecl | PEDecl | |
[71] GEDecl ::= '<!ENTITY' S Name S EntityDef S? '>' | |
[72] PEDecl ::= '<!ENTITY' S '%' S Name S PEDef S? '>' | |
[73] EntityDef ::= EntityValue | (ExternalID NDataDecl?) | |
[74] PEDef ::= EntityValue | ExternalID | |
https://www.w3.org/TR/2006/REC-xml11-20060816/#NT-ExternalID | |
[75] ExternalID ::= 'SYSTEM' S SystemLiteral | 'PUBLIC' S PubidLiteral S SystemLiteral | |
[76] NDataDecl ::= S 'NDATA' S Name | |
*/ | |
/// EXPAND DOWN TO `Name` and `Literals` | |
`GEDecl | PEDecl` { | |
<!ENTITY `Name` `EntityDef``S?`> { | |
<!ENTITY `Name` `EntityValue | (ExternalID NDataDecl?)``S?`> { | |
<!ENTITY `Name` `EntityValue``S?`> { | |
<!ENTITY `Name` `'"' ([^%&"] | PEReference | Reference)* '"' | "'" ([^%&'] | PEReference | Reference)* "'"``S?`> { | |
<!ENTITY `Name` "`([^%&"] | %`Name`; | &`Name`; | &#`[0-9]+`; | &#x`[0-9a-fA-F]+`;)*`"`S?`> ! | |
| | |
<!ENTITY `Name` '`([^%&'] | %`Name`; | &`Name`; | &#`[0-9]+`; | &#x`[0-9a-fA-F]+`;)*`'`S?`> ! | |
// with every option just once: | |
<!ENTITY `Name` ""`S?`> || <!ENTITY `Name` ''`S?`> ! | |
<!ENTITY `Name` "`[^%&"]*`"`S?`> || <!ENTITY `Name` '`[^%&"]*`'`S?`> ! | |
<!ENTITY `Name` "%`Name`;"`S?`> || <!ENTITY `Name` '%`Name`;'`S?`> ! | |
<!ENTITY `Name` "&`Name`;"`S?`> || <!ENTITY `Name` '&`Name`;'`S?`> ! | |
<!ENTITY `Name` "&#`[0-9]+`;"`S?`> || <!ENTITY `Name` '&#`[0-9]+`;'`S?`> ! | |
<!ENTITY `Name` "&#x`[0-9a-fA-F]+`;"`S?`> || <!ENTITY `Name` '&#x`[0-9a-fA-F]+`;'`S?`> ! | |
} | |
} | |
||| | |
<!ENTITY `Name` `(ExternalID NDataDecl?)``S?`> { | |
<!ENTITY `Name` `ExternalID``S?`> { | |
<!ENTITY `Name` `'SYSTEM' S SystemLiteral | 'PUBLIC' S PubidLiteral S SystemLiteral``S?`> { | |
<!ENTITY `Name` SYSTEM `SystemLiteral``S?`> { | |
<!ENTITY `Name` SYSTEM "`[^"]*`"`S?`> ! | |
|| | |
<!ENTITY `Name` SYSTEM '`[^']*`'`S?`> ! | |
} | |
||| | |
<!ENTITY `Name` PUBLIC `PubidLiteral` `SystemLiteral``S?`> { | |
<!ENTITY `Name` PUBLIC `PubidLiteral` SYSTEM "`[^"]*`"`S?`> { | |
<!ENTITY `Name` PUBLIC "`PubidChar*`" SYSTEM "`[^"]*`"`S?`> ! | |
|| | |
<!ENTITY `Name` PUBLIC '`(PubidChar - "'")*`' SYSTEM "`[^"]*`"`S?`> ! | |
} | |
||| | |
<!ENTITY `Name` PUBLIC `PubidLiteral` SYSTEM "`[^']*`'`S?`> { | |
<!ENTITY `Name` PUBLIC "`PubidChar*`" SYSTEM "`[^']*`'`S?`> ! | |
|| | |
<!ENTITY `Name` PUBLIC '`(PubidChar - "'")*`' SYSTEM "`[^']*`'`S?`> ! | |
} | |
} | |
} | |
} | |
||| | |
<!ENTITY `Name` `ExternalID` `NDataDecl``S?`> { | |
<!ENTITY `Name` `ExternalID` NDATA `Name``S?`> { | |
<!ENTITY `Name` `'SYSTEM' S SystemLiteral | 'PUBLIC' S PubidLiteral S SystemLiteral` NDATA `Name``S?`> { | |
<!ENTITY `Name` SYSTEM `SystemLiteral` NDATA `Name``S?`> { | |
<!ENTITY `Name` SYSTEM "`[^"]*`" NDATA `Name``S?`> ! | |
|| | |
<!ENTITY `Name` SYSTEM "`[^']*`' NDATA `Name``S?`> ! | |
} | |
||| | |
<!ENTITY `Name` PUBLIC `PubidLiteral` `SystemLiteral` NDATA `Name``S?`> { | |
<!ENTITY `Name` PUBLIC `PubidLiteral` SYSTEM "`[^"]*`" NDATA `Name``S?`> { | |
<!ENTITY `Name` PUBLIC "`PubidChar*`" SYSTEM "`[^"]*`" NDATA `Name``S?`> ! | |
|| | |
<!ENTITY `Name` PUBLIC '`(PubidChar - "'")*`' SYSTEM "`[^"]*`" NDATA `Name``S?`> ! | |
} | |
||| | |
<!ENTITY `Name` PUBLIC `PubidLiteral` SYSTEM "`[^']*`' NDATA `Name``S?`> { | |
<!ENTITY `Name` PUBLIC "`PubidChar*`" SYSTEM "`[^']*`' NDATA `Name``S?`> ! | |
|| | |
<!ENTITY `Name` PUBLIC '`(PubidChar - "'")*`' SYSTEM "`[^']*`' NDATA `Name``S?`> ! | |
} | |
} | |
} | |
} | |
} | |
} | |
} | |
} | |
||| | |
<!ENTITY % `Name` `PEDef``S?`> { // <!ENTITY % `Name` `EntityValue | ExternalID``S?`> | |
<!ENTITY % `Name` `EntityValue``S?`> { | |
<!ENTITY % `Name` `'"' ([^%&"] | PEReference | Reference)* '"' | "'" ([^%&'] | PEReference | Reference)* "'"``S?`> { | |
<!ENTITY % `Name` "`([^%&"] | %`Name`; | &`Name`; | &#`[0-9]+`; | &#x`[0-9a-fA-F]+`;)*`"`S?`> ! | |
| | |
<!ENTITY % `Name` '`([^%&'] | %`Name`; | &`Name`; | &#`[0-9]+`; | &#x`[0-9a-fA-F]+`;)*`'`S?`> ! | |
// with every option just once: | |
<!ENTITY % `Name` ""`S?`> || <!ENTITY % `Name` ''`S?`> ! | |
<!ENTITY % `Name` "`[^%&"]*`"`S?`> || <!ENTITY % `Name` '`[^%&"]*`'`S?`> ! | |
<!ENTITY % `Name` "%`Name`;"`S?`> || <!ENTITY % `Name` '%`Name`;'`S?`> ! | |
<!ENTITY % `Name` "&`Name`;"`S?`> || <!ENTITY % `Name` '&`Name`;'`S?`> ! | |
<!ENTITY % `Name` "&#`[0-9]+`;"`S?`> || <!ENTITY % `Name` '&#`[0-9]+`;'`S?`> ! | |
<!ENTITY % `Name` "&#x`[0-9a-fA-F]+`;"`S?`> || <!ENTITY % `Name` '&#x`[0-9a-fA-F]+`;'`S?`> ! | |
} | |
} | |
||| | |
<!ENTITY % `Name` `ExternalID``S?`> { | |
<!ENTITY % `Name` `'SYSTEM' S SystemLiteral | 'PUBLIC' S PubidLiteral S SystemLiteral``S?`> { | |
<!ENTITY % `Name` SYSTEM `SystemLiteral``S?`> { | |
<!ENTITY % `Name` SYSTEM "`[^"]*`"`S?`> ! | |
|| | |
<!ENTITY % `Name` SYSTEM '`[^']*`'`S?`> ! | |
} | |
||| | |
<!ENTITY % `Name` PUBLIC `PubidLiteral` `SystemLiteral``S?`> { | |
<!ENTITY % `Name` PUBLIC `PubidLiteral` SYSTEM "`[^"]*`"`S?`> { | |
<!ENTITY % `Name` PUBLIC "`PubidChar*`" SYSTEM "`[^"]*`"`S?`> ! | |
|| | |
<!ENTITY % `Name` PUBLIC '`(PubidChar - "'")*`' SYSTEM "`[^"]*`"`S?`> ! | |
} | |
||| | |
<!ENTITY % `Name` PUBLIC `PubidLiteral` SYSTEM "`[^']*`'`S?`> { | |
<!ENTITY % `Name` PUBLIC "`PubidChar*`" SYSTEM "`[^']*`'`S?`> ! | |
|| | |
<!ENTITY % `Name` PUBLIC '`(PubidChar - "'")*`' SYSTEM "`[^']*`'`S?`> ! | |
} | |
} | |
} | |
} | |
} | |
/// JUST THE LEAVES | |
/// supported (space litaral outside of `` is equivalent to mandatory `S`) | |
<!ENTITY `Name` "`([^%&"] | %`Name`; | &`Name`; | &#`[0-9]+`; | &#x`[0-9a-fA-F]+`;)*`"`S?`> | |
<!ENTITY `Name` '`([^%&'] | %`Name`; | &`Name`; | &#`[0-9]+`; | &#x`[0-9a-fA-F]+`;)*`'`S?`> | |
// with every option just once: | |
<!ENTITY `Name` ""`S?`> || <!ENTITY `Name` ''`S?`> | |
<!ENTITY `Name` "`[^%&"]*`"`S?`> || <!ENTITY `Name` '`[^%&"]*`'`S?`> | |
<!ENTITY `Name` "%`Name`;"`S?`> || <!ENTITY `Name` '%`Name`;'`S?`> | |
<!ENTITY `Name` "&`Name`;"`S?`> || <!ENTITY `Name` '&`Name`;'`S?`> | |
<!ENTITY `Name` "&#`[0-9]+`;"`S?`> || <!ENTITY `Name` '&#`[0-9]+`;'`S?`> | |
<!ENTITY `Name` "&#x`[0-9a-fA-F]+`;"`S?`> || <!ENTITY `Name` '&#x`[0-9a-fA-F]+`;'`S?`> | |
/// unsupported | |
<!ENTITY `Name` SYSTEM "`[^"]*`"`S?`> | |
<!ENTITY `Name` SYSTEM ''`[^']*`'`S?`> | |
<!ENTITY `Name` PUBLIC "`PubidChar*`" SYSTEM "`[^"]*`"`S?`> | |
<!ENTITY `Name` PUBLIC '`(PubidChar - "'")*`' SYSTEM "`[^"]*`"`S?`> | |
<!ENTITY `Name` PUBLIC "`PubidChar*`" SYSTEM "`[^']*`'`S?`> | |
<!ENTITY `Name` PUBLIC '`(PubidChar - "'")*`' SYSTEM "`[^']*`'`S?`> | |
<!ENTITY `Name` SYSTEM "`[^"]*`" NDATA `Name``S?`> | |
<!ENTITY `Name` SYSTEM "`[^']*`' NDATA `Name``S?`> | |
<!ENTITY `Name` PUBLIC "`PubidChar*`" SYSTEM "`[^"]*`" NDATA `Name``S?`> | |
<!ENTITY `Name` PUBLIC '`(PubidChar - "'")*`' SYSTEM "`[^"]*`" NDATA `Name``S?`> | |
<!ENTITY `Name` PUBLIC "`PubidChar*`" SYSTEM "`[^']*`' NDATA `Name``S?`> | |
<!ENTITY `Name` PUBLIC '`(PubidChar - "'")*`' SYSTEM "`[^']*`' NDATA `Name``S?`> | |
<!ENTITY % `Name` "`([^%&"] | %`Name`; | &`Name`; | &#`[0-9]+`; | &#x`[0-9a-fA-F]+`;)*`"`S?`> | |
<!ENTITY % `Name` '`([^%&'] | %`Name`; | &`Name`; | &#`[0-9]+`; | &#x`[0-9a-fA-F]+`;)*`'`S?`> | |
// with every option just once: | |
<!ENTITY % `Name` ""`S?`> || <!ENTITY % `Name` ''`S?`> | |
<!ENTITY % `Name` "`[^%&"]*`"`S?`> || <!ENTITY % `Name` '`[^%&"]*`'`S?`> | |
<!ENTITY % `Name` "%`Name`;"`S?`> || <!ENTITY % `Name` '%`Name`;'`S?`> | |
<!ENTITY % `Name` "&`Name`;"`S?`> || <!ENTITY % `Name` '&`Name`;'`S?`> | |
<!ENTITY % `Name` "&#`[0-9]+`;"`S?`> || <!ENTITY % `Name` '&#`[0-9]+`;'`S?`> | |
<!ENTITY % `Name` "&#x`[0-9a-fA-F]+`;"`S?`> || <!ENTITY % `Name` '&#x`[0-9a-fA-F]+`;'`S?`> | |
<!ENTITY % `Name` SYSTEM "`[^"]*`"`S?`> | |
<!ENTITY % `Name` SYSTEM '`[^']*`'`S?`> | |
<!ENTITY % `Name` PUBLIC "`PubidChar*`" SYSTEM "`[^"]*`"`S?`> | |
<!ENTITY % `Name` PUBLIC '`(PubidChar - "'")*`' SYSTEM "`[^"]*`"`S?`> | |
<!ENTITY % `Name` PUBLIC "`PubidChar*`" SYSTEM "`[^']*`'`S?`> | |
<!ENTITY % `Name` PUBLIC '`(PubidChar - "'")*`' SYSTEM "`[^']*`'`S?`> |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment