Rebol Programming/xml-language
XML-LANGUAGE is an object of value:
verbose logic! false joinset function! [cset chars] diffset function! [cset chars] error function! [msg arg] space bitset! make bitset! #{ 0026000001000000000000000000000000000000000000000000000000000000} char bitset! make bitset! #{ 00260000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF} letter bitset! make bitset! #{ 0100000000000000FEFFFF07FEFFFF070000000000000000FFFF7FFFFFFF7F01} digit bitset! make bitset! #{ 000000000000FF03000000000000000000000000000000000000000000000000} alpha-num bitset! make bitset! #{ 010000000000FF03FEFFFF07FEFFFF070000000000000000FFFF7FFFFFFF7F01} name-first bitset! make bitset! #{ 0100000000000004FEFFFF87FEFFFF070000000000000000FFFF7FFFFFFF7F01} name-chars bitset! make bitset! #{ 010000000060FF07FEFFFF87FEFFFF070000000000000000FFFF7FFFFFFF7F01} data-chars bitset! make bitset! #{ 00260000FFFFFFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF} qt1 string! "'" qt2 string! {"} data-chars-qt1 bitset! make bitset! #{ 002600007FFFFFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF} data-chars-qt2 bitset! make bitset! #{ 00260000FBFFFFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF} name block! length: 3 sp block! length: 2 sp? block! length: 2 parents block! length: 0 new-node function! [name] end-node function! [name] pop-parent function! [] add-kid function! [kid] add-attr function! [name value] check-version function! [version] document block! length: 5 prolog block! length: 4 xml-decl? block! length: 6 version-info block! length: 4 version-num block! length: 5 doc-type-decls block! length: 9 element block! length: 4 s-tag block! length: 6 e-tag block! length: 5 tag block! length: 3 content block! length: 7 attribute block! length: 6 eq block! length: 3 attr-value block! length: 3 cmt block! length: 3 parse-xml function! [str]