diff --git a/basis/xml/data/data.factor b/basis/xml/data/data.factor index 1ca0979ca3..a76c46dd0a 100644 --- a/basis/xml/data/data.factor +++ b/basis/xml/data/data.factor @@ -8,12 +8,10 @@ IN: xml.data TUPLE: interpolated var ; C: interpolated -UNION: nullable-string string POSTPONE: f ; - TUPLE: name - { space nullable-string } + { space maybe{ string } } { main string } - { url nullable-string } ; + { url maybe{ string } } ; C: name : ?= ( object/f object/f -- ? ) @@ -97,8 +95,6 @@ TUPLE: attlist-decl < directive { att-defs string } ; C: attlist-decl -UNION: boolean t POSTPONE: f ; - TUPLE: entity-decl < directive { name string } { def string } @@ -111,20 +107,16 @@ C: system-id TUPLE: public-id { pubid-literal string } { system-literal string } ; C: public-id -UNION: id system-id public-id POSTPONE: f ; - TUPLE: dtd { directives sequence } { entities assoc } { parameter-entities assoc } ; C: dtd -UNION: dtd/f dtd POSTPONE: f ; - TUPLE: doctype-decl < directive { name string } - { external-id id } - { internal-subset dtd/f } ; + { external-id maybe{ system-id public-id } } + { internal-subset maybe{ dtd } } ; C: doctype-decl TUPLE: notation-decl < directive