From 3c54f12789113ac096e09a7780cada1b4bde17fd Mon Sep 17 00:00:00 2001
From: John Benediktsson <mrjbq7@gmail.com>
Date: Thu, 12 Jul 2012 19:00:12 -0700
Subject: [PATCH] xml.data: eliminate unions in favor of maybe.

---
 basis/xml/data/data.factor | 16 ++++------------
 1 file changed, 4 insertions(+), 12 deletions(-)

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> 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> name
 
 : ?= ( object/f object/f -- ? )
@@ -97,8 +95,6 @@ TUPLE: attlist-decl < directive
     { att-defs string } ;
 C: <attlist-decl> attlist-decl
 
-UNION: boolean t POSTPONE: f ;
-
 TUPLE: entity-decl < directive
     { name string }
     { def string }
@@ -111,20 +107,16 @@ C: <system-id> system-id
 TUPLE: public-id { pubid-literal string } { system-literal string } ;
 C: <public-id> public-id
 
-UNION: id system-id public-id POSTPONE: f ;
-
 TUPLE: dtd
     { directives sequence }
     { entities assoc }
     { parameter-entities assoc } ;
 C: <dtd> 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> doctype-decl
 
 TUPLE: notation-decl < directive