NameChar |
= |
/[-A-Za-z0-9._:]/ |
Name |
= |
/[A-Za-z_:]#{NameChar}*/ |
Nmtoken |
= |
/#{NameChar}+/ |
Comment_C |
= |
/<!--(.*?)-->/m |
Comment |
= |
Comment_C.disable_capture |
CDATA_C |
= |
/<!\[CDATA\[(.*?)\]\]>/m |
CDATA |
= |
CDATA_C.disable_capture |
ValidAttr_C |
= |
/(#{Name})\s*=\s*(?:"([^"]*)"|'([^']*)'|(#{NameChar}*))|(#{Nmtoken})/ |
ValidAttr |
= |
ValidAttr_C.disable_capture |
InvalidAttr1_C |
= |
/(#{Name})\s*=\s*(?:'([^'<>]*)'|"([^"<>]*)"|([^\s<>"']*))|(#{Nmtoken})/ |
InvalidAttr1 |
= |
InvalidAttr1_C.disable_capture |
InvalidAttr1End_C |
= |
/(#{Name})(?:\s*=\s*(?:'([^'<>]*)|"([^"<>]*)))/ |
InvalidAttr1End |
= |
InvalidAttr1End_C.disable_capture |
ValidStartTag_C |
= |
/<(#{Name})((?:\s+#{ValidAttr})*)\s*>/ |
ValidStartTag |
= |
ValidStartTag_C.disable_capture |
InvalidStartTag_C |
= |
/<(#{Name})((?:(?:\b|\s+)#{InvalidAttr1})*)((?:\b|\s+)#{InvalidAttr1End})?\s*>/ |
InvalidStartTag |
= |
InvalidStartTag_C.disable_capture |
StartTag |
= |
/#{ValidStartTag}|#{InvalidStartTag}/ |
ValidEmptyTag_C |
= |
%r{<(#{Name})((?:\s+#{ValidAttr})*)\s*/>} |
ValidEmptyTag |
= |
ValidEmptyTag_C.disable_capture |
InvalidEmptyTag_C |
= |
%r{<(#{Name})((?:(?:\b|\s+)#{InvalidAttr1})*)((?:\b|\s+)#{InvalidAttr1End})?\s*/>} |
InvalidEmptyTag |
= |
InvalidEmptyTag_C.disable_capture |
EmptyTag |
= |
/#{ValidEmptyTag}|#{InvalidEmptyTag}/ |
EndTag_C |
= |
%r{</(#{Name})\s*>} |
EndTag |
= |
EndTag_C.disable_capture |
XmlVersionNum |
= |
/[a-zA-Z0-9_.:-]+/ |
XmlVersionInfo_C |
= |
/\s+version\s*=\s*(?:'(#{XmlVersionNum})'|"(#{XmlVersionNum})")/ |
XmlVersionInfo |
= |
XmlVersionInfo_C.disable_capture |
XmlEncName |
= |
/[A-Za-z][A-Za-z0-9._-]*/ |
XmlEncodingDecl_C |
= |
/\s+encoding\s*=\s*(?:"(#{XmlEncName})"|'(#{XmlEncName})')/ |
XmlEncodingDecl |
= |
XmlEncodingDecl_C.disable_capture |
XmlSDDecl_C |
= |
/\s+standalone\s*=\s*(?:'(yes|no)'|"(yes|no)")/ |
XmlSDDecl |
= |
XmlSDDecl_C.disable_capture |
XmlDecl_C |
= |
/<\?xml#{XmlVersionInfo_C}#{XmlEncodingDecl_C}?#{XmlSDDecl_C}?\s*\?>/ |
XmlDecl |
= |
/<\?xml#{XmlVersionInfo}#{XmlEncodingDecl}?#{XmlSDDecl}?\s*\?>/ |
SystemLiteral_C |
= |
/"([^"]*)"|'([^'])'/ |
|
xxx: internal DTD subset is not recognized: ’[’ (markupdecl |
DeclSep)* ’]’ S?)?
|
PubidLiteral_C |
= |
%r{"([\sa-zA-Z0-9\-'()+,./:=?;!*\#@$_%]*)"|'([\sa-zA-Z0-9\-()+,./:=?;!*\#@$_%]*)'} |
ExternalID_C |
= |
/(?:SYSTEM|PUBLIC\s+#{PubidLiteral_C})(?:\s+#{SystemLiteral_C})?/ |
DocType_C |
= |
/<!DOCTYPE\s+(#{Name})(?:\s+#{ExternalID_C})?\s*(?:\[.*?\]\s*)?>/m |
DocType |
= |
DocType_C.disable_capture |
XmlProcIns_C |
= |
/<\?(#{Name})(?:\s+(.*?))?\?>/m |
XmlProcIns |
= |
XmlProcIns_C.disable_capture |