; ; 而さんのサイトからほぼそのままパクってきました ; http://tamachan.club.kyutech.ac.jp/~gridbug/spirit/spirit04.html ; xml ::= space* element+ space* element ::= comment | emptyelem | (stag content* etag) content ::= element | description comment ::= "")* "-->" description ::= desc_r attribute ::= attr_name_r "=" string_r attr_name_r ::= name_r emptyelem ::= "<" emptyelem_name_r (s attribute)* "/>" emptyelem_name_r ::= name_r etag ::= "" etag_name_r ::= name_r stag ::= "<" stag_name_r (s attribute)* ">" stag_name_r ::= name_r desc_r ::= (anychar - '<')+ name_r ::= (alpha | "_") (alnum | "_")* string_r ::= '"' string_inner_r* '"' string_inner_r ::= anychar - '"' s ::= space+ alpha ::= [a-zA-Z] num ::= [0-9] alnum ::= alpha | num anychar ::= [#x09#x0A#x0D#x20-#x7E#x80-#xFF] space ::= [#x09#x0A#x0D#x20]