diff --git a/hxt-relaxng.cabal b/hxt-relaxng.cabal
--- a/hxt-relaxng.cabal
+++ b/hxt-relaxng.cabal
@@ -1,6 +1,6 @@
 -- arch-tag: Haskell XML Toolbox main description file
 Name:           hxt-relaxng
-Version:        9.0.0
+Version:        9.1.0
 Synopsis:       The HXT RelaxNG validator
 Description:    The HXT RelaxNG validator
 License:        OtherLicense
@@ -57,20 +57,15 @@
  hs-source-dirs: src
 
  ghc-options: -Wall
+ ghc-prof-options: -auto-all -caf-all
 
  -- extensions: MultiParamTypeClasses DeriveDataTypeable FunctionalDependencies FlexibleInstances
 
  build-depends: base       >= 4   && < 5,
                 haskell98  >= 1   && < 2,
                 containers >= 0.2 && < 1,
-                directory  >= 1   && < 2,
-                -- filepath   >= 1   && < 2,
                 parsec     >= 2.1 && < 4,
-                -- HUnit      >= 1.2 && < 2,
                 network    >= 2.1 && < 3,
-                -- deepseq    >= 1.1 && < 2,
-                -- bytestring >= 0.9 && < 1,
-                -- hxt-charproperties  >= 9 && < 10,
-                hxt                 >= 9 && < 10,
-                hxt-charproperties  >= 9 && < 10,
-                hxt-regex-xmlschema >= 9 && < 10
+                hxt                 >= 9.1   && < 10,
+                hxt-charproperties  >= 9     && < 10,
+                hxt-regex-xmlschema >= 9     && < 10
diff --git a/src/Text/XML/HXT/RelaxNG/BasicArrows.hs b/src/Text/XML/HXT/RelaxNG/BasicArrows.hs
--- a/src/Text/XML/HXT/RelaxNG/BasicArrows.hs
+++ b/src/Text/XML/HXT/RelaxNG/BasicArrows.hs
@@ -2,13 +2,12 @@
 
 {- |
    Module     : Text.XML.HXT.RelaxNG.BasicArrows
-   Copyright  : Copyright (C) 2005 Uwe Schmidt
+   Copyright  : Copyright (C) 2011 Uwe Schmidt
    License    : MIT
 
    Maintainer : Uwe Schmidt (uwe@fh-wedel.de)
    Stability  : experimental
    Portability: portable
-   Version    : $Id$
 
    Constants and basic arrows for Relax NG
 
@@ -23,24 +22,36 @@
 
 import Text.XML.HXT.DOM.Interface
 import Text.XML.HXT.Arrow.XmlArrow
-    hiding
-    ( mkText
-    , mkError
+
+import Text.XML.HXT.RelaxNG.DataTypes
+    ( a_relaxSimplificationChanges
+    , defineOrigName
+    , contextBaseAttr
     )
 
-hasRngName      :: ArrowXml a => String -> a XmlTree XmlTree
-hasRngName s
-    = hasName s
-      `orElse`
-      ( hasLocalPart s >>> hasNamespaceUri relaxNamespace )
+-- ------------------------------------------------------------
 
+hasRngAttName           :: ArrowXml a => String -> a XmlTree XmlTree
+hasRngAttName s
+    = isAttr
+      >>>
+      hasLocalPart s
+      >>>
+      hasNamespaceUri ""
+
+hasRngElemName          :: ArrowXml a => String -> a XmlTree XmlTree
+hasRngElemName s
+    = isElem
+      >>>
+      hasLocalPart s
+      >>>
+      hasNamespaceUri relaxNamespace
+
 checkRngName :: ArrowXml a => [String] -> a XmlTree XmlTree
 checkRngName l
-    = ( isElem
-        >>>
-        catA (map hasRngName l)
-      )
-      `guards` this
+    = catA (map hasRngElemName l)
+      `guards`
+      this
 
 noOfChildren    :: ArrowXml a => (Int -> Bool) -> a XmlTree XmlTree
 noOfChildren p
@@ -101,97 +112,97 @@
 -- ------------------------------------------------------------
 
 isRngAnyName            :: ArrowXml a => a XmlTree XmlTree
-isRngAnyName            = isElem >>> hasRngName "anyName"
+isRngAnyName            = hasRngElemName "anyName"
 
 isRngAttribute          :: ArrowXml a => a XmlTree XmlTree
-isRngAttribute          = isElem >>> hasRngName "attribute"
+isRngAttribute          = hasRngElemName "attribute"
 
 isRngChoice             :: ArrowXml a => a XmlTree XmlTree
-isRngChoice             = isElem >>> hasRngName "choice"
+isRngChoice             = hasRngElemName "choice"
 
 isRngCombine            :: ArrowXml a => a XmlTree XmlTree
-isRngCombine            = isElem >>> hasRngName "combine"
+isRngCombine            = hasRngElemName "combine"
 
 isRngData               :: ArrowXml a => a XmlTree XmlTree
-isRngData               = isElem >>> hasRngName "data"
+isRngData               = hasRngElemName "data"
 
 isRngDefine             :: ArrowXml a => a XmlTree XmlTree
-isRngDefine             = isElem >>> hasRngName "define"
+isRngDefine             = hasRngElemName "define"
 
 isRngDiv                :: ArrowXml a => a XmlTree XmlTree
-isRngDiv                = isElem >>> hasRngName "div"
+isRngDiv                = hasRngElemName "div"
 
 isRngElement            :: ArrowXml a => a XmlTree XmlTree
-isRngElement            = isElem >>> hasRngName "element"
+isRngElement            = hasRngElemName "element"
 
 isRngEmpty              :: ArrowXml a => a XmlTree XmlTree
-isRngEmpty              = isElem >>> hasRngName "empty"
+isRngEmpty              = hasRngElemName "empty"
 
 isRngExcept             :: ArrowXml a => a XmlTree XmlTree
-isRngExcept             = isElem >>> hasRngName "except"
+isRngExcept             = hasRngElemName "except"
 
 isRngExternalRef        :: ArrowXml a => a XmlTree XmlTree
-isRngExternalRef        = isElem >>> hasRngName "externalRef"
+isRngExternalRef        = hasRngElemName "externalRef"
 
 isRngGrammar            :: ArrowXml a => a XmlTree XmlTree
-isRngGrammar            = isElem >>> hasRngName "grammar"
+isRngGrammar            = hasRngElemName "grammar"
 
 isRngGroup              :: ArrowXml a => a XmlTree XmlTree
-isRngGroup              = isElem >>> hasRngName "group"
+isRngGroup              = hasRngElemName "group"
 
 isRngInclude            :: ArrowXml a => a XmlTree XmlTree
-isRngInclude            = isElem >>> hasRngName "include"
+isRngInclude            = hasRngElemName "include"
 
 isRngInterleave         :: ArrowXml a => a XmlTree XmlTree
-isRngInterleave         = isElem >>> hasRngName "interleave"
+isRngInterleave         = hasRngElemName "interleave"
 
 isRngList               :: ArrowXml a => a XmlTree XmlTree
-isRngList               = isElem >>> hasRngName "list"
+isRngList               = hasRngElemName "list"
 
 isRngMixed              :: ArrowXml a => a XmlTree XmlTree
-isRngMixed              = isElem >>> hasRngName "mixed"
+isRngMixed              = hasRngElemName "mixed"
 
 isRngName               :: ArrowXml a => a XmlTree XmlTree
-isRngName               = isElem >>> hasRngName "name"
+isRngName               = hasRngElemName "name"
 
 isRngNotAllowed         :: ArrowXml a => a XmlTree XmlTree
-isRngNotAllowed         = isElem >>> hasRngName "notAllowed"
+isRngNotAllowed         = hasRngElemName "notAllowed"
 
 isRngNsName             :: ArrowXml a => a XmlTree XmlTree
-isRngNsName             = isElem >>> hasRngName "nsName"
+isRngNsName             = hasRngElemName "nsName"
 
 isRngOneOrMore          :: ArrowXml a => a XmlTree XmlTree
-isRngOneOrMore          = isElem >>> hasRngName "oneOrMore"
+isRngOneOrMore          = hasRngElemName "oneOrMore"
 
 isRngOptional           :: ArrowXml a => a XmlTree XmlTree
-isRngOptional           = isElem >>> hasRngName "optional"
+isRngOptional           = hasRngElemName "optional"
 
 isRngParam              :: ArrowXml a => a XmlTree XmlTree
-isRngParam              = isElem >>> hasRngName "param"
+isRngParam              = hasRngElemName "param"
 
 isRngParentRef          :: ArrowXml a => a XmlTree XmlTree
-isRngParentRef          = isElem >>> hasRngName "parentRef"
+isRngParentRef          = hasRngElemName "parentRef"
 
 isRngRef                :: ArrowXml a => a XmlTree XmlTree
-isRngRef                = isElem >>> hasRngName "ref"
+isRngRef                = hasRngElemName "ref"
 
 isRngRelaxError         :: ArrowXml a => a XmlTree XmlTree
-isRngRelaxError         = isElem >>> hasRngName "relaxError"
+isRngRelaxError         = hasRngElemName "relaxError"
 
 isRngStart              :: ArrowXml a => a XmlTree XmlTree
-isRngStart              = isElem >>> hasRngName "start"
+isRngStart              = hasRngElemName "start"
 
 isRngText               :: ArrowXml a => a XmlTree XmlTree
-isRngText               = isElem >>> hasRngName "text"
+isRngText               = hasRngElemName "text"
 
 isRngType               :: ArrowXml a => a XmlTree XmlTree
-isRngType               = isElem >>> hasRngName "type"
+isRngType               = hasRngElemName "type"
 
 isRngValue              :: ArrowXml a => a XmlTree XmlTree
-isRngValue              = isElem >>> hasRngName "value"
+isRngValue              = hasRngElemName "value"
 
 isRngZeroOrMore         :: ArrowXml a => a XmlTree XmlTree
-isRngZeroOrMore         = isElem >>> hasRngName "zeroOrMore"
+isRngZeroOrMore         = hasRngElemName "zeroOrMore"
 
 -- ------------------------------------------------------------
 
@@ -228,8 +239,8 @@
 mkRngRef                :: ArrowXml a => a n XmlTree -> a n XmlTree -> a n XmlTree
 mkRngRef                = mkRngElement "ref"
 
-mkRngRelaxError         :: ArrowXml a => a n XmlTree -> a n XmlTree -> a n XmlTree
-mkRngRelaxError         = mkRngElement "relaxError"
+mkRngRelaxError         :: ArrowXml a => a n XmlTree
+mkRngRelaxError         = mkRngElement "relaxError" none none
 
 mkRngStart              :: ArrowXml a => a n XmlTree -> a n XmlTree -> a n XmlTree
 mkRngStart              = mkRngElement "start"
@@ -253,27 +264,66 @@
 -- Attributes
 
 isRngAttrAttribute              :: ArrowXml a => a XmlTree XmlTree
-isRngAttrAttribute              = isAttr >>> hasRngName "attribute"
+isRngAttrAttribute              = hasRngAttName "attribute"
 
 isRngAttrCombine                :: ArrowXml a => a XmlTree XmlTree
-isRngAttrCombine                = isAttr >>> hasRngName "combine"
+isRngAttrCombine                = hasRngAttName "combine"
 
 isRngAttrDatatypeLibrary        :: ArrowXml a => a XmlTree XmlTree
-isRngAttrDatatypeLibrary        = isAttr >>> hasRngName "datatypeLibrary"
+isRngAttrDatatypeLibrary        = hasRngAttName "datatypeLibrary"
 
 isRngAttrHref                   :: ArrowXml a => a XmlTree XmlTree
-isRngAttrHref                   = isAttr >>> hasRngName "href"
+isRngAttrHref                   = hasRngAttName "href"
 
 isRngAttrName                   :: ArrowXml a => a XmlTree XmlTree
-isRngAttrName                   = isAttr >>> hasRngName "name"
+isRngAttrName                   = hasRngAttName "name"
 
 isRngAttrNs                     :: ArrowXml a => a XmlTree XmlTree
-isRngAttrNs                     = isAttr >>> hasRngName "ns"
+isRngAttrNs                     = hasRngAttName "ns"
 
 isRngAttrType                   :: ArrowXml a => a XmlTree XmlTree
-isRngAttrType                   = isAttr >>> hasRngName "type"
+isRngAttrType                   = hasRngAttName "type"
 
+isRngAttrRelaxSimplificationChanges     :: ArrowXml a => a XmlTree XmlTree
+isRngAttrRelaxSimplificationChanges     = hasRngAttName a_relaxSimplificationChanges
+
 -- ------------------------------------------------------------
+
+mkRngAttr                       :: ArrowXml a => String -> a b String -> a b XmlTree
+mkRngAttr name value            = mkAttr (mkName name) (value >>> mkText)
+
+mkRngAttrName                   :: ArrowXml a => String -> a b XmlTree
+mkRngAttrName value             = mkRngAttr "name" (constA value)
+
+mkRngAttrRelaxSimplificationChanges     :: ArrowXml a => String -> a b XmlTree
+mkRngAttrRelaxSimplificationChanges value
+                                = mkRngAttr a_relaxSimplificationChanges (constA value)
+
+mkRngAttrDefineOrigName         :: ArrowXml a => String -> a b XmlTree
+mkRngAttrDefineOrigName value   = mkRngAttr defineOrigName (constA value)
+
+mkRngAttrContextBase            :: ArrowXml a => a b String -> a b XmlTree
+mkRngAttrContextBase            = mkRngAttr contextBaseAttr
+
+addRngAttrName                  :: ArrowXml a => String -> a XmlTree XmlTree
+addRngAttrName value            = addAttr "name" value
+
+addRngAttrDescr                 :: ArrowXml a => String -> a XmlTree XmlTree
+addRngAttrDescr                 = addAttr "descr"
+
+addRngAttrChanges               :: ArrowXml a => String -> a XmlTree XmlTree
+addRngAttrChanges               = addAttr "changes"
+
+addRngAttrNs                    :: ArrowXml a => String -> a XmlTree XmlTree
+addRngAttrNs                    = addAttr "ns"
+
+rmRngAttrNs                     :: ArrowXml a => a XmlTree XmlTree
+rmRngAttrNs                     = removeAttr "ns"
+
+-- ------------------------------------------------------------
+
+hasRngAttrRelaxSimplificationChanges             :: ArrowXml a => a XmlTree XmlTree
+hasRngAttrRelaxSimplificationChanges             = hasAttr a_relaxSimplificationChanges
 
 hasRngAttrAttribute             :: ArrowXml a => a XmlTree XmlTree
 hasRngAttrAttribute             = hasAttr "attribute"
diff --git a/src/Text/XML/HXT/RelaxNG/CreatePattern.hs b/src/Text/XML/HXT/RelaxNG/CreatePattern.hs
--- a/src/Text/XML/HXT/RelaxNG/CreatePattern.hs
+++ b/src/Text/XML/HXT/RelaxNG/CreatePattern.hs
@@ -217,6 +217,7 @@
   where
   getContext :: LA XmlTree Context
   getContext = getAttrValue contextBaseAttr &&& getMapping
+
   getMapping :: LA XmlTree [(Prefix, Uri)]
   getMapping = listA $ getAttrl >>>
                        ( (getName >>> isA (contextAttributes `isPrefixOf`))
@@ -226,6 +227,7 @@
                            (getChildren >>> getText)
                          )
                        )
+
   getValue :: LA XmlTree String
   getValue = (getChildren >>> getText) `orElse` (constA "")
 
diff --git a/src/Text/XML/HXT/RelaxNG/DataTypes.hs b/src/Text/XML/HXT/RelaxNG/DataTypes.hs
--- a/src/Text/XML/HXT/RelaxNG/DataTypes.hs
+++ b/src/Text/XML/HXT/RelaxNG/DataTypes.hs
@@ -33,9 +33,11 @@
 --
 -- The value is always followed by the original attribute name and value
 
-contextAttributes :: String
-contextAttributes = "RelaxContext:"
+contextAttributes               :: String
+contextAttributes               = "RelaxContext-"
 
+contextAttributesDefault        :: String
+contextAttributesDefault        = "RelaxContextDefault"
 
 -- | Start of base uri attribute value
 -- (see also: 'simplificationStep1' in "Text.XML.HXT.RelaxNG.Simplification")
diff --git a/src/Text/XML/HXT/RelaxNG/PatternToString.hs b/src/Text/XML/HXT/RelaxNG/PatternToString.hs
--- a/src/Text/XML/HXT/RelaxNG/PatternToString.hs
+++ b/src/Text/XML/HXT/RelaxNG/PatternToString.hs
@@ -1,3 +1,5 @@
+{-# OPTIONS_GHC -fno-warn-incomplete-patterns #-}
+
 module Text.XML.HXT.RelaxNG.PatternToString
   ( patternToStringTree
   , patternToFormatedString
@@ -10,6 +12,7 @@
 
 import Control.Arrow.ListArrows
 
+import Data.Tree.Class                  ( formatTree )
 import Data.Tree.NTree.TypeDefs
 
 import Text.XML.HXT.DOM.Interface
diff --git a/src/Text/XML/HXT/RelaxNG/Schema.hs b/src/Text/XML/HXT/RelaxNG/Schema.hs
--- a/src/Text/XML/HXT/RelaxNG/Schema.hs
+++ b/src/Text/XML/HXT/RelaxNG/Schema.hs
@@ -1,3916 +1,3968 @@
-{- |
-   Module     : Text.HXT.RelaxNG.Schema
-
-   Don't edit this module, it's generated by RelaxSchemaToXmlTree
-
--}
-
-module Text.XML.HXT.RelaxNG.Schema
-    ( relaxSchemaTree, relaxSchemaArrow )
-where
-
-import Text.XML.HXT.DOM.TypeDefs
-import Text.XML.HXT.DOM.XmlNode (mkRoot, mkElement, mkAttr, mkText)
-
-import Control.Arrow.ListArrows
-
-relaxSchemaArrow :: ArrowList a => a b XmlTree
-relaxSchemaArrow = constA relaxSchemaTree
-
-relaxSchemaTree :: XmlTree
-relaxSchemaTree =
-  let
-  ns1   = "http://relaxng.org/ns/structure/1.0"
-  qn1   = mkSNsName "RelaxContext:xml"
-  qn2   = mkSNsName "RelaxContextBaseURI"
-  qn3   = mkSNsName "RelaxContextDefault"
-  qn4   = mkNsName "anyName" ns1
-  qn5   = mkNsName "attribute" ns1
-  qn6   = mkNsName "choice" ns1
-  qn7   = mkNsName "data" ns1
-  qn8   = mkSNsName "datatypeLibrary"
-  qn9   = mkNsName "define" ns1
-  qn10  = mkNsName "element" ns1
-  qn11  = mkNsName "empty" ns1
-  qn12  = mkNsName "except" ns1
-  qn13  = mkNsName "grammar" ns1
-  qn14  = mkNsName "group" ns1
-  qn15  = mkNsName "interleave" ns1
-  qn16  = mkSNsName "name"
-  qn17  = mkNsName "name" ns1
-  qn18  = mkSNsName "ns"
-  qn19  = mkNsName "nsName" ns1
-  qn20  = mkNsName "oneOrMore" ns1
-  qn21  = mkNsName "ref" ns1
-  qn22  = mkNsName "start" ns1
-  qn23  = mkNsName "text" ns1
-  qn24  = mkSNsName "type"
-  qn25  = mkNsName "value" ns1
-  in
-  mkRoot []
-    [ mkElement qn13 []
-      [ mkElement qn22 []
-        [ mkElement qn6 []
-          [ mkElement qn6 []
-            [ mkElement qn6 []
-              [ mkElement qn6 []
-                [ mkElement qn6 []
-                  [ mkElement qn6 []
-                    [ mkElement qn6 []
-                      [ mkElement qn6 []
-                        [ mkElement qn6 []
-                          [ mkElement qn6 []
-                            [ mkElement qn6 []
-                              [ mkElement qn6 []
-                                [ mkElement qn6 []
-                                  [ mkElement qn6 []
-                                    [ mkElement qn6 []
-                                      [ mkElement qn6 []
-                                        [ mkElement qn6 []
-                                          [ mkElement qn6 []
-                                            [ mkElement qn21
-                                              [ mkAttr qn16 [ mkText "24" ]
-                                              ] []
-                                            , mkElement qn21
-                                              [ mkAttr qn16 [ mkText "25" ]
-                                              ] []
-                                            ]
-                                          , mkElement qn21
-                                            [ mkAttr qn16 [ mkText "26" ]
-                                            ] []
-                                          ]
-                                        , mkElement qn21
-                                          [ mkAttr qn16 [ mkText "27" ]
-                                          ] []
-                                        ]
-                                      , mkElement qn21
-                                        [ mkAttr qn16 [ mkText "28" ]
-                                        ] []
-                                      ]
-                                    , mkElement qn21
-                                      [ mkAttr qn16 [ mkText "29" ]
-                                      ] []
-                                    ]
-                                  , mkElement qn21
-                                    [ mkAttr qn16 [ mkText "30" ]
-                                    ] []
-                                  ]
-                                , mkElement qn21
-                                  [ mkAttr qn16 [ mkText "31" ]
-                                  ] []
-                                ]
-                              , mkElement qn21
-                                [ mkAttr qn16 [ mkText "32" ]
-                                ] []
-                              ]
-                            , mkElement qn21
-                              [ mkAttr qn16 [ mkText "33" ]
-                              ] []
-                            ]
-                          , mkElement qn21
-                            [ mkAttr qn16 [ mkText "34" ]
-                            ] []
-                          ]
-                        , mkElement qn21
-                          [ mkAttr qn16 [ mkText "35" ]
-                          ] []
-                        ]
-                      , mkElement qn21
-                        [ mkAttr qn16 [ mkText "36" ]
-                        ] []
-                      ]
-                    , mkElement qn21
-                      [ mkAttr qn16 [ mkText "37" ]
-                      ] []
-                    ]
-                  , mkElement qn21
-                    [ mkAttr qn16 [ mkText "38" ]
-                    ] []
-                  ]
-                , mkElement qn21
-                  [ mkAttr qn16 [ mkText "39" ]
-                  ] []
-                ]
-              , mkElement qn21
-                [ mkAttr qn16 [ mkText "42" ]
-                ] []
-              ]
-            , mkElement qn21
-              [ mkAttr qn16 [ mkText "43" ]
-              ] []
-            ]
-          , mkElement qn21
-            [ mkAttr qn16 [ mkText "44" ]
-            ] []
-          ]
-        ]
-      , mkElement qn9
-        [ mkAttr qn16 [ mkText "44" ]
-        ]
-        [ mkElement qn10 []
-          [ mkElement qn17
-            [ mkAttr qn18 [ mkText "http://relaxng.org/ns/structure/1.0" ]
-            ]
-            [ mkText "grammar"
-            ]
-          , mkElement qn14 []
-            [ mkElement qn14 []
-              [ mkElement qn14 []
-                [ mkElement qn6 []
-                  [ mkElement qn11 [] []
-                  , mkElement qn5 []
-                    [ mkElement qn17
-                      [ mkAttr qn18 [ mkText "" ]
-                      ]
-                      [ mkText "ns"
-                      ]
-                    , mkElement qn23 [] []
-                    ]
-                  ]
-                , mkElement qn6 []
-                  [ mkElement qn11 [] []
-                  , mkElement qn5 []
-                    [ mkElement qn17
-                      [ mkAttr qn18 [ mkText "" ]
-                      ]
-                      [ mkText "datatypeLibrary"
-                      ]
-                    , mkElement qn7
-                      [ mkAttr qn24 [ mkText "anyURI" ]
-                      , mkAttr qn8 [ mkText "http://www.w3.org/2001/XMLSchema-datatypes" ]
-                      ] []
-                    ]
-                  ]
-                ]
-              , mkElement qn6 []
-                [ mkElement qn11 [] []
-                , mkElement qn20 []
-                  [ mkElement qn5 []
-                    [ mkElement qn4 []
-                      [ mkElement qn12 []
-                        [ mkElement qn6 []
-                          [ mkElement qn19
-                            [ mkAttr qn18 [ mkText "http://relaxng.org/ns/structure/1.0" ]
-                            ] []
-                          , mkElement qn19
-                            [ mkAttr qn18 [ mkText "" ]
-                            ] []
-                          ]
-                        ]
-                      ]
-                    , mkElement qn23 [] []
-                    ]
-                  ]
-                ]
-              ]
-            , mkElement qn15 []
-              [ mkElement qn6 []
-                [ mkElement qn11 [] []
-                , mkElement qn20 []
-                  [ mkElement qn21
-                    [ mkAttr qn16 [ mkText "15" ]
-                    ] []
-                  ]
-                ]
-              , mkElement qn6 []
-                [ mkElement qn11 [] []
-                , mkElement qn20 []
-                  [ mkElement qn6 []
-                    [ mkElement qn6 []
-                      [ mkElement qn6 []
-                        [ mkElement qn21
-                          [ mkAttr qn16 [ mkText "11" ]
-                          ] []
-                        , mkElement qn21
-                          [ mkAttr qn16 [ mkText "10" ]
-                          ] []
-                        ]
-                      , mkElement qn21
-                        [ mkAttr qn16 [ mkText "22" ]
-                        ] []
-                      ]
-                    , mkElement qn21
-                      [ mkAttr qn16 [ mkText "23" ]
-                      ] []
-                    ]
-                  ]
-                ]
-              ]
-            ]
-          ]
-        ]
-      , mkElement qn9
-        [ mkAttr qn16 [ mkText "43" ]
-        ]
-        [ mkElement qn10 []
-          [ mkElement qn17
-            [ mkAttr qn18 [ mkText "http://relaxng.org/ns/structure/1.0" ]
-            ]
-            [ mkText "externalRef"
-            ]
-          , mkElement qn14 []
-            [ mkElement qn14 []
-              [ mkElement qn5 []
-                [ mkElement qn17
-                  [ mkAttr qn18 [ mkText "" ]
-                  ]
-                  [ mkText "href"
-                  ]
-                , mkElement qn7
-                  [ mkAttr qn24 [ mkText "anyURI" ]
-                  , mkAttr qn8 [ mkText "http://www.w3.org/2001/XMLSchema-datatypes" ]
-                  ] []
-                ]
-              , mkElement qn14 []
-                [ mkElement qn14 []
-                  [ mkElement qn6 []
-                    [ mkElement qn11 [] []
-                    , mkElement qn5 []
-                      [ mkElement qn17
-                        [ mkAttr qn18 [ mkText "" ]
-                        ]
-                        [ mkText "ns"
-                        ]
-                      , mkElement qn23 [] []
-                      ]
-                    ]
-                  , mkElement qn6 []
-                    [ mkElement qn11 [] []
-                    , mkElement qn5 []
-                      [ mkElement qn17
-                        [ mkAttr qn18 [ mkText "" ]
-                        ]
-                        [ mkText "datatypeLibrary"
-                        ]
-                      , mkElement qn7
-                        [ mkAttr qn24 [ mkText "anyURI" ]
-                        , mkAttr qn8 [ mkText "http://www.w3.org/2001/XMLSchema-datatypes" ]
-                        ] []
-                      ]
-                    ]
-                  ]
-                , mkElement qn6 []
-                  [ mkElement qn11 [] []
-                  , mkElement qn20 []
-                    [ mkElement qn5 []
-                      [ mkElement qn4 []
-                        [ mkElement qn12 []
-                          [ mkElement qn6 []
-                            [ mkElement qn19
-                              [ mkAttr qn18 [ mkText "http://relaxng.org/ns/structure/1.0" ]
-                              ] []
-                            , mkElement qn19
-                              [ mkAttr qn18 [ mkText "" ]
-                              ] []
-                            ]
-                          ]
-                        ]
-                      , mkElement qn23 [] []
-                      ]
-                    ]
-                  ]
-                ]
-              ]
-            , mkElement qn6 []
-              [ mkElement qn11 [] []
-              , mkElement qn20 []
-                [ mkElement qn21
-                  [ mkAttr qn16 [ mkText "15" ]
-                  ] []
-                ]
-              ]
-            ]
-          ]
-        ]
-      , mkElement qn9
-        [ mkAttr qn16 [ mkText "42" ]
-        ]
-        [ mkElement qn10 []
-          [ mkElement qn17
-            [ mkAttr qn18 [ mkText "http://relaxng.org/ns/structure/1.0" ]
-            ]
-            [ mkText "notAllowed"
-            ]
-          , mkElement qn14 []
-            [ mkElement qn14 []
-              [ mkElement qn14 []
-                [ mkElement qn6 []
-                  [ mkElement qn11 [] []
-                  , mkElement qn5 []
-                    [ mkElement qn17
-                      [ mkAttr qn18 [ mkText "" ]
-                      ]
-                      [ mkText "ns"
-                      ]
-                    , mkElement qn23 [] []
-                    ]
-                  ]
-                , mkElement qn6 []
-                  [ mkElement qn11 [] []
-                  , mkElement qn5 []
-                    [ mkElement qn17
-                      [ mkAttr qn18 [ mkText "" ]
-                      ]
-                      [ mkText "datatypeLibrary"
-                      ]
-                    , mkElement qn7
-                      [ mkAttr qn24 [ mkText "anyURI" ]
-                      , mkAttr qn8 [ mkText "http://www.w3.org/2001/XMLSchema-datatypes" ]
-                      ] []
-                    ]
-                  ]
-                ]
-              , mkElement qn6 []
-                [ mkElement qn11 [] []
-                , mkElement qn20 []
-                  [ mkElement qn5 []
-                    [ mkElement qn4 []
-                      [ mkElement qn12 []
-                        [ mkElement qn6 []
-                          [ mkElement qn19
-                            [ mkAttr qn18 [ mkText "http://relaxng.org/ns/structure/1.0" ]
-                            ] []
-                          , mkElement qn19
-                            [ mkAttr qn18 [ mkText "" ]
-                            ] []
-                          ]
-                        ]
-                      ]
-                    , mkElement qn23 [] []
-                    ]
-                  ]
-                ]
-              ]
-            , mkElement qn6 []
-              [ mkElement qn11 [] []
-              , mkElement qn20 []
-                [ mkElement qn21
-                  [ mkAttr qn16 [ mkText "15" ]
-                  ] []
-                ]
-              ]
-            ]
-          ]
-        ]
-      , mkElement qn9
-        [ mkAttr qn16 [ mkText "39" ]
-        ]
-        [ mkElement qn10 []
-          [ mkElement qn17
-            [ mkAttr qn18 [ mkText "http://relaxng.org/ns/structure/1.0" ]
-            ]
-            [ mkText "data"
-            ]
-          , mkElement qn14 []
-            [ mkElement qn14 []
-              [ mkElement qn5 []
-                [ mkElement qn17
-                  [ mkAttr qn18 [ mkText "" ]
-                  ]
-                  [ mkText "type"
-                  ]
-                , mkElement qn7
-                  [ mkAttr qn24 [ mkText "NCName" ]
-                  , mkAttr qn8 [ mkText "http://www.w3.org/2001/XMLSchema-datatypes" ]
-                  ] []
-                ]
-              , mkElement qn14 []
-                [ mkElement qn14 []
-                  [ mkElement qn6 []
-                    [ mkElement qn11 [] []
-                    , mkElement qn5 []
-                      [ mkElement qn17
-                        [ mkAttr qn18 [ mkText "" ]
-                        ]
-                        [ mkText "ns"
-                        ]
-                      , mkElement qn23 [] []
-                      ]
-                    ]
-                  , mkElement qn6 []
-                    [ mkElement qn11 [] []
-                    , mkElement qn5 []
-                      [ mkElement qn17
-                        [ mkAttr qn18 [ mkText "" ]
-                        ]
-                        [ mkText "datatypeLibrary"
-                        ]
-                      , mkElement qn7
-                        [ mkAttr qn24 [ mkText "anyURI" ]
-                        , mkAttr qn8 [ mkText "http://www.w3.org/2001/XMLSchema-datatypes" ]
-                        ] []
-                      ]
-                    ]
-                  ]
-                , mkElement qn6 []
-                  [ mkElement qn11 [] []
-                  , mkElement qn20 []
-                    [ mkElement qn5 []
-                      [ mkElement qn4 []
-                        [ mkElement qn12 []
-                          [ mkElement qn6 []
-                            [ mkElement qn19
-                              [ mkAttr qn18 [ mkText "http://relaxng.org/ns/structure/1.0" ]
-                              ] []
-                            , mkElement qn19
-                              [ mkAttr qn18 [ mkText "" ]
-                              ] []
-                            ]
-                          ]
-                        ]
-                      , mkElement qn23 [] []
-                      ]
-                    ]
-                  ]
-                ]
-              ]
-            , mkElement qn15 []
-              [ mkElement qn6 []
-                [ mkElement qn11 [] []
-                , mkElement qn20 []
-                  [ mkElement qn21
-                    [ mkAttr qn16 [ mkText "15" ]
-                    ] []
-                  ]
-                ]
-              , mkElement qn14 []
-                [ mkElement qn6 []
-                  [ mkElement qn11 [] []
-                  , mkElement qn20 []
-                    [ mkElement qn21
-                      [ mkAttr qn16 [ mkText "40" ]
-                      ] []
-                    ]
-                  ]
-                , mkElement qn6 []
-                  [ mkElement qn11 [] []
-                  , mkElement qn21
-                    [ mkAttr qn16 [ mkText "41" ]
-                    ] []
-                  ]
-                ]
-              ]
-            ]
-          ]
-        ]
-      , mkElement qn9
-        [ mkAttr qn16 [ mkText "41" ]
-        ]
-        [ mkElement qn10 []
-          [ mkElement qn17
-            [ mkAttr qn18 [ mkText "http://relaxng.org/ns/structure/1.0" ]
-            ]
-            [ mkText "except"
-            ]
-          , mkElement qn14 []
-            [ mkElement qn14 []
-              [ mkElement qn14 []
-                [ mkElement qn6 []
-                  [ mkElement qn11 [] []
-                  , mkElement qn5 []
-                    [ mkElement qn17
-                      [ mkAttr qn18 [ mkText "" ]
-                      ]
-                      [ mkText "ns"
-                      ]
-                    , mkElement qn23 [] []
-                    ]
-                  ]
-                , mkElement qn6 []
-                  [ mkElement qn11 [] []
-                  , mkElement qn5 []
-                    [ mkElement qn17
-                      [ mkAttr qn18 [ mkText "" ]
-                      ]
-                      [ mkText "datatypeLibrary"
-                      ]
-                    , mkElement qn7
-                      [ mkAttr qn24 [ mkText "anyURI" ]
-                      , mkAttr qn8 [ mkText "http://www.w3.org/2001/XMLSchema-datatypes" ]
-                      ] []
-                    ]
-                  ]
-                ]
-              , mkElement qn6 []
-                [ mkElement qn11 [] []
-                , mkElement qn20 []
-                  [ mkElement qn5 []
-                    [ mkElement qn4 []
-                      [ mkElement qn12 []
-                        [ mkElement qn6 []
-                          [ mkElement qn19
-                            [ mkAttr qn18 [ mkText "http://relaxng.org/ns/structure/1.0" ]
-                            ] []
-                          , mkElement qn19
-                            [ mkAttr qn18 [ mkText "" ]
-                            ] []
-                          ]
-                        ]
-                      ]
-                    , mkElement qn23 [] []
-                    ]
-                  ]
-                ]
-              ]
-            , mkElement qn15 []
-              [ mkElement qn6 []
-                [ mkElement qn11 [] []
-                , mkElement qn20 []
-                  [ mkElement qn21
-                    [ mkAttr qn16 [ mkText "15" ]
-                    ] []
-                  ]
-                ]
-              , mkElement qn20 []
-                [ mkElement qn6 []
-                  [ mkElement qn6 []
-                    [ mkElement qn6 []
-                      [ mkElement qn6 []
-                        [ mkElement qn6 []
-                          [ mkElement qn6 []
-                            [ mkElement qn6 []
-                              [ mkElement qn6 []
-                                [ mkElement qn6 []
-                                  [ mkElement qn6 []
-                                    [ mkElement qn6 []
-                                      [ mkElement qn6 []
-                                        [ mkElement qn6 []
-                                          [ mkElement qn6 []
-                                            [ mkElement qn6 []
-                                              [ mkElement qn6 []
-                                                [ mkElement qn6 []
-                                                  [ mkElement qn6 []
-                                                    [ mkElement qn21
-                                                      [ mkAttr qn16 [ mkText "24" ]
-                                                      ] []
-                                                    , mkElement qn21
-                                                      [ mkAttr qn16 [ mkText "25" ]
-                                                      ] []
-                                                    ]
-                                                  , mkElement qn21
-                                                    [ mkAttr qn16 [ mkText "26" ]
-                                                    ] []
-                                                  ]
-                                                , mkElement qn21
-                                                  [ mkAttr qn16 [ mkText "27" ]
-                                                  ] []
-                                                ]
-                                              , mkElement qn21
-                                                [ mkAttr qn16 [ mkText "28" ]
-                                                ] []
-                                              ]
-                                            , mkElement qn21
-                                              [ mkAttr qn16 [ mkText "29" ]
-                                              ] []
-                                            ]
-                                          , mkElement qn21
-                                            [ mkAttr qn16 [ mkText "30" ]
-                                            ] []
-                                          ]
-                                        , mkElement qn21
-                                          [ mkAttr qn16 [ mkText "31" ]
-                                          ] []
-                                        ]
-                                      , mkElement qn21
-                                        [ mkAttr qn16 [ mkText "32" ]
-                                        ] []
-                                      ]
-                                    , mkElement qn21
-                                      [ mkAttr qn16 [ mkText "33" ]
-                                      ] []
-                                    ]
-                                  , mkElement qn21
-                                    [ mkAttr qn16 [ mkText "34" ]
-                                    ] []
-                                  ]
-                                , mkElement qn21
-                                  [ mkAttr qn16 [ mkText "35" ]
-                                  ] []
-                                ]
-                              , mkElement qn21
-                                [ mkAttr qn16 [ mkText "36" ]
-                                ] []
-                              ]
-                            , mkElement qn21
-                              [ mkAttr qn16 [ mkText "37" ]
-                              ] []
-                            ]
-                          , mkElement qn21
-                            [ mkAttr qn16 [ mkText "38" ]
-                            ] []
-                          ]
-                        , mkElement qn21
-                          [ mkAttr qn16 [ mkText "39" ]
-                          ] []
-                        ]
-                      , mkElement qn21
-                        [ mkAttr qn16 [ mkText "42" ]
-                        ] []
-                      ]
-                    , mkElement qn21
-                      [ mkAttr qn16 [ mkText "43" ]
-                      ] []
-                    ]
-                  , mkElement qn21
-                    [ mkAttr qn16 [ mkText "44" ]
-                    ] []
-                  ]
-                ]
-              ]
-            ]
-          ]
-        ]
-      , mkElement qn9
-        [ mkAttr qn16 [ mkText "40" ]
-        ]
-        [ mkElement qn10 []
-          [ mkElement qn17
-            [ mkAttr qn18 [ mkText "http://relaxng.org/ns/structure/1.0" ]
-            ]
-            [ mkText "param"
-            ]
-          , mkElement qn14 []
-            [ mkElement qn5 []
-              [ mkElement qn17
-                [ mkAttr qn18 [ mkText "" ]
-                ]
-                [ mkText "name"
-                ]
-              , mkElement qn7
-                [ mkAttr qn24 [ mkText "NCName" ]
-                , mkAttr qn8 [ mkText "http://www.w3.org/2001/XMLSchema-datatypes" ]
-                ] []
-              ]
-            , mkElement qn23 [] []
-            ]
-          ]
-        ]
-      , mkElement qn9
-        [ mkAttr qn16 [ mkText "38" ]
-        ]
-        [ mkElement qn10 []
-          [ mkElement qn17
-            [ mkAttr qn18 [ mkText "http://relaxng.org/ns/structure/1.0" ]
-            ]
-            [ mkText "value"
-            ]
-          , mkElement qn14 []
-            [ mkElement qn14 []
-              [ mkElement qn6 []
-                [ mkElement qn11 [] []
-                , mkElement qn5 []
-                  [ mkElement qn17
-                    [ mkAttr qn18 [ mkText "" ]
-                    ]
-                    [ mkText "type"
-                    ]
-                  , mkElement qn7
-                    [ mkAttr qn24 [ mkText "NCName" ]
-                    , mkAttr qn8 [ mkText "http://www.w3.org/2001/XMLSchema-datatypes" ]
-                    ] []
-                  ]
-                ]
-              , mkElement qn14 []
-                [ mkElement qn14 []
-                  [ mkElement qn6 []
-                    [ mkElement qn11 [] []
-                    , mkElement qn5 []
-                      [ mkElement qn17
-                        [ mkAttr qn18 [ mkText "" ]
-                        ]
-                        [ mkText "ns"
-                        ]
-                      , mkElement qn23 [] []
-                      ]
-                    ]
-                  , mkElement qn6 []
-                    [ mkElement qn11 [] []
-                    , mkElement qn5 []
-                      [ mkElement qn17
-                        [ mkAttr qn18 [ mkText "" ]
-                        ]
-                        [ mkText "datatypeLibrary"
-                        ]
-                      , mkElement qn7
-                        [ mkAttr qn24 [ mkText "anyURI" ]
-                        , mkAttr qn8 [ mkText "http://www.w3.org/2001/XMLSchema-datatypes" ]
-                        ] []
-                      ]
-                    ]
-                  ]
-                , mkElement qn6 []
-                  [ mkElement qn11 [] []
-                  , mkElement qn20 []
-                    [ mkElement qn5 []
-                      [ mkElement qn4 []
-                        [ mkElement qn12 []
-                          [ mkElement qn6 []
-                            [ mkElement qn19
-                              [ mkAttr qn18 [ mkText "http://relaxng.org/ns/structure/1.0" ]
-                              ] []
-                            , mkElement qn19
-                              [ mkAttr qn18 [ mkText "" ]
-                              ] []
-                            ]
-                          ]
-                        ]
-                      , mkElement qn23 [] []
-                      ]
-                    ]
-                  ]
-                ]
-              ]
-            , mkElement qn23 [] []
-            ]
-          ]
-        ]
-      , mkElement qn9
-        [ mkAttr qn16 [ mkText "37" ]
-        ]
-        [ mkElement qn10 []
-          [ mkElement qn17
-            [ mkAttr qn18 [ mkText "http://relaxng.org/ns/structure/1.0" ]
-            ]
-            [ mkText "text"
-            ]
-          , mkElement qn14 []
-            [ mkElement qn14 []
-              [ mkElement qn14 []
-                [ mkElement qn6 []
-                  [ mkElement qn11 [] []
-                  , mkElement qn5 []
-                    [ mkElement qn17
-                      [ mkAttr qn18 [ mkText "" ]
-                      ]
-                      [ mkText "ns"
-                      ]
-                    , mkElement qn23 [] []
-                    ]
-                  ]
-                , mkElement qn6 []
-                  [ mkElement qn11 [] []
-                  , mkElement qn5 []
-                    [ mkElement qn17
-                      [ mkAttr qn18 [ mkText "" ]
-                      ]
-                      [ mkText "datatypeLibrary"
-                      ]
-                    , mkElement qn7
-                      [ mkAttr qn24 [ mkText "anyURI" ]
-                      , mkAttr qn8 [ mkText "http://www.w3.org/2001/XMLSchema-datatypes" ]
-                      ] []
-                    ]
-                  ]
-                ]
-              , mkElement qn6 []
-                [ mkElement qn11 [] []
-                , mkElement qn20 []
-                  [ mkElement qn5 []
-                    [ mkElement qn4 []
-                      [ mkElement qn12 []
-                        [ mkElement qn6 []
-                          [ mkElement qn19
-                            [ mkAttr qn18 [ mkText "http://relaxng.org/ns/structure/1.0" ]
-                            ] []
-                          , mkElement qn19
-                            [ mkAttr qn18 [ mkText "" ]
-                            ] []
-                          ]
-                        ]
-                      ]
-                    , mkElement qn23 [] []
-                    ]
-                  ]
-                ]
-              ]
-            , mkElement qn6 []
-              [ mkElement qn11 [] []
-              , mkElement qn20 []
-                [ mkElement qn21
-                  [ mkAttr qn16 [ mkText "15" ]
-                  ] []
-                ]
-              ]
-            ]
-          ]
-        ]
-      , mkElement qn9
-        [ mkAttr qn16 [ mkText "36" ]
-        ]
-        [ mkElement qn10 []
-          [ mkElement qn17
-            [ mkAttr qn18 [ mkText "http://relaxng.org/ns/structure/1.0" ]
-            ]
-            [ mkText "empty"
-            ]
-          , mkElement qn14 []
-            [ mkElement qn14 []
-              [ mkElement qn14 []
-                [ mkElement qn6 []
-                  [ mkElement qn11 [] []
-                  , mkElement qn5 []
-                    [ mkElement qn17
-                      [ mkAttr qn18 [ mkText "" ]
-                      ]
-                      [ mkText "ns"
-                      ]
-                    , mkElement qn23 [] []
-                    ]
-                  ]
-                , mkElement qn6 []
-                  [ mkElement qn11 [] []
-                  , mkElement qn5 []
-                    [ mkElement qn17
-                      [ mkAttr qn18 [ mkText "" ]
-                      ]
-                      [ mkText "datatypeLibrary"
-                      ]
-                    , mkElement qn7
-                      [ mkAttr qn24 [ mkText "anyURI" ]
-                      , mkAttr qn8 [ mkText "http://www.w3.org/2001/XMLSchema-datatypes" ]
-                      ] []
-                    ]
-                  ]
-                ]
-              , mkElement qn6 []
-                [ mkElement qn11 [] []
-                , mkElement qn20 []
-                  [ mkElement qn5 []
-                    [ mkElement qn4 []
-                      [ mkElement qn12 []
-                        [ mkElement qn6 []
-                          [ mkElement qn19
-                            [ mkAttr qn18 [ mkText "http://relaxng.org/ns/structure/1.0" ]
-                            ] []
-                          , mkElement qn19
-                            [ mkAttr qn18 [ mkText "" ]
-                            ] []
-                          ]
-                        ]
-                      ]
-                    , mkElement qn23 [] []
-                    ]
-                  ]
-                ]
-              ]
-            , mkElement qn6 []
-              [ mkElement qn11 [] []
-              , mkElement qn20 []
-                [ mkElement qn21
-                  [ mkAttr qn16 [ mkText "15" ]
-                  ] []
-                ]
-              ]
-            ]
-          ]
-        ]
-      , mkElement qn9
-        [ mkAttr qn16 [ mkText "35" ]
-        ]
-        [ mkElement qn10 []
-          [ mkElement qn17
-            [ mkAttr qn18 [ mkText "http://relaxng.org/ns/structure/1.0" ]
-            ]
-            [ mkText "parentRef"
-            ]
-          , mkElement qn14 []
-            [ mkElement qn5 []
-              [ mkElement qn17
-                [ mkAttr qn18 [ mkText "" ]
-                ]
-                [ mkText "name"
-                ]
-              , mkElement qn7
-                [ mkAttr qn24 [ mkText "NCName" ]
-                , mkAttr qn8 [ mkText "http://www.w3.org/2001/XMLSchema-datatypes" ]
-                ] []
-              ]
-            , mkElement qn14 []
-              [ mkElement qn14 []
-                [ mkElement qn6 []
-                  [ mkElement qn11 [] []
-                  , mkElement qn5 []
-                    [ mkElement qn17
-                      [ mkAttr qn18 [ mkText "" ]
-                      ]
-                      [ mkText "ns"
-                      ]
-                    , mkElement qn23 [] []
-                    ]
-                  ]
-                , mkElement qn6 []
-                  [ mkElement qn11 [] []
-                  , mkElement qn5 []
-                    [ mkElement qn17
-                      [ mkAttr qn18 [ mkText "" ]
-                      ]
-                      [ mkText "datatypeLibrary"
-                      ]
-                    , mkElement qn7
-                      [ mkAttr qn24 [ mkText "anyURI" ]
-                      , mkAttr qn8 [ mkText "http://www.w3.org/2001/XMLSchema-datatypes" ]
-                      ] []
-                    ]
-                  ]
-                ]
-              , mkElement qn6 []
-                [ mkElement qn11 [] []
-                , mkElement qn20 []
-                  [ mkElement qn5 []
-                    [ mkElement qn4 []
-                      [ mkElement qn12 []
-                        [ mkElement qn6 []
-                          [ mkElement qn19
-                            [ mkAttr qn18 [ mkText "http://relaxng.org/ns/structure/1.0" ]
-                            ] []
-                          , mkElement qn19
-                            [ mkAttr qn18 [ mkText "" ]
-                            ] []
-                          ]
-                        ]
-                      ]
-                    , mkElement qn23 [] []
-                    ]
-                  ]
-                ]
-              ]
-            ]
-          ]
-        ]
-      , mkElement qn9
-        [ mkAttr qn16 [ mkText "34" ]
-        ]
-        [ mkElement qn10 []
-          [ mkElement qn17
-            [ mkAttr qn18 [ mkText "http://relaxng.org/ns/structure/1.0" ]
-            ]
-            [ mkText "ref"
-            ]
-          , mkElement qn14 []
-            [ mkElement qn5 []
-              [ mkElement qn17
-                [ mkAttr qn18 [ mkText "" ]
-                ]
-                [ mkText "name"
-                ]
-              , mkElement qn7
-                [ mkAttr qn24 [ mkText "NCName" ]
-                , mkAttr qn8 [ mkText "http://www.w3.org/2001/XMLSchema-datatypes" ]
-                ] []
-              ]
-            , mkElement qn14 []
-              [ mkElement qn14 []
-                [ mkElement qn6 []
-                  [ mkElement qn11 [] []
-                  , mkElement qn5 []
-                    [ mkElement qn17
-                      [ mkAttr qn18 [ mkText "" ]
-                      ]
-                      [ mkText "ns"
-                      ]
-                    , mkElement qn23 [] []
-                    ]
-                  ]
-                , mkElement qn6 []
-                  [ mkElement qn11 [] []
-                  , mkElement qn5 []
-                    [ mkElement qn17
-                      [ mkAttr qn18 [ mkText "" ]
-                      ]
-                      [ mkText "datatypeLibrary"
-                      ]
-                    , mkElement qn7
-                      [ mkAttr qn24 [ mkText "anyURI" ]
-                      , mkAttr qn8 [ mkText "http://www.w3.org/2001/XMLSchema-datatypes" ]
-                      ] []
-                    ]
-                  ]
-                ]
-              , mkElement qn6 []
-                [ mkElement qn11 [] []
-                , mkElement qn20 []
-                  [ mkElement qn5 []
-                    [ mkElement qn4 []
-                      [ mkElement qn12 []
-                        [ mkElement qn6 []
-                          [ mkElement qn19
-                            [ mkAttr qn18 [ mkText "http://relaxng.org/ns/structure/1.0" ]
-                            ] []
-                          , mkElement qn19
-                            [ mkAttr qn18 [ mkText "" ]
-                            ] []
-                          ]
-                        ]
-                      ]
-                    , mkElement qn23 [] []
-                    ]
-                  ]
-                ]
-              ]
-            ]
-          ]
-        ]
-      , mkElement qn9
-        [ mkAttr qn16 [ mkText "33" ]
-        ]
-        [ mkElement qn10 []
-          [ mkElement qn17
-            [ mkAttr qn18 [ mkText "http://relaxng.org/ns/structure/1.0" ]
-            ]
-            [ mkText "mixed"
-            ]
-          , mkElement qn14 []
-            [ mkElement qn14 []
-              [ mkElement qn14 []
-                [ mkElement qn6 []
-                  [ mkElement qn11 [] []
-                  , mkElement qn5 []
-                    [ mkElement qn17
-                      [ mkAttr qn18 [ mkText "" ]
-                      ]
-                      [ mkText "ns"
-                      ]
-                    , mkElement qn23 [] []
-                    ]
-                  ]
-                , mkElement qn6 []
-                  [ mkElement qn11 [] []
-                  , mkElement qn5 []
-                    [ mkElement qn17
-                      [ mkAttr qn18 [ mkText "" ]
-                      ]
-                      [ mkText "datatypeLibrary"
-                      ]
-                    , mkElement qn7
-                      [ mkAttr qn24 [ mkText "anyURI" ]
-                      , mkAttr qn8 [ mkText "http://www.w3.org/2001/XMLSchema-datatypes" ]
-                      ] []
-                    ]
-                  ]
-                ]
-              , mkElement qn6 []
-                [ mkElement qn11 [] []
-                , mkElement qn20 []
-                  [ mkElement qn5 []
-                    [ mkElement qn4 []
-                      [ mkElement qn12 []
-                        [ mkElement qn6 []
-                          [ mkElement qn19
-                            [ mkAttr qn18 [ mkText "http://relaxng.org/ns/structure/1.0" ]
-                            ] []
-                          , mkElement qn19
-                            [ mkAttr qn18 [ mkText "" ]
-                            ] []
-                          ]
-                        ]
-                      ]
-                    , mkElement qn23 [] []
-                    ]
-                  ]
-                ]
-              ]
-            , mkElement qn15 []
-              [ mkElement qn6 []
-                [ mkElement qn11 [] []
-                , mkElement qn20 []
-                  [ mkElement qn21
-                    [ mkAttr qn16 [ mkText "15" ]
-                    ] []
-                  ]
-                ]
-              , mkElement qn20 []
-                [ mkElement qn6 []
-                  [ mkElement qn6 []
-                    [ mkElement qn6 []
-                      [ mkElement qn6 []
-                        [ mkElement qn6 []
-                          [ mkElement qn6 []
-                            [ mkElement qn6 []
-                              [ mkElement qn6 []
-                                [ mkElement qn6 []
-                                  [ mkElement qn6 []
-                                    [ mkElement qn6 []
-                                      [ mkElement qn6 []
-                                        [ mkElement qn6 []
-                                          [ mkElement qn6 []
-                                            [ mkElement qn6 []
-                                              [ mkElement qn6 []
-                                                [ mkElement qn6 []
-                                                  [ mkElement qn6 []
-                                                    [ mkElement qn21
-                                                      [ mkAttr qn16 [ mkText "24" ]
-                                                      ] []
-                                                    , mkElement qn21
-                                                      [ mkAttr qn16 [ mkText "25" ]
-                                                      ] []
-                                                    ]
-                                                  , mkElement qn21
-                                                    [ mkAttr qn16 [ mkText "26" ]
-                                                    ] []
-                                                  ]
-                                                , mkElement qn21
-                                                  [ mkAttr qn16 [ mkText "27" ]
-                                                  ] []
-                                                ]
-                                              , mkElement qn21
-                                                [ mkAttr qn16 [ mkText "28" ]
-                                                ] []
-                                              ]
-                                            , mkElement qn21
-                                              [ mkAttr qn16 [ mkText "29" ]
-                                              ] []
-                                            ]
-                                          , mkElement qn21
-                                            [ mkAttr qn16 [ mkText "30" ]
-                                            ] []
-                                          ]
-                                        , mkElement qn21
-                                          [ mkAttr qn16 [ mkText "31" ]
-                                          ] []
-                                        ]
-                                      , mkElement qn21
-                                        [ mkAttr qn16 [ mkText "32" ]
-                                        ] []
-                                      ]
-                                    , mkElement qn21
-                                      [ mkAttr qn16 [ mkText "33" ]
-                                      ] []
-                                    ]
-                                  , mkElement qn21
-                                    [ mkAttr qn16 [ mkText "34" ]
-                                    ] []
-                                  ]
-                                , mkElement qn21
-                                  [ mkAttr qn16 [ mkText "35" ]
-                                  ] []
-                                ]
-                              , mkElement qn21
-                                [ mkAttr qn16 [ mkText "36" ]
-                                ] []
-                              ]
-                            , mkElement qn21
-                              [ mkAttr qn16 [ mkText "37" ]
-                              ] []
-                            ]
-                          , mkElement qn21
-                            [ mkAttr qn16 [ mkText "38" ]
-                            ] []
-                          ]
-                        , mkElement qn21
-                          [ mkAttr qn16 [ mkText "39" ]
-                          ] []
-                        ]
-                      , mkElement qn21
-                        [ mkAttr qn16 [ mkText "42" ]
-                        ] []
-                      ]
-                    , mkElement qn21
-                      [ mkAttr qn16 [ mkText "43" ]
-                      ] []
-                    ]
-                  , mkElement qn21
-                    [ mkAttr qn16 [ mkText "44" ]
-                    ] []
-                  ]
-                ]
-              ]
-            ]
-          ]
-        ]
-      , mkElement qn9
-        [ mkAttr qn16 [ mkText "32" ]
-        ]
-        [ mkElement qn10 []
-          [ mkElement qn17
-            [ mkAttr qn18 [ mkText "http://relaxng.org/ns/structure/1.0" ]
-            ]
-            [ mkText "list"
-            ]
-          , mkElement qn14 []
-            [ mkElement qn14 []
-              [ mkElement qn14 []
-                [ mkElement qn6 []
-                  [ mkElement qn11 [] []
-                  , mkElement qn5 []
-                    [ mkElement qn17
-                      [ mkAttr qn18 [ mkText "" ]
-                      ]
-                      [ mkText "ns"
-                      ]
-                    , mkElement qn23 [] []
-                    ]
-                  ]
-                , mkElement qn6 []
-                  [ mkElement qn11 [] []
-                  , mkElement qn5 []
-                    [ mkElement qn17
-                      [ mkAttr qn18 [ mkText "" ]
-                      ]
-                      [ mkText "datatypeLibrary"
-                      ]
-                    , mkElement qn7
-                      [ mkAttr qn24 [ mkText "anyURI" ]
-                      , mkAttr qn8 [ mkText "http://www.w3.org/2001/XMLSchema-datatypes" ]
-                      ] []
-                    ]
-                  ]
-                ]
-              , mkElement qn6 []
-                [ mkElement qn11 [] []
-                , mkElement qn20 []
-                  [ mkElement qn5 []
-                    [ mkElement qn4 []
-                      [ mkElement qn12 []
-                        [ mkElement qn6 []
-                          [ mkElement qn19
-                            [ mkAttr qn18 [ mkText "http://relaxng.org/ns/structure/1.0" ]
-                            ] []
-                          , mkElement qn19
-                            [ mkAttr qn18 [ mkText "" ]
-                            ] []
-                          ]
-                        ]
-                      ]
-                    , mkElement qn23 [] []
-                    ]
-                  ]
-                ]
-              ]
-            , mkElement qn15 []
-              [ mkElement qn6 []
-                [ mkElement qn11 [] []
-                , mkElement qn20 []
-                  [ mkElement qn21
-                    [ mkAttr qn16 [ mkText "15" ]
-                    ] []
-                  ]
-                ]
-              , mkElement qn20 []
-                [ mkElement qn6 []
-                  [ mkElement qn6 []
-                    [ mkElement qn6 []
-                      [ mkElement qn6 []
-                        [ mkElement qn6 []
-                          [ mkElement qn6 []
-                            [ mkElement qn6 []
-                              [ mkElement qn6 []
-                                [ mkElement qn6 []
-                                  [ mkElement qn6 []
-                                    [ mkElement qn6 []
-                                      [ mkElement qn6 []
-                                        [ mkElement qn6 []
-                                          [ mkElement qn6 []
-                                            [ mkElement qn6 []
-                                              [ mkElement qn6 []
-                                                [ mkElement qn6 []
-                                                  [ mkElement qn6 []
-                                                    [ mkElement qn21
-                                                      [ mkAttr qn16 [ mkText "24" ]
-                                                      ] []
-                                                    , mkElement qn21
-                                                      [ mkAttr qn16 [ mkText "25" ]
-                                                      ] []
-                                                    ]
-                                                  , mkElement qn21
-                                                    [ mkAttr qn16 [ mkText "26" ]
-                                                    ] []
-                                                  ]
-                                                , mkElement qn21
-                                                  [ mkAttr qn16 [ mkText "27" ]
-                                                  ] []
-                                                ]
-                                              , mkElement qn21
-                                                [ mkAttr qn16 [ mkText "28" ]
-                                                ] []
-                                              ]
-                                            , mkElement qn21
-                                              [ mkAttr qn16 [ mkText "29" ]
-                                              ] []
-                                            ]
-                                          , mkElement qn21
-                                            [ mkAttr qn16 [ mkText "30" ]
-                                            ] []
-                                          ]
-                                        , mkElement qn21
-                                          [ mkAttr qn16 [ mkText "31" ]
-                                          ] []
-                                        ]
-                                      , mkElement qn21
-                                        [ mkAttr qn16 [ mkText "32" ]
-                                        ] []
-                                      ]
-                                    , mkElement qn21
-                                      [ mkAttr qn16 [ mkText "33" ]
-                                      ] []
-                                    ]
-                                  , mkElement qn21
-                                    [ mkAttr qn16 [ mkText "34" ]
-                                    ] []
-                                  ]
-                                , mkElement qn21
-                                  [ mkAttr qn16 [ mkText "35" ]
-                                  ] []
-                                ]
-                              , mkElement qn21
-                                [ mkAttr qn16 [ mkText "36" ]
-                                ] []
-                              ]
-                            , mkElement qn21
-                              [ mkAttr qn16 [ mkText "37" ]
-                              ] []
-                            ]
-                          , mkElement qn21
-                            [ mkAttr qn16 [ mkText "38" ]
-                            ] []
-                          ]
-                        , mkElement qn21
-                          [ mkAttr qn16 [ mkText "39" ]
-                          ] []
-                        ]
-                      , mkElement qn21
-                        [ mkAttr qn16 [ mkText "42" ]
-                        ] []
-                      ]
-                    , mkElement qn21
-                      [ mkAttr qn16 [ mkText "43" ]
-                      ] []
-                    ]
-                  , mkElement qn21
-                    [ mkAttr qn16 [ mkText "44" ]
-                    ] []
-                  ]
-                ]
-              ]
-            ]
-          ]
-        ]
-      , mkElement qn9
-        [ mkAttr qn16 [ mkText "31" ]
-        ]
-        [ mkElement qn10 []
-          [ mkElement qn17
-            [ mkAttr qn18 [ mkText "http://relaxng.org/ns/structure/1.0" ]
-            ]
-            [ mkText "oneOrMore"
-            ]
-          , mkElement qn14 []
-            [ mkElement qn14 []
-              [ mkElement qn14 []
-                [ mkElement qn6 []
-                  [ mkElement qn11 [] []
-                  , mkElement qn5 []
-                    [ mkElement qn17
-                      [ mkAttr qn18 [ mkText "" ]
-                      ]
-                      [ mkText "ns"
-                      ]
-                    , mkElement qn23 [] []
-                    ]
-                  ]
-                , mkElement qn6 []
-                  [ mkElement qn11 [] []
-                  , mkElement qn5 []
-                    [ mkElement qn17
-                      [ mkAttr qn18 [ mkText "" ]
-                      ]
-                      [ mkText "datatypeLibrary"
-                      ]
-                    , mkElement qn7
-                      [ mkAttr qn24 [ mkText "anyURI" ]
-                      , mkAttr qn8 [ mkText "http://www.w3.org/2001/XMLSchema-datatypes" ]
-                      ] []
-                    ]
-                  ]
-                ]
-              , mkElement qn6 []
-                [ mkElement qn11 [] []
-                , mkElement qn20 []
-                  [ mkElement qn5 []
-                    [ mkElement qn4 []
-                      [ mkElement qn12 []
-                        [ mkElement qn6 []
-                          [ mkElement qn19
-                            [ mkAttr qn18 [ mkText "http://relaxng.org/ns/structure/1.0" ]
-                            ] []
-                          , mkElement qn19
-                            [ mkAttr qn18 [ mkText "" ]
-                            ] []
-                          ]
-                        ]
-                      ]
-                    , mkElement qn23 [] []
-                    ]
-                  ]
-                ]
-              ]
-            , mkElement qn15 []
-              [ mkElement qn6 []
-                [ mkElement qn11 [] []
-                , mkElement qn20 []
-                  [ mkElement qn21
-                    [ mkAttr qn16 [ mkText "15" ]
-                    ] []
-                  ]
-                ]
-              , mkElement qn20 []
-                [ mkElement qn6 []
-                  [ mkElement qn6 []
-                    [ mkElement qn6 []
-                      [ mkElement qn6 []
-                        [ mkElement qn6 []
-                          [ mkElement qn6 []
-                            [ mkElement qn6 []
-                              [ mkElement qn6 []
-                                [ mkElement qn6 []
-                                  [ mkElement qn6 []
-                                    [ mkElement qn6 []
-                                      [ mkElement qn6 []
-                                        [ mkElement qn6 []
-                                          [ mkElement qn6 []
-                                            [ mkElement qn6 []
-                                              [ mkElement qn6 []
-                                                [ mkElement qn6 []
-                                                  [ mkElement qn6 []
-                                                    [ mkElement qn21
-                                                      [ mkAttr qn16 [ mkText "24" ]
-                                                      ] []
-                                                    , mkElement qn21
-                                                      [ mkAttr qn16 [ mkText "25" ]
-                                                      ] []
-                                                    ]
-                                                  , mkElement qn21
-                                                    [ mkAttr qn16 [ mkText "26" ]
-                                                    ] []
-                                                  ]
-                                                , mkElement qn21
-                                                  [ mkAttr qn16 [ mkText "27" ]
-                                                  ] []
-                                                ]
-                                              , mkElement qn21
-                                                [ mkAttr qn16 [ mkText "28" ]
-                                                ] []
-                                              ]
-                                            , mkElement qn21
-                                              [ mkAttr qn16 [ mkText "29" ]
-                                              ] []
-                                            ]
-                                          , mkElement qn21
-                                            [ mkAttr qn16 [ mkText "30" ]
-                                            ] []
-                                          ]
-                                        , mkElement qn21
-                                          [ mkAttr qn16 [ mkText "31" ]
-                                          ] []
-                                        ]
-                                      , mkElement qn21
-                                        [ mkAttr qn16 [ mkText "32" ]
-                                        ] []
-                                      ]
-                                    , mkElement qn21
-                                      [ mkAttr qn16 [ mkText "33" ]
-                                      ] []
-                                    ]
-                                  , mkElement qn21
-                                    [ mkAttr qn16 [ mkText "34" ]
-                                    ] []
-                                  ]
-                                , mkElement qn21
-                                  [ mkAttr qn16 [ mkText "35" ]
-                                  ] []
-                                ]
-                              , mkElement qn21
-                                [ mkAttr qn16 [ mkText "36" ]
-                                ] []
-                              ]
-                            , mkElement qn21
-                              [ mkAttr qn16 [ mkText "37" ]
-                              ] []
-                            ]
-                          , mkElement qn21
-                            [ mkAttr qn16 [ mkText "38" ]
-                            ] []
-                          ]
-                        , mkElement qn21
-                          [ mkAttr qn16 [ mkText "39" ]
-                          ] []
-                        ]
-                      , mkElement qn21
-                        [ mkAttr qn16 [ mkText "42" ]
-                        ] []
-                      ]
-                    , mkElement qn21
-                      [ mkAttr qn16 [ mkText "43" ]
-                      ] []
-                    ]
-                  , mkElement qn21
-                    [ mkAttr qn16 [ mkText "44" ]
-                    ] []
-                  ]
-                ]
-              ]
-            ]
-          ]
-        ]
-      , mkElement qn9
-        [ mkAttr qn16 [ mkText "30" ]
-        ]
-        [ mkElement qn10 []
-          [ mkElement qn17
-            [ mkAttr qn18 [ mkText "http://relaxng.org/ns/structure/1.0" ]
-            ]
-            [ mkText "zeroOrMore"
-            ]
-          , mkElement qn14 []
-            [ mkElement qn14 []
-              [ mkElement qn14 []
-                [ mkElement qn6 []
-                  [ mkElement qn11 [] []
-                  , mkElement qn5 []
-                    [ mkElement qn17
-                      [ mkAttr qn18 [ mkText "" ]
-                      ]
-                      [ mkText "ns"
-                      ]
-                    , mkElement qn23 [] []
-                    ]
-                  ]
-                , mkElement qn6 []
-                  [ mkElement qn11 [] []
-                  , mkElement qn5 []
-                    [ mkElement qn17
-                      [ mkAttr qn18 [ mkText "" ]
-                      ]
-                      [ mkText "datatypeLibrary"
-                      ]
-                    , mkElement qn7
-                      [ mkAttr qn24 [ mkText "anyURI" ]
-                      , mkAttr qn8 [ mkText "http://www.w3.org/2001/XMLSchema-datatypes" ]
-                      ] []
-                    ]
-                  ]
-                ]
-              , mkElement qn6 []
-                [ mkElement qn11 [] []
-                , mkElement qn20 []
-                  [ mkElement qn5 []
-                    [ mkElement qn4 []
-                      [ mkElement qn12 []
-                        [ mkElement qn6 []
-                          [ mkElement qn19
-                            [ mkAttr qn18 [ mkText "http://relaxng.org/ns/structure/1.0" ]
-                            ] []
-                          , mkElement qn19
-                            [ mkAttr qn18 [ mkText "" ]
-                            ] []
-                          ]
-                        ]
-                      ]
-                    , mkElement qn23 [] []
-                    ]
-                  ]
-                ]
-              ]
-            , mkElement qn15 []
-              [ mkElement qn6 []
-                [ mkElement qn11 [] []
-                , mkElement qn20 []
-                  [ mkElement qn21
-                    [ mkAttr qn16 [ mkText "15" ]
-                    ] []
-                  ]
-                ]
-              , mkElement qn20 []
-                [ mkElement qn6 []
-                  [ mkElement qn6 []
-                    [ mkElement qn6 []
-                      [ mkElement qn6 []
-                        [ mkElement qn6 []
-                          [ mkElement qn6 []
-                            [ mkElement qn6 []
-                              [ mkElement qn6 []
-                                [ mkElement qn6 []
-                                  [ mkElement qn6 []
-                                    [ mkElement qn6 []
-                                      [ mkElement qn6 []
-                                        [ mkElement qn6 []
-                                          [ mkElement qn6 []
-                                            [ mkElement qn6 []
-                                              [ mkElement qn6 []
-                                                [ mkElement qn6 []
-                                                  [ mkElement qn6 []
-                                                    [ mkElement qn21
-                                                      [ mkAttr qn16 [ mkText "24" ]
-                                                      ] []
-                                                    , mkElement qn21
-                                                      [ mkAttr qn16 [ mkText "25" ]
-                                                      ] []
-                                                    ]
-                                                  , mkElement qn21
-                                                    [ mkAttr qn16 [ mkText "26" ]
-                                                    ] []
-                                                  ]
-                                                , mkElement qn21
-                                                  [ mkAttr qn16 [ mkText "27" ]
-                                                  ] []
-                                                ]
-                                              , mkElement qn21
-                                                [ mkAttr qn16 [ mkText "28" ]
-                                                ] []
-                                              ]
-                                            , mkElement qn21
-                                              [ mkAttr qn16 [ mkText "29" ]
-                                              ] []
-                                            ]
-                                          , mkElement qn21
-                                            [ mkAttr qn16 [ mkText "30" ]
-                                            ] []
-                                          ]
-                                        , mkElement qn21
-                                          [ mkAttr qn16 [ mkText "31" ]
-                                          ] []
-                                        ]
-                                      , mkElement qn21
-                                        [ mkAttr qn16 [ mkText "32" ]
-                                        ] []
-                                      ]
-                                    , mkElement qn21
-                                      [ mkAttr qn16 [ mkText "33" ]
-                                      ] []
-                                    ]
-                                  , mkElement qn21
-                                    [ mkAttr qn16 [ mkText "34" ]
-                                    ] []
-                                  ]
-                                , mkElement qn21
-                                  [ mkAttr qn16 [ mkText "35" ]
-                                  ] []
-                                ]
-                              , mkElement qn21
-                                [ mkAttr qn16 [ mkText "36" ]
-                                ] []
-                              ]
-                            , mkElement qn21
-                              [ mkAttr qn16 [ mkText "37" ]
-                              ] []
-                            ]
-                          , mkElement qn21
-                            [ mkAttr qn16 [ mkText "38" ]
-                            ] []
-                          ]
-                        , mkElement qn21
-                          [ mkAttr qn16 [ mkText "39" ]
-                          ] []
-                        ]
-                      , mkElement qn21
-                        [ mkAttr qn16 [ mkText "42" ]
-                        ] []
-                      ]
-                    , mkElement qn21
-                      [ mkAttr qn16 [ mkText "43" ]
-                      ] []
-                    ]
-                  , mkElement qn21
-                    [ mkAttr qn16 [ mkText "44" ]
-                    ] []
-                  ]
-                ]
-              ]
-            ]
-          ]
-        ]
-      , mkElement qn9
-        [ mkAttr qn16 [ mkText "29" ]
-        ]
-        [ mkElement qn10 []
-          [ mkElement qn17
-            [ mkAttr qn18 [ mkText "http://relaxng.org/ns/structure/1.0" ]
-            ]
-            [ mkText "optional"
-            ]
-          , mkElement qn14 []
-            [ mkElement qn14 []
-              [ mkElement qn14 []
-                [ mkElement qn6 []
-                  [ mkElement qn11 [] []
-                  , mkElement qn5 []
-                    [ mkElement qn17
-                      [ mkAttr qn18 [ mkText "" ]
-                      ]
-                      [ mkText "ns"
-                      ]
-                    , mkElement qn23 [] []
-                    ]
-                  ]
-                , mkElement qn6 []
-                  [ mkElement qn11 [] []
-                  , mkElement qn5 []
-                    [ mkElement qn17
-                      [ mkAttr qn18 [ mkText "" ]
-                      ]
-                      [ mkText "datatypeLibrary"
-                      ]
-                    , mkElement qn7
-                      [ mkAttr qn24 [ mkText "anyURI" ]
-                      , mkAttr qn8 [ mkText "http://www.w3.org/2001/XMLSchema-datatypes" ]
-                      ] []
-                    ]
-                  ]
-                ]
-              , mkElement qn6 []
-                [ mkElement qn11 [] []
-                , mkElement qn20 []
-                  [ mkElement qn5 []
-                    [ mkElement qn4 []
-                      [ mkElement qn12 []
-                        [ mkElement qn6 []
-                          [ mkElement qn19
-                            [ mkAttr qn18 [ mkText "http://relaxng.org/ns/structure/1.0" ]
-                            ] []
-                          , mkElement qn19
-                            [ mkAttr qn18 [ mkText "" ]
-                            ] []
-                          ]
-                        ]
-                      ]
-                    , mkElement qn23 [] []
-                    ]
-                  ]
-                ]
-              ]
-            , mkElement qn15 []
-              [ mkElement qn6 []
-                [ mkElement qn11 [] []
-                , mkElement qn20 []
-                  [ mkElement qn21
-                    [ mkAttr qn16 [ mkText "15" ]
-                    ] []
-                  ]
-                ]
-              , mkElement qn20 []
-                [ mkElement qn6 []
-                  [ mkElement qn6 []
-                    [ mkElement qn6 []
-                      [ mkElement qn6 []
-                        [ mkElement qn6 []
-                          [ mkElement qn6 []
-                            [ mkElement qn6 []
-                              [ mkElement qn6 []
-                                [ mkElement qn6 []
-                                  [ mkElement qn6 []
-                                    [ mkElement qn6 []
-                                      [ mkElement qn6 []
-                                        [ mkElement qn6 []
-                                          [ mkElement qn6 []
-                                            [ mkElement qn6 []
-                                              [ mkElement qn6 []
-                                                [ mkElement qn6 []
-                                                  [ mkElement qn6 []
-                                                    [ mkElement qn21
-                                                      [ mkAttr qn16 [ mkText "24" ]
-                                                      ] []
-                                                    , mkElement qn21
-                                                      [ mkAttr qn16 [ mkText "25" ]
-                                                      ] []
-                                                    ]
-                                                  , mkElement qn21
-                                                    [ mkAttr qn16 [ mkText "26" ]
-                                                    ] []
-                                                  ]
-                                                , mkElement qn21
-                                                  [ mkAttr qn16 [ mkText "27" ]
-                                                  ] []
-                                                ]
-                                              , mkElement qn21
-                                                [ mkAttr qn16 [ mkText "28" ]
-                                                ] []
-                                              ]
-                                            , mkElement qn21
-                                              [ mkAttr qn16 [ mkText "29" ]
-                                              ] []
-                                            ]
-                                          , mkElement qn21
-                                            [ mkAttr qn16 [ mkText "30" ]
-                                            ] []
-                                          ]
-                                        , mkElement qn21
-                                          [ mkAttr qn16 [ mkText "31" ]
-                                          ] []
-                                        ]
-                                      , mkElement qn21
-                                        [ mkAttr qn16 [ mkText "32" ]
-                                        ] []
-                                      ]
-                                    , mkElement qn21
-                                      [ mkAttr qn16 [ mkText "33" ]
-                                      ] []
-                                    ]
-                                  , mkElement qn21
-                                    [ mkAttr qn16 [ mkText "34" ]
-                                    ] []
-                                  ]
-                                , mkElement qn21
-                                  [ mkAttr qn16 [ mkText "35" ]
-                                  ] []
-                                ]
-                              , mkElement qn21
-                                [ mkAttr qn16 [ mkText "36" ]
-                                ] []
-                              ]
-                            , mkElement qn21
-                              [ mkAttr qn16 [ mkText "37" ]
-                              ] []
-                            ]
-                          , mkElement qn21
-                            [ mkAttr qn16 [ mkText "38" ]
-                            ] []
-                          ]
-                        , mkElement qn21
-                          [ mkAttr qn16 [ mkText "39" ]
-                          ] []
-                        ]
-                      , mkElement qn21
-                        [ mkAttr qn16 [ mkText "42" ]
-                        ] []
-                      ]
-                    , mkElement qn21
-                      [ mkAttr qn16 [ mkText "43" ]
-                      ] []
-                    ]
-                  , mkElement qn21
-                    [ mkAttr qn16 [ mkText "44" ]
-                    ] []
-                  ]
-                ]
-              ]
-            ]
-          ]
-        ]
-      , mkElement qn9
-        [ mkAttr qn16 [ mkText "28" ]
-        ]
-        [ mkElement qn10 []
-          [ mkElement qn17
-            [ mkAttr qn18 [ mkText "http://relaxng.org/ns/structure/1.0" ]
-            ]
-            [ mkText "choice"
-            ]
-          , mkElement qn14 []
-            [ mkElement qn14 []
-              [ mkElement qn14 []
-                [ mkElement qn6 []
-                  [ mkElement qn11 [] []
-                  , mkElement qn5 []
-                    [ mkElement qn17
-                      [ mkAttr qn18 [ mkText "" ]
-                      ]
-                      [ mkText "ns"
-                      ]
-                    , mkElement qn23 [] []
-                    ]
-                  ]
-                , mkElement qn6 []
-                  [ mkElement qn11 [] []
-                  , mkElement qn5 []
-                    [ mkElement qn17
-                      [ mkAttr qn18 [ mkText "" ]
-                      ]
-                      [ mkText "datatypeLibrary"
-                      ]
-                    , mkElement qn7
-                      [ mkAttr qn24 [ mkText "anyURI" ]
-                      , mkAttr qn8 [ mkText "http://www.w3.org/2001/XMLSchema-datatypes" ]
-                      ] []
-                    ]
-                  ]
-                ]
-              , mkElement qn6 []
-                [ mkElement qn11 [] []
-                , mkElement qn20 []
-                  [ mkElement qn5 []
-                    [ mkElement qn4 []
-                      [ mkElement qn12 []
-                        [ mkElement qn6 []
-                          [ mkElement qn19
-                            [ mkAttr qn18 [ mkText "http://relaxng.org/ns/structure/1.0" ]
-                            ] []
-                          , mkElement qn19
-                            [ mkAttr qn18 [ mkText "" ]
-                            ] []
-                          ]
-                        ]
-                      ]
-                    , mkElement qn23 [] []
-                    ]
-                  ]
-                ]
-              ]
-            , mkElement qn15 []
-              [ mkElement qn6 []
-                [ mkElement qn11 [] []
-                , mkElement qn20 []
-                  [ mkElement qn21
-                    [ mkAttr qn16 [ mkText "15" ]
-                    ] []
-                  ]
-                ]
-              , mkElement qn20 []
-                [ mkElement qn6 []
-                  [ mkElement qn6 []
-                    [ mkElement qn6 []
-                      [ mkElement qn6 []
-                        [ mkElement qn6 []
-                          [ mkElement qn6 []
-                            [ mkElement qn6 []
-                              [ mkElement qn6 []
-                                [ mkElement qn6 []
-                                  [ mkElement qn6 []
-                                    [ mkElement qn6 []
-                                      [ mkElement qn6 []
-                                        [ mkElement qn6 []
-                                          [ mkElement qn6 []
-                                            [ mkElement qn6 []
-                                              [ mkElement qn6 []
-                                                [ mkElement qn6 []
-                                                  [ mkElement qn6 []
-                                                    [ mkElement qn21
-                                                      [ mkAttr qn16 [ mkText "24" ]
-                                                      ] []
-                                                    , mkElement qn21
-                                                      [ mkAttr qn16 [ mkText "25" ]
-                                                      ] []
-                                                    ]
-                                                  , mkElement qn21
-                                                    [ mkAttr qn16 [ mkText "26" ]
-                                                    ] []
-                                                  ]
-                                                , mkElement qn21
-                                                  [ mkAttr qn16 [ mkText "27" ]
-                                                  ] []
-                                                ]
-                                              , mkElement qn21
-                                                [ mkAttr qn16 [ mkText "28" ]
-                                                ] []
-                                              ]
-                                            , mkElement qn21
-                                              [ mkAttr qn16 [ mkText "29" ]
-                                              ] []
-                                            ]
-                                          , mkElement qn21
-                                            [ mkAttr qn16 [ mkText "30" ]
-                                            ] []
-                                          ]
-                                        , mkElement qn21
-                                          [ mkAttr qn16 [ mkText "31" ]
-                                          ] []
-                                        ]
-                                      , mkElement qn21
-                                        [ mkAttr qn16 [ mkText "32" ]
-                                        ] []
-                                      ]
-                                    , mkElement qn21
-                                      [ mkAttr qn16 [ mkText "33" ]
-                                      ] []
-                                    ]
-                                  , mkElement qn21
-                                    [ mkAttr qn16 [ mkText "34" ]
-                                    ] []
-                                  ]
-                                , mkElement qn21
-                                  [ mkAttr qn16 [ mkText "35" ]
-                                  ] []
-                                ]
-                              , mkElement qn21
-                                [ mkAttr qn16 [ mkText "36" ]
-                                ] []
-                              ]
-                            , mkElement qn21
-                              [ mkAttr qn16 [ mkText "37" ]
-                              ] []
-                            ]
-                          , mkElement qn21
-                            [ mkAttr qn16 [ mkText "38" ]
-                            ] []
-                          ]
-                        , mkElement qn21
-                          [ mkAttr qn16 [ mkText "39" ]
-                          ] []
-                        ]
-                      , mkElement qn21
-                        [ mkAttr qn16 [ mkText "42" ]
-                        ] []
-                      ]
-                    , mkElement qn21
-                      [ mkAttr qn16 [ mkText "43" ]
-                      ] []
-                    ]
-                  , mkElement qn21
-                    [ mkAttr qn16 [ mkText "44" ]
-                    ] []
-                  ]
-                ]
-              ]
-            ]
-          ]
-        ]
-      , mkElement qn9
-        [ mkAttr qn16 [ mkText "27" ]
-        ]
-        [ mkElement qn10 []
-          [ mkElement qn17
-            [ mkAttr qn18 [ mkText "http://relaxng.org/ns/structure/1.0" ]
-            ]
-            [ mkText "interleave"
-            ]
-          , mkElement qn14 []
-            [ mkElement qn14 []
-              [ mkElement qn14 []
-                [ mkElement qn6 []
-                  [ mkElement qn11 [] []
-                  , mkElement qn5 []
-                    [ mkElement qn17
-                      [ mkAttr qn18 [ mkText "" ]
-                      ]
-                      [ mkText "ns"
-                      ]
-                    , mkElement qn23 [] []
-                    ]
-                  ]
-                , mkElement qn6 []
-                  [ mkElement qn11 [] []
-                  , mkElement qn5 []
-                    [ mkElement qn17
-                      [ mkAttr qn18 [ mkText "" ]
-                      ]
-                      [ mkText "datatypeLibrary"
-                      ]
-                    , mkElement qn7
-                      [ mkAttr qn24 [ mkText "anyURI" ]
-                      , mkAttr qn8 [ mkText "http://www.w3.org/2001/XMLSchema-datatypes" ]
-                      ] []
-                    ]
-                  ]
-                ]
-              , mkElement qn6 []
-                [ mkElement qn11 [] []
-                , mkElement qn20 []
-                  [ mkElement qn5 []
-                    [ mkElement qn4 []
-                      [ mkElement qn12 []
-                        [ mkElement qn6 []
-                          [ mkElement qn19
-                            [ mkAttr qn18 [ mkText "http://relaxng.org/ns/structure/1.0" ]
-                            ] []
-                          , mkElement qn19
-                            [ mkAttr qn18 [ mkText "" ]
-                            ] []
-                          ]
-                        ]
-                      ]
-                    , mkElement qn23 [] []
-                    ]
-                  ]
-                ]
-              ]
-            , mkElement qn15 []
-              [ mkElement qn6 []
-                [ mkElement qn11 [] []
-                , mkElement qn20 []
-                  [ mkElement qn21
-                    [ mkAttr qn16 [ mkText "15" ]
-                    ] []
-                  ]
-                ]
-              , mkElement qn20 []
-                [ mkElement qn6 []
-                  [ mkElement qn6 []
-                    [ mkElement qn6 []
-                      [ mkElement qn6 []
-                        [ mkElement qn6 []
-                          [ mkElement qn6 []
-                            [ mkElement qn6 []
-                              [ mkElement qn6 []
-                                [ mkElement qn6 []
-                                  [ mkElement qn6 []
-                                    [ mkElement qn6 []
-                                      [ mkElement qn6 []
-                                        [ mkElement qn6 []
-                                          [ mkElement qn6 []
-                                            [ mkElement qn6 []
-                                              [ mkElement qn6 []
-                                                [ mkElement qn6 []
-                                                  [ mkElement qn6 []
-                                                    [ mkElement qn21
-                                                      [ mkAttr qn16 [ mkText "24" ]
-                                                      ] []
-                                                    , mkElement qn21
-                                                      [ mkAttr qn16 [ mkText "25" ]
-                                                      ] []
-                                                    ]
-                                                  , mkElement qn21
-                                                    [ mkAttr qn16 [ mkText "26" ]
-                                                    ] []
-                                                  ]
-                                                , mkElement qn21
-                                                  [ mkAttr qn16 [ mkText "27" ]
-                                                  ] []
-                                                ]
-                                              , mkElement qn21
-                                                [ mkAttr qn16 [ mkText "28" ]
-                                                ] []
-                                              ]
-                                            , mkElement qn21
-                                              [ mkAttr qn16 [ mkText "29" ]
-                                              ] []
-                                            ]
-                                          , mkElement qn21
-                                            [ mkAttr qn16 [ mkText "30" ]
-                                            ] []
-                                          ]
-                                        , mkElement qn21
-                                          [ mkAttr qn16 [ mkText "31" ]
-                                          ] []
-                                        ]
-                                      , mkElement qn21
-                                        [ mkAttr qn16 [ mkText "32" ]
-                                        ] []
-                                      ]
-                                    , mkElement qn21
-                                      [ mkAttr qn16 [ mkText "33" ]
-                                      ] []
-                                    ]
-                                  , mkElement qn21
-                                    [ mkAttr qn16 [ mkText "34" ]
-                                    ] []
-                                  ]
-                                , mkElement qn21
-                                  [ mkAttr qn16 [ mkText "35" ]
-                                  ] []
-                                ]
-                              , mkElement qn21
-                                [ mkAttr qn16 [ mkText "36" ]
-                                ] []
-                              ]
-                            , mkElement qn21
-                              [ mkAttr qn16 [ mkText "37" ]
-                              ] []
-                            ]
-                          , mkElement qn21
-                            [ mkAttr qn16 [ mkText "38" ]
-                            ] []
-                          ]
-                        , mkElement qn21
-                          [ mkAttr qn16 [ mkText "39" ]
-                          ] []
-                        ]
-                      , mkElement qn21
-                        [ mkAttr qn16 [ mkText "42" ]
-                        ] []
-                      ]
-                    , mkElement qn21
-                      [ mkAttr qn16 [ mkText "43" ]
-                      ] []
-                    ]
-                  , mkElement qn21
-                    [ mkAttr qn16 [ mkText "44" ]
-                    ] []
-                  ]
-                ]
-              ]
-            ]
-          ]
-        ]
-      , mkElement qn9
-        [ mkAttr qn16 [ mkText "26" ]
-        ]
-        [ mkElement qn10 []
-          [ mkElement qn17
-            [ mkAttr qn18 [ mkText "http://relaxng.org/ns/structure/1.0" ]
-            ]
-            [ mkText "group"
-            ]
-          , mkElement qn14 []
-            [ mkElement qn14 []
-              [ mkElement qn14 []
-                [ mkElement qn6 []
-                  [ mkElement qn11 [] []
-                  , mkElement qn5 []
-                    [ mkElement qn17
-                      [ mkAttr qn18 [ mkText "" ]
-                      ]
-                      [ mkText "ns"
-                      ]
-                    , mkElement qn23 [] []
-                    ]
-                  ]
-                , mkElement qn6 []
-                  [ mkElement qn11 [] []
-                  , mkElement qn5 []
-                    [ mkElement qn17
-                      [ mkAttr qn18 [ mkText "" ]
-                      ]
-                      [ mkText "datatypeLibrary"
-                      ]
-                    , mkElement qn7
-                      [ mkAttr qn24 [ mkText "anyURI" ]
-                      , mkAttr qn8 [ mkText "http://www.w3.org/2001/XMLSchema-datatypes" ]
-                      ] []
-                    ]
-                  ]
-                ]
-              , mkElement qn6 []
-                [ mkElement qn11 [] []
-                , mkElement qn20 []
-                  [ mkElement qn5 []
-                    [ mkElement qn4 []
-                      [ mkElement qn12 []
-                        [ mkElement qn6 []
-                          [ mkElement qn19
-                            [ mkAttr qn18 [ mkText "http://relaxng.org/ns/structure/1.0" ]
-                            ] []
-                          , mkElement qn19
-                            [ mkAttr qn18 [ mkText "" ]
-                            ] []
-                          ]
-                        ]
-                      ]
-                    , mkElement qn23 [] []
-                    ]
-                  ]
-                ]
-              ]
-            , mkElement qn15 []
-              [ mkElement qn6 []
-                [ mkElement qn11 [] []
-                , mkElement qn20 []
-                  [ mkElement qn21
-                    [ mkAttr qn16 [ mkText "15" ]
-                    ] []
-                  ]
-                ]
-              , mkElement qn20 []
-                [ mkElement qn6 []
-                  [ mkElement qn6 []
-                    [ mkElement qn6 []
-                      [ mkElement qn6 []
-                        [ mkElement qn6 []
-                          [ mkElement qn6 []
-                            [ mkElement qn6 []
-                              [ mkElement qn6 []
-                                [ mkElement qn6 []
-                                  [ mkElement qn6 []
-                                    [ mkElement qn6 []
-                                      [ mkElement qn6 []
-                                        [ mkElement qn6 []
-                                          [ mkElement qn6 []
-                                            [ mkElement qn6 []
-                                              [ mkElement qn6 []
-                                                [ mkElement qn6 []
-                                                  [ mkElement qn6 []
-                                                    [ mkElement qn21
-                                                      [ mkAttr qn16 [ mkText "24" ]
-                                                      ] []
-                                                    , mkElement qn21
-                                                      [ mkAttr qn16 [ mkText "25" ]
-                                                      ] []
-                                                    ]
-                                                  , mkElement qn21
-                                                    [ mkAttr qn16 [ mkText "26" ]
-                                                    ] []
-                                                  ]
-                                                , mkElement qn21
-                                                  [ mkAttr qn16 [ mkText "27" ]
-                                                  ] []
-                                                ]
-                                              , mkElement qn21
-                                                [ mkAttr qn16 [ mkText "28" ]
-                                                ] []
-                                              ]
-                                            , mkElement qn21
-                                              [ mkAttr qn16 [ mkText "29" ]
-                                              ] []
-                                            ]
-                                          , mkElement qn21
-                                            [ mkAttr qn16 [ mkText "30" ]
-                                            ] []
-                                          ]
-                                        , mkElement qn21
-                                          [ mkAttr qn16 [ mkText "31" ]
-                                          ] []
-                                        ]
-                                      , mkElement qn21
-                                        [ mkAttr qn16 [ mkText "32" ]
-                                        ] []
-                                      ]
-                                    , mkElement qn21
-                                      [ mkAttr qn16 [ mkText "33" ]
-                                      ] []
-                                    ]
-                                  , mkElement qn21
-                                    [ mkAttr qn16 [ mkText "34" ]
-                                    ] []
-                                  ]
-                                , mkElement qn21
-                                  [ mkAttr qn16 [ mkText "35" ]
-                                  ] []
-                                ]
-                              , mkElement qn21
-                                [ mkAttr qn16 [ mkText "36" ]
-                                ] []
-                              ]
-                            , mkElement qn21
-                              [ mkAttr qn16 [ mkText "37" ]
-                              ] []
-                            ]
-                          , mkElement qn21
-                            [ mkAttr qn16 [ mkText "38" ]
-                            ] []
-                          ]
-                        , mkElement qn21
-                          [ mkAttr qn16 [ mkText "39" ]
-                          ] []
-                        ]
-                      , mkElement qn21
-                        [ mkAttr qn16 [ mkText "42" ]
-                        ] []
-                      ]
-                    , mkElement qn21
-                      [ mkAttr qn16 [ mkText "43" ]
-                      ] []
-                    ]
-                  , mkElement qn21
-                    [ mkAttr qn16 [ mkText "44" ]
-                    ] []
-                  ]
-                ]
-              ]
-            ]
-          ]
-        ]
-      , mkElement qn9
-        [ mkAttr qn16 [ mkText "25" ]
-        ]
-        [ mkElement qn10 []
-          [ mkElement qn17
-            [ mkAttr qn18 [ mkText "http://relaxng.org/ns/structure/1.0" ]
-            ]
-            [ mkText "attribute"
-            ]
-          , mkElement qn14 []
-            [ mkElement qn14 []
-              [ mkElement qn14 []
-                [ mkElement qn14 []
-                  [ mkElement qn6 []
-                    [ mkElement qn11 [] []
-                    , mkElement qn5 []
-                      [ mkElement qn17
-                        [ mkAttr qn18 [ mkText "" ]
-                        ]
-                        [ mkText "ns"
-                        ]
-                      , mkElement qn23 [] []
-                      ]
-                    ]
-                  , mkElement qn6 []
-                    [ mkElement qn11 [] []
-                    , mkElement qn5 []
-                      [ mkElement qn17
-                        [ mkAttr qn18 [ mkText "" ]
-                        ]
-                        [ mkText "datatypeLibrary"
-                        ]
-                      , mkElement qn7
-                        [ mkAttr qn24 [ mkText "anyURI" ]
-                        , mkAttr qn8 [ mkText "http://www.w3.org/2001/XMLSchema-datatypes" ]
-                        ] []
-                      ]
-                    ]
-                  ]
-                , mkElement qn6 []
-                  [ mkElement qn11 [] []
-                  , mkElement qn20 []
-                    [ mkElement qn5 []
-                      [ mkElement qn4 []
-                        [ mkElement qn12 []
-                          [ mkElement qn6 []
-                            [ mkElement qn19
-                              [ mkAttr qn18 [ mkText "http://relaxng.org/ns/structure/1.0" ]
-                              ] []
-                            , mkElement qn19
-                              [ mkAttr qn18 [ mkText "" ]
-                              ] []
-                            ]
-                          ]
-                        ]
-                      , mkElement qn23 [] []
-                      ]
-                    ]
-                  ]
-                ]
-              , mkElement qn6 []
-                [ mkElement qn5 []
-                  [ mkElement qn17
-                    [ mkAttr qn18 [ mkText "" ]
-                    ]
-                    [ mkText "name"
-                    ]
-                  , mkElement qn7
-                    [ mkAttr qn24 [ mkText "QName" ]
-                    , mkAttr qn8 [ mkText "http://www.w3.org/2001/XMLSchema-datatypes" ]
-                    ] []
-                  ]
-                , mkElement qn15 []
-                  [ mkElement qn6 []
-                    [ mkElement qn11 [] []
-                    , mkElement qn20 []
-                      [ mkElement qn21
-                        [ mkAttr qn16 [ mkText "15" ]
-                        ] []
-                      ]
-                    ]
-                  , mkElement qn6 []
-                    [ mkElement qn6 []
-                      [ mkElement qn6 []
-                        [ mkElement qn21
-                          [ mkAttr qn16 [ mkText "17" ]
-                          ] []
-                        , mkElement qn21
-                          [ mkAttr qn16 [ mkText "18" ]
-                          ] []
-                        ]
-                      , mkElement qn21
-                        [ mkAttr qn16 [ mkText "19" ]
-                        ] []
-                      ]
-                    , mkElement qn21
-                      [ mkAttr qn16 [ mkText "20" ]
-                      ] []
-                    ]
-                  ]
-                ]
-              ]
-            , mkElement qn15 []
-              [ mkElement qn6 []
-                [ mkElement qn11 [] []
-                , mkElement qn20 []
-                  [ mkElement qn21
-                    [ mkAttr qn16 [ mkText "15" ]
-                    ] []
-                  ]
-                ]
-              , mkElement qn6 []
-                [ mkElement qn11 [] []
-                , mkElement qn6 []
-                  [ mkElement qn6 []
-                    [ mkElement qn6 []
-                      [ mkElement qn6 []
-                        [ mkElement qn6 []
-                          [ mkElement qn6 []
-                            [ mkElement qn6 []
-                              [ mkElement qn6 []
-                                [ mkElement qn6 []
-                                  [ mkElement qn6 []
-                                    [ mkElement qn6 []
-                                      [ mkElement qn6 []
-                                        [ mkElement qn6 []
-                                          [ mkElement qn6 []
-                                            [ mkElement qn6 []
-                                              [ mkElement qn6 []
-                                                [ mkElement qn6 []
-                                                  [ mkElement qn6 []
-                                                    [ mkElement qn21
-                                                      [ mkAttr qn16 [ mkText "24" ]
-                                                      ] []
-                                                    , mkElement qn21
-                                                      [ mkAttr qn16 [ mkText "25" ]
-                                                      ] []
-                                                    ]
-                                                  , mkElement qn21
-                                                    [ mkAttr qn16 [ mkText "26" ]
-                                                    ] []
-                                                  ]
-                                                , mkElement qn21
-                                                  [ mkAttr qn16 [ mkText "27" ]
-                                                  ] []
-                                                ]
-                                              , mkElement qn21
-                                                [ mkAttr qn16 [ mkText "28" ]
-                                                ] []
-                                              ]
-                                            , mkElement qn21
-                                              [ mkAttr qn16 [ mkText "29" ]
-                                              ] []
-                                            ]
-                                          , mkElement qn21
-                                            [ mkAttr qn16 [ mkText "30" ]
-                                            ] []
-                                          ]
-                                        , mkElement qn21
-                                          [ mkAttr qn16 [ mkText "31" ]
-                                          ] []
-                                        ]
-                                      , mkElement qn21
-                                        [ mkAttr qn16 [ mkText "32" ]
-                                        ] []
-                                      ]
-                                    , mkElement qn21
-                                      [ mkAttr qn16 [ mkText "33" ]
-                                      ] []
-                                    ]
-                                  , mkElement qn21
-                                    [ mkAttr qn16 [ mkText "34" ]
-                                    ] []
-                                  ]
-                                , mkElement qn21
-                                  [ mkAttr qn16 [ mkText "35" ]
-                                  ] []
-                                ]
-                              , mkElement qn21
-                                [ mkAttr qn16 [ mkText "36" ]
-                                ] []
-                              ]
-                            , mkElement qn21
-                              [ mkAttr qn16 [ mkText "37" ]
-                              ] []
-                            ]
-                          , mkElement qn21
-                            [ mkAttr qn16 [ mkText "38" ]
-                            ] []
-                          ]
-                        , mkElement qn21
-                          [ mkAttr qn16 [ mkText "39" ]
-                          ] []
-                        ]
-                      , mkElement qn21
-                        [ mkAttr qn16 [ mkText "42" ]
-                        ] []
-                      ]
-                    , mkElement qn21
-                      [ mkAttr qn16 [ mkText "43" ]
-                      ] []
-                    ]
-                  , mkElement qn21
-                    [ mkAttr qn16 [ mkText "44" ]
-                    ] []
-                  ]
-                ]
-              ]
-            ]
-          ]
-        ]
-      , mkElement qn9
-        [ mkAttr qn16 [ mkText "24" ]
-        ]
-        [ mkElement qn10 []
-          [ mkElement qn17
-            [ mkAttr qn18 [ mkText "http://relaxng.org/ns/structure/1.0" ]
-            ]
-            [ mkText "element"
-            ]
-          , mkElement qn14 []
-            [ mkElement qn14 []
-              [ mkElement qn6 []
-                [ mkElement qn5 []
-                  [ mkElement qn17
-                    [ mkAttr qn18 [ mkText "" ]
-                    ]
-                    [ mkText "name"
-                    ]
-                  , mkElement qn7
-                    [ mkAttr qn24 [ mkText "QName" ]
-                    , mkAttr qn8 [ mkText "http://www.w3.org/2001/XMLSchema-datatypes" ]
-                    ] []
-                  ]
-                , mkElement qn15 []
-                  [ mkElement qn6 []
-                    [ mkElement qn11 [] []
-                    , mkElement qn20 []
-                      [ mkElement qn21
-                        [ mkAttr qn16 [ mkText "15" ]
-                        ] []
-                      ]
-                    ]
-                  , mkElement qn6 []
-                    [ mkElement qn6 []
-                      [ mkElement qn6 []
-                        [ mkElement qn21
-                          [ mkAttr qn16 [ mkText "17" ]
-                          ] []
-                        , mkElement qn21
-                          [ mkAttr qn16 [ mkText "18" ]
-                          ] []
-                        ]
-                      , mkElement qn21
-                        [ mkAttr qn16 [ mkText "19" ]
-                        ] []
-                      ]
-                    , mkElement qn21
-                      [ mkAttr qn16 [ mkText "20" ]
-                      ] []
-                    ]
-                  ]
-                ]
-              , mkElement qn14 []
-                [ mkElement qn14 []
-                  [ mkElement qn6 []
-                    [ mkElement qn11 [] []
-                    , mkElement qn5 []
-                      [ mkElement qn17
-                        [ mkAttr qn18 [ mkText "" ]
-                        ]
-                        [ mkText "ns"
-                        ]
-                      , mkElement qn23 [] []
-                      ]
-                    ]
-                  , mkElement qn6 []
-                    [ mkElement qn11 [] []
-                    , mkElement qn5 []
-                      [ mkElement qn17
-                        [ mkAttr qn18 [ mkText "" ]
-                        ]
-                        [ mkText "datatypeLibrary"
-                        ]
-                      , mkElement qn7
-                        [ mkAttr qn24 [ mkText "anyURI" ]
-                        , mkAttr qn8 [ mkText "http://www.w3.org/2001/XMLSchema-datatypes" ]
-                        ] []
-                      ]
-                    ]
-                  ]
-                , mkElement qn6 []
-                  [ mkElement qn11 [] []
-                  , mkElement qn20 []
-                    [ mkElement qn5 []
-                      [ mkElement qn4 []
-                        [ mkElement qn12 []
-                          [ mkElement qn6 []
-                            [ mkElement qn19
-                              [ mkAttr qn18 [ mkText "http://relaxng.org/ns/structure/1.0" ]
-                              ] []
-                            , mkElement qn19
-                              [ mkAttr qn18 [ mkText "" ]
-                              ] []
-                            ]
-                          ]
-                        ]
-                      , mkElement qn23 [] []
-                      ]
-                    ]
-                  ]
-                ]
-              ]
-            , mkElement qn15 []
-              [ mkElement qn6 []
-                [ mkElement qn11 [] []
-                , mkElement qn20 []
-                  [ mkElement qn21
-                    [ mkAttr qn16 [ mkText "15" ]
-                    ] []
-                  ]
-                ]
-              , mkElement qn20 []
-                [ mkElement qn6 []
-                  [ mkElement qn6 []
-                    [ mkElement qn6 []
-                      [ mkElement qn6 []
-                        [ mkElement qn6 []
-                          [ mkElement qn6 []
-                            [ mkElement qn6 []
-                              [ mkElement qn6 []
-                                [ mkElement qn6 []
-                                  [ mkElement qn6 []
-                                    [ mkElement qn6 []
-                                      [ mkElement qn6 []
-                                        [ mkElement qn6 []
-                                          [ mkElement qn6 []
-                                            [ mkElement qn6 []
-                                              [ mkElement qn6 []
-                                                [ mkElement qn6 []
-                                                  [ mkElement qn6 []
-                                                    [ mkElement qn21
-                                                      [ mkAttr qn16 [ mkText "24" ]
-                                                      ] []
-                                                    , mkElement qn21
-                                                      [ mkAttr qn16 [ mkText "25" ]
-                                                      ] []
-                                                    ]
-                                                  , mkElement qn21
-                                                    [ mkAttr qn16 [ mkText "26" ]
-                                                    ] []
-                                                  ]
-                                                , mkElement qn21
-                                                  [ mkAttr qn16 [ mkText "27" ]
-                                                  ] []
-                                                ]
-                                              , mkElement qn21
-                                                [ mkAttr qn16 [ mkText "28" ]
-                                                ] []
-                                              ]
-                                            , mkElement qn21
-                                              [ mkAttr qn16 [ mkText "29" ]
-                                              ] []
-                                            ]
-                                          , mkElement qn21
-                                            [ mkAttr qn16 [ mkText "30" ]
-                                            ] []
-                                          ]
-                                        , mkElement qn21
-                                          [ mkAttr qn16 [ mkText "31" ]
-                                          ] []
-                                        ]
-                                      , mkElement qn21
-                                        [ mkAttr qn16 [ mkText "32" ]
-                                        ] []
-                                      ]
-                                    , mkElement qn21
-                                      [ mkAttr qn16 [ mkText "33" ]
-                                      ] []
-                                    ]
-                                  , mkElement qn21
-                                    [ mkAttr qn16 [ mkText "34" ]
-                                    ] []
-                                  ]
-                                , mkElement qn21
-                                  [ mkAttr qn16 [ mkText "35" ]
-                                  ] []
-                                ]
-                              , mkElement qn21
-                                [ mkAttr qn16 [ mkText "36" ]
-                                ] []
-                              ]
-                            , mkElement qn21
-                              [ mkAttr qn16 [ mkText "37" ]
-                              ] []
-                            ]
-                          , mkElement qn21
-                            [ mkAttr qn16 [ mkText "38" ]
-                            ] []
-                          ]
-                        , mkElement qn21
-                          [ mkAttr qn16 [ mkText "39" ]
-                          ] []
-                        ]
-                      , mkElement qn21
-                        [ mkAttr qn16 [ mkText "42" ]
-                        ] []
-                      ]
-                    , mkElement qn21
-                      [ mkAttr qn16 [ mkText "43" ]
-                      ] []
-                    ]
-                  , mkElement qn21
-                    [ mkAttr qn16 [ mkText "44" ]
-                    ] []
-                  ]
-                ]
-              ]
-            ]
-          ]
-        ]
-      , mkElement qn9
-        [ mkAttr qn16 [ mkText "23" ]
-        ]
-        [ mkElement qn10 []
-          [ mkElement qn17
-            [ mkAttr qn18 [ mkText "http://relaxng.org/ns/structure/1.0" ]
-            ]
-            [ mkText "include"
-            ]
-          , mkElement qn14 []
-            [ mkElement qn14 []
-              [ mkElement qn5 []
-                [ mkElement qn17
-                  [ mkAttr qn18 [ mkText "" ]
-                  ]
-                  [ mkText "href"
-                  ]
-                , mkElement qn7
-                  [ mkAttr qn24 [ mkText "anyURI" ]
-                  , mkAttr qn8 [ mkText "http://www.w3.org/2001/XMLSchema-datatypes" ]
-                  ] []
-                ]
-              , mkElement qn14 []
-                [ mkElement qn14 []
-                  [ mkElement qn6 []
-                    [ mkElement qn11 [] []
-                    , mkElement qn5 []
-                      [ mkElement qn17
-                        [ mkAttr qn18 [ mkText "" ]
-                        ]
-                        [ mkText "ns"
-                        ]
-                      , mkElement qn23 [] []
-                      ]
-                    ]
-                  , mkElement qn6 []
-                    [ mkElement qn11 [] []
-                    , mkElement qn5 []
-                      [ mkElement qn17
-                        [ mkAttr qn18 [ mkText "" ]
-                        ]
-                        [ mkText "datatypeLibrary"
-                        ]
-                      , mkElement qn7
-                        [ mkAttr qn24 [ mkText "anyURI" ]
-                        , mkAttr qn8 [ mkText "http://www.w3.org/2001/XMLSchema-datatypes" ]
-                        ] []
-                      ]
-                    ]
-                  ]
-                , mkElement qn6 []
-                  [ mkElement qn11 [] []
-                  , mkElement qn20 []
-                    [ mkElement qn5 []
-                      [ mkElement qn4 []
-                        [ mkElement qn12 []
-                          [ mkElement qn6 []
-                            [ mkElement qn19
-                              [ mkAttr qn18 [ mkText "http://relaxng.org/ns/structure/1.0" ]
-                              ] []
-                            , mkElement qn19
-                              [ mkAttr qn18 [ mkText "" ]
-                              ] []
-                            ]
-                          ]
-                        ]
-                      , mkElement qn23 [] []
-                      ]
-                    ]
-                  ]
-                ]
-              ]
-            , mkElement qn15 []
-              [ mkElement qn6 []
-                [ mkElement qn11 [] []
-                , mkElement qn20 []
-                  [ mkElement qn21
-                    [ mkAttr qn16 [ mkText "15" ]
-                    ] []
-                  ]
-                ]
-              , mkElement qn6 []
-                [ mkElement qn11 [] []
-                , mkElement qn20 []
-                  [ mkElement qn6 []
-                    [ mkElement qn6 []
-                      [ mkElement qn21
-                        [ mkAttr qn16 [ mkText "11" ]
-                        ] []
-                      , mkElement qn21
-                        [ mkAttr qn16 [ mkText "10" ]
-                        ] []
-                      ]
-                    , mkElement qn21
-                      [ mkAttr qn16 [ mkText "21" ]
-                      ] []
-                    ]
-                  ]
-                ]
-              ]
-            ]
-          ]
-        ]
-      , mkElement qn9
-        [ mkAttr qn16 [ mkText "22" ]
-        ]
-        [ mkElement qn10 []
-          [ mkElement qn17
-            [ mkAttr qn18 [ mkText "http://relaxng.org/ns/structure/1.0" ]
-            ]
-            [ mkText "div"
-            ]
-          , mkElement qn14 []
-            [ mkElement qn14 []
-              [ mkElement qn14 []
-                [ mkElement qn6 []
-                  [ mkElement qn11 [] []
-                  , mkElement qn5 []
-                    [ mkElement qn17
-                      [ mkAttr qn18 [ mkText "" ]
-                      ]
-                      [ mkText "ns"
-                      ]
-                    , mkElement qn23 [] []
-                    ]
-                  ]
-                , mkElement qn6 []
-                  [ mkElement qn11 [] []
-                  , mkElement qn5 []
-                    [ mkElement qn17
-                      [ mkAttr qn18 [ mkText "" ]
-                      ]
-                      [ mkText "datatypeLibrary"
-                      ]
-                    , mkElement qn7
-                      [ mkAttr qn24 [ mkText "anyURI" ]
-                      , mkAttr qn8 [ mkText "http://www.w3.org/2001/XMLSchema-datatypes" ]
-                      ] []
-                    ]
-                  ]
-                ]
-              , mkElement qn6 []
-                [ mkElement qn11 [] []
-                , mkElement qn20 []
-                  [ mkElement qn5 []
-                    [ mkElement qn4 []
-                      [ mkElement qn12 []
-                        [ mkElement qn6 []
-                          [ mkElement qn19
-                            [ mkAttr qn18 [ mkText "http://relaxng.org/ns/structure/1.0" ]
-                            ] []
-                          , mkElement qn19
-                            [ mkAttr qn18 [ mkText "" ]
-                            ] []
-                          ]
-                        ]
-                      ]
-                    , mkElement qn23 [] []
-                    ]
-                  ]
-                ]
-              ]
-            , mkElement qn15 []
-              [ mkElement qn6 []
-                [ mkElement qn11 [] []
-                , mkElement qn20 []
-                  [ mkElement qn21
-                    [ mkAttr qn16 [ mkText "15" ]
-                    ] []
-                  ]
-                ]
-              , mkElement qn6 []
-                [ mkElement qn11 [] []
-                , mkElement qn20 []
-                  [ mkElement qn6 []
-                    [ mkElement qn6 []
-                      [ mkElement qn6 []
-                        [ mkElement qn21
-                          [ mkAttr qn16 [ mkText "11" ]
-                          ] []
-                        , mkElement qn21
-                          [ mkAttr qn16 [ mkText "10" ]
-                          ] []
-                        ]
-                      , mkElement qn21
-                        [ mkAttr qn16 [ mkText "22" ]
-                        ] []
-                      ]
-                    , mkElement qn21
-                      [ mkAttr qn16 [ mkText "23" ]
-                      ] []
-                    ]
-                  ]
-                ]
-              ]
-            ]
-          ]
-        ]
-      , mkElement qn9
-        [ mkAttr qn16 [ mkText "21" ]
-        ]
-        [ mkElement qn10 []
-          [ mkElement qn17
-            [ mkAttr qn18 [ mkText "http://relaxng.org/ns/structure/1.0" ]
-            ]
-            [ mkText "div"
-            ]
-          , mkElement qn14 []
-            [ mkElement qn14 []
-              [ mkElement qn14 []
-                [ mkElement qn6 []
-                  [ mkElement qn11 [] []
-                  , mkElement qn5 []
-                    [ mkElement qn17
-                      [ mkAttr qn18 [ mkText "" ]
-                      ]
-                      [ mkText "ns"
-                      ]
-                    , mkElement qn23 [] []
-                    ]
-                  ]
-                , mkElement qn6 []
-                  [ mkElement qn11 [] []
-                  , mkElement qn5 []
-                    [ mkElement qn17
-                      [ mkAttr qn18 [ mkText "" ]
-                      ]
-                      [ mkText "datatypeLibrary"
-                      ]
-                    , mkElement qn7
-                      [ mkAttr qn24 [ mkText "anyURI" ]
-                      , mkAttr qn8 [ mkText "http://www.w3.org/2001/XMLSchema-datatypes" ]
-                      ] []
-                    ]
-                  ]
-                ]
-              , mkElement qn6 []
-                [ mkElement qn11 [] []
-                , mkElement qn20 []
-                  [ mkElement qn5 []
-                    [ mkElement qn4 []
-                      [ mkElement qn12 []
-                        [ mkElement qn6 []
-                          [ mkElement qn19
-                            [ mkAttr qn18 [ mkText "http://relaxng.org/ns/structure/1.0" ]
-                            ] []
-                          , mkElement qn19
-                            [ mkAttr qn18 [ mkText "" ]
-                            ] []
-                          ]
-                        ]
-                      ]
-                    , mkElement qn23 [] []
-                    ]
-                  ]
-                ]
-              ]
-            , mkElement qn15 []
-              [ mkElement qn6 []
-                [ mkElement qn11 [] []
-                , mkElement qn20 []
-                  [ mkElement qn21
-                    [ mkAttr qn16 [ mkText "15" ]
-                    ] []
-                  ]
-                ]
-              , mkElement qn6 []
-                [ mkElement qn11 [] []
-                , mkElement qn20 []
-                  [ mkElement qn6 []
-                    [ mkElement qn6 []
-                      [ mkElement qn21
-                        [ mkAttr qn16 [ mkText "11" ]
-                        ] []
-                      , mkElement qn21
-                        [ mkAttr qn16 [ mkText "10" ]
-                        ] []
-                      ]
-                    , mkElement qn21
-                      [ mkAttr qn16 [ mkText "21" ]
-                      ] []
-                    ]
-                  ]
-                ]
-              ]
-            ]
-          ]
-        ]
-      , mkElement qn9
-        [ mkAttr qn16 [ mkText "20" ]
-        ]
-        [ mkElement qn10 []
-          [ mkElement qn17
-            [ mkAttr qn18 [ mkText "http://relaxng.org/ns/structure/1.0" ]
-            ]
-            [ mkText "choice"
-            ]
-          , mkElement qn14 []
-            [ mkElement qn14 []
-              [ mkElement qn14 []
-                [ mkElement qn6 []
-                  [ mkElement qn11 [] []
-                  , mkElement qn5 []
-                    [ mkElement qn17
-                      [ mkAttr qn18 [ mkText "" ]
-                      ]
-                      [ mkText "ns"
-                      ]
-                    , mkElement qn23 [] []
-                    ]
-                  ]
-                , mkElement qn6 []
-                  [ mkElement qn11 [] []
-                  , mkElement qn5 []
-                    [ mkElement qn17
-                      [ mkAttr qn18 [ mkText "" ]
-                      ]
-                      [ mkText "datatypeLibrary"
-                      ]
-                    , mkElement qn7
-                      [ mkAttr qn24 [ mkText "anyURI" ]
-                      , mkAttr qn8 [ mkText "http://www.w3.org/2001/XMLSchema-datatypes" ]
-                      ] []
-                    ]
-                  ]
-                ]
-              , mkElement qn6 []
-                [ mkElement qn11 [] []
-                , mkElement qn20 []
-                  [ mkElement qn5 []
-                    [ mkElement qn4 []
-                      [ mkElement qn12 []
-                        [ mkElement qn6 []
-                          [ mkElement qn19
-                            [ mkAttr qn18 [ mkText "http://relaxng.org/ns/structure/1.0" ]
-                            ] []
-                          , mkElement qn19
-                            [ mkAttr qn18 [ mkText "" ]
-                            ] []
-                          ]
-                        ]
-                      ]
-                    , mkElement qn23 [] []
-                    ]
-                  ]
-                ]
-              ]
-            , mkElement qn15 []
-              [ mkElement qn6 []
-                [ mkElement qn11 [] []
-                , mkElement qn20 []
-                  [ mkElement qn21
-                    [ mkAttr qn16 [ mkText "15" ]
-                    ] []
-                  ]
-                ]
-              , mkElement qn20 []
-                [ mkElement qn6 []
-                  [ mkElement qn6 []
-                    [ mkElement qn6 []
-                      [ mkElement qn21
-                        [ mkAttr qn16 [ mkText "17" ]
-                        ] []
-                      , mkElement qn21
-                        [ mkAttr qn16 [ mkText "18" ]
-                        ] []
-                      ]
-                    , mkElement qn21
-                      [ mkAttr qn16 [ mkText "19" ]
-                      ] []
-                    ]
-                  , mkElement qn21
-                    [ mkAttr qn16 [ mkText "20" ]
-                    ] []
-                  ]
-                ]
-              ]
-            ]
-          ]
-        ]
-      , mkElement qn9
-        [ mkAttr qn16 [ mkText "19" ]
-        ]
-        [ mkElement qn10 []
-          [ mkElement qn17
-            [ mkAttr qn18 [ mkText "http://relaxng.org/ns/structure/1.0" ]
-            ]
-            [ mkText "nsName"
-            ]
-          , mkElement qn14 []
-            [ mkElement qn14 []
-              [ mkElement qn14 []
-                [ mkElement qn6 []
-                  [ mkElement qn11 [] []
-                  , mkElement qn5 []
-                    [ mkElement qn17
-                      [ mkAttr qn18 [ mkText "" ]
-                      ]
-                      [ mkText "ns"
-                      ]
-                    , mkElement qn23 [] []
-                    ]
-                  ]
-                , mkElement qn6 []
-                  [ mkElement qn11 [] []
-                  , mkElement qn5 []
-                    [ mkElement qn17
-                      [ mkAttr qn18 [ mkText "" ]
-                      ]
-                      [ mkText "datatypeLibrary"
-                      ]
-                    , mkElement qn7
-                      [ mkAttr qn24 [ mkText "anyURI" ]
-                      , mkAttr qn8 [ mkText "http://www.w3.org/2001/XMLSchema-datatypes" ]
-                      ] []
-                    ]
-                  ]
-                ]
-              , mkElement qn6 []
-                [ mkElement qn11 [] []
-                , mkElement qn20 []
-                  [ mkElement qn5 []
-                    [ mkElement qn4 []
-                      [ mkElement qn12 []
-                        [ mkElement qn6 []
-                          [ mkElement qn19
-                            [ mkAttr qn18 [ mkText "http://relaxng.org/ns/structure/1.0" ]
-                            ] []
-                          , mkElement qn19
-                            [ mkAttr qn18 [ mkText "" ]
-                            ] []
-                          ]
-                        ]
-                      ]
-                    , mkElement qn23 [] []
-                    ]
-                  ]
-                ]
-              ]
-            , mkElement qn15 []
-              [ mkElement qn6 []
-                [ mkElement qn11 [] []
-                , mkElement qn20 []
-                  [ mkElement qn21
-                    [ mkAttr qn16 [ mkText "15" ]
-                    ] []
-                  ]
-                ]
-              , mkElement qn6 []
-                [ mkElement qn11 [] []
-                , mkElement qn21
-                  [ mkAttr qn16 [ mkText "16" ]
-                  ] []
-                ]
-              ]
-            ]
-          ]
-        ]
-      , mkElement qn9
-        [ mkAttr qn16 [ mkText "18" ]
-        ]
-        [ mkElement qn10 []
-          [ mkElement qn17
-            [ mkAttr qn18 [ mkText "http://relaxng.org/ns/structure/1.0" ]
-            ]
-            [ mkText "anyName"
-            ]
-          , mkElement qn14 []
-            [ mkElement qn14 []
-              [ mkElement qn14 []
-                [ mkElement qn6 []
-                  [ mkElement qn11 [] []
-                  , mkElement qn5 []
-                    [ mkElement qn17
-                      [ mkAttr qn18 [ mkText "" ]
-                      ]
-                      [ mkText "ns"
-                      ]
-                    , mkElement qn23 [] []
-                    ]
-                  ]
-                , mkElement qn6 []
-                  [ mkElement qn11 [] []
-                  , mkElement qn5 []
-                    [ mkElement qn17
-                      [ mkAttr qn18 [ mkText "" ]
-                      ]
-                      [ mkText "datatypeLibrary"
-                      ]
-                    , mkElement qn7
-                      [ mkAttr qn24 [ mkText "anyURI" ]
-                      , mkAttr qn8 [ mkText "http://www.w3.org/2001/XMLSchema-datatypes" ]
-                      ] []
-                    ]
-                  ]
-                ]
-              , mkElement qn6 []
-                [ mkElement qn11 [] []
-                , mkElement qn20 []
-                  [ mkElement qn5 []
-                    [ mkElement qn4 []
-                      [ mkElement qn12 []
-                        [ mkElement qn6 []
-                          [ mkElement qn19
-                            [ mkAttr qn18 [ mkText "http://relaxng.org/ns/structure/1.0" ]
-                            ] []
-                          , mkElement qn19
-                            [ mkAttr qn18 [ mkText "" ]
-                            ] []
-                          ]
-                        ]
-                      ]
-                    , mkElement qn23 [] []
-                    ]
-                  ]
-                ]
-              ]
-            , mkElement qn15 []
-              [ mkElement qn6 []
-                [ mkElement qn11 [] []
-                , mkElement qn20 []
-                  [ mkElement qn21
-                    [ mkAttr qn16 [ mkText "15" ]
-                    ] []
-                  ]
-                ]
-              , mkElement qn6 []
-                [ mkElement qn11 [] []
-                , mkElement qn21
-                  [ mkAttr qn16 [ mkText "16" ]
-                  ] []
-                ]
-              ]
-            ]
-          ]
-        ]
-      , mkElement qn9
-        [ mkAttr qn16 [ mkText "17" ]
-        ]
-        [ mkElement qn10 []
-          [ mkElement qn17
-            [ mkAttr qn18 [ mkText "http://relaxng.org/ns/structure/1.0" ]
-            ]
-            [ mkText "name"
-            ]
-          , mkElement qn14 []
-            [ mkElement qn14 []
-              [ mkElement qn14 []
-                [ mkElement qn6 []
-                  [ mkElement qn11 [] []
-                  , mkElement qn5 []
-                    [ mkElement qn17
-                      [ mkAttr qn18 [ mkText "" ]
-                      ]
-                      [ mkText "ns"
-                      ]
-                    , mkElement qn23 [] []
-                    ]
-                  ]
-                , mkElement qn6 []
-                  [ mkElement qn11 [] []
-                  , mkElement qn5 []
-                    [ mkElement qn17
-                      [ mkAttr qn18 [ mkText "" ]
-                      ]
-                      [ mkText "datatypeLibrary"
-                      ]
-                    , mkElement qn7
-                      [ mkAttr qn24 [ mkText "anyURI" ]
-                      , mkAttr qn8 [ mkText "http://www.w3.org/2001/XMLSchema-datatypes" ]
-                      ] []
-                    ]
-                  ]
-                ]
-              , mkElement qn6 []
-                [ mkElement qn11 [] []
-                , mkElement qn20 []
-                  [ mkElement qn5 []
-                    [ mkElement qn4 []
-                      [ mkElement qn12 []
-                        [ mkElement qn6 []
-                          [ mkElement qn19
-                            [ mkAttr qn18 [ mkText "http://relaxng.org/ns/structure/1.0" ]
-                            ] []
-                          , mkElement qn19
-                            [ mkAttr qn18 [ mkText "" ]
-                            ] []
-                          ]
-                        ]
-                      ]
-                    , mkElement qn23 [] []
-                    ]
-                  ]
-                ]
-              ]
-            , mkElement qn7
-              [ mkAttr qn24 [ mkText "QName" ]
-              , mkAttr qn8 [ mkText "http://www.w3.org/2001/XMLSchema-datatypes" ]
-              ] []
-            ]
-          ]
-        ]
-      , mkElement qn9
-        [ mkAttr qn16 [ mkText "16" ]
-        ]
-        [ mkElement qn10 []
-          [ mkElement qn17
-            [ mkAttr qn18 [ mkText "http://relaxng.org/ns/structure/1.0" ]
-            ]
-            [ mkText "except"
-            ]
-          , mkElement qn15 []
-            [ mkElement qn6 []
-              [ mkElement qn11 [] []
-              , mkElement qn20 []
-                [ mkElement qn21
-                  [ mkAttr qn16 [ mkText "15" ]
-                  ] []
-                ]
-              ]
-            , mkElement qn20 []
-              [ mkElement qn6 []
-                [ mkElement qn6 []
-                  [ mkElement qn6 []
-                    [ mkElement qn21
-                      [ mkAttr qn16 [ mkText "17" ]
-                      ] []
-                    , mkElement qn21
-                      [ mkAttr qn16 [ mkText "18" ]
-                      ] []
-                    ]
-                  , mkElement qn21
-                    [ mkAttr qn16 [ mkText "19" ]
-                    ] []
-                  ]
-                , mkElement qn21
-                  [ mkAttr qn16 [ mkText "20" ]
-                  ] []
-                ]
-              ]
-            ]
-          ]
-        ]
-      , mkElement qn9
-        [ mkAttr qn16 [ mkText "15" ]
-        ]
-        [ mkElement qn10 []
-          [ mkElement qn4 []
-            [ mkElement qn12 []
-              [ mkElement qn19
-                [ mkAttr qn18 [ mkText "http://relaxng.org/ns/structure/1.0" ]
-                ] []
-              ]
-            ]
-          , mkElement qn6 []
-            [ mkElement qn11 [] []
-            , mkElement qn20 []
-              [ mkElement qn6 []
-                [ mkElement qn6 []
-                  [ mkElement qn5 []
-                    [ mkElement qn4 [] []
-                    , mkElement qn23 [] []
-                    ]
-                  , mkElement qn23 [] []
-                  ]
-                , mkElement qn21
-                  [ mkAttr qn16 [ mkText "0" ]
-                  ] []
-                ]
-              ]
-            ]
-          ]
-        ]
-      , mkElement qn9
-        [ mkAttr qn16 [ mkText "0" ]
-        ]
-        [ mkElement qn10 []
-          [ mkElement qn4 [] []
-          , mkElement qn6 []
-            [ mkElement qn11 [] []
-            , mkElement qn20 []
-              [ mkElement qn6 []
-                [ mkElement qn6 []
-                  [ mkElement qn5 []
-                    [ mkElement qn4 [] []
-                    , mkElement qn23 [] []
-                    ]
-                  , mkElement qn23 [] []
-                  ]
-                , mkElement qn21
-                  [ mkAttr qn16 [ mkText "0" ]
-                  ] []
-                ]
-              ]
-            ]
-          ]
-        ]
-      , mkElement qn9
-        [ mkAttr qn16 [ mkText "10" ]
-        ]
-        [ mkElement qn10 []
-          [ mkElement qn17
-            [ mkAttr qn18 [ mkText "http://relaxng.org/ns/structure/1.0" ]
-            ]
-            [ mkText "define"
-            ]
-          , mkElement qn14 []
-            [ mkElement qn14 []
-              [ mkElement qn14 []
-                [ mkElement qn5 []
-                  [ mkElement qn17
-                    [ mkAttr qn18 [ mkText "" ]
-                    ]
-                    [ mkText "name"
-                    ]
-                  , mkElement qn7
-                    [ mkAttr qn24 [ mkText "NCName" ]
-                    , mkAttr qn8 [ mkText "http://www.w3.org/2001/XMLSchema-datatypes" ]
-                    ] []
-                  ]
-                , mkElement qn6 []
-                  [ mkElement qn11 [] []
-                  , mkElement qn5 []
-                    [ mkElement qn17
-                      [ mkAttr qn18 [ mkText "" ]
-                      ]
-                      [ mkText "combine"
-                      ]
-                    , mkElement qn6 []
-                      [ mkElement qn25
-                        [ mkAttr qn1 [ mkText "http://www.w3.org/XML/1998/namespace" ]
-                        , mkAttr qn3 [ mkText "http://relaxng.org/ns/structure/1.0" ]
-                        , mkAttr qn2 [ mkText "file:///home/uwe/haskell/hxt/curr/src/Text/XML/HXT/RelaxNG/schema2hs/Schema.rng" ]
-                        , mkAttr qn8 [ mkText "" ]
-                        , mkAttr qn24 [ mkText "token" ]
-                        , mkAttr qn18 [ mkText "http://relaxng.org/ns/structure/1.0" ]
-                        ]
-                        [ mkText "choice"
-                        ]
-                      , mkElement qn25
-                        [ mkAttr qn1 [ mkText "http://www.w3.org/XML/1998/namespace" ]
-                        , mkAttr qn3 [ mkText "http://relaxng.org/ns/structure/1.0" ]
-                        , mkAttr qn2 [ mkText "file:///home/uwe/haskell/hxt/curr/src/Text/XML/HXT/RelaxNG/schema2hs/Schema.rng" ]
-                        , mkAttr qn8 [ mkText "" ]
-                        , mkAttr qn24 [ mkText "token" ]
-                        , mkAttr qn18 [ mkText "http://relaxng.org/ns/structure/1.0" ]
-                        ]
-                        [ mkText "interleave"
-                        ]
-                      ]
-                    ]
-                  ]
-                ]
-              , mkElement qn14 []
-                [ mkElement qn14 []
-                  [ mkElement qn6 []
-                    [ mkElement qn11 [] []
-                    , mkElement qn5 []
-                      [ mkElement qn17
-                        [ mkAttr qn18 [ mkText "" ]
-                        ]
-                        [ mkText "ns"
-                        ]
-                      , mkElement qn23 [] []
-                      ]
-                    ]
-                  , mkElement qn6 []
-                    [ mkElement qn11 [] []
-                    , mkElement qn5 []
-                      [ mkElement qn17
-                        [ mkAttr qn18 [ mkText "" ]
-                        ]
-                        [ mkText "datatypeLibrary"
-                        ]
-                      , mkElement qn7
-                        [ mkAttr qn24 [ mkText "anyURI" ]
-                        , mkAttr qn8 [ mkText "http://www.w3.org/2001/XMLSchema-datatypes" ]
-                        ] []
-                      ]
-                    ]
-                  ]
-                , mkElement qn6 []
-                  [ mkElement qn11 [] []
-                  , mkElement qn20 []
-                    [ mkElement qn5 []
-                      [ mkElement qn4 []
-                        [ mkElement qn12 []
-                          [ mkElement qn6 []
-                            [ mkElement qn19
-                              [ mkAttr qn18 [ mkText "http://relaxng.org/ns/structure/1.0" ]
-                              ] []
-                            , mkElement qn19
-                              [ mkAttr qn18 [ mkText "" ]
-                              ] []
-                            ]
-                          ]
-                        ]
-                      , mkElement qn23 [] []
-                      ]
-                    ]
-                  ]
-                ]
-              ]
-            , mkElement qn15 []
-              [ mkElement qn6 []
-                [ mkElement qn11 [] []
-                , mkElement qn20 []
-                  [ mkElement qn21
-                    [ mkAttr qn16 [ mkText "15" ]
-                    ] []
-                  ]
-                ]
-              , mkElement qn20 []
-                [ mkElement qn6 []
-                  [ mkElement qn6 []
-                    [ mkElement qn6 []
-                      [ mkElement qn6 []
-                        [ mkElement qn6 []
-                          [ mkElement qn6 []
-                            [ mkElement qn6 []
-                              [ mkElement qn6 []
-                                [ mkElement qn6 []
-                                  [ mkElement qn6 []
-                                    [ mkElement qn6 []
-                                      [ mkElement qn6 []
-                                        [ mkElement qn6 []
-                                          [ mkElement qn6 []
-                                            [ mkElement qn6 []
-                                              [ mkElement qn6 []
-                                                [ mkElement qn6 []
-                                                  [ mkElement qn6 []
-                                                    [ mkElement qn21
-                                                      [ mkAttr qn16 [ mkText "24" ]
-                                                      ] []
-                                                    , mkElement qn21
-                                                      [ mkAttr qn16 [ mkText "25" ]
-                                                      ] []
-                                                    ]
-                                                  , mkElement qn21
-                                                    [ mkAttr qn16 [ mkText "26" ]
-                                                    ] []
-                                                  ]
-                                                , mkElement qn21
-                                                  [ mkAttr qn16 [ mkText "27" ]
-                                                  ] []
-                                                ]
-                                              , mkElement qn21
-                                                [ mkAttr qn16 [ mkText "28" ]
-                                                ] []
-                                              ]
-                                            , mkElement qn21
-                                              [ mkAttr qn16 [ mkText "29" ]
-                                              ] []
-                                            ]
-                                          , mkElement qn21
-                                            [ mkAttr qn16 [ mkText "30" ]
-                                            ] []
-                                          ]
-                                        , mkElement qn21
-                                          [ mkAttr qn16 [ mkText "31" ]
-                                          ] []
-                                        ]
-                                      , mkElement qn21
-                                        [ mkAttr qn16 [ mkText "32" ]
-                                        ] []
-                                      ]
-                                    , mkElement qn21
-                                      [ mkAttr qn16 [ mkText "33" ]
-                                      ] []
-                                    ]
-                                  , mkElement qn21
-                                    [ mkAttr qn16 [ mkText "34" ]
-                                    ] []
-                                  ]
-                                , mkElement qn21
-                                  [ mkAttr qn16 [ mkText "35" ]
-                                  ] []
-                                ]
-                              , mkElement qn21
-                                [ mkAttr qn16 [ mkText "36" ]
-                                ] []
-                              ]
-                            , mkElement qn21
-                              [ mkAttr qn16 [ mkText "37" ]
-                              ] []
-                            ]
-                          , mkElement qn21
-                            [ mkAttr qn16 [ mkText "38" ]
-                            ] []
-                          ]
-                        , mkElement qn21
-                          [ mkAttr qn16 [ mkText "39" ]
-                          ] []
-                        ]
-                      , mkElement qn21
-                        [ mkAttr qn16 [ mkText "42" ]
-                        ] []
-                      ]
-                    , mkElement qn21
-                      [ mkAttr qn16 [ mkText "43" ]
-                      ] []
-                    ]
-                  , mkElement qn21
-                    [ mkAttr qn16 [ mkText "44" ]
-                    ] []
-                  ]
-                ]
-              ]
-            ]
-          ]
-        ]
-      , mkElement qn9
-        [ mkAttr qn16 [ mkText "11" ]
-        ]
-        [ mkElement qn10 []
-          [ mkElement qn17
-            [ mkAttr qn18 [ mkText "http://relaxng.org/ns/structure/1.0" ]
-            ]
-            [ mkText "start"
-            ]
-          , mkElement qn14 []
-            [ mkElement qn14 []
-              [ mkElement qn6 []
-                [ mkElement qn11 [] []
-                , mkElement qn5 []
-                  [ mkElement qn17
-                    [ mkAttr qn18 [ mkText "" ]
-                    ]
-                    [ mkText "combine"
-                    ]
-                  , mkElement qn6 []
-                    [ mkElement qn25
-                      [ mkAttr qn1 [ mkText "http://www.w3.org/XML/1998/namespace" ]
-                      , mkAttr qn3 [ mkText "http://relaxng.org/ns/structure/1.0" ]
-                      , mkAttr qn2 [ mkText "file:///home/uwe/haskell/hxt/curr/src/Text/XML/HXT/RelaxNG/schema2hs/Schema.rng" ]
-                      , mkAttr qn8 [ mkText "" ]
-                      , mkAttr qn24 [ mkText "token" ]
-                      , mkAttr qn18 [ mkText "http://relaxng.org/ns/structure/1.0" ]
-                      ]
-                      [ mkText "choice"
-                      ]
-                    , mkElement qn25
-                      [ mkAttr qn1 [ mkText "http://www.w3.org/XML/1998/namespace" ]
-                      , mkAttr qn3 [ mkText "http://relaxng.org/ns/structure/1.0" ]
-                      , mkAttr qn2 [ mkText "file:///home/uwe/haskell/hxt/curr/src/Text/XML/HXT/RelaxNG/schema2hs/Schema.rng" ]
-                      , mkAttr qn8 [ mkText "" ]
-                      , mkAttr qn24 [ mkText "token" ]
-                      , mkAttr qn18 [ mkText "http://relaxng.org/ns/structure/1.0" ]
-                      ]
-                      [ mkText "interleave"
-                      ]
-                    ]
-                  ]
-                ]
-              , mkElement qn14 []
-                [ mkElement qn14 []
-                  [ mkElement qn6 []
-                    [ mkElement qn11 [] []
-                    , mkElement qn5 []
-                      [ mkElement qn17
-                        [ mkAttr qn18 [ mkText "" ]
-                        ]
-                        [ mkText "ns"
-                        ]
-                      , mkElement qn23 [] []
-                      ]
-                    ]
-                  , mkElement qn6 []
-                    [ mkElement qn11 [] []
-                    , mkElement qn5 []
-                      [ mkElement qn17
-                        [ mkAttr qn18 [ mkText "" ]
-                        ]
-                        [ mkText "datatypeLibrary"
-                        ]
-                      , mkElement qn7
-                        [ mkAttr qn24 [ mkText "anyURI" ]
-                        , mkAttr qn8 [ mkText "http://www.w3.org/2001/XMLSchema-datatypes" ]
-                        ] []
-                      ]
-                    ]
-                  ]
-                , mkElement qn6 []
-                  [ mkElement qn11 [] []
-                  , mkElement qn20 []
-                    [ mkElement qn5 []
-                      [ mkElement qn4 []
-                        [ mkElement qn12 []
-                          [ mkElement qn6 []
-                            [ mkElement qn19
-                              [ mkAttr qn18 [ mkText "http://relaxng.org/ns/structure/1.0" ]
-                              ] []
-                            , mkElement qn19
-                              [ mkAttr qn18 [ mkText "" ]
-                              ] []
-                            ]
-                          ]
-                        ]
-                      , mkElement qn23 [] []
-                      ]
-                    ]
-                  ]
-                ]
-              ]
-            , mkElement qn15 []
-              [ mkElement qn6 []
-                [ mkElement qn11 [] []
-                , mkElement qn20 []
-                  [ mkElement qn21
-                    [ mkAttr qn16 [ mkText "15" ]
-                    ] []
-                  ]
-                ]
-              , mkElement qn6 []
-                [ mkElement qn6 []
-                  [ mkElement qn6 []
-                    [ mkElement qn6 []
-                      [ mkElement qn6 []
-                        [ mkElement qn6 []
-                          [ mkElement qn6 []
-                            [ mkElement qn6 []
-                              [ mkElement qn6 []
-                                [ mkElement qn6 []
-                                  [ mkElement qn6 []
-                                    [ mkElement qn6 []
-                                      [ mkElement qn6 []
-                                        [ mkElement qn6 []
-                                          [ mkElement qn6 []
-                                            [ mkElement qn6 []
-                                              [ mkElement qn6 []
-                                                [ mkElement qn6 []
-                                                  [ mkElement qn21
-                                                    [ mkAttr qn16 [ mkText "24" ]
-                                                    ] []
-                                                  , mkElement qn21
-                                                    [ mkAttr qn16 [ mkText "25" ]
-                                                    ] []
-                                                  ]
-                                                , mkElement qn21
-                                                  [ mkAttr qn16 [ mkText "26" ]
-                                                  ] []
-                                                ]
-                                              , mkElement qn21
-                                                [ mkAttr qn16 [ mkText "27" ]
-                                                ] []
-                                              ]
-                                            , mkElement qn21
-                                              [ mkAttr qn16 [ mkText "28" ]
-                                              ] []
-                                            ]
-                                          , mkElement qn21
-                                            [ mkAttr qn16 [ mkText "29" ]
-                                            ] []
-                                          ]
-                                        , mkElement qn21
-                                          [ mkAttr qn16 [ mkText "30" ]
-                                          ] []
-                                        ]
-                                      , mkElement qn21
-                                        [ mkAttr qn16 [ mkText "31" ]
-                                        ] []
-                                      ]
-                                    , mkElement qn21
-                                      [ mkAttr qn16 [ mkText "32" ]
-                                      ] []
-                                    ]
-                                  , mkElement qn21
-                                    [ mkAttr qn16 [ mkText "33" ]
-                                    ] []
-                                  ]
-                                , mkElement qn21
-                                  [ mkAttr qn16 [ mkText "34" ]
-                                  ] []
-                                ]
-                              , mkElement qn21
-                                [ mkAttr qn16 [ mkText "35" ]
-                                ] []
-                              ]
-                            , mkElement qn21
-                              [ mkAttr qn16 [ mkText "36" ]
-                              ] []
-                            ]
-                          , mkElement qn21
-                            [ mkAttr qn16 [ mkText "37" ]
-                            ] []
-                          ]
-                        , mkElement qn21
-                          [ mkAttr qn16 [ mkText "38" ]
-                          ] []
-                        ]
-                      , mkElement qn21
-                        [ mkAttr qn16 [ mkText "39" ]
-                        ] []
-                      ]
-                    , mkElement qn21
-                      [ mkAttr qn16 [ mkText "42" ]
-                      ] []
-                    ]
-                  , mkElement qn21
-                    [ mkAttr qn16 [ mkText "43" ]
-                    ] []
-                  ]
-                , mkElement qn21
-                  [ mkAttr qn16 [ mkText "44" ]
+{-# OPTIONS_GHC -fno-warn-unused-binds #-}
+
+{- |
+   Module     : Text.HXT.RelaxNG.Schema
+
+   Don't edit this module, it's generated by RelaxSchemaToXmlTree
+
+-}
+
+module Text.XML.HXT.RelaxNG.Schema
+    ( relaxSchemaTree, relaxSchemaArrow )
+where
+
+import Text.XML.HXT.DOM.TypeDefs
+import Text.XML.HXT.DOM.XmlNode (mkRoot, mkElement, mkAttr, mkText)
+
+import Control.Arrow.ListArrows
+
+relaxSchemaArrow :: ArrowList a => a b XmlTree
+relaxSchemaArrow = constA relaxSchemaTree
+
+relaxSchemaTree :: XmlTree
+relaxSchemaTree =
+  let
+  ns1 = "http://relaxng.org/ns/structure/1.0"
+  qn1        = mkName   "RelaxContext-xml"
+  mkelem_qn1 = mkElement qn1
+  mkattr_qn1 = mkAttr    qn1
+  qn2        = mkName   "RelaxContextBaseURI"
+  mkelem_qn2 = mkElement qn2
+  mkattr_qn2 = mkAttr    qn2
+  qn3        = mkName   "RelaxContextDefault"
+  mkelem_qn3 = mkElement qn3
+  mkattr_qn3 = mkAttr    qn3
+  qn4        = mkNsName "anyName" ns1
+  mkelem_qn4 = mkElement qn4
+  mkattr_qn4 = mkAttr    qn4
+  qn5        = mkNsName "attribute" ns1
+  mkelem_qn5 = mkElement qn5
+  mkattr_qn5 = mkAttr    qn5
+  qn6        = mkNsName "choice" ns1
+  mkelem_qn6 = mkElement qn6
+  mkattr_qn6 = mkAttr    qn6
+  qn7        = mkNsName "data" ns1
+  mkelem_qn7 = mkElement qn7
+  mkattr_qn7 = mkAttr    qn7
+  qn8        = mkName   "datatypeLibrary"
+  mkelem_qn8 = mkElement qn8
+  mkattr_qn8 = mkAttr    qn8
+  qn9        = mkNsName "define" ns1
+  mkelem_qn9 = mkElement qn9
+  mkattr_qn9 = mkAttr    qn9
+  qn10        = mkNsName "element" ns1
+  mkelem_qn10 = mkElement qn10
+  mkattr_qn10 = mkAttr    qn10
+  qn11        = mkNsName "empty" ns1
+  mkelem_qn11 = mkElement qn11
+  mkattr_qn11 = mkAttr    qn11
+  qn12        = mkNsName "except" ns1
+  mkelem_qn12 = mkElement qn12
+  mkattr_qn12 = mkAttr    qn12
+  qn13        = mkNsName "grammar" ns1
+  mkelem_qn13 = mkElement qn13
+  mkattr_qn13 = mkAttr    qn13
+  qn14        = mkNsName "group" ns1
+  mkelem_qn14 = mkElement qn14
+  mkattr_qn14 = mkAttr    qn14
+  qn15        = mkNsName "interleave" ns1
+  mkelem_qn15 = mkElement qn15
+  mkattr_qn15 = mkAttr    qn15
+  qn16        = mkName   "name"
+  mkelem_qn16 = mkElement qn16
+  mkattr_qn16 = mkAttr    qn16
+  qn17        = mkNsName "name" ns1
+  mkelem_qn17 = mkElement qn17
+  mkattr_qn17 = mkAttr    qn17
+  qn18        = mkName   "ns"
+  mkelem_qn18 = mkElement qn18
+  mkattr_qn18 = mkAttr    qn18
+  qn19        = mkNsName "nsName" ns1
+  mkelem_qn19 = mkElement qn19
+  mkattr_qn19 = mkAttr    qn19
+  qn20        = mkNsName "oneOrMore" ns1
+  mkelem_qn20 = mkElement qn20
+  mkattr_qn20 = mkAttr    qn20
+  qn21        = mkNsName "ref" ns1
+  mkelem_qn21 = mkElement qn21
+  mkattr_qn21 = mkAttr    qn21
+  qn22        = mkNsName "start" ns1
+  mkelem_qn22 = mkElement qn22
+  mkattr_qn22 = mkAttr    qn22
+  qn23        = mkNsName "text" ns1
+  mkelem_qn23 = mkElement qn23
+  mkattr_qn23 = mkAttr    qn23
+  qn24        = mkName   "type"
+  mkelem_qn24 = mkElement qn24
+  mkattr_qn24 = mkAttr    qn24
+  qn25        = mkNsName "value" ns1
+  mkelem_qn25 = mkElement qn25
+  mkattr_qn25 = mkAttr    qn25
+  in
+  mkRoot []
+    [ mkelem_qn13 []
+      [ mkelem_qn22 []
+        [ mkelem_qn6 []
+          [ mkelem_qn6 []
+            [ mkelem_qn6 []
+              [ mkelem_qn6 []
+                [ mkelem_qn6 []
+                  [ mkelem_qn6 []
+                    [ mkelem_qn6 []
+                      [ mkelem_qn6 []
+                        [ mkelem_qn6 []
+                          [ mkelem_qn6 []
+                            [ mkelem_qn6 []
+                              [ mkelem_qn6 []
+                                [ mkelem_qn6 []
+                                  [ mkelem_qn6 []
+                                    [ mkelem_qn6 []
+                                      [ mkelem_qn6 []
+                                        [ mkelem_qn6 []
+                                          [ mkelem_qn6 []
+                                            [ mkelem_qn21
+                                              [ mkattr_qn16 [ mkText "24" ]
+                                              ] []
+                                            , mkelem_qn21
+                                              [ mkattr_qn16 [ mkText "25" ]
+                                              ] []
+                                            ]
+                                          , mkelem_qn21
+                                            [ mkattr_qn16 [ mkText "26" ]
+                                            ] []
+                                          ]
+                                        , mkelem_qn21
+                                          [ mkattr_qn16 [ mkText "27" ]
+                                          ] []
+                                        ]
+                                      , mkelem_qn21
+                                        [ mkattr_qn16 [ mkText "28" ]
+                                        ] []
+                                      ]
+                                    , mkelem_qn21
+                                      [ mkattr_qn16 [ mkText "29" ]
+                                      ] []
+                                    ]
+                                  , mkelem_qn21
+                                    [ mkattr_qn16 [ mkText "30" ]
+                                    ] []
+                                  ]
+                                , mkelem_qn21
+                                  [ mkattr_qn16 [ mkText "31" ]
+                                  ] []
+                                ]
+                              , mkelem_qn21
+                                [ mkattr_qn16 [ mkText "32" ]
+                                ] []
+                              ]
+                            , mkelem_qn21
+                              [ mkattr_qn16 [ mkText "33" ]
+                              ] []
+                            ]
+                          , mkelem_qn21
+                            [ mkattr_qn16 [ mkText "34" ]
+                            ] []
+                          ]
+                        , mkelem_qn21
+                          [ mkattr_qn16 [ mkText "35" ]
+                          ] []
+                        ]
+                      , mkelem_qn21
+                        [ mkattr_qn16 [ mkText "36" ]
+                        ] []
+                      ]
+                    , mkelem_qn21
+                      [ mkattr_qn16 [ mkText "37" ]
+                      ] []
+                    ]
+                  , mkelem_qn21
+                    [ mkattr_qn16 [ mkText "38" ]
+                    ] []
+                  ]
+                , mkelem_qn21
+                  [ mkattr_qn16 [ mkText "39" ]
+                  ] []
+                ]
+              , mkelem_qn21
+                [ mkattr_qn16 [ mkText "42" ]
+                ] []
+              ]
+            , mkelem_qn21
+              [ mkattr_qn16 [ mkText "43" ]
+              ] []
+            ]
+          , mkelem_qn21
+            [ mkattr_qn16 [ mkText "44" ]
+            ] []
+          ]
+        ]
+      , mkelem_qn9
+        [ mkattr_qn16 [ mkText "44" ]
+        ]
+        [ mkelem_qn10 []
+          [ mkelem_qn17
+            [ mkattr_qn18 [ mkText "http://relaxng.org/ns/structure/1.0" ]
+            ]
+            [ mkText "grammar"
+            ]
+          , mkelem_qn14 []
+            [ mkelem_qn14 []
+              [ mkelem_qn14 []
+                [ mkelem_qn6 []
+                  [ mkelem_qn11 [] []
+                  , mkelem_qn5 []
+                    [ mkelem_qn17
+                      [ mkattr_qn18 [ mkText "" ]
+                      ]
+                      [ mkText "ns"
+                      ]
+                    , mkelem_qn23 [] []
+                    ]
+                  ]
+                , mkelem_qn6 []
+                  [ mkelem_qn11 [] []
+                  , mkelem_qn5 []
+                    [ mkelem_qn17
+                      [ mkattr_qn18 [ mkText "" ]
+                      ]
+                      [ mkText "datatypeLibrary"
+                      ]
+                    , mkelem_qn7
+                      [ mkattr_qn24 [ mkText "anyURI" ]
+                      , mkattr_qn8 [ mkText "http://www.w3.org/2001/XMLSchema-datatypes" ]
+                      ] []
+                    ]
+                  ]
+                ]
+              , mkelem_qn6 []
+                [ mkelem_qn11 [] []
+                , mkelem_qn20 []
+                  [ mkelem_qn5 []
+                    [ mkelem_qn4 []
+                      [ mkelem_qn12 []
+                        [ mkelem_qn6 []
+                          [ mkelem_qn19
+                            [ mkattr_qn18 [ mkText "http://relaxng.org/ns/structure/1.0" ]
+                            ] []
+                          , mkelem_qn19
+                            [ mkattr_qn18 [ mkText "" ]
+                            ] []
+                          ]
+                        ]
+                      ]
+                    , mkelem_qn23 [] []
+                    ]
+                  ]
+                ]
+              ]
+            , mkelem_qn15 []
+              [ mkelem_qn6 []
+                [ mkelem_qn11 [] []
+                , mkelem_qn20 []
+                  [ mkelem_qn21
+                    [ mkattr_qn16 [ mkText "15" ]
+                    ] []
+                  ]
+                ]
+              , mkelem_qn6 []
+                [ mkelem_qn11 [] []
+                , mkelem_qn20 []
+                  [ mkelem_qn6 []
+                    [ mkelem_qn6 []
+                      [ mkelem_qn6 []
+                        [ mkelem_qn21
+                          [ mkattr_qn16 [ mkText "11" ]
+                          ] []
+                        , mkelem_qn21
+                          [ mkattr_qn16 [ mkText "10" ]
+                          ] []
+                        ]
+                      , mkelem_qn21
+                        [ mkattr_qn16 [ mkText "22" ]
+                        ] []
+                      ]
+                    , mkelem_qn21
+                      [ mkattr_qn16 [ mkText "23" ]
+                      ] []
+                    ]
+                  ]
+                ]
+              ]
+            ]
+          ]
+        ]
+      , mkelem_qn9
+        [ mkattr_qn16 [ mkText "43" ]
+        ]
+        [ mkelem_qn10 []
+          [ mkelem_qn17
+            [ mkattr_qn18 [ mkText "http://relaxng.org/ns/structure/1.0" ]
+            ]
+            [ mkText "externalRef"
+            ]
+          , mkelem_qn14 []
+            [ mkelem_qn14 []
+              [ mkelem_qn5 []
+                [ mkelem_qn17
+                  [ mkattr_qn18 [ mkText "" ]
+                  ]
+                  [ mkText "href"
+                  ]
+                , mkelem_qn7
+                  [ mkattr_qn24 [ mkText "anyURI" ]
+                  , mkattr_qn8 [ mkText "http://www.w3.org/2001/XMLSchema-datatypes" ]
+                  ] []
+                ]
+              , mkelem_qn14 []
+                [ mkelem_qn14 []
+                  [ mkelem_qn6 []
+                    [ mkelem_qn11 [] []
+                    , mkelem_qn5 []
+                      [ mkelem_qn17
+                        [ mkattr_qn18 [ mkText "" ]
+                        ]
+                        [ mkText "ns"
+                        ]
+                      , mkelem_qn23 [] []
+                      ]
+                    ]
+                  , mkelem_qn6 []
+                    [ mkelem_qn11 [] []
+                    , mkelem_qn5 []
+                      [ mkelem_qn17
+                        [ mkattr_qn18 [ mkText "" ]
+                        ]
+                        [ mkText "datatypeLibrary"
+                        ]
+                      , mkelem_qn7
+                        [ mkattr_qn24 [ mkText "anyURI" ]
+                        , mkattr_qn8 [ mkText "http://www.w3.org/2001/XMLSchema-datatypes" ]
+                        ] []
+                      ]
+                    ]
+                  ]
+                , mkelem_qn6 []
+                  [ mkelem_qn11 [] []
+                  , mkelem_qn20 []
+                    [ mkelem_qn5 []
+                      [ mkelem_qn4 []
+                        [ mkelem_qn12 []
+                          [ mkelem_qn6 []
+                            [ mkelem_qn19
+                              [ mkattr_qn18 [ mkText "http://relaxng.org/ns/structure/1.0" ]
+                              ] []
+                            , mkelem_qn19
+                              [ mkattr_qn18 [ mkText "" ]
+                              ] []
+                            ]
+                          ]
+                        ]
+                      , mkelem_qn23 [] []
+                      ]
+                    ]
+                  ]
+                ]
+              ]
+            , mkelem_qn6 []
+              [ mkelem_qn11 [] []
+              , mkelem_qn20 []
+                [ mkelem_qn21
+                  [ mkattr_qn16 [ mkText "15" ]
+                  ] []
+                ]
+              ]
+            ]
+          ]
+        ]
+      , mkelem_qn9
+        [ mkattr_qn16 [ mkText "42" ]
+        ]
+        [ mkelem_qn10 []
+          [ mkelem_qn17
+            [ mkattr_qn18 [ mkText "http://relaxng.org/ns/structure/1.0" ]
+            ]
+            [ mkText "notAllowed"
+            ]
+          , mkelem_qn14 []
+            [ mkelem_qn14 []
+              [ mkelem_qn14 []
+                [ mkelem_qn6 []
+                  [ mkelem_qn11 [] []
+                  , mkelem_qn5 []
+                    [ mkelem_qn17
+                      [ mkattr_qn18 [ mkText "" ]
+                      ]
+                      [ mkText "ns"
+                      ]
+                    , mkelem_qn23 [] []
+                    ]
+                  ]
+                , mkelem_qn6 []
+                  [ mkelem_qn11 [] []
+                  , mkelem_qn5 []
+                    [ mkelem_qn17
+                      [ mkattr_qn18 [ mkText "" ]
+                      ]
+                      [ mkText "datatypeLibrary"
+                      ]
+                    , mkelem_qn7
+                      [ mkattr_qn24 [ mkText "anyURI" ]
+                      , mkattr_qn8 [ mkText "http://www.w3.org/2001/XMLSchema-datatypes" ]
+                      ] []
+                    ]
+                  ]
+                ]
+              , mkelem_qn6 []
+                [ mkelem_qn11 [] []
+                , mkelem_qn20 []
+                  [ mkelem_qn5 []
+                    [ mkelem_qn4 []
+                      [ mkelem_qn12 []
+                        [ mkelem_qn6 []
+                          [ mkelem_qn19
+                            [ mkattr_qn18 [ mkText "http://relaxng.org/ns/structure/1.0" ]
+                            ] []
+                          , mkelem_qn19
+                            [ mkattr_qn18 [ mkText "" ]
+                            ] []
+                          ]
+                        ]
+                      ]
+                    , mkelem_qn23 [] []
+                    ]
+                  ]
+                ]
+              ]
+            , mkelem_qn6 []
+              [ mkelem_qn11 [] []
+              , mkelem_qn20 []
+                [ mkelem_qn21
+                  [ mkattr_qn16 [ mkText "15" ]
+                  ] []
+                ]
+              ]
+            ]
+          ]
+        ]
+      , mkelem_qn9
+        [ mkattr_qn16 [ mkText "39" ]
+        ]
+        [ mkelem_qn10 []
+          [ mkelem_qn17
+            [ mkattr_qn18 [ mkText "http://relaxng.org/ns/structure/1.0" ]
+            ]
+            [ mkText "data"
+            ]
+          , mkelem_qn14 []
+            [ mkelem_qn14 []
+              [ mkelem_qn5 []
+                [ mkelem_qn17
+                  [ mkattr_qn18 [ mkText "" ]
+                  ]
+                  [ mkText "type"
+                  ]
+                , mkelem_qn7
+                  [ mkattr_qn24 [ mkText "NCName" ]
+                  , mkattr_qn8 [ mkText "http://www.w3.org/2001/XMLSchema-datatypes" ]
+                  ] []
+                ]
+              , mkelem_qn14 []
+                [ mkelem_qn14 []
+                  [ mkelem_qn6 []
+                    [ mkelem_qn11 [] []
+                    , mkelem_qn5 []
+                      [ mkelem_qn17
+                        [ mkattr_qn18 [ mkText "" ]
+                        ]
+                        [ mkText "ns"
+                        ]
+                      , mkelem_qn23 [] []
+                      ]
+                    ]
+                  , mkelem_qn6 []
+                    [ mkelem_qn11 [] []
+                    , mkelem_qn5 []
+                      [ mkelem_qn17
+                        [ mkattr_qn18 [ mkText "" ]
+                        ]
+                        [ mkText "datatypeLibrary"
+                        ]
+                      , mkelem_qn7
+                        [ mkattr_qn24 [ mkText "anyURI" ]
+                        , mkattr_qn8 [ mkText "http://www.w3.org/2001/XMLSchema-datatypes" ]
+                        ] []
+                      ]
+                    ]
+                  ]
+                , mkelem_qn6 []
+                  [ mkelem_qn11 [] []
+                  , mkelem_qn20 []
+                    [ mkelem_qn5 []
+                      [ mkelem_qn4 []
+                        [ mkelem_qn12 []
+                          [ mkelem_qn6 []
+                            [ mkelem_qn19
+                              [ mkattr_qn18 [ mkText "http://relaxng.org/ns/structure/1.0" ]
+                              ] []
+                            , mkelem_qn19
+                              [ mkattr_qn18 [ mkText "" ]
+                              ] []
+                            ]
+                          ]
+                        ]
+                      , mkelem_qn23 [] []
+                      ]
+                    ]
+                  ]
+                ]
+              ]
+            , mkelem_qn15 []
+              [ mkelem_qn6 []
+                [ mkelem_qn11 [] []
+                , mkelem_qn20 []
+                  [ mkelem_qn21
+                    [ mkattr_qn16 [ mkText "15" ]
+                    ] []
+                  ]
+                ]
+              , mkelem_qn14 []
+                [ mkelem_qn6 []
+                  [ mkelem_qn11 [] []
+                  , mkelem_qn20 []
+                    [ mkelem_qn21
+                      [ mkattr_qn16 [ mkText "40" ]
+                      ] []
+                    ]
+                  ]
+                , mkelem_qn6 []
+                  [ mkelem_qn11 [] []
+                  , mkelem_qn21
+                    [ mkattr_qn16 [ mkText "41" ]
+                    ] []
+                  ]
+                ]
+              ]
+            ]
+          ]
+        ]
+      , mkelem_qn9
+        [ mkattr_qn16 [ mkText "41" ]
+        ]
+        [ mkelem_qn10 []
+          [ mkelem_qn17
+            [ mkattr_qn18 [ mkText "http://relaxng.org/ns/structure/1.0" ]
+            ]
+            [ mkText "except"
+            ]
+          , mkelem_qn14 []
+            [ mkelem_qn14 []
+              [ mkelem_qn14 []
+                [ mkelem_qn6 []
+                  [ mkelem_qn11 [] []
+                  , mkelem_qn5 []
+                    [ mkelem_qn17
+                      [ mkattr_qn18 [ mkText "" ]
+                      ]
+                      [ mkText "ns"
+                      ]
+                    , mkelem_qn23 [] []
+                    ]
+                  ]
+                , mkelem_qn6 []
+                  [ mkelem_qn11 [] []
+                  , mkelem_qn5 []
+                    [ mkelem_qn17
+                      [ mkattr_qn18 [ mkText "" ]
+                      ]
+                      [ mkText "datatypeLibrary"
+                      ]
+                    , mkelem_qn7
+                      [ mkattr_qn24 [ mkText "anyURI" ]
+                      , mkattr_qn8 [ mkText "http://www.w3.org/2001/XMLSchema-datatypes" ]
+                      ] []
+                    ]
+                  ]
+                ]
+              , mkelem_qn6 []
+                [ mkelem_qn11 [] []
+                , mkelem_qn20 []
+                  [ mkelem_qn5 []
+                    [ mkelem_qn4 []
+                      [ mkelem_qn12 []
+                        [ mkelem_qn6 []
+                          [ mkelem_qn19
+                            [ mkattr_qn18 [ mkText "http://relaxng.org/ns/structure/1.0" ]
+                            ] []
+                          , mkelem_qn19
+                            [ mkattr_qn18 [ mkText "" ]
+                            ] []
+                          ]
+                        ]
+                      ]
+                    , mkelem_qn23 [] []
+                    ]
+                  ]
+                ]
+              ]
+            , mkelem_qn15 []
+              [ mkelem_qn6 []
+                [ mkelem_qn11 [] []
+                , mkelem_qn20 []
+                  [ mkelem_qn21
+                    [ mkattr_qn16 [ mkText "15" ]
+                    ] []
+                  ]
+                ]
+              , mkelem_qn20 []
+                [ mkelem_qn6 []
+                  [ mkelem_qn6 []
+                    [ mkelem_qn6 []
+                      [ mkelem_qn6 []
+                        [ mkelem_qn6 []
+                          [ mkelem_qn6 []
+                            [ mkelem_qn6 []
+                              [ mkelem_qn6 []
+                                [ mkelem_qn6 []
+                                  [ mkelem_qn6 []
+                                    [ mkelem_qn6 []
+                                      [ mkelem_qn6 []
+                                        [ mkelem_qn6 []
+                                          [ mkelem_qn6 []
+                                            [ mkelem_qn6 []
+                                              [ mkelem_qn6 []
+                                                [ mkelem_qn6 []
+                                                  [ mkelem_qn6 []
+                                                    [ mkelem_qn21
+                                                      [ mkattr_qn16 [ mkText "24" ]
+                                                      ] []
+                                                    , mkelem_qn21
+                                                      [ mkattr_qn16 [ mkText "25" ]
+                                                      ] []
+                                                    ]
+                                                  , mkelem_qn21
+                                                    [ mkattr_qn16 [ mkText "26" ]
+                                                    ] []
+                                                  ]
+                                                , mkelem_qn21
+                                                  [ mkattr_qn16 [ mkText "27" ]
+                                                  ] []
+                                                ]
+                                              , mkelem_qn21
+                                                [ mkattr_qn16 [ mkText "28" ]
+                                                ] []
+                                              ]
+                                            , mkelem_qn21
+                                              [ mkattr_qn16 [ mkText "29" ]
+                                              ] []
+                                            ]
+                                          , mkelem_qn21
+                                            [ mkattr_qn16 [ mkText "30" ]
+                                            ] []
+                                          ]
+                                        , mkelem_qn21
+                                          [ mkattr_qn16 [ mkText "31" ]
+                                          ] []
+                                        ]
+                                      , mkelem_qn21
+                                        [ mkattr_qn16 [ mkText "32" ]
+                                        ] []
+                                      ]
+                                    , mkelem_qn21
+                                      [ mkattr_qn16 [ mkText "33" ]
+                                      ] []
+                                    ]
+                                  , mkelem_qn21
+                                    [ mkattr_qn16 [ mkText "34" ]
+                                    ] []
+                                  ]
+                                , mkelem_qn21
+                                  [ mkattr_qn16 [ mkText "35" ]
+                                  ] []
+                                ]
+                              , mkelem_qn21
+                                [ mkattr_qn16 [ mkText "36" ]
+                                ] []
+                              ]
+                            , mkelem_qn21
+                              [ mkattr_qn16 [ mkText "37" ]
+                              ] []
+                            ]
+                          , mkelem_qn21
+                            [ mkattr_qn16 [ mkText "38" ]
+                            ] []
+                          ]
+                        , mkelem_qn21
+                          [ mkattr_qn16 [ mkText "39" ]
+                          ] []
+                        ]
+                      , mkelem_qn21
+                        [ mkattr_qn16 [ mkText "42" ]
+                        ] []
+                      ]
+                    , mkelem_qn21
+                      [ mkattr_qn16 [ mkText "43" ]
+                      ] []
+                    ]
+                  , mkelem_qn21
+                    [ mkattr_qn16 [ mkText "44" ]
+                    ] []
+                  ]
+                ]
+              ]
+            ]
+          ]
+        ]
+      , mkelem_qn9
+        [ mkattr_qn16 [ mkText "40" ]
+        ]
+        [ mkelem_qn10 []
+          [ mkelem_qn17
+            [ mkattr_qn18 [ mkText "http://relaxng.org/ns/structure/1.0" ]
+            ]
+            [ mkText "param"
+            ]
+          , mkelem_qn14 []
+            [ mkelem_qn5 []
+              [ mkelem_qn17
+                [ mkattr_qn18 [ mkText "" ]
+                ]
+                [ mkText "name"
+                ]
+              , mkelem_qn7
+                [ mkattr_qn24 [ mkText "NCName" ]
+                , mkattr_qn8 [ mkText "http://www.w3.org/2001/XMLSchema-datatypes" ]
+                ] []
+              ]
+            , mkelem_qn23 [] []
+            ]
+          ]
+        ]
+      , mkelem_qn9
+        [ mkattr_qn16 [ mkText "38" ]
+        ]
+        [ mkelem_qn10 []
+          [ mkelem_qn17
+            [ mkattr_qn18 [ mkText "http://relaxng.org/ns/structure/1.0" ]
+            ]
+            [ mkText "value"
+            ]
+          , mkelem_qn14 []
+            [ mkelem_qn14 []
+              [ mkelem_qn6 []
+                [ mkelem_qn11 [] []
+                , mkelem_qn5 []
+                  [ mkelem_qn17
+                    [ mkattr_qn18 [ mkText "" ]
+                    ]
+                    [ mkText "type"
+                    ]
+                  , mkelem_qn7
+                    [ mkattr_qn24 [ mkText "NCName" ]
+                    , mkattr_qn8 [ mkText "http://www.w3.org/2001/XMLSchema-datatypes" ]
+                    ] []
+                  ]
+                ]
+              , mkelem_qn14 []
+                [ mkelem_qn14 []
+                  [ mkelem_qn6 []
+                    [ mkelem_qn11 [] []
+                    , mkelem_qn5 []
+                      [ mkelem_qn17
+                        [ mkattr_qn18 [ mkText "" ]
+                        ]
+                        [ mkText "ns"
+                        ]
+                      , mkelem_qn23 [] []
+                      ]
+                    ]
+                  , mkelem_qn6 []
+                    [ mkelem_qn11 [] []
+                    , mkelem_qn5 []
+                      [ mkelem_qn17
+                        [ mkattr_qn18 [ mkText "" ]
+                        ]
+                        [ mkText "datatypeLibrary"
+                        ]
+                      , mkelem_qn7
+                        [ mkattr_qn24 [ mkText "anyURI" ]
+                        , mkattr_qn8 [ mkText "http://www.w3.org/2001/XMLSchema-datatypes" ]
+                        ] []
+                      ]
+                    ]
+                  ]
+                , mkelem_qn6 []
+                  [ mkelem_qn11 [] []
+                  , mkelem_qn20 []
+                    [ mkelem_qn5 []
+                      [ mkelem_qn4 []
+                        [ mkelem_qn12 []
+                          [ mkelem_qn6 []
+                            [ mkelem_qn19
+                              [ mkattr_qn18 [ mkText "http://relaxng.org/ns/structure/1.0" ]
+                              ] []
+                            , mkelem_qn19
+                              [ mkattr_qn18 [ mkText "" ]
+                              ] []
+                            ]
+                          ]
+                        ]
+                      , mkelem_qn23 [] []
+                      ]
+                    ]
+                  ]
+                ]
+              ]
+            , mkelem_qn23 [] []
+            ]
+          ]
+        ]
+      , mkelem_qn9
+        [ mkattr_qn16 [ mkText "37" ]
+        ]
+        [ mkelem_qn10 []
+          [ mkelem_qn17
+            [ mkattr_qn18 [ mkText "http://relaxng.org/ns/structure/1.0" ]
+            ]
+            [ mkText "text"
+            ]
+          , mkelem_qn14 []
+            [ mkelem_qn14 []
+              [ mkelem_qn14 []
+                [ mkelem_qn6 []
+                  [ mkelem_qn11 [] []
+                  , mkelem_qn5 []
+                    [ mkelem_qn17
+                      [ mkattr_qn18 [ mkText "" ]
+                      ]
+                      [ mkText "ns"
+                      ]
+                    , mkelem_qn23 [] []
+                    ]
+                  ]
+                , mkelem_qn6 []
+                  [ mkelem_qn11 [] []
+                  , mkelem_qn5 []
+                    [ mkelem_qn17
+                      [ mkattr_qn18 [ mkText "" ]
+                      ]
+                      [ mkText "datatypeLibrary"
+                      ]
+                    , mkelem_qn7
+                      [ mkattr_qn24 [ mkText "anyURI" ]
+                      , mkattr_qn8 [ mkText "http://www.w3.org/2001/XMLSchema-datatypes" ]
+                      ] []
+                    ]
+                  ]
+                ]
+              , mkelem_qn6 []
+                [ mkelem_qn11 [] []
+                , mkelem_qn20 []
+                  [ mkelem_qn5 []
+                    [ mkelem_qn4 []
+                      [ mkelem_qn12 []
+                        [ mkelem_qn6 []
+                          [ mkelem_qn19
+                            [ mkattr_qn18 [ mkText "http://relaxng.org/ns/structure/1.0" ]
+                            ] []
+                          , mkelem_qn19
+                            [ mkattr_qn18 [ mkText "" ]
+                            ] []
+                          ]
+                        ]
+                      ]
+                    , mkelem_qn23 [] []
+                    ]
+                  ]
+                ]
+              ]
+            , mkelem_qn6 []
+              [ mkelem_qn11 [] []
+              , mkelem_qn20 []
+                [ mkelem_qn21
+                  [ mkattr_qn16 [ mkText "15" ]
+                  ] []
+                ]
+              ]
+            ]
+          ]
+        ]
+      , mkelem_qn9
+        [ mkattr_qn16 [ mkText "36" ]
+        ]
+        [ mkelem_qn10 []
+          [ mkelem_qn17
+            [ mkattr_qn18 [ mkText "http://relaxng.org/ns/structure/1.0" ]
+            ]
+            [ mkText "empty"
+            ]
+          , mkelem_qn14 []
+            [ mkelem_qn14 []
+              [ mkelem_qn14 []
+                [ mkelem_qn6 []
+                  [ mkelem_qn11 [] []
+                  , mkelem_qn5 []
+                    [ mkelem_qn17
+                      [ mkattr_qn18 [ mkText "" ]
+                      ]
+                      [ mkText "ns"
+                      ]
+                    , mkelem_qn23 [] []
+                    ]
+                  ]
+                , mkelem_qn6 []
+                  [ mkelem_qn11 [] []
+                  , mkelem_qn5 []
+                    [ mkelem_qn17
+                      [ mkattr_qn18 [ mkText "" ]
+                      ]
+                      [ mkText "datatypeLibrary"
+                      ]
+                    , mkelem_qn7
+                      [ mkattr_qn24 [ mkText "anyURI" ]
+                      , mkattr_qn8 [ mkText "http://www.w3.org/2001/XMLSchema-datatypes" ]
+                      ] []
+                    ]
+                  ]
+                ]
+              , mkelem_qn6 []
+                [ mkelem_qn11 [] []
+                , mkelem_qn20 []
+                  [ mkelem_qn5 []
+                    [ mkelem_qn4 []
+                      [ mkelem_qn12 []
+                        [ mkelem_qn6 []
+                          [ mkelem_qn19
+                            [ mkattr_qn18 [ mkText "http://relaxng.org/ns/structure/1.0" ]
+                            ] []
+                          , mkelem_qn19
+                            [ mkattr_qn18 [ mkText "" ]
+                            ] []
+                          ]
+                        ]
+                      ]
+                    , mkelem_qn23 [] []
+                    ]
+                  ]
+                ]
+              ]
+            , mkelem_qn6 []
+              [ mkelem_qn11 [] []
+              , mkelem_qn20 []
+                [ mkelem_qn21
+                  [ mkattr_qn16 [ mkText "15" ]
+                  ] []
+                ]
+              ]
+            ]
+          ]
+        ]
+      , mkelem_qn9
+        [ mkattr_qn16 [ mkText "35" ]
+        ]
+        [ mkelem_qn10 []
+          [ mkelem_qn17
+            [ mkattr_qn18 [ mkText "http://relaxng.org/ns/structure/1.0" ]
+            ]
+            [ mkText "parentRef"
+            ]
+          , mkelem_qn14 []
+            [ mkelem_qn5 []
+              [ mkelem_qn17
+                [ mkattr_qn18 [ mkText "" ]
+                ]
+                [ mkText "name"
+                ]
+              , mkelem_qn7
+                [ mkattr_qn24 [ mkText "NCName" ]
+                , mkattr_qn8 [ mkText "http://www.w3.org/2001/XMLSchema-datatypes" ]
+                ] []
+              ]
+            , mkelem_qn14 []
+              [ mkelem_qn14 []
+                [ mkelem_qn6 []
+                  [ mkelem_qn11 [] []
+                  , mkelem_qn5 []
+                    [ mkelem_qn17
+                      [ mkattr_qn18 [ mkText "" ]
+                      ]
+                      [ mkText "ns"
+                      ]
+                    , mkelem_qn23 [] []
+                    ]
+                  ]
+                , mkelem_qn6 []
+                  [ mkelem_qn11 [] []
+                  , mkelem_qn5 []
+                    [ mkelem_qn17
+                      [ mkattr_qn18 [ mkText "" ]
+                      ]
+                      [ mkText "datatypeLibrary"
+                      ]
+                    , mkelem_qn7
+                      [ mkattr_qn24 [ mkText "anyURI" ]
+                      , mkattr_qn8 [ mkText "http://www.w3.org/2001/XMLSchema-datatypes" ]
+                      ] []
+                    ]
+                  ]
+                ]
+              , mkelem_qn6 []
+                [ mkelem_qn11 [] []
+                , mkelem_qn20 []
+                  [ mkelem_qn5 []
+                    [ mkelem_qn4 []
+                      [ mkelem_qn12 []
+                        [ mkelem_qn6 []
+                          [ mkelem_qn19
+                            [ mkattr_qn18 [ mkText "http://relaxng.org/ns/structure/1.0" ]
+                            ] []
+                          , mkelem_qn19
+                            [ mkattr_qn18 [ mkText "" ]
+                            ] []
+                          ]
+                        ]
+                      ]
+                    , mkelem_qn23 [] []
+                    ]
+                  ]
+                ]
+              ]
+            ]
+          ]
+        ]
+      , mkelem_qn9
+        [ mkattr_qn16 [ mkText "34" ]
+        ]
+        [ mkelem_qn10 []
+          [ mkelem_qn17
+            [ mkattr_qn18 [ mkText "http://relaxng.org/ns/structure/1.0" ]
+            ]
+            [ mkText "ref"
+            ]
+          , mkelem_qn14 []
+            [ mkelem_qn5 []
+              [ mkelem_qn17
+                [ mkattr_qn18 [ mkText "" ]
+                ]
+                [ mkText "name"
+                ]
+              , mkelem_qn7
+                [ mkattr_qn24 [ mkText "NCName" ]
+                , mkattr_qn8 [ mkText "http://www.w3.org/2001/XMLSchema-datatypes" ]
+                ] []
+              ]
+            , mkelem_qn14 []
+              [ mkelem_qn14 []
+                [ mkelem_qn6 []
+                  [ mkelem_qn11 [] []
+                  , mkelem_qn5 []
+                    [ mkelem_qn17
+                      [ mkattr_qn18 [ mkText "" ]
+                      ]
+                      [ mkText "ns"
+                      ]
+                    , mkelem_qn23 [] []
+                    ]
+                  ]
+                , mkelem_qn6 []
+                  [ mkelem_qn11 [] []
+                  , mkelem_qn5 []
+                    [ mkelem_qn17
+                      [ mkattr_qn18 [ mkText "" ]
+                      ]
+                      [ mkText "datatypeLibrary"
+                      ]
+                    , mkelem_qn7
+                      [ mkattr_qn24 [ mkText "anyURI" ]
+                      , mkattr_qn8 [ mkText "http://www.w3.org/2001/XMLSchema-datatypes" ]
+                      ] []
+                    ]
+                  ]
+                ]
+              , mkelem_qn6 []
+                [ mkelem_qn11 [] []
+                , mkelem_qn20 []
+                  [ mkelem_qn5 []
+                    [ mkelem_qn4 []
+                      [ mkelem_qn12 []
+                        [ mkelem_qn6 []
+                          [ mkelem_qn19
+                            [ mkattr_qn18 [ mkText "http://relaxng.org/ns/structure/1.0" ]
+                            ] []
+                          , mkelem_qn19
+                            [ mkattr_qn18 [ mkText "" ]
+                            ] []
+                          ]
+                        ]
+                      ]
+                    , mkelem_qn23 [] []
+                    ]
+                  ]
+                ]
+              ]
+            ]
+          ]
+        ]
+      , mkelem_qn9
+        [ mkattr_qn16 [ mkText "33" ]
+        ]
+        [ mkelem_qn10 []
+          [ mkelem_qn17
+            [ mkattr_qn18 [ mkText "http://relaxng.org/ns/structure/1.0" ]
+            ]
+            [ mkText "mixed"
+            ]
+          , mkelem_qn14 []
+            [ mkelem_qn14 []
+              [ mkelem_qn14 []
+                [ mkelem_qn6 []
+                  [ mkelem_qn11 [] []
+                  , mkelem_qn5 []
+                    [ mkelem_qn17
+                      [ mkattr_qn18 [ mkText "" ]
+                      ]
+                      [ mkText "ns"
+                      ]
+                    , mkelem_qn23 [] []
+                    ]
+                  ]
+                , mkelem_qn6 []
+                  [ mkelem_qn11 [] []
+                  , mkelem_qn5 []
+                    [ mkelem_qn17
+                      [ mkattr_qn18 [ mkText "" ]
+                      ]
+                      [ mkText "datatypeLibrary"
+                      ]
+                    , mkelem_qn7
+                      [ mkattr_qn24 [ mkText "anyURI" ]
+                      , mkattr_qn8 [ mkText "http://www.w3.org/2001/XMLSchema-datatypes" ]
+                      ] []
+                    ]
+                  ]
+                ]
+              , mkelem_qn6 []
+                [ mkelem_qn11 [] []
+                , mkelem_qn20 []
+                  [ mkelem_qn5 []
+                    [ mkelem_qn4 []
+                      [ mkelem_qn12 []
+                        [ mkelem_qn6 []
+                          [ mkelem_qn19
+                            [ mkattr_qn18 [ mkText "http://relaxng.org/ns/structure/1.0" ]
+                            ] []
+                          , mkelem_qn19
+                            [ mkattr_qn18 [ mkText "" ]
+                            ] []
+                          ]
+                        ]
+                      ]
+                    , mkelem_qn23 [] []
+                    ]
+                  ]
+                ]
+              ]
+            , mkelem_qn15 []
+              [ mkelem_qn6 []
+                [ mkelem_qn11 [] []
+                , mkelem_qn20 []
+                  [ mkelem_qn21
+                    [ mkattr_qn16 [ mkText "15" ]
+                    ] []
+                  ]
+                ]
+              , mkelem_qn20 []
+                [ mkelem_qn6 []
+                  [ mkelem_qn6 []
+                    [ mkelem_qn6 []
+                      [ mkelem_qn6 []
+                        [ mkelem_qn6 []
+                          [ mkelem_qn6 []
+                            [ mkelem_qn6 []
+                              [ mkelem_qn6 []
+                                [ mkelem_qn6 []
+                                  [ mkelem_qn6 []
+                                    [ mkelem_qn6 []
+                                      [ mkelem_qn6 []
+                                        [ mkelem_qn6 []
+                                          [ mkelem_qn6 []
+                                            [ mkelem_qn6 []
+                                              [ mkelem_qn6 []
+                                                [ mkelem_qn6 []
+                                                  [ mkelem_qn6 []
+                                                    [ mkelem_qn21
+                                                      [ mkattr_qn16 [ mkText "24" ]
+                                                      ] []
+                                                    , mkelem_qn21
+                                                      [ mkattr_qn16 [ mkText "25" ]
+                                                      ] []
+                                                    ]
+                                                  , mkelem_qn21
+                                                    [ mkattr_qn16 [ mkText "26" ]
+                                                    ] []
+                                                  ]
+                                                , mkelem_qn21
+                                                  [ mkattr_qn16 [ mkText "27" ]
+                                                  ] []
+                                                ]
+                                              , mkelem_qn21
+                                                [ mkattr_qn16 [ mkText "28" ]
+                                                ] []
+                                              ]
+                                            , mkelem_qn21
+                                              [ mkattr_qn16 [ mkText "29" ]
+                                              ] []
+                                            ]
+                                          , mkelem_qn21
+                                            [ mkattr_qn16 [ mkText "30" ]
+                                            ] []
+                                          ]
+                                        , mkelem_qn21
+                                          [ mkattr_qn16 [ mkText "31" ]
+                                          ] []
+                                        ]
+                                      , mkelem_qn21
+                                        [ mkattr_qn16 [ mkText "32" ]
+                                        ] []
+                                      ]
+                                    , mkelem_qn21
+                                      [ mkattr_qn16 [ mkText "33" ]
+                                      ] []
+                                    ]
+                                  , mkelem_qn21
+                                    [ mkattr_qn16 [ mkText "34" ]
+                                    ] []
+                                  ]
+                                , mkelem_qn21
+                                  [ mkattr_qn16 [ mkText "35" ]
+                                  ] []
+                                ]
+                              , mkelem_qn21
+                                [ mkattr_qn16 [ mkText "36" ]
+                                ] []
+                              ]
+                            , mkelem_qn21
+                              [ mkattr_qn16 [ mkText "37" ]
+                              ] []
+                            ]
+                          , mkelem_qn21
+                            [ mkattr_qn16 [ mkText "38" ]
+                            ] []
+                          ]
+                        , mkelem_qn21
+                          [ mkattr_qn16 [ mkText "39" ]
+                          ] []
+                        ]
+                      , mkelem_qn21
+                        [ mkattr_qn16 [ mkText "42" ]
+                        ] []
+                      ]
+                    , mkelem_qn21
+                      [ mkattr_qn16 [ mkText "43" ]
+                      ] []
+                    ]
+                  , mkelem_qn21
+                    [ mkattr_qn16 [ mkText "44" ]
+                    ] []
+                  ]
+                ]
+              ]
+            ]
+          ]
+        ]
+      , mkelem_qn9
+        [ mkattr_qn16 [ mkText "32" ]
+        ]
+        [ mkelem_qn10 []
+          [ mkelem_qn17
+            [ mkattr_qn18 [ mkText "http://relaxng.org/ns/structure/1.0" ]
+            ]
+            [ mkText "list"
+            ]
+          , mkelem_qn14 []
+            [ mkelem_qn14 []
+              [ mkelem_qn14 []
+                [ mkelem_qn6 []
+                  [ mkelem_qn11 [] []
+                  , mkelem_qn5 []
+                    [ mkelem_qn17
+                      [ mkattr_qn18 [ mkText "" ]
+                      ]
+                      [ mkText "ns"
+                      ]
+                    , mkelem_qn23 [] []
+                    ]
+                  ]
+                , mkelem_qn6 []
+                  [ mkelem_qn11 [] []
+                  , mkelem_qn5 []
+                    [ mkelem_qn17
+                      [ mkattr_qn18 [ mkText "" ]
+                      ]
+                      [ mkText "datatypeLibrary"
+                      ]
+                    , mkelem_qn7
+                      [ mkattr_qn24 [ mkText "anyURI" ]
+                      , mkattr_qn8 [ mkText "http://www.w3.org/2001/XMLSchema-datatypes" ]
+                      ] []
+                    ]
+                  ]
+                ]
+              , mkelem_qn6 []
+                [ mkelem_qn11 [] []
+                , mkelem_qn20 []
+                  [ mkelem_qn5 []
+                    [ mkelem_qn4 []
+                      [ mkelem_qn12 []
+                        [ mkelem_qn6 []
+                          [ mkelem_qn19
+                            [ mkattr_qn18 [ mkText "http://relaxng.org/ns/structure/1.0" ]
+                            ] []
+                          , mkelem_qn19
+                            [ mkattr_qn18 [ mkText "" ]
+                            ] []
+                          ]
+                        ]
+                      ]
+                    , mkelem_qn23 [] []
+                    ]
+                  ]
+                ]
+              ]
+            , mkelem_qn15 []
+              [ mkelem_qn6 []
+                [ mkelem_qn11 [] []
+                , mkelem_qn20 []
+                  [ mkelem_qn21
+                    [ mkattr_qn16 [ mkText "15" ]
+                    ] []
+                  ]
+                ]
+              , mkelem_qn20 []
+                [ mkelem_qn6 []
+                  [ mkelem_qn6 []
+                    [ mkelem_qn6 []
+                      [ mkelem_qn6 []
+                        [ mkelem_qn6 []
+                          [ mkelem_qn6 []
+                            [ mkelem_qn6 []
+                              [ mkelem_qn6 []
+                                [ mkelem_qn6 []
+                                  [ mkelem_qn6 []
+                                    [ mkelem_qn6 []
+                                      [ mkelem_qn6 []
+                                        [ mkelem_qn6 []
+                                          [ mkelem_qn6 []
+                                            [ mkelem_qn6 []
+                                              [ mkelem_qn6 []
+                                                [ mkelem_qn6 []
+                                                  [ mkelem_qn6 []
+                                                    [ mkelem_qn21
+                                                      [ mkattr_qn16 [ mkText "24" ]
+                                                      ] []
+                                                    , mkelem_qn21
+                                                      [ mkattr_qn16 [ mkText "25" ]
+                                                      ] []
+                                                    ]
+                                                  , mkelem_qn21
+                                                    [ mkattr_qn16 [ mkText "26" ]
+                                                    ] []
+                                                  ]
+                                                , mkelem_qn21
+                                                  [ mkattr_qn16 [ mkText "27" ]
+                                                  ] []
+                                                ]
+                                              , mkelem_qn21
+                                                [ mkattr_qn16 [ mkText "28" ]
+                                                ] []
+                                              ]
+                                            , mkelem_qn21
+                                              [ mkattr_qn16 [ mkText "29" ]
+                                              ] []
+                                            ]
+                                          , mkelem_qn21
+                                            [ mkattr_qn16 [ mkText "30" ]
+                                            ] []
+                                          ]
+                                        , mkelem_qn21
+                                          [ mkattr_qn16 [ mkText "31" ]
+                                          ] []
+                                        ]
+                                      , mkelem_qn21
+                                        [ mkattr_qn16 [ mkText "32" ]
+                                        ] []
+                                      ]
+                                    , mkelem_qn21
+                                      [ mkattr_qn16 [ mkText "33" ]
+                                      ] []
+                                    ]
+                                  , mkelem_qn21
+                                    [ mkattr_qn16 [ mkText "34" ]
+                                    ] []
+                                  ]
+                                , mkelem_qn21
+                                  [ mkattr_qn16 [ mkText "35" ]
+                                  ] []
+                                ]
+                              , mkelem_qn21
+                                [ mkattr_qn16 [ mkText "36" ]
+                                ] []
+                              ]
+                            , mkelem_qn21
+                              [ mkattr_qn16 [ mkText "37" ]
+                              ] []
+                            ]
+                          , mkelem_qn21
+                            [ mkattr_qn16 [ mkText "38" ]
+                            ] []
+                          ]
+                        , mkelem_qn21
+                          [ mkattr_qn16 [ mkText "39" ]
+                          ] []
+                        ]
+                      , mkelem_qn21
+                        [ mkattr_qn16 [ mkText "42" ]
+                        ] []
+                      ]
+                    , mkelem_qn21
+                      [ mkattr_qn16 [ mkText "43" ]
+                      ] []
+                    ]
+                  , mkelem_qn21
+                    [ mkattr_qn16 [ mkText "44" ]
+                    ] []
+                  ]
+                ]
+              ]
+            ]
+          ]
+        ]
+      , mkelem_qn9
+        [ mkattr_qn16 [ mkText "31" ]
+        ]
+        [ mkelem_qn10 []
+          [ mkelem_qn17
+            [ mkattr_qn18 [ mkText "http://relaxng.org/ns/structure/1.0" ]
+            ]
+            [ mkText "oneOrMore"
+            ]
+          , mkelem_qn14 []
+            [ mkelem_qn14 []
+              [ mkelem_qn14 []
+                [ mkelem_qn6 []
+                  [ mkelem_qn11 [] []
+                  , mkelem_qn5 []
+                    [ mkelem_qn17
+                      [ mkattr_qn18 [ mkText "" ]
+                      ]
+                      [ mkText "ns"
+                      ]
+                    , mkelem_qn23 [] []
+                    ]
+                  ]
+                , mkelem_qn6 []
+                  [ mkelem_qn11 [] []
+                  , mkelem_qn5 []
+                    [ mkelem_qn17
+                      [ mkattr_qn18 [ mkText "" ]
+                      ]
+                      [ mkText "datatypeLibrary"
+                      ]
+                    , mkelem_qn7
+                      [ mkattr_qn24 [ mkText "anyURI" ]
+                      , mkattr_qn8 [ mkText "http://www.w3.org/2001/XMLSchema-datatypes" ]
+                      ] []
+                    ]
+                  ]
+                ]
+              , mkelem_qn6 []
+                [ mkelem_qn11 [] []
+                , mkelem_qn20 []
+                  [ mkelem_qn5 []
+                    [ mkelem_qn4 []
+                      [ mkelem_qn12 []
+                        [ mkelem_qn6 []
+                          [ mkelem_qn19
+                            [ mkattr_qn18 [ mkText "http://relaxng.org/ns/structure/1.0" ]
+                            ] []
+                          , mkelem_qn19
+                            [ mkattr_qn18 [ mkText "" ]
+                            ] []
+                          ]
+                        ]
+                      ]
+                    , mkelem_qn23 [] []
+                    ]
+                  ]
+                ]
+              ]
+            , mkelem_qn15 []
+              [ mkelem_qn6 []
+                [ mkelem_qn11 [] []
+                , mkelem_qn20 []
+                  [ mkelem_qn21
+                    [ mkattr_qn16 [ mkText "15" ]
+                    ] []
+                  ]
+                ]
+              , mkelem_qn20 []
+                [ mkelem_qn6 []
+                  [ mkelem_qn6 []
+                    [ mkelem_qn6 []
+                      [ mkelem_qn6 []
+                        [ mkelem_qn6 []
+                          [ mkelem_qn6 []
+                            [ mkelem_qn6 []
+                              [ mkelem_qn6 []
+                                [ mkelem_qn6 []
+                                  [ mkelem_qn6 []
+                                    [ mkelem_qn6 []
+                                      [ mkelem_qn6 []
+                                        [ mkelem_qn6 []
+                                          [ mkelem_qn6 []
+                                            [ mkelem_qn6 []
+                                              [ mkelem_qn6 []
+                                                [ mkelem_qn6 []
+                                                  [ mkelem_qn6 []
+                                                    [ mkelem_qn21
+                                                      [ mkattr_qn16 [ mkText "24" ]
+                                                      ] []
+                                                    , mkelem_qn21
+                                                      [ mkattr_qn16 [ mkText "25" ]
+                                                      ] []
+                                                    ]
+                                                  , mkelem_qn21
+                                                    [ mkattr_qn16 [ mkText "26" ]
+                                                    ] []
+                                                  ]
+                                                , mkelem_qn21
+                                                  [ mkattr_qn16 [ mkText "27" ]
+                                                  ] []
+                                                ]
+                                              , mkelem_qn21
+                                                [ mkattr_qn16 [ mkText "28" ]
+                                                ] []
+                                              ]
+                                            , mkelem_qn21
+                                              [ mkattr_qn16 [ mkText "29" ]
+                                              ] []
+                                            ]
+                                          , mkelem_qn21
+                                            [ mkattr_qn16 [ mkText "30" ]
+                                            ] []
+                                          ]
+                                        , mkelem_qn21
+                                          [ mkattr_qn16 [ mkText "31" ]
+                                          ] []
+                                        ]
+                                      , mkelem_qn21
+                                        [ mkattr_qn16 [ mkText "32" ]
+                                        ] []
+                                      ]
+                                    , mkelem_qn21
+                                      [ mkattr_qn16 [ mkText "33" ]
+                                      ] []
+                                    ]
+                                  , mkelem_qn21
+                                    [ mkattr_qn16 [ mkText "34" ]
+                                    ] []
+                                  ]
+                                , mkelem_qn21
+                                  [ mkattr_qn16 [ mkText "35" ]
+                                  ] []
+                                ]
+                              , mkelem_qn21
+                                [ mkattr_qn16 [ mkText "36" ]
+                                ] []
+                              ]
+                            , mkelem_qn21
+                              [ mkattr_qn16 [ mkText "37" ]
+                              ] []
+                            ]
+                          , mkelem_qn21
+                            [ mkattr_qn16 [ mkText "38" ]
+                            ] []
+                          ]
+                        , mkelem_qn21
+                          [ mkattr_qn16 [ mkText "39" ]
+                          ] []
+                        ]
+                      , mkelem_qn21
+                        [ mkattr_qn16 [ mkText "42" ]
+                        ] []
+                      ]
+                    , mkelem_qn21
+                      [ mkattr_qn16 [ mkText "43" ]
+                      ] []
+                    ]
+                  , mkelem_qn21
+                    [ mkattr_qn16 [ mkText "44" ]
+                    ] []
+                  ]
+                ]
+              ]
+            ]
+          ]
+        ]
+      , mkelem_qn9
+        [ mkattr_qn16 [ mkText "30" ]
+        ]
+        [ mkelem_qn10 []
+          [ mkelem_qn17
+            [ mkattr_qn18 [ mkText "http://relaxng.org/ns/structure/1.0" ]
+            ]
+            [ mkText "zeroOrMore"
+            ]
+          , mkelem_qn14 []
+            [ mkelem_qn14 []
+              [ mkelem_qn14 []
+                [ mkelem_qn6 []
+                  [ mkelem_qn11 [] []
+                  , mkelem_qn5 []
+                    [ mkelem_qn17
+                      [ mkattr_qn18 [ mkText "" ]
+                      ]
+                      [ mkText "ns"
+                      ]
+                    , mkelem_qn23 [] []
+                    ]
+                  ]
+                , mkelem_qn6 []
+                  [ mkelem_qn11 [] []
+                  , mkelem_qn5 []
+                    [ mkelem_qn17
+                      [ mkattr_qn18 [ mkText "" ]
+                      ]
+                      [ mkText "datatypeLibrary"
+                      ]
+                    , mkelem_qn7
+                      [ mkattr_qn24 [ mkText "anyURI" ]
+                      , mkattr_qn8 [ mkText "http://www.w3.org/2001/XMLSchema-datatypes" ]
+                      ] []
+                    ]
+                  ]
+                ]
+              , mkelem_qn6 []
+                [ mkelem_qn11 [] []
+                , mkelem_qn20 []
+                  [ mkelem_qn5 []
+                    [ mkelem_qn4 []
+                      [ mkelem_qn12 []
+                        [ mkelem_qn6 []
+                          [ mkelem_qn19
+                            [ mkattr_qn18 [ mkText "http://relaxng.org/ns/structure/1.0" ]
+                            ] []
+                          , mkelem_qn19
+                            [ mkattr_qn18 [ mkText "" ]
+                            ] []
+                          ]
+                        ]
+                      ]
+                    , mkelem_qn23 [] []
+                    ]
+                  ]
+                ]
+              ]
+            , mkelem_qn15 []
+              [ mkelem_qn6 []
+                [ mkelem_qn11 [] []
+                , mkelem_qn20 []
+                  [ mkelem_qn21
+                    [ mkattr_qn16 [ mkText "15" ]
+                    ] []
+                  ]
+                ]
+              , mkelem_qn20 []
+                [ mkelem_qn6 []
+                  [ mkelem_qn6 []
+                    [ mkelem_qn6 []
+                      [ mkelem_qn6 []
+                        [ mkelem_qn6 []
+                          [ mkelem_qn6 []
+                            [ mkelem_qn6 []
+                              [ mkelem_qn6 []
+                                [ mkelem_qn6 []
+                                  [ mkelem_qn6 []
+                                    [ mkelem_qn6 []
+                                      [ mkelem_qn6 []
+                                        [ mkelem_qn6 []
+                                          [ mkelem_qn6 []
+                                            [ mkelem_qn6 []
+                                              [ mkelem_qn6 []
+                                                [ mkelem_qn6 []
+                                                  [ mkelem_qn6 []
+                                                    [ mkelem_qn21
+                                                      [ mkattr_qn16 [ mkText "24" ]
+                                                      ] []
+                                                    , mkelem_qn21
+                                                      [ mkattr_qn16 [ mkText "25" ]
+                                                      ] []
+                                                    ]
+                                                  , mkelem_qn21
+                                                    [ mkattr_qn16 [ mkText "26" ]
+                                                    ] []
+                                                  ]
+                                                , mkelem_qn21
+                                                  [ mkattr_qn16 [ mkText "27" ]
+                                                  ] []
+                                                ]
+                                              , mkelem_qn21
+                                                [ mkattr_qn16 [ mkText "28" ]
+                                                ] []
+                                              ]
+                                            , mkelem_qn21
+                                              [ mkattr_qn16 [ mkText "29" ]
+                                              ] []
+                                            ]
+                                          , mkelem_qn21
+                                            [ mkattr_qn16 [ mkText "30" ]
+                                            ] []
+                                          ]
+                                        , mkelem_qn21
+                                          [ mkattr_qn16 [ mkText "31" ]
+                                          ] []
+                                        ]
+                                      , mkelem_qn21
+                                        [ mkattr_qn16 [ mkText "32" ]
+                                        ] []
+                                      ]
+                                    , mkelem_qn21
+                                      [ mkattr_qn16 [ mkText "33" ]
+                                      ] []
+                                    ]
+                                  , mkelem_qn21
+                                    [ mkattr_qn16 [ mkText "34" ]
+                                    ] []
+                                  ]
+                                , mkelem_qn21
+                                  [ mkattr_qn16 [ mkText "35" ]
+                                  ] []
+                                ]
+                              , mkelem_qn21
+                                [ mkattr_qn16 [ mkText "36" ]
+                                ] []
+                              ]
+                            , mkelem_qn21
+                              [ mkattr_qn16 [ mkText "37" ]
+                              ] []
+                            ]
+                          , mkelem_qn21
+                            [ mkattr_qn16 [ mkText "38" ]
+                            ] []
+                          ]
+                        , mkelem_qn21
+                          [ mkattr_qn16 [ mkText "39" ]
+                          ] []
+                        ]
+                      , mkelem_qn21
+                        [ mkattr_qn16 [ mkText "42" ]
+                        ] []
+                      ]
+                    , mkelem_qn21
+                      [ mkattr_qn16 [ mkText "43" ]
+                      ] []
+                    ]
+                  , mkelem_qn21
+                    [ mkattr_qn16 [ mkText "44" ]
+                    ] []
+                  ]
+                ]
+              ]
+            ]
+          ]
+        ]
+      , mkelem_qn9
+        [ mkattr_qn16 [ mkText "29" ]
+        ]
+        [ mkelem_qn10 []
+          [ mkelem_qn17
+            [ mkattr_qn18 [ mkText "http://relaxng.org/ns/structure/1.0" ]
+            ]
+            [ mkText "optional"
+            ]
+          , mkelem_qn14 []
+            [ mkelem_qn14 []
+              [ mkelem_qn14 []
+                [ mkelem_qn6 []
+                  [ mkelem_qn11 [] []
+                  , mkelem_qn5 []
+                    [ mkelem_qn17
+                      [ mkattr_qn18 [ mkText "" ]
+                      ]
+                      [ mkText "ns"
+                      ]
+                    , mkelem_qn23 [] []
+                    ]
+                  ]
+                , mkelem_qn6 []
+                  [ mkelem_qn11 [] []
+                  , mkelem_qn5 []
+                    [ mkelem_qn17
+                      [ mkattr_qn18 [ mkText "" ]
+                      ]
+                      [ mkText "datatypeLibrary"
+                      ]
+                    , mkelem_qn7
+                      [ mkattr_qn24 [ mkText "anyURI" ]
+                      , mkattr_qn8 [ mkText "http://www.w3.org/2001/XMLSchema-datatypes" ]
+                      ] []
+                    ]
+                  ]
+                ]
+              , mkelem_qn6 []
+                [ mkelem_qn11 [] []
+                , mkelem_qn20 []
+                  [ mkelem_qn5 []
+                    [ mkelem_qn4 []
+                      [ mkelem_qn12 []
+                        [ mkelem_qn6 []
+                          [ mkelem_qn19
+                            [ mkattr_qn18 [ mkText "http://relaxng.org/ns/structure/1.0" ]
+                            ] []
+                          , mkelem_qn19
+                            [ mkattr_qn18 [ mkText "" ]
+                            ] []
+                          ]
+                        ]
+                      ]
+                    , mkelem_qn23 [] []
+                    ]
+                  ]
+                ]
+              ]
+            , mkelem_qn15 []
+              [ mkelem_qn6 []
+                [ mkelem_qn11 [] []
+                , mkelem_qn20 []
+                  [ mkelem_qn21
+                    [ mkattr_qn16 [ mkText "15" ]
+                    ] []
+                  ]
+                ]
+              , mkelem_qn20 []
+                [ mkelem_qn6 []
+                  [ mkelem_qn6 []
+                    [ mkelem_qn6 []
+                      [ mkelem_qn6 []
+                        [ mkelem_qn6 []
+                          [ mkelem_qn6 []
+                            [ mkelem_qn6 []
+                              [ mkelem_qn6 []
+                                [ mkelem_qn6 []
+                                  [ mkelem_qn6 []
+                                    [ mkelem_qn6 []
+                                      [ mkelem_qn6 []
+                                        [ mkelem_qn6 []
+                                          [ mkelem_qn6 []
+                                            [ mkelem_qn6 []
+                                              [ mkelem_qn6 []
+                                                [ mkelem_qn6 []
+                                                  [ mkelem_qn6 []
+                                                    [ mkelem_qn21
+                                                      [ mkattr_qn16 [ mkText "24" ]
+                                                      ] []
+                                                    , mkelem_qn21
+                                                      [ mkattr_qn16 [ mkText "25" ]
+                                                      ] []
+                                                    ]
+                                                  , mkelem_qn21
+                                                    [ mkattr_qn16 [ mkText "26" ]
+                                                    ] []
+                                                  ]
+                                                , mkelem_qn21
+                                                  [ mkattr_qn16 [ mkText "27" ]
+                                                  ] []
+                                                ]
+                                              , mkelem_qn21
+                                                [ mkattr_qn16 [ mkText "28" ]
+                                                ] []
+                                              ]
+                                            , mkelem_qn21
+                                              [ mkattr_qn16 [ mkText "29" ]
+                                              ] []
+                                            ]
+                                          , mkelem_qn21
+                                            [ mkattr_qn16 [ mkText "30" ]
+                                            ] []
+                                          ]
+                                        , mkelem_qn21
+                                          [ mkattr_qn16 [ mkText "31" ]
+                                          ] []
+                                        ]
+                                      , mkelem_qn21
+                                        [ mkattr_qn16 [ mkText "32" ]
+                                        ] []
+                                      ]
+                                    , mkelem_qn21
+                                      [ mkattr_qn16 [ mkText "33" ]
+                                      ] []
+                                    ]
+                                  , mkelem_qn21
+                                    [ mkattr_qn16 [ mkText "34" ]
+                                    ] []
+                                  ]
+                                , mkelem_qn21
+                                  [ mkattr_qn16 [ mkText "35" ]
+                                  ] []
+                                ]
+                              , mkelem_qn21
+                                [ mkattr_qn16 [ mkText "36" ]
+                                ] []
+                              ]
+                            , mkelem_qn21
+                              [ mkattr_qn16 [ mkText "37" ]
+                              ] []
+                            ]
+                          , mkelem_qn21
+                            [ mkattr_qn16 [ mkText "38" ]
+                            ] []
+                          ]
+                        , mkelem_qn21
+                          [ mkattr_qn16 [ mkText "39" ]
+                          ] []
+                        ]
+                      , mkelem_qn21
+                        [ mkattr_qn16 [ mkText "42" ]
+                        ] []
+                      ]
+                    , mkelem_qn21
+                      [ mkattr_qn16 [ mkText "43" ]
+                      ] []
+                    ]
+                  , mkelem_qn21
+                    [ mkattr_qn16 [ mkText "44" ]
+                    ] []
+                  ]
+                ]
+              ]
+            ]
+          ]
+        ]
+      , mkelem_qn9
+        [ mkattr_qn16 [ mkText "28" ]
+        ]
+        [ mkelem_qn10 []
+          [ mkelem_qn17
+            [ mkattr_qn18 [ mkText "http://relaxng.org/ns/structure/1.0" ]
+            ]
+            [ mkText "choice"
+            ]
+          , mkelem_qn14 []
+            [ mkelem_qn14 []
+              [ mkelem_qn14 []
+                [ mkelem_qn6 []
+                  [ mkelem_qn11 [] []
+                  , mkelem_qn5 []
+                    [ mkelem_qn17
+                      [ mkattr_qn18 [ mkText "" ]
+                      ]
+                      [ mkText "ns"
+                      ]
+                    , mkelem_qn23 [] []
+                    ]
+                  ]
+                , mkelem_qn6 []
+                  [ mkelem_qn11 [] []
+                  , mkelem_qn5 []
+                    [ mkelem_qn17
+                      [ mkattr_qn18 [ mkText "" ]
+                      ]
+                      [ mkText "datatypeLibrary"
+                      ]
+                    , mkelem_qn7
+                      [ mkattr_qn24 [ mkText "anyURI" ]
+                      , mkattr_qn8 [ mkText "http://www.w3.org/2001/XMLSchema-datatypes" ]
+                      ] []
+                    ]
+                  ]
+                ]
+              , mkelem_qn6 []
+                [ mkelem_qn11 [] []
+                , mkelem_qn20 []
+                  [ mkelem_qn5 []
+                    [ mkelem_qn4 []
+                      [ mkelem_qn12 []
+                        [ mkelem_qn6 []
+                          [ mkelem_qn19
+                            [ mkattr_qn18 [ mkText "http://relaxng.org/ns/structure/1.0" ]
+                            ] []
+                          , mkelem_qn19
+                            [ mkattr_qn18 [ mkText "" ]
+                            ] []
+                          ]
+                        ]
+                      ]
+                    , mkelem_qn23 [] []
+                    ]
+                  ]
+                ]
+              ]
+            , mkelem_qn15 []
+              [ mkelem_qn6 []
+                [ mkelem_qn11 [] []
+                , mkelem_qn20 []
+                  [ mkelem_qn21
+                    [ mkattr_qn16 [ mkText "15" ]
+                    ] []
+                  ]
+                ]
+              , mkelem_qn20 []
+                [ mkelem_qn6 []
+                  [ mkelem_qn6 []
+                    [ mkelem_qn6 []
+                      [ mkelem_qn6 []
+                        [ mkelem_qn6 []
+                          [ mkelem_qn6 []
+                            [ mkelem_qn6 []
+                              [ mkelem_qn6 []
+                                [ mkelem_qn6 []
+                                  [ mkelem_qn6 []
+                                    [ mkelem_qn6 []
+                                      [ mkelem_qn6 []
+                                        [ mkelem_qn6 []
+                                          [ mkelem_qn6 []
+                                            [ mkelem_qn6 []
+                                              [ mkelem_qn6 []
+                                                [ mkelem_qn6 []
+                                                  [ mkelem_qn6 []
+                                                    [ mkelem_qn21
+                                                      [ mkattr_qn16 [ mkText "24" ]
+                                                      ] []
+                                                    , mkelem_qn21
+                                                      [ mkattr_qn16 [ mkText "25" ]
+                                                      ] []
+                                                    ]
+                                                  , mkelem_qn21
+                                                    [ mkattr_qn16 [ mkText "26" ]
+                                                    ] []
+                                                  ]
+                                                , mkelem_qn21
+                                                  [ mkattr_qn16 [ mkText "27" ]
+                                                  ] []
+                                                ]
+                                              , mkelem_qn21
+                                                [ mkattr_qn16 [ mkText "28" ]
+                                                ] []
+                                              ]
+                                            , mkelem_qn21
+                                              [ mkattr_qn16 [ mkText "29" ]
+                                              ] []
+                                            ]
+                                          , mkelem_qn21
+                                            [ mkattr_qn16 [ mkText "30" ]
+                                            ] []
+                                          ]
+                                        , mkelem_qn21
+                                          [ mkattr_qn16 [ mkText "31" ]
+                                          ] []
+                                        ]
+                                      , mkelem_qn21
+                                        [ mkattr_qn16 [ mkText "32" ]
+                                        ] []
+                                      ]
+                                    , mkelem_qn21
+                                      [ mkattr_qn16 [ mkText "33" ]
+                                      ] []
+                                    ]
+                                  , mkelem_qn21
+                                    [ mkattr_qn16 [ mkText "34" ]
+                                    ] []
+                                  ]
+                                , mkelem_qn21
+                                  [ mkattr_qn16 [ mkText "35" ]
+                                  ] []
+                                ]
+                              , mkelem_qn21
+                                [ mkattr_qn16 [ mkText "36" ]
+                                ] []
+                              ]
+                            , mkelem_qn21
+                              [ mkattr_qn16 [ mkText "37" ]
+                              ] []
+                            ]
+                          , mkelem_qn21
+                            [ mkattr_qn16 [ mkText "38" ]
+                            ] []
+                          ]
+                        , mkelem_qn21
+                          [ mkattr_qn16 [ mkText "39" ]
+                          ] []
+                        ]
+                      , mkelem_qn21
+                        [ mkattr_qn16 [ mkText "42" ]
+                        ] []
+                      ]
+                    , mkelem_qn21
+                      [ mkattr_qn16 [ mkText "43" ]
+                      ] []
+                    ]
+                  , mkelem_qn21
+                    [ mkattr_qn16 [ mkText "44" ]
+                    ] []
+                  ]
+                ]
+              ]
+            ]
+          ]
+        ]
+      , mkelem_qn9
+        [ mkattr_qn16 [ mkText "27" ]
+        ]
+        [ mkelem_qn10 []
+          [ mkelem_qn17
+            [ mkattr_qn18 [ mkText "http://relaxng.org/ns/structure/1.0" ]
+            ]
+            [ mkText "interleave"
+            ]
+          , mkelem_qn14 []
+            [ mkelem_qn14 []
+              [ mkelem_qn14 []
+                [ mkelem_qn6 []
+                  [ mkelem_qn11 [] []
+                  , mkelem_qn5 []
+                    [ mkelem_qn17
+                      [ mkattr_qn18 [ mkText "" ]
+                      ]
+                      [ mkText "ns"
+                      ]
+                    , mkelem_qn23 [] []
+                    ]
+                  ]
+                , mkelem_qn6 []
+                  [ mkelem_qn11 [] []
+                  , mkelem_qn5 []
+                    [ mkelem_qn17
+                      [ mkattr_qn18 [ mkText "" ]
+                      ]
+                      [ mkText "datatypeLibrary"
+                      ]
+                    , mkelem_qn7
+                      [ mkattr_qn24 [ mkText "anyURI" ]
+                      , mkattr_qn8 [ mkText "http://www.w3.org/2001/XMLSchema-datatypes" ]
+                      ] []
+                    ]
+                  ]
+                ]
+              , mkelem_qn6 []
+                [ mkelem_qn11 [] []
+                , mkelem_qn20 []
+                  [ mkelem_qn5 []
+                    [ mkelem_qn4 []
+                      [ mkelem_qn12 []
+                        [ mkelem_qn6 []
+                          [ mkelem_qn19
+                            [ mkattr_qn18 [ mkText "http://relaxng.org/ns/structure/1.0" ]
+                            ] []
+                          , mkelem_qn19
+                            [ mkattr_qn18 [ mkText "" ]
+                            ] []
+                          ]
+                        ]
+                      ]
+                    , mkelem_qn23 [] []
+                    ]
+                  ]
+                ]
+              ]
+            , mkelem_qn15 []
+              [ mkelem_qn6 []
+                [ mkelem_qn11 [] []
+                , mkelem_qn20 []
+                  [ mkelem_qn21
+                    [ mkattr_qn16 [ mkText "15" ]
+                    ] []
+                  ]
+                ]
+              , mkelem_qn20 []
+                [ mkelem_qn6 []
+                  [ mkelem_qn6 []
+                    [ mkelem_qn6 []
+                      [ mkelem_qn6 []
+                        [ mkelem_qn6 []
+                          [ mkelem_qn6 []
+                            [ mkelem_qn6 []
+                              [ mkelem_qn6 []
+                                [ mkelem_qn6 []
+                                  [ mkelem_qn6 []
+                                    [ mkelem_qn6 []
+                                      [ mkelem_qn6 []
+                                        [ mkelem_qn6 []
+                                          [ mkelem_qn6 []
+                                            [ mkelem_qn6 []
+                                              [ mkelem_qn6 []
+                                                [ mkelem_qn6 []
+                                                  [ mkelem_qn6 []
+                                                    [ mkelem_qn21
+                                                      [ mkattr_qn16 [ mkText "24" ]
+                                                      ] []
+                                                    , mkelem_qn21
+                                                      [ mkattr_qn16 [ mkText "25" ]
+                                                      ] []
+                                                    ]
+                                                  , mkelem_qn21
+                                                    [ mkattr_qn16 [ mkText "26" ]
+                                                    ] []
+                                                  ]
+                                                , mkelem_qn21
+                                                  [ mkattr_qn16 [ mkText "27" ]
+                                                  ] []
+                                                ]
+                                              , mkelem_qn21
+                                                [ mkattr_qn16 [ mkText "28" ]
+                                                ] []
+                                              ]
+                                            , mkelem_qn21
+                                              [ mkattr_qn16 [ mkText "29" ]
+                                              ] []
+                                            ]
+                                          , mkelem_qn21
+                                            [ mkattr_qn16 [ mkText "30" ]
+                                            ] []
+                                          ]
+                                        , mkelem_qn21
+                                          [ mkattr_qn16 [ mkText "31" ]
+                                          ] []
+                                        ]
+                                      , mkelem_qn21
+                                        [ mkattr_qn16 [ mkText "32" ]
+                                        ] []
+                                      ]
+                                    , mkelem_qn21
+                                      [ mkattr_qn16 [ mkText "33" ]
+                                      ] []
+                                    ]
+                                  , mkelem_qn21
+                                    [ mkattr_qn16 [ mkText "34" ]
+                                    ] []
+                                  ]
+                                , mkelem_qn21
+                                  [ mkattr_qn16 [ mkText "35" ]
+                                  ] []
+                                ]
+                              , mkelem_qn21
+                                [ mkattr_qn16 [ mkText "36" ]
+                                ] []
+                              ]
+                            , mkelem_qn21
+                              [ mkattr_qn16 [ mkText "37" ]
+                              ] []
+                            ]
+                          , mkelem_qn21
+                            [ mkattr_qn16 [ mkText "38" ]
+                            ] []
+                          ]
+                        , mkelem_qn21
+                          [ mkattr_qn16 [ mkText "39" ]
+                          ] []
+                        ]
+                      , mkelem_qn21
+                        [ mkattr_qn16 [ mkText "42" ]
+                        ] []
+                      ]
+                    , mkelem_qn21
+                      [ mkattr_qn16 [ mkText "43" ]
+                      ] []
+                    ]
+                  , mkelem_qn21
+                    [ mkattr_qn16 [ mkText "44" ]
+                    ] []
+                  ]
+                ]
+              ]
+            ]
+          ]
+        ]
+      , mkelem_qn9
+        [ mkattr_qn16 [ mkText "26" ]
+        ]
+        [ mkelem_qn10 []
+          [ mkelem_qn17
+            [ mkattr_qn18 [ mkText "http://relaxng.org/ns/structure/1.0" ]
+            ]
+            [ mkText "group"
+            ]
+          , mkelem_qn14 []
+            [ mkelem_qn14 []
+              [ mkelem_qn14 []
+                [ mkelem_qn6 []
+                  [ mkelem_qn11 [] []
+                  , mkelem_qn5 []
+                    [ mkelem_qn17
+                      [ mkattr_qn18 [ mkText "" ]
+                      ]
+                      [ mkText "ns"
+                      ]
+                    , mkelem_qn23 [] []
+                    ]
+                  ]
+                , mkelem_qn6 []
+                  [ mkelem_qn11 [] []
+                  , mkelem_qn5 []
+                    [ mkelem_qn17
+                      [ mkattr_qn18 [ mkText "" ]
+                      ]
+                      [ mkText "datatypeLibrary"
+                      ]
+                    , mkelem_qn7
+                      [ mkattr_qn24 [ mkText "anyURI" ]
+                      , mkattr_qn8 [ mkText "http://www.w3.org/2001/XMLSchema-datatypes" ]
+                      ] []
+                    ]
+                  ]
+                ]
+              , mkelem_qn6 []
+                [ mkelem_qn11 [] []
+                , mkelem_qn20 []
+                  [ mkelem_qn5 []
+                    [ mkelem_qn4 []
+                      [ mkelem_qn12 []
+                        [ mkelem_qn6 []
+                          [ mkelem_qn19
+                            [ mkattr_qn18 [ mkText "http://relaxng.org/ns/structure/1.0" ]
+                            ] []
+                          , mkelem_qn19
+                            [ mkattr_qn18 [ mkText "" ]
+                            ] []
+                          ]
+                        ]
+                      ]
+                    , mkelem_qn23 [] []
+                    ]
+                  ]
+                ]
+              ]
+            , mkelem_qn15 []
+              [ mkelem_qn6 []
+                [ mkelem_qn11 [] []
+                , mkelem_qn20 []
+                  [ mkelem_qn21
+                    [ mkattr_qn16 [ mkText "15" ]
+                    ] []
+                  ]
+                ]
+              , mkelem_qn20 []
+                [ mkelem_qn6 []
+                  [ mkelem_qn6 []
+                    [ mkelem_qn6 []
+                      [ mkelem_qn6 []
+                        [ mkelem_qn6 []
+                          [ mkelem_qn6 []
+                            [ mkelem_qn6 []
+                              [ mkelem_qn6 []
+                                [ mkelem_qn6 []
+                                  [ mkelem_qn6 []
+                                    [ mkelem_qn6 []
+                                      [ mkelem_qn6 []
+                                        [ mkelem_qn6 []
+                                          [ mkelem_qn6 []
+                                            [ mkelem_qn6 []
+                                              [ mkelem_qn6 []
+                                                [ mkelem_qn6 []
+                                                  [ mkelem_qn6 []
+                                                    [ mkelem_qn21
+                                                      [ mkattr_qn16 [ mkText "24" ]
+                                                      ] []
+                                                    , mkelem_qn21
+                                                      [ mkattr_qn16 [ mkText "25" ]
+                                                      ] []
+                                                    ]
+                                                  , mkelem_qn21
+                                                    [ mkattr_qn16 [ mkText "26" ]
+                                                    ] []
+                                                  ]
+                                                , mkelem_qn21
+                                                  [ mkattr_qn16 [ mkText "27" ]
+                                                  ] []
+                                                ]
+                                              , mkelem_qn21
+                                                [ mkattr_qn16 [ mkText "28" ]
+                                                ] []
+                                              ]
+                                            , mkelem_qn21
+                                              [ mkattr_qn16 [ mkText "29" ]
+                                              ] []
+                                            ]
+                                          , mkelem_qn21
+                                            [ mkattr_qn16 [ mkText "30" ]
+                                            ] []
+                                          ]
+                                        , mkelem_qn21
+                                          [ mkattr_qn16 [ mkText "31" ]
+                                          ] []
+                                        ]
+                                      , mkelem_qn21
+                                        [ mkattr_qn16 [ mkText "32" ]
+                                        ] []
+                                      ]
+                                    , mkelem_qn21
+                                      [ mkattr_qn16 [ mkText "33" ]
+                                      ] []
+                                    ]
+                                  , mkelem_qn21
+                                    [ mkattr_qn16 [ mkText "34" ]
+                                    ] []
+                                  ]
+                                , mkelem_qn21
+                                  [ mkattr_qn16 [ mkText "35" ]
+                                  ] []
+                                ]
+                              , mkelem_qn21
+                                [ mkattr_qn16 [ mkText "36" ]
+                                ] []
+                              ]
+                            , mkelem_qn21
+                              [ mkattr_qn16 [ mkText "37" ]
+                              ] []
+                            ]
+                          , mkelem_qn21
+                            [ mkattr_qn16 [ mkText "38" ]
+                            ] []
+                          ]
+                        , mkelem_qn21
+                          [ mkattr_qn16 [ mkText "39" ]
+                          ] []
+                        ]
+                      , mkelem_qn21
+                        [ mkattr_qn16 [ mkText "42" ]
+                        ] []
+                      ]
+                    , mkelem_qn21
+                      [ mkattr_qn16 [ mkText "43" ]
+                      ] []
+                    ]
+                  , mkelem_qn21
+                    [ mkattr_qn16 [ mkText "44" ]
+                    ] []
+                  ]
+                ]
+              ]
+            ]
+          ]
+        ]
+      , mkelem_qn9
+        [ mkattr_qn16 [ mkText "25" ]
+        ]
+        [ mkelem_qn10 []
+          [ mkelem_qn17
+            [ mkattr_qn18 [ mkText "http://relaxng.org/ns/structure/1.0" ]
+            ]
+            [ mkText "attribute"
+            ]
+          , mkelem_qn14 []
+            [ mkelem_qn14 []
+              [ mkelem_qn14 []
+                [ mkelem_qn14 []
+                  [ mkelem_qn6 []
+                    [ mkelem_qn11 [] []
+                    , mkelem_qn5 []
+                      [ mkelem_qn17
+                        [ mkattr_qn18 [ mkText "" ]
+                        ]
+                        [ mkText "ns"
+                        ]
+                      , mkelem_qn23 [] []
+                      ]
+                    ]
+                  , mkelem_qn6 []
+                    [ mkelem_qn11 [] []
+                    , mkelem_qn5 []
+                      [ mkelem_qn17
+                        [ mkattr_qn18 [ mkText "" ]
+                        ]
+                        [ mkText "datatypeLibrary"
+                        ]
+                      , mkelem_qn7
+                        [ mkattr_qn24 [ mkText "anyURI" ]
+                        , mkattr_qn8 [ mkText "http://www.w3.org/2001/XMLSchema-datatypes" ]
+                        ] []
+                      ]
+                    ]
+                  ]
+                , mkelem_qn6 []
+                  [ mkelem_qn11 [] []
+                  , mkelem_qn20 []
+                    [ mkelem_qn5 []
+                      [ mkelem_qn4 []
+                        [ mkelem_qn12 []
+                          [ mkelem_qn6 []
+                            [ mkelem_qn19
+                              [ mkattr_qn18 [ mkText "http://relaxng.org/ns/structure/1.0" ]
+                              ] []
+                            , mkelem_qn19
+                              [ mkattr_qn18 [ mkText "" ]
+                              ] []
+                            ]
+                          ]
+                        ]
+                      , mkelem_qn23 [] []
+                      ]
+                    ]
+                  ]
+                ]
+              , mkelem_qn6 []
+                [ mkelem_qn5 []
+                  [ mkelem_qn17
+                    [ mkattr_qn18 [ mkText "" ]
+                    ]
+                    [ mkText "name"
+                    ]
+                  , mkelem_qn7
+                    [ mkattr_qn24 [ mkText "QName" ]
+                    , mkattr_qn8 [ mkText "http://www.w3.org/2001/XMLSchema-datatypes" ]
+                    ] []
+                  ]
+                , mkelem_qn15 []
+                  [ mkelem_qn6 []
+                    [ mkelem_qn11 [] []
+                    , mkelem_qn20 []
+                      [ mkelem_qn21
+                        [ mkattr_qn16 [ mkText "15" ]
+                        ] []
+                      ]
+                    ]
+                  , mkelem_qn6 []
+                    [ mkelem_qn6 []
+                      [ mkelem_qn6 []
+                        [ mkelem_qn21
+                          [ mkattr_qn16 [ mkText "17" ]
+                          ] []
+                        , mkelem_qn21
+                          [ mkattr_qn16 [ mkText "18" ]
+                          ] []
+                        ]
+                      , mkelem_qn21
+                        [ mkattr_qn16 [ mkText "19" ]
+                        ] []
+                      ]
+                    , mkelem_qn21
+                      [ mkattr_qn16 [ mkText "20" ]
+                      ] []
+                    ]
+                  ]
+                ]
+              ]
+            , mkelem_qn15 []
+              [ mkelem_qn6 []
+                [ mkelem_qn11 [] []
+                , mkelem_qn20 []
+                  [ mkelem_qn21
+                    [ mkattr_qn16 [ mkText "15" ]
+                    ] []
+                  ]
+                ]
+              , mkelem_qn6 []
+                [ mkelem_qn11 [] []
+                , mkelem_qn6 []
+                  [ mkelem_qn6 []
+                    [ mkelem_qn6 []
+                      [ mkelem_qn6 []
+                        [ mkelem_qn6 []
+                          [ mkelem_qn6 []
+                            [ mkelem_qn6 []
+                              [ mkelem_qn6 []
+                                [ mkelem_qn6 []
+                                  [ mkelem_qn6 []
+                                    [ mkelem_qn6 []
+                                      [ mkelem_qn6 []
+                                        [ mkelem_qn6 []
+                                          [ mkelem_qn6 []
+                                            [ mkelem_qn6 []
+                                              [ mkelem_qn6 []
+                                                [ mkelem_qn6 []
+                                                  [ mkelem_qn6 []
+                                                    [ mkelem_qn21
+                                                      [ mkattr_qn16 [ mkText "24" ]
+                                                      ] []
+                                                    , mkelem_qn21
+                                                      [ mkattr_qn16 [ mkText "25" ]
+                                                      ] []
+                                                    ]
+                                                  , mkelem_qn21
+                                                    [ mkattr_qn16 [ mkText "26" ]
+                                                    ] []
+                                                  ]
+                                                , mkelem_qn21
+                                                  [ mkattr_qn16 [ mkText "27" ]
+                                                  ] []
+                                                ]
+                                              , mkelem_qn21
+                                                [ mkattr_qn16 [ mkText "28" ]
+                                                ] []
+                                              ]
+                                            , mkelem_qn21
+                                              [ mkattr_qn16 [ mkText "29" ]
+                                              ] []
+                                            ]
+                                          , mkelem_qn21
+                                            [ mkattr_qn16 [ mkText "30" ]
+                                            ] []
+                                          ]
+                                        , mkelem_qn21
+                                          [ mkattr_qn16 [ mkText "31" ]
+                                          ] []
+                                        ]
+                                      , mkelem_qn21
+                                        [ mkattr_qn16 [ mkText "32" ]
+                                        ] []
+                                      ]
+                                    , mkelem_qn21
+                                      [ mkattr_qn16 [ mkText "33" ]
+                                      ] []
+                                    ]
+                                  , mkelem_qn21
+                                    [ mkattr_qn16 [ mkText "34" ]
+                                    ] []
+                                  ]
+                                , mkelem_qn21
+                                  [ mkattr_qn16 [ mkText "35" ]
+                                  ] []
+                                ]
+                              , mkelem_qn21
+                                [ mkattr_qn16 [ mkText "36" ]
+                                ] []
+                              ]
+                            , mkelem_qn21
+                              [ mkattr_qn16 [ mkText "37" ]
+                              ] []
+                            ]
+                          , mkelem_qn21
+                            [ mkattr_qn16 [ mkText "38" ]
+                            ] []
+                          ]
+                        , mkelem_qn21
+                          [ mkattr_qn16 [ mkText "39" ]
+                          ] []
+                        ]
+                      , mkelem_qn21
+                        [ mkattr_qn16 [ mkText "42" ]
+                        ] []
+                      ]
+                    , mkelem_qn21
+                      [ mkattr_qn16 [ mkText "43" ]
+                      ] []
+                    ]
+                  , mkelem_qn21
+                    [ mkattr_qn16 [ mkText "44" ]
+                    ] []
+                  ]
+                ]
+              ]
+            ]
+          ]
+        ]
+      , mkelem_qn9
+        [ mkattr_qn16 [ mkText "24" ]
+        ]
+        [ mkelem_qn10 []
+          [ mkelem_qn17
+            [ mkattr_qn18 [ mkText "http://relaxng.org/ns/structure/1.0" ]
+            ]
+            [ mkText "element"
+            ]
+          , mkelem_qn14 []
+            [ mkelem_qn14 []
+              [ mkelem_qn6 []
+                [ mkelem_qn5 []
+                  [ mkelem_qn17
+                    [ mkattr_qn18 [ mkText "" ]
+                    ]
+                    [ mkText "name"
+                    ]
+                  , mkelem_qn7
+                    [ mkattr_qn24 [ mkText "QName" ]
+                    , mkattr_qn8 [ mkText "http://www.w3.org/2001/XMLSchema-datatypes" ]
+                    ] []
+                  ]
+                , mkelem_qn15 []
+                  [ mkelem_qn6 []
+                    [ mkelem_qn11 [] []
+                    , mkelem_qn20 []
+                      [ mkelem_qn21
+                        [ mkattr_qn16 [ mkText "15" ]
+                        ] []
+                      ]
+                    ]
+                  , mkelem_qn6 []
+                    [ mkelem_qn6 []
+                      [ mkelem_qn6 []
+                        [ mkelem_qn21
+                          [ mkattr_qn16 [ mkText "17" ]
+                          ] []
+                        , mkelem_qn21
+                          [ mkattr_qn16 [ mkText "18" ]
+                          ] []
+                        ]
+                      , mkelem_qn21
+                        [ mkattr_qn16 [ mkText "19" ]
+                        ] []
+                      ]
+                    , mkelem_qn21
+                      [ mkattr_qn16 [ mkText "20" ]
+                      ] []
+                    ]
+                  ]
+                ]
+              , mkelem_qn14 []
+                [ mkelem_qn14 []
+                  [ mkelem_qn6 []
+                    [ mkelem_qn11 [] []
+                    , mkelem_qn5 []
+                      [ mkelem_qn17
+                        [ mkattr_qn18 [ mkText "" ]
+                        ]
+                        [ mkText "ns"
+                        ]
+                      , mkelem_qn23 [] []
+                      ]
+                    ]
+                  , mkelem_qn6 []
+                    [ mkelem_qn11 [] []
+                    , mkelem_qn5 []
+                      [ mkelem_qn17
+                        [ mkattr_qn18 [ mkText "" ]
+                        ]
+                        [ mkText "datatypeLibrary"
+                        ]
+                      , mkelem_qn7
+                        [ mkattr_qn24 [ mkText "anyURI" ]
+                        , mkattr_qn8 [ mkText "http://www.w3.org/2001/XMLSchema-datatypes" ]
+                        ] []
+                      ]
+                    ]
+                  ]
+                , mkelem_qn6 []
+                  [ mkelem_qn11 [] []
+                  , mkelem_qn20 []
+                    [ mkelem_qn5 []
+                      [ mkelem_qn4 []
+                        [ mkelem_qn12 []
+                          [ mkelem_qn6 []
+                            [ mkelem_qn19
+                              [ mkattr_qn18 [ mkText "http://relaxng.org/ns/structure/1.0" ]
+                              ] []
+                            , mkelem_qn19
+                              [ mkattr_qn18 [ mkText "" ]
+                              ] []
+                            ]
+                          ]
+                        ]
+                      , mkelem_qn23 [] []
+                      ]
+                    ]
+                  ]
+                ]
+              ]
+            , mkelem_qn15 []
+              [ mkelem_qn6 []
+                [ mkelem_qn11 [] []
+                , mkelem_qn20 []
+                  [ mkelem_qn21
+                    [ mkattr_qn16 [ mkText "15" ]
+                    ] []
+                  ]
+                ]
+              , mkelem_qn20 []
+                [ mkelem_qn6 []
+                  [ mkelem_qn6 []
+                    [ mkelem_qn6 []
+                      [ mkelem_qn6 []
+                        [ mkelem_qn6 []
+                          [ mkelem_qn6 []
+                            [ mkelem_qn6 []
+                              [ mkelem_qn6 []
+                                [ mkelem_qn6 []
+                                  [ mkelem_qn6 []
+                                    [ mkelem_qn6 []
+                                      [ mkelem_qn6 []
+                                        [ mkelem_qn6 []
+                                          [ mkelem_qn6 []
+                                            [ mkelem_qn6 []
+                                              [ mkelem_qn6 []
+                                                [ mkelem_qn6 []
+                                                  [ mkelem_qn6 []
+                                                    [ mkelem_qn21
+                                                      [ mkattr_qn16 [ mkText "24" ]
+                                                      ] []
+                                                    , mkelem_qn21
+                                                      [ mkattr_qn16 [ mkText "25" ]
+                                                      ] []
+                                                    ]
+                                                  , mkelem_qn21
+                                                    [ mkattr_qn16 [ mkText "26" ]
+                                                    ] []
+                                                  ]
+                                                , mkelem_qn21
+                                                  [ mkattr_qn16 [ mkText "27" ]
+                                                  ] []
+                                                ]
+                                              , mkelem_qn21
+                                                [ mkattr_qn16 [ mkText "28" ]
+                                                ] []
+                                              ]
+                                            , mkelem_qn21
+                                              [ mkattr_qn16 [ mkText "29" ]
+                                              ] []
+                                            ]
+                                          , mkelem_qn21
+                                            [ mkattr_qn16 [ mkText "30" ]
+                                            ] []
+                                          ]
+                                        , mkelem_qn21
+                                          [ mkattr_qn16 [ mkText "31" ]
+                                          ] []
+                                        ]
+                                      , mkelem_qn21
+                                        [ mkattr_qn16 [ mkText "32" ]
+                                        ] []
+                                      ]
+                                    , mkelem_qn21
+                                      [ mkattr_qn16 [ mkText "33" ]
+                                      ] []
+                                    ]
+                                  , mkelem_qn21
+                                    [ mkattr_qn16 [ mkText "34" ]
+                                    ] []
+                                  ]
+                                , mkelem_qn21
+                                  [ mkattr_qn16 [ mkText "35" ]
+                                  ] []
+                                ]
+                              , mkelem_qn21
+                                [ mkattr_qn16 [ mkText "36" ]
+                                ] []
+                              ]
+                            , mkelem_qn21
+                              [ mkattr_qn16 [ mkText "37" ]
+                              ] []
+                            ]
+                          , mkelem_qn21
+                            [ mkattr_qn16 [ mkText "38" ]
+                            ] []
+                          ]
+                        , mkelem_qn21
+                          [ mkattr_qn16 [ mkText "39" ]
+                          ] []
+                        ]
+                      , mkelem_qn21
+                        [ mkattr_qn16 [ mkText "42" ]
+                        ] []
+                      ]
+                    , mkelem_qn21
+                      [ mkattr_qn16 [ mkText "43" ]
+                      ] []
+                    ]
+                  , mkelem_qn21
+                    [ mkattr_qn16 [ mkText "44" ]
+                    ] []
+                  ]
+                ]
+              ]
+            ]
+          ]
+        ]
+      , mkelem_qn9
+        [ mkattr_qn16 [ mkText "23" ]
+        ]
+        [ mkelem_qn10 []
+          [ mkelem_qn17
+            [ mkattr_qn18 [ mkText "http://relaxng.org/ns/structure/1.0" ]
+            ]
+            [ mkText "include"
+            ]
+          , mkelem_qn14 []
+            [ mkelem_qn14 []
+              [ mkelem_qn5 []
+                [ mkelem_qn17
+                  [ mkattr_qn18 [ mkText "" ]
+                  ]
+                  [ mkText "href"
+                  ]
+                , mkelem_qn7
+                  [ mkattr_qn24 [ mkText "anyURI" ]
+                  , mkattr_qn8 [ mkText "http://www.w3.org/2001/XMLSchema-datatypes" ]
+                  ] []
+                ]
+              , mkelem_qn14 []
+                [ mkelem_qn14 []
+                  [ mkelem_qn6 []
+                    [ mkelem_qn11 [] []
+                    , mkelem_qn5 []
+                      [ mkelem_qn17
+                        [ mkattr_qn18 [ mkText "" ]
+                        ]
+                        [ mkText "ns"
+                        ]
+                      , mkelem_qn23 [] []
+                      ]
+                    ]
+                  , mkelem_qn6 []
+                    [ mkelem_qn11 [] []
+                    , mkelem_qn5 []
+                      [ mkelem_qn17
+                        [ mkattr_qn18 [ mkText "" ]
+                        ]
+                        [ mkText "datatypeLibrary"
+                        ]
+                      , mkelem_qn7
+                        [ mkattr_qn24 [ mkText "anyURI" ]
+                        , mkattr_qn8 [ mkText "http://www.w3.org/2001/XMLSchema-datatypes" ]
+                        ] []
+                      ]
+                    ]
+                  ]
+                , mkelem_qn6 []
+                  [ mkelem_qn11 [] []
+                  , mkelem_qn20 []
+                    [ mkelem_qn5 []
+                      [ mkelem_qn4 []
+                        [ mkelem_qn12 []
+                          [ mkelem_qn6 []
+                            [ mkelem_qn19
+                              [ mkattr_qn18 [ mkText "http://relaxng.org/ns/structure/1.0" ]
+                              ] []
+                            , mkelem_qn19
+                              [ mkattr_qn18 [ mkText "" ]
+                              ] []
+                            ]
+                          ]
+                        ]
+                      , mkelem_qn23 [] []
+                      ]
+                    ]
+                  ]
+                ]
+              ]
+            , mkelem_qn15 []
+              [ mkelem_qn6 []
+                [ mkelem_qn11 [] []
+                , mkelem_qn20 []
+                  [ mkelem_qn21
+                    [ mkattr_qn16 [ mkText "15" ]
+                    ] []
+                  ]
+                ]
+              , mkelem_qn6 []
+                [ mkelem_qn11 [] []
+                , mkelem_qn20 []
+                  [ mkelem_qn6 []
+                    [ mkelem_qn6 []
+                      [ mkelem_qn21
+                        [ mkattr_qn16 [ mkText "11" ]
+                        ] []
+                      , mkelem_qn21
+                        [ mkattr_qn16 [ mkText "10" ]
+                        ] []
+                      ]
+                    , mkelem_qn21
+                      [ mkattr_qn16 [ mkText "21" ]
+                      ] []
+                    ]
+                  ]
+                ]
+              ]
+            ]
+          ]
+        ]
+      , mkelem_qn9
+        [ mkattr_qn16 [ mkText "22" ]
+        ]
+        [ mkelem_qn10 []
+          [ mkelem_qn17
+            [ mkattr_qn18 [ mkText "http://relaxng.org/ns/structure/1.0" ]
+            ]
+            [ mkText "div"
+            ]
+          , mkelem_qn14 []
+            [ mkelem_qn14 []
+              [ mkelem_qn14 []
+                [ mkelem_qn6 []
+                  [ mkelem_qn11 [] []
+                  , mkelem_qn5 []
+                    [ mkelem_qn17
+                      [ mkattr_qn18 [ mkText "" ]
+                      ]
+                      [ mkText "ns"
+                      ]
+                    , mkelem_qn23 [] []
+                    ]
+                  ]
+                , mkelem_qn6 []
+                  [ mkelem_qn11 [] []
+                  , mkelem_qn5 []
+                    [ mkelem_qn17
+                      [ mkattr_qn18 [ mkText "" ]
+                      ]
+                      [ mkText "datatypeLibrary"
+                      ]
+                    , mkelem_qn7
+                      [ mkattr_qn24 [ mkText "anyURI" ]
+                      , mkattr_qn8 [ mkText "http://www.w3.org/2001/XMLSchema-datatypes" ]
+                      ] []
+                    ]
+                  ]
+                ]
+              , mkelem_qn6 []
+                [ mkelem_qn11 [] []
+                , mkelem_qn20 []
+                  [ mkelem_qn5 []
+                    [ mkelem_qn4 []
+                      [ mkelem_qn12 []
+                        [ mkelem_qn6 []
+                          [ mkelem_qn19
+                            [ mkattr_qn18 [ mkText "http://relaxng.org/ns/structure/1.0" ]
+                            ] []
+                          , mkelem_qn19
+                            [ mkattr_qn18 [ mkText "" ]
+                            ] []
+                          ]
+                        ]
+                      ]
+                    , mkelem_qn23 [] []
+                    ]
+                  ]
+                ]
+              ]
+            , mkelem_qn15 []
+              [ mkelem_qn6 []
+                [ mkelem_qn11 [] []
+                , mkelem_qn20 []
+                  [ mkelem_qn21
+                    [ mkattr_qn16 [ mkText "15" ]
+                    ] []
+                  ]
+                ]
+              , mkelem_qn6 []
+                [ mkelem_qn11 [] []
+                , mkelem_qn20 []
+                  [ mkelem_qn6 []
+                    [ mkelem_qn6 []
+                      [ mkelem_qn6 []
+                        [ mkelem_qn21
+                          [ mkattr_qn16 [ mkText "11" ]
+                          ] []
+                        , mkelem_qn21
+                          [ mkattr_qn16 [ mkText "10" ]
+                          ] []
+                        ]
+                      , mkelem_qn21
+                        [ mkattr_qn16 [ mkText "22" ]
+                        ] []
+                      ]
+                    , mkelem_qn21
+                      [ mkattr_qn16 [ mkText "23" ]
+                      ] []
+                    ]
+                  ]
+                ]
+              ]
+            ]
+          ]
+        ]
+      , mkelem_qn9
+        [ mkattr_qn16 [ mkText "21" ]
+        ]
+        [ mkelem_qn10 []
+          [ mkelem_qn17
+            [ mkattr_qn18 [ mkText "http://relaxng.org/ns/structure/1.0" ]
+            ]
+            [ mkText "div"
+            ]
+          , mkelem_qn14 []
+            [ mkelem_qn14 []
+              [ mkelem_qn14 []
+                [ mkelem_qn6 []
+                  [ mkelem_qn11 [] []
+                  , mkelem_qn5 []
+                    [ mkelem_qn17
+                      [ mkattr_qn18 [ mkText "" ]
+                      ]
+                      [ mkText "ns"
+                      ]
+                    , mkelem_qn23 [] []
+                    ]
+                  ]
+                , mkelem_qn6 []
+                  [ mkelem_qn11 [] []
+                  , mkelem_qn5 []
+                    [ mkelem_qn17
+                      [ mkattr_qn18 [ mkText "" ]
+                      ]
+                      [ mkText "datatypeLibrary"
+                      ]
+                    , mkelem_qn7
+                      [ mkattr_qn24 [ mkText "anyURI" ]
+                      , mkattr_qn8 [ mkText "http://www.w3.org/2001/XMLSchema-datatypes" ]
+                      ] []
+                    ]
+                  ]
+                ]
+              , mkelem_qn6 []
+                [ mkelem_qn11 [] []
+                , mkelem_qn20 []
+                  [ mkelem_qn5 []
+                    [ mkelem_qn4 []
+                      [ mkelem_qn12 []
+                        [ mkelem_qn6 []
+                          [ mkelem_qn19
+                            [ mkattr_qn18 [ mkText "http://relaxng.org/ns/structure/1.0" ]
+                            ] []
+                          , mkelem_qn19
+                            [ mkattr_qn18 [ mkText "" ]
+                            ] []
+                          ]
+                        ]
+                      ]
+                    , mkelem_qn23 [] []
+                    ]
+                  ]
+                ]
+              ]
+            , mkelem_qn15 []
+              [ mkelem_qn6 []
+                [ mkelem_qn11 [] []
+                , mkelem_qn20 []
+                  [ mkelem_qn21
+                    [ mkattr_qn16 [ mkText "15" ]
+                    ] []
+                  ]
+                ]
+              , mkelem_qn6 []
+                [ mkelem_qn11 [] []
+                , mkelem_qn20 []
+                  [ mkelem_qn6 []
+                    [ mkelem_qn6 []
+                      [ mkelem_qn21
+                        [ mkattr_qn16 [ mkText "11" ]
+                        ] []
+                      , mkelem_qn21
+                        [ mkattr_qn16 [ mkText "10" ]
+                        ] []
+                      ]
+                    , mkelem_qn21
+                      [ mkattr_qn16 [ mkText "21" ]
+                      ] []
+                    ]
+                  ]
+                ]
+              ]
+            ]
+          ]
+        ]
+      , mkelem_qn9
+        [ mkattr_qn16 [ mkText "20" ]
+        ]
+        [ mkelem_qn10 []
+          [ mkelem_qn17
+            [ mkattr_qn18 [ mkText "http://relaxng.org/ns/structure/1.0" ]
+            ]
+            [ mkText "choice"
+            ]
+          , mkelem_qn14 []
+            [ mkelem_qn14 []
+              [ mkelem_qn14 []
+                [ mkelem_qn6 []
+                  [ mkelem_qn11 [] []
+                  , mkelem_qn5 []
+                    [ mkelem_qn17
+                      [ mkattr_qn18 [ mkText "" ]
+                      ]
+                      [ mkText "ns"
+                      ]
+                    , mkelem_qn23 [] []
+                    ]
+                  ]
+                , mkelem_qn6 []
+                  [ mkelem_qn11 [] []
+                  , mkelem_qn5 []
+                    [ mkelem_qn17
+                      [ mkattr_qn18 [ mkText "" ]
+                      ]
+                      [ mkText "datatypeLibrary"
+                      ]
+                    , mkelem_qn7
+                      [ mkattr_qn24 [ mkText "anyURI" ]
+                      , mkattr_qn8 [ mkText "http://www.w3.org/2001/XMLSchema-datatypes" ]
+                      ] []
+                    ]
+                  ]
+                ]
+              , mkelem_qn6 []
+                [ mkelem_qn11 [] []
+                , mkelem_qn20 []
+                  [ mkelem_qn5 []
+                    [ mkelem_qn4 []
+                      [ mkelem_qn12 []
+                        [ mkelem_qn6 []
+                          [ mkelem_qn19
+                            [ mkattr_qn18 [ mkText "http://relaxng.org/ns/structure/1.0" ]
+                            ] []
+                          , mkelem_qn19
+                            [ mkattr_qn18 [ mkText "" ]
+                            ] []
+                          ]
+                        ]
+                      ]
+                    , mkelem_qn23 [] []
+                    ]
+                  ]
+                ]
+              ]
+            , mkelem_qn15 []
+              [ mkelem_qn6 []
+                [ mkelem_qn11 [] []
+                , mkelem_qn20 []
+                  [ mkelem_qn21
+                    [ mkattr_qn16 [ mkText "15" ]
+                    ] []
+                  ]
+                ]
+              , mkelem_qn20 []
+                [ mkelem_qn6 []
+                  [ mkelem_qn6 []
+                    [ mkelem_qn6 []
+                      [ mkelem_qn21
+                        [ mkattr_qn16 [ mkText "17" ]
+                        ] []
+                      , mkelem_qn21
+                        [ mkattr_qn16 [ mkText "18" ]
+                        ] []
+                      ]
+                    , mkelem_qn21
+                      [ mkattr_qn16 [ mkText "19" ]
+                      ] []
+                    ]
+                  , mkelem_qn21
+                    [ mkattr_qn16 [ mkText "20" ]
+                    ] []
+                  ]
+                ]
+              ]
+            ]
+          ]
+        ]
+      , mkelem_qn9
+        [ mkattr_qn16 [ mkText "19" ]
+        ]
+        [ mkelem_qn10 []
+          [ mkelem_qn17
+            [ mkattr_qn18 [ mkText "http://relaxng.org/ns/structure/1.0" ]
+            ]
+            [ mkText "nsName"
+            ]
+          , mkelem_qn14 []
+            [ mkelem_qn14 []
+              [ mkelem_qn14 []
+                [ mkelem_qn6 []
+                  [ mkelem_qn11 [] []
+                  , mkelem_qn5 []
+                    [ mkelem_qn17
+                      [ mkattr_qn18 [ mkText "" ]
+                      ]
+                      [ mkText "ns"
+                      ]
+                    , mkelem_qn23 [] []
+                    ]
+                  ]
+                , mkelem_qn6 []
+                  [ mkelem_qn11 [] []
+                  , mkelem_qn5 []
+                    [ mkelem_qn17
+                      [ mkattr_qn18 [ mkText "" ]
+                      ]
+                      [ mkText "datatypeLibrary"
+                      ]
+                    , mkelem_qn7
+                      [ mkattr_qn24 [ mkText "anyURI" ]
+                      , mkattr_qn8 [ mkText "http://www.w3.org/2001/XMLSchema-datatypes" ]
+                      ] []
+                    ]
+                  ]
+                ]
+              , mkelem_qn6 []
+                [ mkelem_qn11 [] []
+                , mkelem_qn20 []
+                  [ mkelem_qn5 []
+                    [ mkelem_qn4 []
+                      [ mkelem_qn12 []
+                        [ mkelem_qn6 []
+                          [ mkelem_qn19
+                            [ mkattr_qn18 [ mkText "http://relaxng.org/ns/structure/1.0" ]
+                            ] []
+                          , mkelem_qn19
+                            [ mkattr_qn18 [ mkText "" ]
+                            ] []
+                          ]
+                        ]
+                      ]
+                    , mkelem_qn23 [] []
+                    ]
+                  ]
+                ]
+              ]
+            , mkelem_qn15 []
+              [ mkelem_qn6 []
+                [ mkelem_qn11 [] []
+                , mkelem_qn20 []
+                  [ mkelem_qn21
+                    [ mkattr_qn16 [ mkText "15" ]
+                    ] []
+                  ]
+                ]
+              , mkelem_qn6 []
+                [ mkelem_qn11 [] []
+                , mkelem_qn21
+                  [ mkattr_qn16 [ mkText "16" ]
+                  ] []
+                ]
+              ]
+            ]
+          ]
+        ]
+      , mkelem_qn9
+        [ mkattr_qn16 [ mkText "18" ]
+        ]
+        [ mkelem_qn10 []
+          [ mkelem_qn17
+            [ mkattr_qn18 [ mkText "http://relaxng.org/ns/structure/1.0" ]
+            ]
+            [ mkText "anyName"
+            ]
+          , mkelem_qn14 []
+            [ mkelem_qn14 []
+              [ mkelem_qn14 []
+                [ mkelem_qn6 []
+                  [ mkelem_qn11 [] []
+                  , mkelem_qn5 []
+                    [ mkelem_qn17
+                      [ mkattr_qn18 [ mkText "" ]
+                      ]
+                      [ mkText "ns"
+                      ]
+                    , mkelem_qn23 [] []
+                    ]
+                  ]
+                , mkelem_qn6 []
+                  [ mkelem_qn11 [] []
+                  , mkelem_qn5 []
+                    [ mkelem_qn17
+                      [ mkattr_qn18 [ mkText "" ]
+                      ]
+                      [ mkText "datatypeLibrary"
+                      ]
+                    , mkelem_qn7
+                      [ mkattr_qn24 [ mkText "anyURI" ]
+                      , mkattr_qn8 [ mkText "http://www.w3.org/2001/XMLSchema-datatypes" ]
+                      ] []
+                    ]
+                  ]
+                ]
+              , mkelem_qn6 []
+                [ mkelem_qn11 [] []
+                , mkelem_qn20 []
+                  [ mkelem_qn5 []
+                    [ mkelem_qn4 []
+                      [ mkelem_qn12 []
+                        [ mkelem_qn6 []
+                          [ mkelem_qn19
+                            [ mkattr_qn18 [ mkText "http://relaxng.org/ns/structure/1.0" ]
+                            ] []
+                          , mkelem_qn19
+                            [ mkattr_qn18 [ mkText "" ]
+                            ] []
+                          ]
+                        ]
+                      ]
+                    , mkelem_qn23 [] []
+                    ]
+                  ]
+                ]
+              ]
+            , mkelem_qn15 []
+              [ mkelem_qn6 []
+                [ mkelem_qn11 [] []
+                , mkelem_qn20 []
+                  [ mkelem_qn21
+                    [ mkattr_qn16 [ mkText "15" ]
+                    ] []
+                  ]
+                ]
+              , mkelem_qn6 []
+                [ mkelem_qn11 [] []
+                , mkelem_qn21
+                  [ mkattr_qn16 [ mkText "16" ]
+                  ] []
+                ]
+              ]
+            ]
+          ]
+        ]
+      , mkelem_qn9
+        [ mkattr_qn16 [ mkText "17" ]
+        ]
+        [ mkelem_qn10 []
+          [ mkelem_qn17
+            [ mkattr_qn18 [ mkText "http://relaxng.org/ns/structure/1.0" ]
+            ]
+            [ mkText "name"
+            ]
+          , mkelem_qn14 []
+            [ mkelem_qn14 []
+              [ mkelem_qn14 []
+                [ mkelem_qn6 []
+                  [ mkelem_qn11 [] []
+                  , mkelem_qn5 []
+                    [ mkelem_qn17
+                      [ mkattr_qn18 [ mkText "" ]
+                      ]
+                      [ mkText "ns"
+                      ]
+                    , mkelem_qn23 [] []
+                    ]
+                  ]
+                , mkelem_qn6 []
+                  [ mkelem_qn11 [] []
+                  , mkelem_qn5 []
+                    [ mkelem_qn17
+                      [ mkattr_qn18 [ mkText "" ]
+                      ]
+                      [ mkText "datatypeLibrary"
+                      ]
+                    , mkelem_qn7
+                      [ mkattr_qn24 [ mkText "anyURI" ]
+                      , mkattr_qn8 [ mkText "http://www.w3.org/2001/XMLSchema-datatypes" ]
+                      ] []
+                    ]
+                  ]
+                ]
+              , mkelem_qn6 []
+                [ mkelem_qn11 [] []
+                , mkelem_qn20 []
+                  [ mkelem_qn5 []
+                    [ mkelem_qn4 []
+                      [ mkelem_qn12 []
+                        [ mkelem_qn6 []
+                          [ mkelem_qn19
+                            [ mkattr_qn18 [ mkText "http://relaxng.org/ns/structure/1.0" ]
+                            ] []
+                          , mkelem_qn19
+                            [ mkattr_qn18 [ mkText "" ]
+                            ] []
+                          ]
+                        ]
+                      ]
+                    , mkelem_qn23 [] []
+                    ]
+                  ]
+                ]
+              ]
+            , mkelem_qn7
+              [ mkattr_qn24 [ mkText "QName" ]
+              , mkattr_qn8 [ mkText "http://www.w3.org/2001/XMLSchema-datatypes" ]
+              ] []
+            ]
+          ]
+        ]
+      , mkelem_qn9
+        [ mkattr_qn16 [ mkText "16" ]
+        ]
+        [ mkelem_qn10 []
+          [ mkelem_qn17
+            [ mkattr_qn18 [ mkText "http://relaxng.org/ns/structure/1.0" ]
+            ]
+            [ mkText "except"
+            ]
+          , mkelem_qn15 []
+            [ mkelem_qn6 []
+              [ mkelem_qn11 [] []
+              , mkelem_qn20 []
+                [ mkelem_qn21
+                  [ mkattr_qn16 [ mkText "15" ]
+                  ] []
+                ]
+              ]
+            , mkelem_qn20 []
+              [ mkelem_qn6 []
+                [ mkelem_qn6 []
+                  [ mkelem_qn6 []
+                    [ mkelem_qn21
+                      [ mkattr_qn16 [ mkText "17" ]
+                      ] []
+                    , mkelem_qn21
+                      [ mkattr_qn16 [ mkText "18" ]
+                      ] []
+                    ]
+                  , mkelem_qn21
+                    [ mkattr_qn16 [ mkText "19" ]
+                    ] []
+                  ]
+                , mkelem_qn21
+                  [ mkattr_qn16 [ mkText "20" ]
+                  ] []
+                ]
+              ]
+            ]
+          ]
+        ]
+      , mkelem_qn9
+        [ mkattr_qn16 [ mkText "15" ]
+        ]
+        [ mkelem_qn10 []
+          [ mkelem_qn4 []
+            [ mkelem_qn12 []
+              [ mkelem_qn19
+                [ mkattr_qn18 [ mkText "http://relaxng.org/ns/structure/1.0" ]
+                ] []
+              ]
+            ]
+          , mkelem_qn6 []
+            [ mkelem_qn11 [] []
+            , mkelem_qn20 []
+              [ mkelem_qn6 []
+                [ mkelem_qn6 []
+                  [ mkelem_qn5 []
+                    [ mkelem_qn4 [] []
+                    , mkelem_qn23 [] []
+                    ]
+                  , mkelem_qn23 [] []
+                  ]
+                , mkelem_qn21
+                  [ mkattr_qn16 [ mkText "0" ]
+                  ] []
+                ]
+              ]
+            ]
+          ]
+        ]
+      , mkelem_qn9
+        [ mkattr_qn16 [ mkText "0" ]
+        ]
+        [ mkelem_qn10 []
+          [ mkelem_qn4 [] []
+          , mkelem_qn6 []
+            [ mkelem_qn11 [] []
+            , mkelem_qn20 []
+              [ mkelem_qn6 []
+                [ mkelem_qn6 []
+                  [ mkelem_qn5 []
+                    [ mkelem_qn4 [] []
+                    , mkelem_qn23 [] []
+                    ]
+                  , mkelem_qn23 [] []
+                  ]
+                , mkelem_qn21
+                  [ mkattr_qn16 [ mkText "0" ]
+                  ] []
+                ]
+              ]
+            ]
+          ]
+        ]
+      , mkelem_qn9
+        [ mkattr_qn16 [ mkText "10" ]
+        ]
+        [ mkelem_qn10 []
+          [ mkelem_qn17
+            [ mkattr_qn18 [ mkText "http://relaxng.org/ns/structure/1.0" ]
+            ]
+            [ mkText "define"
+            ]
+          , mkelem_qn14 []
+            [ mkelem_qn14 []
+              [ mkelem_qn14 []
+                [ mkelem_qn5 []
+                  [ mkelem_qn17
+                    [ mkattr_qn18 [ mkText "" ]
+                    ]
+                    [ mkText "name"
+                    ]
+                  , mkelem_qn7
+                    [ mkattr_qn24 [ mkText "NCName" ]
+                    , mkattr_qn8 [ mkText "http://www.w3.org/2001/XMLSchema-datatypes" ]
+                    ] []
+                  ]
+                , mkelem_qn6 []
+                  [ mkelem_qn11 [] []
+                  , mkelem_qn5 []
+                    [ mkelem_qn17
+                      [ mkattr_qn18 [ mkText "" ]
+                      ]
+                      [ mkText "combine"
+                      ]
+                    , mkelem_qn6 []
+                      [ mkelem_qn25
+                        [ mkattr_qn1 [ mkText "http://www.w3.org/XML/1998/namespace" ]
+                        , mkattr_qn3 [ mkText "http://relaxng.org/ns/structure/1.0" ]
+                        , mkattr_qn2 [ mkText "file:///home/theo/haskell/hxt/hxt-relaxng/src/Text/XML/HXT/RelaxNG/schema2hs/Schema.rng" ]
+                        , mkattr_qn8 [ mkText "" ]
+                        , mkattr_qn24 [ mkText "token" ]
+                        , mkattr_qn18 [ mkText "http://relaxng.org/ns/structure/1.0" ]
+                        ]
+                        [ mkText "choice"
+                        ]
+                      , mkelem_qn25
+                        [ mkattr_qn1 [ mkText "http://www.w3.org/XML/1998/namespace" ]
+                        , mkattr_qn3 [ mkText "http://relaxng.org/ns/structure/1.0" ]
+                        , mkattr_qn2 [ mkText "file:///home/theo/haskell/hxt/hxt-relaxng/src/Text/XML/HXT/RelaxNG/schema2hs/Schema.rng" ]
+                        , mkattr_qn8 [ mkText "" ]
+                        , mkattr_qn24 [ mkText "token" ]
+                        , mkattr_qn18 [ mkText "http://relaxng.org/ns/structure/1.0" ]
+                        ]
+                        [ mkText "interleave"
+                        ]
+                      ]
+                    ]
+                  ]
+                ]
+              , mkelem_qn14 []
+                [ mkelem_qn14 []
+                  [ mkelem_qn6 []
+                    [ mkelem_qn11 [] []
+                    , mkelem_qn5 []
+                      [ mkelem_qn17
+                        [ mkattr_qn18 [ mkText "" ]
+                        ]
+                        [ mkText "ns"
+                        ]
+                      , mkelem_qn23 [] []
+                      ]
+                    ]
+                  , mkelem_qn6 []
+                    [ mkelem_qn11 [] []
+                    , mkelem_qn5 []
+                      [ mkelem_qn17
+                        [ mkattr_qn18 [ mkText "" ]
+                        ]
+                        [ mkText "datatypeLibrary"
+                        ]
+                      , mkelem_qn7
+                        [ mkattr_qn24 [ mkText "anyURI" ]
+                        , mkattr_qn8 [ mkText "http://www.w3.org/2001/XMLSchema-datatypes" ]
+                        ] []
+                      ]
+                    ]
+                  ]
+                , mkelem_qn6 []
+                  [ mkelem_qn11 [] []
+                  , mkelem_qn20 []
+                    [ mkelem_qn5 []
+                      [ mkelem_qn4 []
+                        [ mkelem_qn12 []
+                          [ mkelem_qn6 []
+                            [ mkelem_qn19
+                              [ mkattr_qn18 [ mkText "http://relaxng.org/ns/structure/1.0" ]
+                              ] []
+                            , mkelem_qn19
+                              [ mkattr_qn18 [ mkText "" ]
+                              ] []
+                            ]
+                          ]
+                        ]
+                      , mkelem_qn23 [] []
+                      ]
+                    ]
+                  ]
+                ]
+              ]
+            , mkelem_qn15 []
+              [ mkelem_qn6 []
+                [ mkelem_qn11 [] []
+                , mkelem_qn20 []
+                  [ mkelem_qn21
+                    [ mkattr_qn16 [ mkText "15" ]
+                    ] []
+                  ]
+                ]
+              , mkelem_qn20 []
+                [ mkelem_qn6 []
+                  [ mkelem_qn6 []
+                    [ mkelem_qn6 []
+                      [ mkelem_qn6 []
+                        [ mkelem_qn6 []
+                          [ mkelem_qn6 []
+                            [ mkelem_qn6 []
+                              [ mkelem_qn6 []
+                                [ mkelem_qn6 []
+                                  [ mkelem_qn6 []
+                                    [ mkelem_qn6 []
+                                      [ mkelem_qn6 []
+                                        [ mkelem_qn6 []
+                                          [ mkelem_qn6 []
+                                            [ mkelem_qn6 []
+                                              [ mkelem_qn6 []
+                                                [ mkelem_qn6 []
+                                                  [ mkelem_qn6 []
+                                                    [ mkelem_qn21
+                                                      [ mkattr_qn16 [ mkText "24" ]
+                                                      ] []
+                                                    , mkelem_qn21
+                                                      [ mkattr_qn16 [ mkText "25" ]
+                                                      ] []
+                                                    ]
+                                                  , mkelem_qn21
+                                                    [ mkattr_qn16 [ mkText "26" ]
+                                                    ] []
+                                                  ]
+                                                , mkelem_qn21
+                                                  [ mkattr_qn16 [ mkText "27" ]
+                                                  ] []
+                                                ]
+                                              , mkelem_qn21
+                                                [ mkattr_qn16 [ mkText "28" ]
+                                                ] []
+                                              ]
+                                            , mkelem_qn21
+                                              [ mkattr_qn16 [ mkText "29" ]
+                                              ] []
+                                            ]
+                                          , mkelem_qn21
+                                            [ mkattr_qn16 [ mkText "30" ]
+                                            ] []
+                                          ]
+                                        , mkelem_qn21
+                                          [ mkattr_qn16 [ mkText "31" ]
+                                          ] []
+                                        ]
+                                      , mkelem_qn21
+                                        [ mkattr_qn16 [ mkText "32" ]
+                                        ] []
+                                      ]
+                                    , mkelem_qn21
+                                      [ mkattr_qn16 [ mkText "33" ]
+                                      ] []
+                                    ]
+                                  , mkelem_qn21
+                                    [ mkattr_qn16 [ mkText "34" ]
+                                    ] []
+                                  ]
+                                , mkelem_qn21
+                                  [ mkattr_qn16 [ mkText "35" ]
+                                  ] []
+                                ]
+                              , mkelem_qn21
+                                [ mkattr_qn16 [ mkText "36" ]
+                                ] []
+                              ]
+                            , mkelem_qn21
+                              [ mkattr_qn16 [ mkText "37" ]
+                              ] []
+                            ]
+                          , mkelem_qn21
+                            [ mkattr_qn16 [ mkText "38" ]
+                            ] []
+                          ]
+                        , mkelem_qn21
+                          [ mkattr_qn16 [ mkText "39" ]
+                          ] []
+                        ]
+                      , mkelem_qn21
+                        [ mkattr_qn16 [ mkText "42" ]
+                        ] []
+                      ]
+                    , mkelem_qn21
+                      [ mkattr_qn16 [ mkText "43" ]
+                      ] []
+                    ]
+                  , mkelem_qn21
+                    [ mkattr_qn16 [ mkText "44" ]
+                    ] []
+                  ]
+                ]
+              ]
+            ]
+          ]
+        ]
+      , mkelem_qn9
+        [ mkattr_qn16 [ mkText "11" ]
+        ]
+        [ mkelem_qn10 []
+          [ mkelem_qn17
+            [ mkattr_qn18 [ mkText "http://relaxng.org/ns/structure/1.0" ]
+            ]
+            [ mkText "start"
+            ]
+          , mkelem_qn14 []
+            [ mkelem_qn14 []
+              [ mkelem_qn6 []
+                [ mkelem_qn11 [] []
+                , mkelem_qn5 []
+                  [ mkelem_qn17
+                    [ mkattr_qn18 [ mkText "" ]
+                    ]
+                    [ mkText "combine"
+                    ]
+                  , mkelem_qn6 []
+                    [ mkelem_qn25
+                      [ mkattr_qn1 [ mkText "http://www.w3.org/XML/1998/namespace" ]
+                      , mkattr_qn3 [ mkText "http://relaxng.org/ns/structure/1.0" ]
+                      , mkattr_qn2 [ mkText "file:///home/theo/haskell/hxt/hxt-relaxng/src/Text/XML/HXT/RelaxNG/schema2hs/Schema.rng" ]
+                      , mkattr_qn8 [ mkText "" ]
+                      , mkattr_qn24 [ mkText "token" ]
+                      , mkattr_qn18 [ mkText "http://relaxng.org/ns/structure/1.0" ]
+                      ]
+                      [ mkText "choice"
+                      ]
+                    , mkelem_qn25
+                      [ mkattr_qn1 [ mkText "http://www.w3.org/XML/1998/namespace" ]
+                      , mkattr_qn3 [ mkText "http://relaxng.org/ns/structure/1.0" ]
+                      , mkattr_qn2 [ mkText "file:///home/theo/haskell/hxt/hxt-relaxng/src/Text/XML/HXT/RelaxNG/schema2hs/Schema.rng" ]
+                      , mkattr_qn8 [ mkText "" ]
+                      , mkattr_qn24 [ mkText "token" ]
+                      , mkattr_qn18 [ mkText "http://relaxng.org/ns/structure/1.0" ]
+                      ]
+                      [ mkText "interleave"
+                      ]
+                    ]
+                  ]
+                ]
+              , mkelem_qn14 []
+                [ mkelem_qn14 []
+                  [ mkelem_qn6 []
+                    [ mkelem_qn11 [] []
+                    , mkelem_qn5 []
+                      [ mkelem_qn17
+                        [ mkattr_qn18 [ mkText "" ]
+                        ]
+                        [ mkText "ns"
+                        ]
+                      , mkelem_qn23 [] []
+                      ]
+                    ]
+                  , mkelem_qn6 []
+                    [ mkelem_qn11 [] []
+                    , mkelem_qn5 []
+                      [ mkelem_qn17
+                        [ mkattr_qn18 [ mkText "" ]
+                        ]
+                        [ mkText "datatypeLibrary"
+                        ]
+                      , mkelem_qn7
+                        [ mkattr_qn24 [ mkText "anyURI" ]
+                        , mkattr_qn8 [ mkText "http://www.w3.org/2001/XMLSchema-datatypes" ]
+                        ] []
+                      ]
+                    ]
+                  ]
+                , mkelem_qn6 []
+                  [ mkelem_qn11 [] []
+                  , mkelem_qn20 []
+                    [ mkelem_qn5 []
+                      [ mkelem_qn4 []
+                        [ mkelem_qn12 []
+                          [ mkelem_qn6 []
+                            [ mkelem_qn19
+                              [ mkattr_qn18 [ mkText "http://relaxng.org/ns/structure/1.0" ]
+                              ] []
+                            , mkelem_qn19
+                              [ mkattr_qn18 [ mkText "" ]
+                              ] []
+                            ]
+                          ]
+                        ]
+                      , mkelem_qn23 [] []
+                      ]
+                    ]
+                  ]
+                ]
+              ]
+            , mkelem_qn15 []
+              [ mkelem_qn6 []
+                [ mkelem_qn11 [] []
+                , mkelem_qn20 []
+                  [ mkelem_qn21
+                    [ mkattr_qn16 [ mkText "15" ]
+                    ] []
+                  ]
+                ]
+              , mkelem_qn6 []
+                [ mkelem_qn6 []
+                  [ mkelem_qn6 []
+                    [ mkelem_qn6 []
+                      [ mkelem_qn6 []
+                        [ mkelem_qn6 []
+                          [ mkelem_qn6 []
+                            [ mkelem_qn6 []
+                              [ mkelem_qn6 []
+                                [ mkelem_qn6 []
+                                  [ mkelem_qn6 []
+                                    [ mkelem_qn6 []
+                                      [ mkelem_qn6 []
+                                        [ mkelem_qn6 []
+                                          [ mkelem_qn6 []
+                                            [ mkelem_qn6 []
+                                              [ mkelem_qn6 []
+                                                [ mkelem_qn6 []
+                                                  [ mkelem_qn21
+                                                    [ mkattr_qn16 [ mkText "24" ]
+                                                    ] []
+                                                  , mkelem_qn21
+                                                    [ mkattr_qn16 [ mkText "25" ]
+                                                    ] []
+                                                  ]
+                                                , mkelem_qn21
+                                                  [ mkattr_qn16 [ mkText "26" ]
+                                                  ] []
+                                                ]
+                                              , mkelem_qn21
+                                                [ mkattr_qn16 [ mkText "27" ]
+                                                ] []
+                                              ]
+                                            , mkelem_qn21
+                                              [ mkattr_qn16 [ mkText "28" ]
+                                              ] []
+                                            ]
+                                          , mkelem_qn21
+                                            [ mkattr_qn16 [ mkText "29" ]
+                                            ] []
+                                          ]
+                                        , mkelem_qn21
+                                          [ mkattr_qn16 [ mkText "30" ]
+                                          ] []
+                                        ]
+                                      , mkelem_qn21
+                                        [ mkattr_qn16 [ mkText "31" ]
+                                        ] []
+                                      ]
+                                    , mkelem_qn21
+                                      [ mkattr_qn16 [ mkText "32" ]
+                                      ] []
+                                    ]
+                                  , mkelem_qn21
+                                    [ mkattr_qn16 [ mkText "33" ]
+                                    ] []
+                                  ]
+                                , mkelem_qn21
+                                  [ mkattr_qn16 [ mkText "34" ]
+                                  ] []
+                                ]
+                              , mkelem_qn21
+                                [ mkattr_qn16 [ mkText "35" ]
+                                ] []
+                              ]
+                            , mkelem_qn21
+                              [ mkattr_qn16 [ mkText "36" ]
+                              ] []
+                            ]
+                          , mkelem_qn21
+                            [ mkattr_qn16 [ mkText "37" ]
+                            ] []
+                          ]
+                        , mkelem_qn21
+                          [ mkattr_qn16 [ mkText "38" ]
+                          ] []
+                        ]
+                      , mkelem_qn21
+                        [ mkattr_qn16 [ mkText "39" ]
+                        ] []
+                      ]
+                    , mkelem_qn21
+                      [ mkattr_qn16 [ mkText "42" ]
+                      ] []
+                    ]
+                  , mkelem_qn21
+                    [ mkattr_qn16 [ mkText "43" ]
+                    ] []
+                  ]
+                , mkelem_qn21
+                  [ mkattr_qn16 [ mkText "44" ]
                   ] []
                 ]
               ]
diff --git a/src/Text/XML/HXT/RelaxNG/SchemaGrammar.hs b/src/Text/XML/HXT/RelaxNG/SchemaGrammar.hs
--- a/src/Text/XML/HXT/RelaxNG/SchemaGrammar.hs
+++ b/src/Text/XML/HXT/RelaxNG/SchemaGrammar.hs
@@ -1,3824 +1,3876 @@
-{- |
-   Module     : Text.HXT.RelaxNG.SchemaGrammar
-
-   Don't edit this module, it's generated by RelaxSchemaToXmlTree
-
--}
-
-module Text.XML.HXT.RelaxNG.SchemaGrammar
-    ( relaxSchemaTree, relaxSchemaArrow )
-where
-
-import Text.XML.HXT.DOM.TypeDefs
-import Text.XML.HXT.DOM.XmlNode (mkRoot, mkElement, mkAttr, mkText)
-
-import Control.Arrow.ListArrows
-
-relaxSchemaArrow :: ArrowList a => a b XmlTree
-relaxSchemaArrow = constA relaxSchemaTree
-
-relaxSchemaTree :: XmlTree
-relaxSchemaTree =
-  let
-  ns1   = "http://relaxng.org/ns/structure/1.0"
-  qn1   = mkSNsName "RelaxContext:xml"
-  qn2   = mkSNsName "RelaxContextBaseURI"
-  qn3   = mkSNsName "RelaxContextDefault"
-  qn4   = mkNsName "anyName" ns1
-  qn5   = mkNsName "attribute" ns1
-  qn6   = mkNsName "choice" ns1
-  qn7   = mkNsName "data" ns1
-  qn8   = mkSNsName "datatypeLibrary"
-  qn9   = mkNsName "define" ns1
-  qn10  = mkNsName "element" ns1
-  qn11  = mkNsName "empty" ns1
-  qn12  = mkNsName "except" ns1
-  qn13  = mkNsName "grammar" ns1
-  qn14  = mkNsName "group" ns1
-  qn15  = mkNsName "interleave" ns1
-  qn16  = mkSNsName "name"
-  qn17  = mkNsName "name" ns1
-  qn18  = mkSNsName "ns"
-  qn19  = mkNsName "nsName" ns1
-  qn20  = mkNsName "oneOrMore" ns1
-  qn21  = mkNsName "ref" ns1
-  qn22  = mkNsName "start" ns1
-  qn23  = mkNsName "text" ns1
-  qn24  = mkSNsName "type"
-  qn25  = mkNsName "value" ns1
-  in
-  mkRoot []
-    [ mkElement qn13 []
-      [ mkElement qn22 []
-        [ mkElement qn21
-          [ mkAttr qn16 [ mkText "14" ]
-          ] []
-        ]
-      , mkElement qn9
-        [ mkAttr qn16 [ mkText "44" ]
-        ]
-        [ mkElement qn10 []
-          [ mkElement qn17
-            [ mkAttr qn18 [ mkText "http://relaxng.org/ns/structure/1.0" ]
-            ]
-            [ mkText "externalRef"
-            ]
-          , mkElement qn14 []
-            [ mkElement qn14 []
-              [ mkElement qn5 []
-                [ mkElement qn17
-                  [ mkAttr qn18 [ mkText "" ]
-                  ]
-                  [ mkText "href"
-                  ]
-                , mkElement qn7
-                  [ mkAttr qn24 [ mkText "anyURI" ]
-                  , mkAttr qn8 [ mkText "http://www.w3.org/2001/XMLSchema-datatypes" ]
-                  ] []
-                ]
-              , mkElement qn14 []
-                [ mkElement qn14 []
-                  [ mkElement qn6 []
-                    [ mkElement qn11 [] []
-                    , mkElement qn5 []
-                      [ mkElement qn17
-                        [ mkAttr qn18 [ mkText "" ]
-                        ]
-                        [ mkText "ns"
-                        ]
-                      , mkElement qn23 [] []
-                      ]
-                    ]
-                  , mkElement qn6 []
-                    [ mkElement qn11 [] []
-                    , mkElement qn5 []
-                      [ mkElement qn17
-                        [ mkAttr qn18 [ mkText "" ]
-                        ]
-                        [ mkText "datatypeLibrary"
-                        ]
-                      , mkElement qn7
-                        [ mkAttr qn24 [ mkText "anyURI" ]
-                        , mkAttr qn8 [ mkText "http://www.w3.org/2001/XMLSchema-datatypes" ]
-                        ] []
-                      ]
-                    ]
-                  ]
-                , mkElement qn6 []
-                  [ mkElement qn11 [] []
-                  , mkElement qn20 []
-                    [ mkElement qn5 []
-                      [ mkElement qn4 []
-                        [ mkElement qn12 []
-                          [ mkElement qn6 []
-                            [ mkElement qn19
-                              [ mkAttr qn18 [ mkText "http://relaxng.org/ns/structure/1.0" ]
-                              ] []
-                            , mkElement qn19
-                              [ mkAttr qn18 [ mkText "" ]
-                              ] []
-                            ]
-                          ]
-                        ]
-                      , mkElement qn23 [] []
-                      ]
-                    ]
-                  ]
-                ]
-              ]
-            , mkElement qn6 []
-              [ mkElement qn11 [] []
-              , mkElement qn20 []
-                [ mkElement qn21
-                  [ mkAttr qn16 [ mkText "16" ]
-                  ] []
-                ]
-              ]
-            ]
-          ]
-        ]
-      , mkElement qn9
-        [ mkAttr qn16 [ mkText "43" ]
-        ]
-        [ mkElement qn10 []
-          [ mkElement qn17
-            [ mkAttr qn18 [ mkText "http://relaxng.org/ns/structure/1.0" ]
-            ]
-            [ mkText "notAllowed"
-            ]
-          , mkElement qn14 []
-            [ mkElement qn14 []
-              [ mkElement qn14 []
-                [ mkElement qn6 []
-                  [ mkElement qn11 [] []
-                  , mkElement qn5 []
-                    [ mkElement qn17
-                      [ mkAttr qn18 [ mkText "" ]
-                      ]
-                      [ mkText "ns"
-                      ]
-                    , mkElement qn23 [] []
-                    ]
-                  ]
-                , mkElement qn6 []
-                  [ mkElement qn11 [] []
-                  , mkElement qn5 []
-                    [ mkElement qn17
-                      [ mkAttr qn18 [ mkText "" ]
-                      ]
-                      [ mkText "datatypeLibrary"
-                      ]
-                    , mkElement qn7
-                      [ mkAttr qn24 [ mkText "anyURI" ]
-                      , mkAttr qn8 [ mkText "http://www.w3.org/2001/XMLSchema-datatypes" ]
-                      ] []
-                    ]
-                  ]
-                ]
-              , mkElement qn6 []
-                [ mkElement qn11 [] []
-                , mkElement qn20 []
-                  [ mkElement qn5 []
-                    [ mkElement qn4 []
-                      [ mkElement qn12 []
-                        [ mkElement qn6 []
-                          [ mkElement qn19
-                            [ mkAttr qn18 [ mkText "http://relaxng.org/ns/structure/1.0" ]
-                            ] []
-                          , mkElement qn19
-                            [ mkAttr qn18 [ mkText "" ]
-                            ] []
-                          ]
-                        ]
-                      ]
-                    , mkElement qn23 [] []
-                    ]
-                  ]
-                ]
-              ]
-            , mkElement qn6 []
-              [ mkElement qn11 [] []
-              , mkElement qn20 []
-                [ mkElement qn21
-                  [ mkAttr qn16 [ mkText "16" ]
-                  ] []
-                ]
-              ]
-            ]
-          ]
-        ]
-      , mkElement qn9
-        [ mkAttr qn16 [ mkText "40" ]
-        ]
-        [ mkElement qn10 []
-          [ mkElement qn17
-            [ mkAttr qn18 [ mkText "http://relaxng.org/ns/structure/1.0" ]
-            ]
-            [ mkText "data"
-            ]
-          , mkElement qn14 []
-            [ mkElement qn14 []
-              [ mkElement qn5 []
-                [ mkElement qn17
-                  [ mkAttr qn18 [ mkText "" ]
-                  ]
-                  [ mkText "type"
-                  ]
-                , mkElement qn7
-                  [ mkAttr qn24 [ mkText "NCName" ]
-                  , mkAttr qn8 [ mkText "http://www.w3.org/2001/XMLSchema-datatypes" ]
-                  ] []
-                ]
-              , mkElement qn14 []
-                [ mkElement qn14 []
-                  [ mkElement qn6 []
-                    [ mkElement qn11 [] []
-                    , mkElement qn5 []
-                      [ mkElement qn17
-                        [ mkAttr qn18 [ mkText "" ]
-                        ]
-                        [ mkText "ns"
-                        ]
-                      , mkElement qn23 [] []
-                      ]
-                    ]
-                  , mkElement qn6 []
-                    [ mkElement qn11 [] []
-                    , mkElement qn5 []
-                      [ mkElement qn17
-                        [ mkAttr qn18 [ mkText "" ]
-                        ]
-                        [ mkText "datatypeLibrary"
-                        ]
-                      , mkElement qn7
-                        [ mkAttr qn24 [ mkText "anyURI" ]
-                        , mkAttr qn8 [ mkText "http://www.w3.org/2001/XMLSchema-datatypes" ]
-                        ] []
-                      ]
-                    ]
-                  ]
-                , mkElement qn6 []
-                  [ mkElement qn11 [] []
-                  , mkElement qn20 []
-                    [ mkElement qn5 []
-                      [ mkElement qn4 []
-                        [ mkElement qn12 []
-                          [ mkElement qn6 []
-                            [ mkElement qn19
-                              [ mkAttr qn18 [ mkText "http://relaxng.org/ns/structure/1.0" ]
-                              ] []
-                            , mkElement qn19
-                              [ mkAttr qn18 [ mkText "" ]
-                              ] []
-                            ]
-                          ]
-                        ]
-                      , mkElement qn23 [] []
-                      ]
-                    ]
-                  ]
-                ]
-              ]
-            , mkElement qn15 []
-              [ mkElement qn6 []
-                [ mkElement qn11 [] []
-                , mkElement qn20 []
-                  [ mkElement qn21
-                    [ mkAttr qn16 [ mkText "16" ]
-                    ] []
-                  ]
-                ]
-              , mkElement qn14 []
-                [ mkElement qn6 []
-                  [ mkElement qn11 [] []
-                  , mkElement qn20 []
-                    [ mkElement qn21
-                      [ mkAttr qn16 [ mkText "41" ]
-                      ] []
-                    ]
-                  ]
-                , mkElement qn6 []
-                  [ mkElement qn11 [] []
-                  , mkElement qn21
-                    [ mkAttr qn16 [ mkText "42" ]
-                    ] []
-                  ]
-                ]
-              ]
-            ]
-          ]
-        ]
-      , mkElement qn9
-        [ mkAttr qn16 [ mkText "42" ]
-        ]
-        [ mkElement qn10 []
-          [ mkElement qn17
-            [ mkAttr qn18 [ mkText "http://relaxng.org/ns/structure/1.0" ]
-            ]
-            [ mkText "except"
-            ]
-          , mkElement qn14 []
-            [ mkElement qn14 []
-              [ mkElement qn14 []
-                [ mkElement qn6 []
-                  [ mkElement qn11 [] []
-                  , mkElement qn5 []
-                    [ mkElement qn17
-                      [ mkAttr qn18 [ mkText "" ]
-                      ]
-                      [ mkText "ns"
-                      ]
-                    , mkElement qn23 [] []
-                    ]
-                  ]
-                , mkElement qn6 []
-                  [ mkElement qn11 [] []
-                  , mkElement qn5 []
-                    [ mkElement qn17
-                      [ mkAttr qn18 [ mkText "" ]
-                      ]
-                      [ mkText "datatypeLibrary"
-                      ]
-                    , mkElement qn7
-                      [ mkAttr qn24 [ mkText "anyURI" ]
-                      , mkAttr qn8 [ mkText "http://www.w3.org/2001/XMLSchema-datatypes" ]
-                      ] []
-                    ]
-                  ]
-                ]
-              , mkElement qn6 []
-                [ mkElement qn11 [] []
-                , mkElement qn20 []
-                  [ mkElement qn5 []
-                    [ mkElement qn4 []
-                      [ mkElement qn12 []
-                        [ mkElement qn6 []
-                          [ mkElement qn19
-                            [ mkAttr qn18 [ mkText "http://relaxng.org/ns/structure/1.0" ]
-                            ] []
-                          , mkElement qn19
-                            [ mkAttr qn18 [ mkText "" ]
-                            ] []
-                          ]
-                        ]
-                      ]
-                    , mkElement qn23 [] []
-                    ]
-                  ]
-                ]
-              ]
-            , mkElement qn15 []
-              [ mkElement qn6 []
-                [ mkElement qn11 [] []
-                , mkElement qn20 []
-                  [ mkElement qn21
-                    [ mkAttr qn16 [ mkText "16" ]
-                    ] []
-                  ]
-                ]
-              , mkElement qn20 []
-                [ mkElement qn6 []
-                  [ mkElement qn6 []
-                    [ mkElement qn6 []
-                      [ mkElement qn6 []
-                        [ mkElement qn6 []
-                          [ mkElement qn6 []
-                            [ mkElement qn6 []
-                              [ mkElement qn6 []
-                                [ mkElement qn6 []
-                                  [ mkElement qn6 []
-                                    [ mkElement qn6 []
-                                      [ mkElement qn6 []
-                                        [ mkElement qn6 []
-                                          [ mkElement qn6 []
-                                            [ mkElement qn6 []
-                                              [ mkElement qn6 []
-                                                [ mkElement qn6 []
-                                                  [ mkElement qn6 []
-                                                    [ mkElement qn21
-                                                      [ mkAttr qn16 [ mkText "25" ]
-                                                      ] []
-                                                    , mkElement qn21
-                                                      [ mkAttr qn16 [ mkText "26" ]
-                                                      ] []
-                                                    ]
-                                                  , mkElement qn21
-                                                    [ mkAttr qn16 [ mkText "27" ]
-                                                    ] []
-                                                  ]
-                                                , mkElement qn21
-                                                  [ mkAttr qn16 [ mkText "28" ]
-                                                  ] []
-                                                ]
-                                              , mkElement qn21
-                                                [ mkAttr qn16 [ mkText "29" ]
-                                                ] []
-                                              ]
-                                            , mkElement qn21
-                                              [ mkAttr qn16 [ mkText "30" ]
-                                              ] []
-                                            ]
-                                          , mkElement qn21
-                                            [ mkAttr qn16 [ mkText "31" ]
-                                            ] []
-                                          ]
-                                        , mkElement qn21
-                                          [ mkAttr qn16 [ mkText "32" ]
-                                          ] []
-                                        ]
-                                      , mkElement qn21
-                                        [ mkAttr qn16 [ mkText "33" ]
-                                        ] []
-                                      ]
-                                    , mkElement qn21
-                                      [ mkAttr qn16 [ mkText "34" ]
-                                      ] []
-                                    ]
-                                  , mkElement qn21
-                                    [ mkAttr qn16 [ mkText "35" ]
-                                    ] []
-                                  ]
-                                , mkElement qn21
-                                  [ mkAttr qn16 [ mkText "36" ]
-                                  ] []
-                                ]
-                              , mkElement qn21
-                                [ mkAttr qn16 [ mkText "37" ]
-                                ] []
-                              ]
-                            , mkElement qn21
-                              [ mkAttr qn16 [ mkText "38" ]
-                              ] []
-                            ]
-                          , mkElement qn21
-                            [ mkAttr qn16 [ mkText "39" ]
-                            ] []
-                          ]
-                        , mkElement qn21
-                          [ mkAttr qn16 [ mkText "40" ]
-                          ] []
-                        ]
-                      , mkElement qn21
-                        [ mkAttr qn16 [ mkText "43" ]
-                        ] []
-                      ]
-                    , mkElement qn21
-                      [ mkAttr qn16 [ mkText "44" ]
-                      ] []
-                    ]
-                  , mkElement qn21
-                    [ mkAttr qn16 [ mkText "14" ]
-                    ] []
-                  ]
-                ]
-              ]
-            ]
-          ]
-        ]
-      , mkElement qn9
-        [ mkAttr qn16 [ mkText "41" ]
-        ]
-        [ mkElement qn10 []
-          [ mkElement qn17
-            [ mkAttr qn18 [ mkText "http://relaxng.org/ns/structure/1.0" ]
-            ]
-            [ mkText "param"
-            ]
-          , mkElement qn14 []
-            [ mkElement qn5 []
-              [ mkElement qn17
-                [ mkAttr qn18 [ mkText "" ]
-                ]
-                [ mkText "name"
-                ]
-              , mkElement qn7
-                [ mkAttr qn24 [ mkText "NCName" ]
-                , mkAttr qn8 [ mkText "http://www.w3.org/2001/XMLSchema-datatypes" ]
-                ] []
-              ]
-            , mkElement qn23 [] []
-            ]
-          ]
-        ]
-      , mkElement qn9
-        [ mkAttr qn16 [ mkText "39" ]
-        ]
-        [ mkElement qn10 []
-          [ mkElement qn17
-            [ mkAttr qn18 [ mkText "http://relaxng.org/ns/structure/1.0" ]
-            ]
-            [ mkText "value"
-            ]
-          , mkElement qn14 []
-            [ mkElement qn14 []
-              [ mkElement qn6 []
-                [ mkElement qn11 [] []
-                , mkElement qn5 []
-                  [ mkElement qn17
-                    [ mkAttr qn18 [ mkText "" ]
-                    ]
-                    [ mkText "type"
-                    ]
-                  , mkElement qn7
-                    [ mkAttr qn24 [ mkText "NCName" ]
-                    , mkAttr qn8 [ mkText "http://www.w3.org/2001/XMLSchema-datatypes" ]
-                    ] []
-                  ]
-                ]
-              , mkElement qn14 []
-                [ mkElement qn14 []
-                  [ mkElement qn6 []
-                    [ mkElement qn11 [] []
-                    , mkElement qn5 []
-                      [ mkElement qn17
-                        [ mkAttr qn18 [ mkText "" ]
-                        ]
-                        [ mkText "ns"
-                        ]
-                      , mkElement qn23 [] []
-                      ]
-                    ]
-                  , mkElement qn6 []
-                    [ mkElement qn11 [] []
-                    , mkElement qn5 []
-                      [ mkElement qn17
-                        [ mkAttr qn18 [ mkText "" ]
-                        ]
-                        [ mkText "datatypeLibrary"
-                        ]
-                      , mkElement qn7
-                        [ mkAttr qn24 [ mkText "anyURI" ]
-                        , mkAttr qn8 [ mkText "http://www.w3.org/2001/XMLSchema-datatypes" ]
-                        ] []
-                      ]
-                    ]
-                  ]
-                , mkElement qn6 []
-                  [ mkElement qn11 [] []
-                  , mkElement qn20 []
-                    [ mkElement qn5 []
-                      [ mkElement qn4 []
-                        [ mkElement qn12 []
-                          [ mkElement qn6 []
-                            [ mkElement qn19
-                              [ mkAttr qn18 [ mkText "http://relaxng.org/ns/structure/1.0" ]
-                              ] []
-                            , mkElement qn19
-                              [ mkAttr qn18 [ mkText "" ]
-                              ] []
-                            ]
-                          ]
-                        ]
-                      , mkElement qn23 [] []
-                      ]
-                    ]
-                  ]
-                ]
-              ]
-            , mkElement qn23 [] []
-            ]
-          ]
-        ]
-      , mkElement qn9
-        [ mkAttr qn16 [ mkText "38" ]
-        ]
-        [ mkElement qn10 []
-          [ mkElement qn17
-            [ mkAttr qn18 [ mkText "http://relaxng.org/ns/structure/1.0" ]
-            ]
-            [ mkText "text"
-            ]
-          , mkElement qn14 []
-            [ mkElement qn14 []
-              [ mkElement qn14 []
-                [ mkElement qn6 []
-                  [ mkElement qn11 [] []
-                  , mkElement qn5 []
-                    [ mkElement qn17
-                      [ mkAttr qn18 [ mkText "" ]
-                      ]
-                      [ mkText "ns"
-                      ]
-                    , mkElement qn23 [] []
-                    ]
-                  ]
-                , mkElement qn6 []
-                  [ mkElement qn11 [] []
-                  , mkElement qn5 []
-                    [ mkElement qn17
-                      [ mkAttr qn18 [ mkText "" ]
-                      ]
-                      [ mkText "datatypeLibrary"
-                      ]
-                    , mkElement qn7
-                      [ mkAttr qn24 [ mkText "anyURI" ]
-                      , mkAttr qn8 [ mkText "http://www.w3.org/2001/XMLSchema-datatypes" ]
-                      ] []
-                    ]
-                  ]
-                ]
-              , mkElement qn6 []
-                [ mkElement qn11 [] []
-                , mkElement qn20 []
-                  [ mkElement qn5 []
-                    [ mkElement qn4 []
-                      [ mkElement qn12 []
-                        [ mkElement qn6 []
-                          [ mkElement qn19
-                            [ mkAttr qn18 [ mkText "http://relaxng.org/ns/structure/1.0" ]
-                            ] []
-                          , mkElement qn19
-                            [ mkAttr qn18 [ mkText "" ]
-                            ] []
-                          ]
-                        ]
-                      ]
-                    , mkElement qn23 [] []
-                    ]
-                  ]
-                ]
-              ]
-            , mkElement qn6 []
-              [ mkElement qn11 [] []
-              , mkElement qn20 []
-                [ mkElement qn21
-                  [ mkAttr qn16 [ mkText "16" ]
-                  ] []
-                ]
-              ]
-            ]
-          ]
-        ]
-      , mkElement qn9
-        [ mkAttr qn16 [ mkText "37" ]
-        ]
-        [ mkElement qn10 []
-          [ mkElement qn17
-            [ mkAttr qn18 [ mkText "http://relaxng.org/ns/structure/1.0" ]
-            ]
-            [ mkText "empty"
-            ]
-          , mkElement qn14 []
-            [ mkElement qn14 []
-              [ mkElement qn14 []
-                [ mkElement qn6 []
-                  [ mkElement qn11 [] []
-                  , mkElement qn5 []
-                    [ mkElement qn17
-                      [ mkAttr qn18 [ mkText "" ]
-                      ]
-                      [ mkText "ns"
-                      ]
-                    , mkElement qn23 [] []
-                    ]
-                  ]
-                , mkElement qn6 []
-                  [ mkElement qn11 [] []
-                  , mkElement qn5 []
-                    [ mkElement qn17
-                      [ mkAttr qn18 [ mkText "" ]
-                      ]
-                      [ mkText "datatypeLibrary"
-                      ]
-                    , mkElement qn7
-                      [ mkAttr qn24 [ mkText "anyURI" ]
-                      , mkAttr qn8 [ mkText "http://www.w3.org/2001/XMLSchema-datatypes" ]
-                      ] []
-                    ]
-                  ]
-                ]
-              , mkElement qn6 []
-                [ mkElement qn11 [] []
-                , mkElement qn20 []
-                  [ mkElement qn5 []
-                    [ mkElement qn4 []
-                      [ mkElement qn12 []
-                        [ mkElement qn6 []
-                          [ mkElement qn19
-                            [ mkAttr qn18 [ mkText "http://relaxng.org/ns/structure/1.0" ]
-                            ] []
-                          , mkElement qn19
-                            [ mkAttr qn18 [ mkText "" ]
-                            ] []
-                          ]
-                        ]
-                      ]
-                    , mkElement qn23 [] []
-                    ]
-                  ]
-                ]
-              ]
-            , mkElement qn6 []
-              [ mkElement qn11 [] []
-              , mkElement qn20 []
-                [ mkElement qn21
-                  [ mkAttr qn16 [ mkText "16" ]
-                  ] []
-                ]
-              ]
-            ]
-          ]
-        ]
-      , mkElement qn9
-        [ mkAttr qn16 [ mkText "36" ]
-        ]
-        [ mkElement qn10 []
-          [ mkElement qn17
-            [ mkAttr qn18 [ mkText "http://relaxng.org/ns/structure/1.0" ]
-            ]
-            [ mkText "parentRef"
-            ]
-          , mkElement qn14 []
-            [ mkElement qn5 []
-              [ mkElement qn17
-                [ mkAttr qn18 [ mkText "" ]
-                ]
-                [ mkText "name"
-                ]
-              , mkElement qn7
-                [ mkAttr qn24 [ mkText "NCName" ]
-                , mkAttr qn8 [ mkText "http://www.w3.org/2001/XMLSchema-datatypes" ]
-                ] []
-              ]
-            , mkElement qn14 []
-              [ mkElement qn14 []
-                [ mkElement qn6 []
-                  [ mkElement qn11 [] []
-                  , mkElement qn5 []
-                    [ mkElement qn17
-                      [ mkAttr qn18 [ mkText "" ]
-                      ]
-                      [ mkText "ns"
-                      ]
-                    , mkElement qn23 [] []
-                    ]
-                  ]
-                , mkElement qn6 []
-                  [ mkElement qn11 [] []
-                  , mkElement qn5 []
-                    [ mkElement qn17
-                      [ mkAttr qn18 [ mkText "" ]
-                      ]
-                      [ mkText "datatypeLibrary"
-                      ]
-                    , mkElement qn7
-                      [ mkAttr qn24 [ mkText "anyURI" ]
-                      , mkAttr qn8 [ mkText "http://www.w3.org/2001/XMLSchema-datatypes" ]
-                      ] []
-                    ]
-                  ]
-                ]
-              , mkElement qn6 []
-                [ mkElement qn11 [] []
-                , mkElement qn20 []
-                  [ mkElement qn5 []
-                    [ mkElement qn4 []
-                      [ mkElement qn12 []
-                        [ mkElement qn6 []
-                          [ mkElement qn19
-                            [ mkAttr qn18 [ mkText "http://relaxng.org/ns/structure/1.0" ]
-                            ] []
-                          , mkElement qn19
-                            [ mkAttr qn18 [ mkText "" ]
-                            ] []
-                          ]
-                        ]
-                      ]
-                    , mkElement qn23 [] []
-                    ]
-                  ]
-                ]
-              ]
-            ]
-          ]
-        ]
-      , mkElement qn9
-        [ mkAttr qn16 [ mkText "35" ]
-        ]
-        [ mkElement qn10 []
-          [ mkElement qn17
-            [ mkAttr qn18 [ mkText "http://relaxng.org/ns/structure/1.0" ]
-            ]
-            [ mkText "ref"
-            ]
-          , mkElement qn14 []
-            [ mkElement qn5 []
-              [ mkElement qn17
-                [ mkAttr qn18 [ mkText "" ]
-                ]
-                [ mkText "name"
-                ]
-              , mkElement qn7
-                [ mkAttr qn24 [ mkText "NCName" ]
-                , mkAttr qn8 [ mkText "http://www.w3.org/2001/XMLSchema-datatypes" ]
-                ] []
-              ]
-            , mkElement qn14 []
-              [ mkElement qn14 []
-                [ mkElement qn6 []
-                  [ mkElement qn11 [] []
-                  , mkElement qn5 []
-                    [ mkElement qn17
-                      [ mkAttr qn18 [ mkText "" ]
-                      ]
-                      [ mkText "ns"
-                      ]
-                    , mkElement qn23 [] []
-                    ]
-                  ]
-                , mkElement qn6 []
-                  [ mkElement qn11 [] []
-                  , mkElement qn5 []
-                    [ mkElement qn17
-                      [ mkAttr qn18 [ mkText "" ]
-                      ]
-                      [ mkText "datatypeLibrary"
-                      ]
-                    , mkElement qn7
-                      [ mkAttr qn24 [ mkText "anyURI" ]
-                      , mkAttr qn8 [ mkText "http://www.w3.org/2001/XMLSchema-datatypes" ]
-                      ] []
-                    ]
-                  ]
-                ]
-              , mkElement qn6 []
-                [ mkElement qn11 [] []
-                , mkElement qn20 []
-                  [ mkElement qn5 []
-                    [ mkElement qn4 []
-                      [ mkElement qn12 []
-                        [ mkElement qn6 []
-                          [ mkElement qn19
-                            [ mkAttr qn18 [ mkText "http://relaxng.org/ns/structure/1.0" ]
-                            ] []
-                          , mkElement qn19
-                            [ mkAttr qn18 [ mkText "" ]
-                            ] []
-                          ]
-                        ]
-                      ]
-                    , mkElement qn23 [] []
-                    ]
-                  ]
-                ]
-              ]
-            ]
-          ]
-        ]
-      , mkElement qn9
-        [ mkAttr qn16 [ mkText "34" ]
-        ]
-        [ mkElement qn10 []
-          [ mkElement qn17
-            [ mkAttr qn18 [ mkText "http://relaxng.org/ns/structure/1.0" ]
-            ]
-            [ mkText "mixed"
-            ]
-          , mkElement qn14 []
-            [ mkElement qn14 []
-              [ mkElement qn14 []
-                [ mkElement qn6 []
-                  [ mkElement qn11 [] []
-                  , mkElement qn5 []
-                    [ mkElement qn17
-                      [ mkAttr qn18 [ mkText "" ]
-                      ]
-                      [ mkText "ns"
-                      ]
-                    , mkElement qn23 [] []
-                    ]
-                  ]
-                , mkElement qn6 []
-                  [ mkElement qn11 [] []
-                  , mkElement qn5 []
-                    [ mkElement qn17
-                      [ mkAttr qn18 [ mkText "" ]
-                      ]
-                      [ mkText "datatypeLibrary"
-                      ]
-                    , mkElement qn7
-                      [ mkAttr qn24 [ mkText "anyURI" ]
-                      , mkAttr qn8 [ mkText "http://www.w3.org/2001/XMLSchema-datatypes" ]
-                      ] []
-                    ]
-                  ]
-                ]
-              , mkElement qn6 []
-                [ mkElement qn11 [] []
-                , mkElement qn20 []
-                  [ mkElement qn5 []
-                    [ mkElement qn4 []
-                      [ mkElement qn12 []
-                        [ mkElement qn6 []
-                          [ mkElement qn19
-                            [ mkAttr qn18 [ mkText "http://relaxng.org/ns/structure/1.0" ]
-                            ] []
-                          , mkElement qn19
-                            [ mkAttr qn18 [ mkText "" ]
-                            ] []
-                          ]
-                        ]
-                      ]
-                    , mkElement qn23 [] []
-                    ]
-                  ]
-                ]
-              ]
-            , mkElement qn15 []
-              [ mkElement qn6 []
-                [ mkElement qn11 [] []
-                , mkElement qn20 []
-                  [ mkElement qn21
-                    [ mkAttr qn16 [ mkText "16" ]
-                    ] []
-                  ]
-                ]
-              , mkElement qn20 []
-                [ mkElement qn6 []
-                  [ mkElement qn6 []
-                    [ mkElement qn6 []
-                      [ mkElement qn6 []
-                        [ mkElement qn6 []
-                          [ mkElement qn6 []
-                            [ mkElement qn6 []
-                              [ mkElement qn6 []
-                                [ mkElement qn6 []
-                                  [ mkElement qn6 []
-                                    [ mkElement qn6 []
-                                      [ mkElement qn6 []
-                                        [ mkElement qn6 []
-                                          [ mkElement qn6 []
-                                            [ mkElement qn6 []
-                                              [ mkElement qn6 []
-                                                [ mkElement qn6 []
-                                                  [ mkElement qn6 []
-                                                    [ mkElement qn21
-                                                      [ mkAttr qn16 [ mkText "25" ]
-                                                      ] []
-                                                    , mkElement qn21
-                                                      [ mkAttr qn16 [ mkText "26" ]
-                                                      ] []
-                                                    ]
-                                                  , mkElement qn21
-                                                    [ mkAttr qn16 [ mkText "27" ]
-                                                    ] []
-                                                  ]
-                                                , mkElement qn21
-                                                  [ mkAttr qn16 [ mkText "28" ]
-                                                  ] []
-                                                ]
-                                              , mkElement qn21
-                                                [ mkAttr qn16 [ mkText "29" ]
-                                                ] []
-                                              ]
-                                            , mkElement qn21
-                                              [ mkAttr qn16 [ mkText "30" ]
-                                              ] []
-                                            ]
-                                          , mkElement qn21
-                                            [ mkAttr qn16 [ mkText "31" ]
-                                            ] []
-                                          ]
-                                        , mkElement qn21
-                                          [ mkAttr qn16 [ mkText "32" ]
-                                          ] []
-                                        ]
-                                      , mkElement qn21
-                                        [ mkAttr qn16 [ mkText "33" ]
-                                        ] []
-                                      ]
-                                    , mkElement qn21
-                                      [ mkAttr qn16 [ mkText "34" ]
-                                      ] []
-                                    ]
-                                  , mkElement qn21
-                                    [ mkAttr qn16 [ mkText "35" ]
-                                    ] []
-                                  ]
-                                , mkElement qn21
-                                  [ mkAttr qn16 [ mkText "36" ]
-                                  ] []
-                                ]
-                              , mkElement qn21
-                                [ mkAttr qn16 [ mkText "37" ]
-                                ] []
-                              ]
-                            , mkElement qn21
-                              [ mkAttr qn16 [ mkText "38" ]
-                              ] []
-                            ]
-                          , mkElement qn21
-                            [ mkAttr qn16 [ mkText "39" ]
-                            ] []
-                          ]
-                        , mkElement qn21
-                          [ mkAttr qn16 [ mkText "40" ]
-                          ] []
-                        ]
-                      , mkElement qn21
-                        [ mkAttr qn16 [ mkText "43" ]
-                        ] []
-                      ]
-                    , mkElement qn21
-                      [ mkAttr qn16 [ mkText "44" ]
-                      ] []
-                    ]
-                  , mkElement qn21
-                    [ mkAttr qn16 [ mkText "14" ]
-                    ] []
-                  ]
-                ]
-              ]
-            ]
-          ]
-        ]
-      , mkElement qn9
-        [ mkAttr qn16 [ mkText "33" ]
-        ]
-        [ mkElement qn10 []
-          [ mkElement qn17
-            [ mkAttr qn18 [ mkText "http://relaxng.org/ns/structure/1.0" ]
-            ]
-            [ mkText "list"
-            ]
-          , mkElement qn14 []
-            [ mkElement qn14 []
-              [ mkElement qn14 []
-                [ mkElement qn6 []
-                  [ mkElement qn11 [] []
-                  , mkElement qn5 []
-                    [ mkElement qn17
-                      [ mkAttr qn18 [ mkText "" ]
-                      ]
-                      [ mkText "ns"
-                      ]
-                    , mkElement qn23 [] []
-                    ]
-                  ]
-                , mkElement qn6 []
-                  [ mkElement qn11 [] []
-                  , mkElement qn5 []
-                    [ mkElement qn17
-                      [ mkAttr qn18 [ mkText "" ]
-                      ]
-                      [ mkText "datatypeLibrary"
-                      ]
-                    , mkElement qn7
-                      [ mkAttr qn24 [ mkText "anyURI" ]
-                      , mkAttr qn8 [ mkText "http://www.w3.org/2001/XMLSchema-datatypes" ]
-                      ] []
-                    ]
-                  ]
-                ]
-              , mkElement qn6 []
-                [ mkElement qn11 [] []
-                , mkElement qn20 []
-                  [ mkElement qn5 []
-                    [ mkElement qn4 []
-                      [ mkElement qn12 []
-                        [ mkElement qn6 []
-                          [ mkElement qn19
-                            [ mkAttr qn18 [ mkText "http://relaxng.org/ns/structure/1.0" ]
-                            ] []
-                          , mkElement qn19
-                            [ mkAttr qn18 [ mkText "" ]
-                            ] []
-                          ]
-                        ]
-                      ]
-                    , mkElement qn23 [] []
-                    ]
-                  ]
-                ]
-              ]
-            , mkElement qn15 []
-              [ mkElement qn6 []
-                [ mkElement qn11 [] []
-                , mkElement qn20 []
-                  [ mkElement qn21
-                    [ mkAttr qn16 [ mkText "16" ]
-                    ] []
-                  ]
-                ]
-              , mkElement qn20 []
-                [ mkElement qn6 []
-                  [ mkElement qn6 []
-                    [ mkElement qn6 []
-                      [ mkElement qn6 []
-                        [ mkElement qn6 []
-                          [ mkElement qn6 []
-                            [ mkElement qn6 []
-                              [ mkElement qn6 []
-                                [ mkElement qn6 []
-                                  [ mkElement qn6 []
-                                    [ mkElement qn6 []
-                                      [ mkElement qn6 []
-                                        [ mkElement qn6 []
-                                          [ mkElement qn6 []
-                                            [ mkElement qn6 []
-                                              [ mkElement qn6 []
-                                                [ mkElement qn6 []
-                                                  [ mkElement qn6 []
-                                                    [ mkElement qn21
-                                                      [ mkAttr qn16 [ mkText "25" ]
-                                                      ] []
-                                                    , mkElement qn21
-                                                      [ mkAttr qn16 [ mkText "26" ]
-                                                      ] []
-                                                    ]
-                                                  , mkElement qn21
-                                                    [ mkAttr qn16 [ mkText "27" ]
-                                                    ] []
-                                                  ]
-                                                , mkElement qn21
-                                                  [ mkAttr qn16 [ mkText "28" ]
-                                                  ] []
-                                                ]
-                                              , mkElement qn21
-                                                [ mkAttr qn16 [ mkText "29" ]
-                                                ] []
-                                              ]
-                                            , mkElement qn21
-                                              [ mkAttr qn16 [ mkText "30" ]
-                                              ] []
-                                            ]
-                                          , mkElement qn21
-                                            [ mkAttr qn16 [ mkText "31" ]
-                                            ] []
-                                          ]
-                                        , mkElement qn21
-                                          [ mkAttr qn16 [ mkText "32" ]
-                                          ] []
-                                        ]
-                                      , mkElement qn21
-                                        [ mkAttr qn16 [ mkText "33" ]
-                                        ] []
-                                      ]
-                                    , mkElement qn21
-                                      [ mkAttr qn16 [ mkText "34" ]
-                                      ] []
-                                    ]
-                                  , mkElement qn21
-                                    [ mkAttr qn16 [ mkText "35" ]
-                                    ] []
-                                  ]
-                                , mkElement qn21
-                                  [ mkAttr qn16 [ mkText "36" ]
-                                  ] []
-                                ]
-                              , mkElement qn21
-                                [ mkAttr qn16 [ mkText "37" ]
-                                ] []
-                              ]
-                            , mkElement qn21
-                              [ mkAttr qn16 [ mkText "38" ]
-                              ] []
-                            ]
-                          , mkElement qn21
-                            [ mkAttr qn16 [ mkText "39" ]
-                            ] []
-                          ]
-                        , mkElement qn21
-                          [ mkAttr qn16 [ mkText "40" ]
-                          ] []
-                        ]
-                      , mkElement qn21
-                        [ mkAttr qn16 [ mkText "43" ]
-                        ] []
-                      ]
-                    , mkElement qn21
-                      [ mkAttr qn16 [ mkText "44" ]
-                      ] []
-                    ]
-                  , mkElement qn21
-                    [ mkAttr qn16 [ mkText "14" ]
-                    ] []
-                  ]
-                ]
-              ]
-            ]
-          ]
-        ]
-      , mkElement qn9
-        [ mkAttr qn16 [ mkText "32" ]
-        ]
-        [ mkElement qn10 []
-          [ mkElement qn17
-            [ mkAttr qn18 [ mkText "http://relaxng.org/ns/structure/1.0" ]
-            ]
-            [ mkText "oneOrMore"
-            ]
-          , mkElement qn14 []
-            [ mkElement qn14 []
-              [ mkElement qn14 []
-                [ mkElement qn6 []
-                  [ mkElement qn11 [] []
-                  , mkElement qn5 []
-                    [ mkElement qn17
-                      [ mkAttr qn18 [ mkText "" ]
-                      ]
-                      [ mkText "ns"
-                      ]
-                    , mkElement qn23 [] []
-                    ]
-                  ]
-                , mkElement qn6 []
-                  [ mkElement qn11 [] []
-                  , mkElement qn5 []
-                    [ mkElement qn17
-                      [ mkAttr qn18 [ mkText "" ]
-                      ]
-                      [ mkText "datatypeLibrary"
-                      ]
-                    , mkElement qn7
-                      [ mkAttr qn24 [ mkText "anyURI" ]
-                      , mkAttr qn8 [ mkText "http://www.w3.org/2001/XMLSchema-datatypes" ]
-                      ] []
-                    ]
-                  ]
-                ]
-              , mkElement qn6 []
-                [ mkElement qn11 [] []
-                , mkElement qn20 []
-                  [ mkElement qn5 []
-                    [ mkElement qn4 []
-                      [ mkElement qn12 []
-                        [ mkElement qn6 []
-                          [ mkElement qn19
-                            [ mkAttr qn18 [ mkText "http://relaxng.org/ns/structure/1.0" ]
-                            ] []
-                          , mkElement qn19
-                            [ mkAttr qn18 [ mkText "" ]
-                            ] []
-                          ]
-                        ]
-                      ]
-                    , mkElement qn23 [] []
-                    ]
-                  ]
-                ]
-              ]
-            , mkElement qn15 []
-              [ mkElement qn6 []
-                [ mkElement qn11 [] []
-                , mkElement qn20 []
-                  [ mkElement qn21
-                    [ mkAttr qn16 [ mkText "16" ]
-                    ] []
-                  ]
-                ]
-              , mkElement qn20 []
-                [ mkElement qn6 []
-                  [ mkElement qn6 []
-                    [ mkElement qn6 []
-                      [ mkElement qn6 []
-                        [ mkElement qn6 []
-                          [ mkElement qn6 []
-                            [ mkElement qn6 []
-                              [ mkElement qn6 []
-                                [ mkElement qn6 []
-                                  [ mkElement qn6 []
-                                    [ mkElement qn6 []
-                                      [ mkElement qn6 []
-                                        [ mkElement qn6 []
-                                          [ mkElement qn6 []
-                                            [ mkElement qn6 []
-                                              [ mkElement qn6 []
-                                                [ mkElement qn6 []
-                                                  [ mkElement qn6 []
-                                                    [ mkElement qn21
-                                                      [ mkAttr qn16 [ mkText "25" ]
-                                                      ] []
-                                                    , mkElement qn21
-                                                      [ mkAttr qn16 [ mkText "26" ]
-                                                      ] []
-                                                    ]
-                                                  , mkElement qn21
-                                                    [ mkAttr qn16 [ mkText "27" ]
-                                                    ] []
-                                                  ]
-                                                , mkElement qn21
-                                                  [ mkAttr qn16 [ mkText "28" ]
-                                                  ] []
-                                                ]
-                                              , mkElement qn21
-                                                [ mkAttr qn16 [ mkText "29" ]
-                                                ] []
-                                              ]
-                                            , mkElement qn21
-                                              [ mkAttr qn16 [ mkText "30" ]
-                                              ] []
-                                            ]
-                                          , mkElement qn21
-                                            [ mkAttr qn16 [ mkText "31" ]
-                                            ] []
-                                          ]
-                                        , mkElement qn21
-                                          [ mkAttr qn16 [ mkText "32" ]
-                                          ] []
-                                        ]
-                                      , mkElement qn21
-                                        [ mkAttr qn16 [ mkText "33" ]
-                                        ] []
-                                      ]
-                                    , mkElement qn21
-                                      [ mkAttr qn16 [ mkText "34" ]
-                                      ] []
-                                    ]
-                                  , mkElement qn21
-                                    [ mkAttr qn16 [ mkText "35" ]
-                                    ] []
-                                  ]
-                                , mkElement qn21
-                                  [ mkAttr qn16 [ mkText "36" ]
-                                  ] []
-                                ]
-                              , mkElement qn21
-                                [ mkAttr qn16 [ mkText "37" ]
-                                ] []
-                              ]
-                            , mkElement qn21
-                              [ mkAttr qn16 [ mkText "38" ]
-                              ] []
-                            ]
-                          , mkElement qn21
-                            [ mkAttr qn16 [ mkText "39" ]
-                            ] []
-                          ]
-                        , mkElement qn21
-                          [ mkAttr qn16 [ mkText "40" ]
-                          ] []
-                        ]
-                      , mkElement qn21
-                        [ mkAttr qn16 [ mkText "43" ]
-                        ] []
-                      ]
-                    , mkElement qn21
-                      [ mkAttr qn16 [ mkText "44" ]
-                      ] []
-                    ]
-                  , mkElement qn21
-                    [ mkAttr qn16 [ mkText "14" ]
-                    ] []
-                  ]
-                ]
-              ]
-            ]
-          ]
-        ]
-      , mkElement qn9
-        [ mkAttr qn16 [ mkText "31" ]
-        ]
-        [ mkElement qn10 []
-          [ mkElement qn17
-            [ mkAttr qn18 [ mkText "http://relaxng.org/ns/structure/1.0" ]
-            ]
-            [ mkText "zeroOrMore"
-            ]
-          , mkElement qn14 []
-            [ mkElement qn14 []
-              [ mkElement qn14 []
-                [ mkElement qn6 []
-                  [ mkElement qn11 [] []
-                  , mkElement qn5 []
-                    [ mkElement qn17
-                      [ mkAttr qn18 [ mkText "" ]
-                      ]
-                      [ mkText "ns"
-                      ]
-                    , mkElement qn23 [] []
-                    ]
-                  ]
-                , mkElement qn6 []
-                  [ mkElement qn11 [] []
-                  , mkElement qn5 []
-                    [ mkElement qn17
-                      [ mkAttr qn18 [ mkText "" ]
-                      ]
-                      [ mkText "datatypeLibrary"
-                      ]
-                    , mkElement qn7
-                      [ mkAttr qn24 [ mkText "anyURI" ]
-                      , mkAttr qn8 [ mkText "http://www.w3.org/2001/XMLSchema-datatypes" ]
-                      ] []
-                    ]
-                  ]
-                ]
-              , mkElement qn6 []
-                [ mkElement qn11 [] []
-                , mkElement qn20 []
-                  [ mkElement qn5 []
-                    [ mkElement qn4 []
-                      [ mkElement qn12 []
-                        [ mkElement qn6 []
-                          [ mkElement qn19
-                            [ mkAttr qn18 [ mkText "http://relaxng.org/ns/structure/1.0" ]
-                            ] []
-                          , mkElement qn19
-                            [ mkAttr qn18 [ mkText "" ]
-                            ] []
-                          ]
-                        ]
-                      ]
-                    , mkElement qn23 [] []
-                    ]
-                  ]
-                ]
-              ]
-            , mkElement qn15 []
-              [ mkElement qn6 []
-                [ mkElement qn11 [] []
-                , mkElement qn20 []
-                  [ mkElement qn21
-                    [ mkAttr qn16 [ mkText "16" ]
-                    ] []
-                  ]
-                ]
-              , mkElement qn20 []
-                [ mkElement qn6 []
-                  [ mkElement qn6 []
-                    [ mkElement qn6 []
-                      [ mkElement qn6 []
-                        [ mkElement qn6 []
-                          [ mkElement qn6 []
-                            [ mkElement qn6 []
-                              [ mkElement qn6 []
-                                [ mkElement qn6 []
-                                  [ mkElement qn6 []
-                                    [ mkElement qn6 []
-                                      [ mkElement qn6 []
-                                        [ mkElement qn6 []
-                                          [ mkElement qn6 []
-                                            [ mkElement qn6 []
-                                              [ mkElement qn6 []
-                                                [ mkElement qn6 []
-                                                  [ mkElement qn6 []
-                                                    [ mkElement qn21
-                                                      [ mkAttr qn16 [ mkText "25" ]
-                                                      ] []
-                                                    , mkElement qn21
-                                                      [ mkAttr qn16 [ mkText "26" ]
-                                                      ] []
-                                                    ]
-                                                  , mkElement qn21
-                                                    [ mkAttr qn16 [ mkText "27" ]
-                                                    ] []
-                                                  ]
-                                                , mkElement qn21
-                                                  [ mkAttr qn16 [ mkText "28" ]
-                                                  ] []
-                                                ]
-                                              , mkElement qn21
-                                                [ mkAttr qn16 [ mkText "29" ]
-                                                ] []
-                                              ]
-                                            , mkElement qn21
-                                              [ mkAttr qn16 [ mkText "30" ]
-                                              ] []
-                                            ]
-                                          , mkElement qn21
-                                            [ mkAttr qn16 [ mkText "31" ]
-                                            ] []
-                                          ]
-                                        , mkElement qn21
-                                          [ mkAttr qn16 [ mkText "32" ]
-                                          ] []
-                                        ]
-                                      , mkElement qn21
-                                        [ mkAttr qn16 [ mkText "33" ]
-                                        ] []
-                                      ]
-                                    , mkElement qn21
-                                      [ mkAttr qn16 [ mkText "34" ]
-                                      ] []
-                                    ]
-                                  , mkElement qn21
-                                    [ mkAttr qn16 [ mkText "35" ]
-                                    ] []
-                                  ]
-                                , mkElement qn21
-                                  [ mkAttr qn16 [ mkText "36" ]
-                                  ] []
-                                ]
-                              , mkElement qn21
-                                [ mkAttr qn16 [ mkText "37" ]
-                                ] []
-                              ]
-                            , mkElement qn21
-                              [ mkAttr qn16 [ mkText "38" ]
-                              ] []
-                            ]
-                          , mkElement qn21
-                            [ mkAttr qn16 [ mkText "39" ]
-                            ] []
-                          ]
-                        , mkElement qn21
-                          [ mkAttr qn16 [ mkText "40" ]
-                          ] []
-                        ]
-                      , mkElement qn21
-                        [ mkAttr qn16 [ mkText "43" ]
-                        ] []
-                      ]
-                    , mkElement qn21
-                      [ mkAttr qn16 [ mkText "44" ]
-                      ] []
-                    ]
-                  , mkElement qn21
-                    [ mkAttr qn16 [ mkText "14" ]
-                    ] []
-                  ]
-                ]
-              ]
-            ]
-          ]
-        ]
-      , mkElement qn9
-        [ mkAttr qn16 [ mkText "30" ]
-        ]
-        [ mkElement qn10 []
-          [ mkElement qn17
-            [ mkAttr qn18 [ mkText "http://relaxng.org/ns/structure/1.0" ]
-            ]
-            [ mkText "optional"
-            ]
-          , mkElement qn14 []
-            [ mkElement qn14 []
-              [ mkElement qn14 []
-                [ mkElement qn6 []
-                  [ mkElement qn11 [] []
-                  , mkElement qn5 []
-                    [ mkElement qn17
-                      [ mkAttr qn18 [ mkText "" ]
-                      ]
-                      [ mkText "ns"
-                      ]
-                    , mkElement qn23 [] []
-                    ]
-                  ]
-                , mkElement qn6 []
-                  [ mkElement qn11 [] []
-                  , mkElement qn5 []
-                    [ mkElement qn17
-                      [ mkAttr qn18 [ mkText "" ]
-                      ]
-                      [ mkText "datatypeLibrary"
-                      ]
-                    , mkElement qn7
-                      [ mkAttr qn24 [ mkText "anyURI" ]
-                      , mkAttr qn8 [ mkText "http://www.w3.org/2001/XMLSchema-datatypes" ]
-                      ] []
-                    ]
-                  ]
-                ]
-              , mkElement qn6 []
-                [ mkElement qn11 [] []
-                , mkElement qn20 []
-                  [ mkElement qn5 []
-                    [ mkElement qn4 []
-                      [ mkElement qn12 []
-                        [ mkElement qn6 []
-                          [ mkElement qn19
-                            [ mkAttr qn18 [ mkText "http://relaxng.org/ns/structure/1.0" ]
-                            ] []
-                          , mkElement qn19
-                            [ mkAttr qn18 [ mkText "" ]
-                            ] []
-                          ]
-                        ]
-                      ]
-                    , mkElement qn23 [] []
-                    ]
-                  ]
-                ]
-              ]
-            , mkElement qn15 []
-              [ mkElement qn6 []
-                [ mkElement qn11 [] []
-                , mkElement qn20 []
-                  [ mkElement qn21
-                    [ mkAttr qn16 [ mkText "16" ]
-                    ] []
-                  ]
-                ]
-              , mkElement qn20 []
-                [ mkElement qn6 []
-                  [ mkElement qn6 []
-                    [ mkElement qn6 []
-                      [ mkElement qn6 []
-                        [ mkElement qn6 []
-                          [ mkElement qn6 []
-                            [ mkElement qn6 []
-                              [ mkElement qn6 []
-                                [ mkElement qn6 []
-                                  [ mkElement qn6 []
-                                    [ mkElement qn6 []
-                                      [ mkElement qn6 []
-                                        [ mkElement qn6 []
-                                          [ mkElement qn6 []
-                                            [ mkElement qn6 []
-                                              [ mkElement qn6 []
-                                                [ mkElement qn6 []
-                                                  [ mkElement qn6 []
-                                                    [ mkElement qn21
-                                                      [ mkAttr qn16 [ mkText "25" ]
-                                                      ] []
-                                                    , mkElement qn21
-                                                      [ mkAttr qn16 [ mkText "26" ]
-                                                      ] []
-                                                    ]
-                                                  , mkElement qn21
-                                                    [ mkAttr qn16 [ mkText "27" ]
-                                                    ] []
-                                                  ]
-                                                , mkElement qn21
-                                                  [ mkAttr qn16 [ mkText "28" ]
-                                                  ] []
-                                                ]
-                                              , mkElement qn21
-                                                [ mkAttr qn16 [ mkText "29" ]
-                                                ] []
-                                              ]
-                                            , mkElement qn21
-                                              [ mkAttr qn16 [ mkText "30" ]
-                                              ] []
-                                            ]
-                                          , mkElement qn21
-                                            [ mkAttr qn16 [ mkText "31" ]
-                                            ] []
-                                          ]
-                                        , mkElement qn21
-                                          [ mkAttr qn16 [ mkText "32" ]
-                                          ] []
-                                        ]
-                                      , mkElement qn21
-                                        [ mkAttr qn16 [ mkText "33" ]
-                                        ] []
-                                      ]
-                                    , mkElement qn21
-                                      [ mkAttr qn16 [ mkText "34" ]
-                                      ] []
-                                    ]
-                                  , mkElement qn21
-                                    [ mkAttr qn16 [ mkText "35" ]
-                                    ] []
-                                  ]
-                                , mkElement qn21
-                                  [ mkAttr qn16 [ mkText "36" ]
-                                  ] []
-                                ]
-                              , mkElement qn21
-                                [ mkAttr qn16 [ mkText "37" ]
-                                ] []
-                              ]
-                            , mkElement qn21
-                              [ mkAttr qn16 [ mkText "38" ]
-                              ] []
-                            ]
-                          , mkElement qn21
-                            [ mkAttr qn16 [ mkText "39" ]
-                            ] []
-                          ]
-                        , mkElement qn21
-                          [ mkAttr qn16 [ mkText "40" ]
-                          ] []
-                        ]
-                      , mkElement qn21
-                        [ mkAttr qn16 [ mkText "43" ]
-                        ] []
-                      ]
-                    , mkElement qn21
-                      [ mkAttr qn16 [ mkText "44" ]
-                      ] []
-                    ]
-                  , mkElement qn21
-                    [ mkAttr qn16 [ mkText "14" ]
-                    ] []
-                  ]
-                ]
-              ]
-            ]
-          ]
-        ]
-      , mkElement qn9
-        [ mkAttr qn16 [ mkText "29" ]
-        ]
-        [ mkElement qn10 []
-          [ mkElement qn17
-            [ mkAttr qn18 [ mkText "http://relaxng.org/ns/structure/1.0" ]
-            ]
-            [ mkText "choice"
-            ]
-          , mkElement qn14 []
-            [ mkElement qn14 []
-              [ mkElement qn14 []
-                [ mkElement qn6 []
-                  [ mkElement qn11 [] []
-                  , mkElement qn5 []
-                    [ mkElement qn17
-                      [ mkAttr qn18 [ mkText "" ]
-                      ]
-                      [ mkText "ns"
-                      ]
-                    , mkElement qn23 [] []
-                    ]
-                  ]
-                , mkElement qn6 []
-                  [ mkElement qn11 [] []
-                  , mkElement qn5 []
-                    [ mkElement qn17
-                      [ mkAttr qn18 [ mkText "" ]
-                      ]
-                      [ mkText "datatypeLibrary"
-                      ]
-                    , mkElement qn7
-                      [ mkAttr qn24 [ mkText "anyURI" ]
-                      , mkAttr qn8 [ mkText "http://www.w3.org/2001/XMLSchema-datatypes" ]
-                      ] []
-                    ]
-                  ]
-                ]
-              , mkElement qn6 []
-                [ mkElement qn11 [] []
-                , mkElement qn20 []
-                  [ mkElement qn5 []
-                    [ mkElement qn4 []
-                      [ mkElement qn12 []
-                        [ mkElement qn6 []
-                          [ mkElement qn19
-                            [ mkAttr qn18 [ mkText "http://relaxng.org/ns/structure/1.0" ]
-                            ] []
-                          , mkElement qn19
-                            [ mkAttr qn18 [ mkText "" ]
-                            ] []
-                          ]
-                        ]
-                      ]
-                    , mkElement qn23 [] []
-                    ]
-                  ]
-                ]
-              ]
-            , mkElement qn15 []
-              [ mkElement qn6 []
-                [ mkElement qn11 [] []
-                , mkElement qn20 []
-                  [ mkElement qn21
-                    [ mkAttr qn16 [ mkText "16" ]
-                    ] []
-                  ]
-                ]
-              , mkElement qn20 []
-                [ mkElement qn6 []
-                  [ mkElement qn6 []
-                    [ mkElement qn6 []
-                      [ mkElement qn6 []
-                        [ mkElement qn6 []
-                          [ mkElement qn6 []
-                            [ mkElement qn6 []
-                              [ mkElement qn6 []
-                                [ mkElement qn6 []
-                                  [ mkElement qn6 []
-                                    [ mkElement qn6 []
-                                      [ mkElement qn6 []
-                                        [ mkElement qn6 []
-                                          [ mkElement qn6 []
-                                            [ mkElement qn6 []
-                                              [ mkElement qn6 []
-                                                [ mkElement qn6 []
-                                                  [ mkElement qn6 []
-                                                    [ mkElement qn21
-                                                      [ mkAttr qn16 [ mkText "25" ]
-                                                      ] []
-                                                    , mkElement qn21
-                                                      [ mkAttr qn16 [ mkText "26" ]
-                                                      ] []
-                                                    ]
-                                                  , mkElement qn21
-                                                    [ mkAttr qn16 [ mkText "27" ]
-                                                    ] []
-                                                  ]
-                                                , mkElement qn21
-                                                  [ mkAttr qn16 [ mkText "28" ]
-                                                  ] []
-                                                ]
-                                              , mkElement qn21
-                                                [ mkAttr qn16 [ mkText "29" ]
-                                                ] []
-                                              ]
-                                            , mkElement qn21
-                                              [ mkAttr qn16 [ mkText "30" ]
-                                              ] []
-                                            ]
-                                          , mkElement qn21
-                                            [ mkAttr qn16 [ mkText "31" ]
-                                            ] []
-                                          ]
-                                        , mkElement qn21
-                                          [ mkAttr qn16 [ mkText "32" ]
-                                          ] []
-                                        ]
-                                      , mkElement qn21
-                                        [ mkAttr qn16 [ mkText "33" ]
-                                        ] []
-                                      ]
-                                    , mkElement qn21
-                                      [ mkAttr qn16 [ mkText "34" ]
-                                      ] []
-                                    ]
-                                  , mkElement qn21
-                                    [ mkAttr qn16 [ mkText "35" ]
-                                    ] []
-                                  ]
-                                , mkElement qn21
-                                  [ mkAttr qn16 [ mkText "36" ]
-                                  ] []
-                                ]
-                              , mkElement qn21
-                                [ mkAttr qn16 [ mkText "37" ]
-                                ] []
-                              ]
-                            , mkElement qn21
-                              [ mkAttr qn16 [ mkText "38" ]
-                              ] []
-                            ]
-                          , mkElement qn21
-                            [ mkAttr qn16 [ mkText "39" ]
-                            ] []
-                          ]
-                        , mkElement qn21
-                          [ mkAttr qn16 [ mkText "40" ]
-                          ] []
-                        ]
-                      , mkElement qn21
-                        [ mkAttr qn16 [ mkText "43" ]
-                        ] []
-                      ]
-                    , mkElement qn21
-                      [ mkAttr qn16 [ mkText "44" ]
-                      ] []
-                    ]
-                  , mkElement qn21
-                    [ mkAttr qn16 [ mkText "14" ]
-                    ] []
-                  ]
-                ]
-              ]
-            ]
-          ]
-        ]
-      , mkElement qn9
-        [ mkAttr qn16 [ mkText "28" ]
-        ]
-        [ mkElement qn10 []
-          [ mkElement qn17
-            [ mkAttr qn18 [ mkText "http://relaxng.org/ns/structure/1.0" ]
-            ]
-            [ mkText "interleave"
-            ]
-          , mkElement qn14 []
-            [ mkElement qn14 []
-              [ mkElement qn14 []
-                [ mkElement qn6 []
-                  [ mkElement qn11 [] []
-                  , mkElement qn5 []
-                    [ mkElement qn17
-                      [ mkAttr qn18 [ mkText "" ]
-                      ]
-                      [ mkText "ns"
-                      ]
-                    , mkElement qn23 [] []
-                    ]
-                  ]
-                , mkElement qn6 []
-                  [ mkElement qn11 [] []
-                  , mkElement qn5 []
-                    [ mkElement qn17
-                      [ mkAttr qn18 [ mkText "" ]
-                      ]
-                      [ mkText "datatypeLibrary"
-                      ]
-                    , mkElement qn7
-                      [ mkAttr qn24 [ mkText "anyURI" ]
-                      , mkAttr qn8 [ mkText "http://www.w3.org/2001/XMLSchema-datatypes" ]
-                      ] []
-                    ]
-                  ]
-                ]
-              , mkElement qn6 []
-                [ mkElement qn11 [] []
-                , mkElement qn20 []
-                  [ mkElement qn5 []
-                    [ mkElement qn4 []
-                      [ mkElement qn12 []
-                        [ mkElement qn6 []
-                          [ mkElement qn19
-                            [ mkAttr qn18 [ mkText "http://relaxng.org/ns/structure/1.0" ]
-                            ] []
-                          , mkElement qn19
-                            [ mkAttr qn18 [ mkText "" ]
-                            ] []
-                          ]
-                        ]
-                      ]
-                    , mkElement qn23 [] []
-                    ]
-                  ]
-                ]
-              ]
-            , mkElement qn15 []
-              [ mkElement qn6 []
-                [ mkElement qn11 [] []
-                , mkElement qn20 []
-                  [ mkElement qn21
-                    [ mkAttr qn16 [ mkText "16" ]
-                    ] []
-                  ]
-                ]
-              , mkElement qn20 []
-                [ mkElement qn6 []
-                  [ mkElement qn6 []
-                    [ mkElement qn6 []
-                      [ mkElement qn6 []
-                        [ mkElement qn6 []
-                          [ mkElement qn6 []
-                            [ mkElement qn6 []
-                              [ mkElement qn6 []
-                                [ mkElement qn6 []
-                                  [ mkElement qn6 []
-                                    [ mkElement qn6 []
-                                      [ mkElement qn6 []
-                                        [ mkElement qn6 []
-                                          [ mkElement qn6 []
-                                            [ mkElement qn6 []
-                                              [ mkElement qn6 []
-                                                [ mkElement qn6 []
-                                                  [ mkElement qn6 []
-                                                    [ mkElement qn21
-                                                      [ mkAttr qn16 [ mkText "25" ]
-                                                      ] []
-                                                    , mkElement qn21
-                                                      [ mkAttr qn16 [ mkText "26" ]
-                                                      ] []
-                                                    ]
-                                                  , mkElement qn21
-                                                    [ mkAttr qn16 [ mkText "27" ]
-                                                    ] []
-                                                  ]
-                                                , mkElement qn21
-                                                  [ mkAttr qn16 [ mkText "28" ]
-                                                  ] []
-                                                ]
-                                              , mkElement qn21
-                                                [ mkAttr qn16 [ mkText "29" ]
-                                                ] []
-                                              ]
-                                            , mkElement qn21
-                                              [ mkAttr qn16 [ mkText "30" ]
-                                              ] []
-                                            ]
-                                          , mkElement qn21
-                                            [ mkAttr qn16 [ mkText "31" ]
-                                            ] []
-                                          ]
-                                        , mkElement qn21
-                                          [ mkAttr qn16 [ mkText "32" ]
-                                          ] []
-                                        ]
-                                      , mkElement qn21
-                                        [ mkAttr qn16 [ mkText "33" ]
-                                        ] []
-                                      ]
-                                    , mkElement qn21
-                                      [ mkAttr qn16 [ mkText "34" ]
-                                      ] []
-                                    ]
-                                  , mkElement qn21
-                                    [ mkAttr qn16 [ mkText "35" ]
-                                    ] []
-                                  ]
-                                , mkElement qn21
-                                  [ mkAttr qn16 [ mkText "36" ]
-                                  ] []
-                                ]
-                              , mkElement qn21
-                                [ mkAttr qn16 [ mkText "37" ]
-                                ] []
-                              ]
-                            , mkElement qn21
-                              [ mkAttr qn16 [ mkText "38" ]
-                              ] []
-                            ]
-                          , mkElement qn21
-                            [ mkAttr qn16 [ mkText "39" ]
-                            ] []
-                          ]
-                        , mkElement qn21
-                          [ mkAttr qn16 [ mkText "40" ]
-                          ] []
-                        ]
-                      , mkElement qn21
-                        [ mkAttr qn16 [ mkText "43" ]
-                        ] []
-                      ]
-                    , mkElement qn21
-                      [ mkAttr qn16 [ mkText "44" ]
-                      ] []
-                    ]
-                  , mkElement qn21
-                    [ mkAttr qn16 [ mkText "14" ]
-                    ] []
-                  ]
-                ]
-              ]
-            ]
-          ]
-        ]
-      , mkElement qn9
-        [ mkAttr qn16 [ mkText "27" ]
-        ]
-        [ mkElement qn10 []
-          [ mkElement qn17
-            [ mkAttr qn18 [ mkText "http://relaxng.org/ns/structure/1.0" ]
-            ]
-            [ mkText "group"
-            ]
-          , mkElement qn14 []
-            [ mkElement qn14 []
-              [ mkElement qn14 []
-                [ mkElement qn6 []
-                  [ mkElement qn11 [] []
-                  , mkElement qn5 []
-                    [ mkElement qn17
-                      [ mkAttr qn18 [ mkText "" ]
-                      ]
-                      [ mkText "ns"
-                      ]
-                    , mkElement qn23 [] []
-                    ]
-                  ]
-                , mkElement qn6 []
-                  [ mkElement qn11 [] []
-                  , mkElement qn5 []
-                    [ mkElement qn17
-                      [ mkAttr qn18 [ mkText "" ]
-                      ]
-                      [ mkText "datatypeLibrary"
-                      ]
-                    , mkElement qn7
-                      [ mkAttr qn24 [ mkText "anyURI" ]
-                      , mkAttr qn8 [ mkText "http://www.w3.org/2001/XMLSchema-datatypes" ]
-                      ] []
-                    ]
-                  ]
-                ]
-              , mkElement qn6 []
-                [ mkElement qn11 [] []
-                , mkElement qn20 []
-                  [ mkElement qn5 []
-                    [ mkElement qn4 []
-                      [ mkElement qn12 []
-                        [ mkElement qn6 []
-                          [ mkElement qn19
-                            [ mkAttr qn18 [ mkText "http://relaxng.org/ns/structure/1.0" ]
-                            ] []
-                          , mkElement qn19
-                            [ mkAttr qn18 [ mkText "" ]
-                            ] []
-                          ]
-                        ]
-                      ]
-                    , mkElement qn23 [] []
-                    ]
-                  ]
-                ]
-              ]
-            , mkElement qn15 []
-              [ mkElement qn6 []
-                [ mkElement qn11 [] []
-                , mkElement qn20 []
-                  [ mkElement qn21
-                    [ mkAttr qn16 [ mkText "16" ]
-                    ] []
-                  ]
-                ]
-              , mkElement qn20 []
-                [ mkElement qn6 []
-                  [ mkElement qn6 []
-                    [ mkElement qn6 []
-                      [ mkElement qn6 []
-                        [ mkElement qn6 []
-                          [ mkElement qn6 []
-                            [ mkElement qn6 []
-                              [ mkElement qn6 []
-                                [ mkElement qn6 []
-                                  [ mkElement qn6 []
-                                    [ mkElement qn6 []
-                                      [ mkElement qn6 []
-                                        [ mkElement qn6 []
-                                          [ mkElement qn6 []
-                                            [ mkElement qn6 []
-                                              [ mkElement qn6 []
-                                                [ mkElement qn6 []
-                                                  [ mkElement qn6 []
-                                                    [ mkElement qn21
-                                                      [ mkAttr qn16 [ mkText "25" ]
-                                                      ] []
-                                                    , mkElement qn21
-                                                      [ mkAttr qn16 [ mkText "26" ]
-                                                      ] []
-                                                    ]
-                                                  , mkElement qn21
-                                                    [ mkAttr qn16 [ mkText "27" ]
-                                                    ] []
-                                                  ]
-                                                , mkElement qn21
-                                                  [ mkAttr qn16 [ mkText "28" ]
-                                                  ] []
-                                                ]
-                                              , mkElement qn21
-                                                [ mkAttr qn16 [ mkText "29" ]
-                                                ] []
-                                              ]
-                                            , mkElement qn21
-                                              [ mkAttr qn16 [ mkText "30" ]
-                                              ] []
-                                            ]
-                                          , mkElement qn21
-                                            [ mkAttr qn16 [ mkText "31" ]
-                                            ] []
-                                          ]
-                                        , mkElement qn21
-                                          [ mkAttr qn16 [ mkText "32" ]
-                                          ] []
-                                        ]
-                                      , mkElement qn21
-                                        [ mkAttr qn16 [ mkText "33" ]
-                                        ] []
-                                      ]
-                                    , mkElement qn21
-                                      [ mkAttr qn16 [ mkText "34" ]
-                                      ] []
-                                    ]
-                                  , mkElement qn21
-                                    [ mkAttr qn16 [ mkText "35" ]
-                                    ] []
-                                  ]
-                                , mkElement qn21
-                                  [ mkAttr qn16 [ mkText "36" ]
-                                  ] []
-                                ]
-                              , mkElement qn21
-                                [ mkAttr qn16 [ mkText "37" ]
-                                ] []
-                              ]
-                            , mkElement qn21
-                              [ mkAttr qn16 [ mkText "38" ]
-                              ] []
-                            ]
-                          , mkElement qn21
-                            [ mkAttr qn16 [ mkText "39" ]
-                            ] []
-                          ]
-                        , mkElement qn21
-                          [ mkAttr qn16 [ mkText "40" ]
-                          ] []
-                        ]
-                      , mkElement qn21
-                        [ mkAttr qn16 [ mkText "43" ]
-                        ] []
-                      ]
-                    , mkElement qn21
-                      [ mkAttr qn16 [ mkText "44" ]
-                      ] []
-                    ]
-                  , mkElement qn21
-                    [ mkAttr qn16 [ mkText "14" ]
-                    ] []
-                  ]
-                ]
-              ]
-            ]
-          ]
-        ]
-      , mkElement qn9
-        [ mkAttr qn16 [ mkText "26" ]
-        ]
-        [ mkElement qn10 []
-          [ mkElement qn17
-            [ mkAttr qn18 [ mkText "http://relaxng.org/ns/structure/1.0" ]
-            ]
-            [ mkText "attribute"
-            ]
-          , mkElement qn14 []
-            [ mkElement qn14 []
-              [ mkElement qn14 []
-                [ mkElement qn14 []
-                  [ mkElement qn6 []
-                    [ mkElement qn11 [] []
-                    , mkElement qn5 []
-                      [ mkElement qn17
-                        [ mkAttr qn18 [ mkText "" ]
-                        ]
-                        [ mkText "ns"
-                        ]
-                      , mkElement qn23 [] []
-                      ]
-                    ]
-                  , mkElement qn6 []
-                    [ mkElement qn11 [] []
-                    , mkElement qn5 []
-                      [ mkElement qn17
-                        [ mkAttr qn18 [ mkText "" ]
-                        ]
-                        [ mkText "datatypeLibrary"
-                        ]
-                      , mkElement qn7
-                        [ mkAttr qn24 [ mkText "anyURI" ]
-                        , mkAttr qn8 [ mkText "http://www.w3.org/2001/XMLSchema-datatypes" ]
-                        ] []
-                      ]
-                    ]
-                  ]
-                , mkElement qn6 []
-                  [ mkElement qn11 [] []
-                  , mkElement qn20 []
-                    [ mkElement qn5 []
-                      [ mkElement qn4 []
-                        [ mkElement qn12 []
-                          [ mkElement qn6 []
-                            [ mkElement qn19
-                              [ mkAttr qn18 [ mkText "http://relaxng.org/ns/structure/1.0" ]
-                              ] []
-                            , mkElement qn19
-                              [ mkAttr qn18 [ mkText "" ]
-                              ] []
-                            ]
-                          ]
-                        ]
-                      , mkElement qn23 [] []
-                      ]
-                    ]
-                  ]
-                ]
-              , mkElement qn6 []
-                [ mkElement qn5 []
-                  [ mkElement qn17
-                    [ mkAttr qn18 [ mkText "" ]
-                    ]
-                    [ mkText "name"
-                    ]
-                  , mkElement qn7
-                    [ mkAttr qn24 [ mkText "QName" ]
-                    , mkAttr qn8 [ mkText "http://www.w3.org/2001/XMLSchema-datatypes" ]
-                    ] []
-                  ]
-                , mkElement qn15 []
-                  [ mkElement qn6 []
-                    [ mkElement qn11 [] []
-                    , mkElement qn20 []
-                      [ mkElement qn21
-                        [ mkAttr qn16 [ mkText "16" ]
-                        ] []
-                      ]
-                    ]
-                  , mkElement qn6 []
-                    [ mkElement qn6 []
-                      [ mkElement qn6 []
-                        [ mkElement qn21
-                          [ mkAttr qn16 [ mkText "18" ]
-                          ] []
-                        , mkElement qn21
-                          [ mkAttr qn16 [ mkText "19" ]
-                          ] []
-                        ]
-                      , mkElement qn21
-                        [ mkAttr qn16 [ mkText "20" ]
-                        ] []
-                      ]
-                    , mkElement qn21
-                      [ mkAttr qn16 [ mkText "21" ]
-                      ] []
-                    ]
-                  ]
-                ]
-              ]
-            , mkElement qn15 []
-              [ mkElement qn6 []
-                [ mkElement qn11 [] []
-                , mkElement qn20 []
-                  [ mkElement qn21
-                    [ mkAttr qn16 [ mkText "16" ]
-                    ] []
-                  ]
-                ]
-              , mkElement qn6 []
-                [ mkElement qn11 [] []
-                , mkElement qn6 []
-                  [ mkElement qn6 []
-                    [ mkElement qn6 []
-                      [ mkElement qn6 []
-                        [ mkElement qn6 []
-                          [ mkElement qn6 []
-                            [ mkElement qn6 []
-                              [ mkElement qn6 []
-                                [ mkElement qn6 []
-                                  [ mkElement qn6 []
-                                    [ mkElement qn6 []
-                                      [ mkElement qn6 []
-                                        [ mkElement qn6 []
-                                          [ mkElement qn6 []
-                                            [ mkElement qn6 []
-                                              [ mkElement qn6 []
-                                                [ mkElement qn6 []
-                                                  [ mkElement qn6 []
-                                                    [ mkElement qn21
-                                                      [ mkAttr qn16 [ mkText "25" ]
-                                                      ] []
-                                                    , mkElement qn21
-                                                      [ mkAttr qn16 [ mkText "26" ]
-                                                      ] []
-                                                    ]
-                                                  , mkElement qn21
-                                                    [ mkAttr qn16 [ mkText "27" ]
-                                                    ] []
-                                                  ]
-                                                , mkElement qn21
-                                                  [ mkAttr qn16 [ mkText "28" ]
-                                                  ] []
-                                                ]
-                                              , mkElement qn21
-                                                [ mkAttr qn16 [ mkText "29" ]
-                                                ] []
-                                              ]
-                                            , mkElement qn21
-                                              [ mkAttr qn16 [ mkText "30" ]
-                                              ] []
-                                            ]
-                                          , mkElement qn21
-                                            [ mkAttr qn16 [ mkText "31" ]
-                                            ] []
-                                          ]
-                                        , mkElement qn21
-                                          [ mkAttr qn16 [ mkText "32" ]
-                                          ] []
-                                        ]
-                                      , mkElement qn21
-                                        [ mkAttr qn16 [ mkText "33" ]
-                                        ] []
-                                      ]
-                                    , mkElement qn21
-                                      [ mkAttr qn16 [ mkText "34" ]
-                                      ] []
-                                    ]
-                                  , mkElement qn21
-                                    [ mkAttr qn16 [ mkText "35" ]
-                                    ] []
-                                  ]
-                                , mkElement qn21
-                                  [ mkAttr qn16 [ mkText "36" ]
-                                  ] []
-                                ]
-                              , mkElement qn21
-                                [ mkAttr qn16 [ mkText "37" ]
-                                ] []
-                              ]
-                            , mkElement qn21
-                              [ mkAttr qn16 [ mkText "38" ]
-                              ] []
-                            ]
-                          , mkElement qn21
-                            [ mkAttr qn16 [ mkText "39" ]
-                            ] []
-                          ]
-                        , mkElement qn21
-                          [ mkAttr qn16 [ mkText "40" ]
-                          ] []
-                        ]
-                      , mkElement qn21
-                        [ mkAttr qn16 [ mkText "43" ]
-                        ] []
-                      ]
-                    , mkElement qn21
-                      [ mkAttr qn16 [ mkText "44" ]
-                      ] []
-                    ]
-                  , mkElement qn21
-                    [ mkAttr qn16 [ mkText "14" ]
-                    ] []
-                  ]
-                ]
-              ]
-            ]
-          ]
-        ]
-      , mkElement qn9
-        [ mkAttr qn16 [ mkText "25" ]
-        ]
-        [ mkElement qn10 []
-          [ mkElement qn17
-            [ mkAttr qn18 [ mkText "http://relaxng.org/ns/structure/1.0" ]
-            ]
-            [ mkText "element"
-            ]
-          , mkElement qn14 []
-            [ mkElement qn14 []
-              [ mkElement qn6 []
-                [ mkElement qn5 []
-                  [ mkElement qn17
-                    [ mkAttr qn18 [ mkText "" ]
-                    ]
-                    [ mkText "name"
-                    ]
-                  , mkElement qn7
-                    [ mkAttr qn24 [ mkText "QName" ]
-                    , mkAttr qn8 [ mkText "http://www.w3.org/2001/XMLSchema-datatypes" ]
-                    ] []
-                  ]
-                , mkElement qn15 []
-                  [ mkElement qn6 []
-                    [ mkElement qn11 [] []
-                    , mkElement qn20 []
-                      [ mkElement qn21
-                        [ mkAttr qn16 [ mkText "16" ]
-                        ] []
-                      ]
-                    ]
-                  , mkElement qn6 []
-                    [ mkElement qn6 []
-                      [ mkElement qn6 []
-                        [ mkElement qn21
-                          [ mkAttr qn16 [ mkText "18" ]
-                          ] []
-                        , mkElement qn21
-                          [ mkAttr qn16 [ mkText "19" ]
-                          ] []
-                        ]
-                      , mkElement qn21
-                        [ mkAttr qn16 [ mkText "20" ]
-                        ] []
-                      ]
-                    , mkElement qn21
-                      [ mkAttr qn16 [ mkText "21" ]
-                      ] []
-                    ]
-                  ]
-                ]
-              , mkElement qn14 []
-                [ mkElement qn14 []
-                  [ mkElement qn6 []
-                    [ mkElement qn11 [] []
-                    , mkElement qn5 []
-                      [ mkElement qn17
-                        [ mkAttr qn18 [ mkText "" ]
-                        ]
-                        [ mkText "ns"
-                        ]
-                      , mkElement qn23 [] []
-                      ]
-                    ]
-                  , mkElement qn6 []
-                    [ mkElement qn11 [] []
-                    , mkElement qn5 []
-                      [ mkElement qn17
-                        [ mkAttr qn18 [ mkText "" ]
-                        ]
-                        [ mkText "datatypeLibrary"
-                        ]
-                      , mkElement qn7
-                        [ mkAttr qn24 [ mkText "anyURI" ]
-                        , mkAttr qn8 [ mkText "http://www.w3.org/2001/XMLSchema-datatypes" ]
-                        ] []
-                      ]
-                    ]
-                  ]
-                , mkElement qn6 []
-                  [ mkElement qn11 [] []
-                  , mkElement qn20 []
-                    [ mkElement qn5 []
-                      [ mkElement qn4 []
-                        [ mkElement qn12 []
-                          [ mkElement qn6 []
-                            [ mkElement qn19
-                              [ mkAttr qn18 [ mkText "http://relaxng.org/ns/structure/1.0" ]
-                              ] []
-                            , mkElement qn19
-                              [ mkAttr qn18 [ mkText "" ]
-                              ] []
-                            ]
-                          ]
-                        ]
-                      , mkElement qn23 [] []
-                      ]
-                    ]
-                  ]
-                ]
-              ]
-            , mkElement qn15 []
-              [ mkElement qn6 []
-                [ mkElement qn11 [] []
-                , mkElement qn20 []
-                  [ mkElement qn21
-                    [ mkAttr qn16 [ mkText "16" ]
-                    ] []
-                  ]
-                ]
-              , mkElement qn20 []
-                [ mkElement qn6 []
-                  [ mkElement qn6 []
-                    [ mkElement qn6 []
-                      [ mkElement qn6 []
-                        [ mkElement qn6 []
-                          [ mkElement qn6 []
-                            [ mkElement qn6 []
-                              [ mkElement qn6 []
-                                [ mkElement qn6 []
-                                  [ mkElement qn6 []
-                                    [ mkElement qn6 []
-                                      [ mkElement qn6 []
-                                        [ mkElement qn6 []
-                                          [ mkElement qn6 []
-                                            [ mkElement qn6 []
-                                              [ mkElement qn6 []
-                                                [ mkElement qn6 []
-                                                  [ mkElement qn6 []
-                                                    [ mkElement qn21
-                                                      [ mkAttr qn16 [ mkText "25" ]
-                                                      ] []
-                                                    , mkElement qn21
-                                                      [ mkAttr qn16 [ mkText "26" ]
-                                                      ] []
-                                                    ]
-                                                  , mkElement qn21
-                                                    [ mkAttr qn16 [ mkText "27" ]
-                                                    ] []
-                                                  ]
-                                                , mkElement qn21
-                                                  [ mkAttr qn16 [ mkText "28" ]
-                                                  ] []
-                                                ]
-                                              , mkElement qn21
-                                                [ mkAttr qn16 [ mkText "29" ]
-                                                ] []
-                                              ]
-                                            , mkElement qn21
-                                              [ mkAttr qn16 [ mkText "30" ]
-                                              ] []
-                                            ]
-                                          , mkElement qn21
-                                            [ mkAttr qn16 [ mkText "31" ]
-                                            ] []
-                                          ]
-                                        , mkElement qn21
-                                          [ mkAttr qn16 [ mkText "32" ]
-                                          ] []
-                                        ]
-                                      , mkElement qn21
-                                        [ mkAttr qn16 [ mkText "33" ]
-                                        ] []
-                                      ]
-                                    , mkElement qn21
-                                      [ mkAttr qn16 [ mkText "34" ]
-                                      ] []
-                                    ]
-                                  , mkElement qn21
-                                    [ mkAttr qn16 [ mkText "35" ]
-                                    ] []
-                                  ]
-                                , mkElement qn21
-                                  [ mkAttr qn16 [ mkText "36" ]
-                                  ] []
-                                ]
-                              , mkElement qn21
-                                [ mkAttr qn16 [ mkText "37" ]
-                                ] []
-                              ]
-                            , mkElement qn21
-                              [ mkAttr qn16 [ mkText "38" ]
-                              ] []
-                            ]
-                          , mkElement qn21
-                            [ mkAttr qn16 [ mkText "39" ]
-                            ] []
-                          ]
-                        , mkElement qn21
-                          [ mkAttr qn16 [ mkText "40" ]
-                          ] []
-                        ]
-                      , mkElement qn21
-                        [ mkAttr qn16 [ mkText "43" ]
-                        ] []
-                      ]
-                    , mkElement qn21
-                      [ mkAttr qn16 [ mkText "44" ]
-                      ] []
-                    ]
-                  , mkElement qn21
-                    [ mkAttr qn16 [ mkText "14" ]
-                    ] []
-                  ]
-                ]
-              ]
-            ]
-          ]
-        ]
-      , mkElement qn9
-        [ mkAttr qn16 [ mkText "24" ]
-        ]
-        [ mkElement qn10 []
-          [ mkElement qn17
-            [ mkAttr qn18 [ mkText "http://relaxng.org/ns/structure/1.0" ]
-            ]
-            [ mkText "include"
-            ]
-          , mkElement qn14 []
-            [ mkElement qn14 []
-              [ mkElement qn5 []
-                [ mkElement qn17
-                  [ mkAttr qn18 [ mkText "" ]
-                  ]
-                  [ mkText "href"
-                  ]
-                , mkElement qn7
-                  [ mkAttr qn24 [ mkText "anyURI" ]
-                  , mkAttr qn8 [ mkText "http://www.w3.org/2001/XMLSchema-datatypes" ]
-                  ] []
-                ]
-              , mkElement qn14 []
-                [ mkElement qn14 []
-                  [ mkElement qn6 []
-                    [ mkElement qn11 [] []
-                    , mkElement qn5 []
-                      [ mkElement qn17
-                        [ mkAttr qn18 [ mkText "" ]
-                        ]
-                        [ mkText "ns"
-                        ]
-                      , mkElement qn23 [] []
-                      ]
-                    ]
-                  , mkElement qn6 []
-                    [ mkElement qn11 [] []
-                    , mkElement qn5 []
-                      [ mkElement qn17
-                        [ mkAttr qn18 [ mkText "" ]
-                        ]
-                        [ mkText "datatypeLibrary"
-                        ]
-                      , mkElement qn7
-                        [ mkAttr qn24 [ mkText "anyURI" ]
-                        , mkAttr qn8 [ mkText "http://www.w3.org/2001/XMLSchema-datatypes" ]
-                        ] []
-                      ]
-                    ]
-                  ]
-                , mkElement qn6 []
-                  [ mkElement qn11 [] []
-                  , mkElement qn20 []
-                    [ mkElement qn5 []
-                      [ mkElement qn4 []
-                        [ mkElement qn12 []
-                          [ mkElement qn6 []
-                            [ mkElement qn19
-                              [ mkAttr qn18 [ mkText "http://relaxng.org/ns/structure/1.0" ]
-                              ] []
-                            , mkElement qn19
-                              [ mkAttr qn18 [ mkText "" ]
-                              ] []
-                            ]
-                          ]
-                        ]
-                      , mkElement qn23 [] []
-                      ]
-                    ]
-                  ]
-                ]
-              ]
-            , mkElement qn15 []
-              [ mkElement qn6 []
-                [ mkElement qn11 [] []
-                , mkElement qn20 []
-                  [ mkElement qn21
-                    [ mkAttr qn16 [ mkText "16" ]
-                    ] []
-                  ]
-                ]
-              , mkElement qn6 []
-                [ mkElement qn11 [] []
-                , mkElement qn20 []
-                  [ mkElement qn6 []
-                    [ mkElement qn6 []
-                      [ mkElement qn21
-                        [ mkAttr qn16 [ mkText "11" ]
-                        ] []
-                      , mkElement qn21
-                        [ mkAttr qn16 [ mkText "10" ]
-                        ] []
-                      ]
-                    , mkElement qn21
-                      [ mkAttr qn16 [ mkText "22" ]
-                      ] []
-                    ]
-                  ]
-                ]
-              ]
-            ]
-          ]
-        ]
-      , mkElement qn9
-        [ mkAttr qn16 [ mkText "23" ]
-        ]
-        [ mkElement qn10 []
-          [ mkElement qn17
-            [ mkAttr qn18 [ mkText "http://relaxng.org/ns/structure/1.0" ]
-            ]
-            [ mkText "div"
-            ]
-          , mkElement qn14 []
-            [ mkElement qn14 []
-              [ mkElement qn14 []
-                [ mkElement qn6 []
-                  [ mkElement qn11 [] []
-                  , mkElement qn5 []
-                    [ mkElement qn17
-                      [ mkAttr qn18 [ mkText "" ]
-                      ]
-                      [ mkText "ns"
-                      ]
-                    , mkElement qn23 [] []
-                    ]
-                  ]
-                , mkElement qn6 []
-                  [ mkElement qn11 [] []
-                  , mkElement qn5 []
-                    [ mkElement qn17
-                      [ mkAttr qn18 [ mkText "" ]
-                      ]
-                      [ mkText "datatypeLibrary"
-                      ]
-                    , mkElement qn7
-                      [ mkAttr qn24 [ mkText "anyURI" ]
-                      , mkAttr qn8 [ mkText "http://www.w3.org/2001/XMLSchema-datatypes" ]
-                      ] []
-                    ]
-                  ]
-                ]
-              , mkElement qn6 []
-                [ mkElement qn11 [] []
-                , mkElement qn20 []
-                  [ mkElement qn5 []
-                    [ mkElement qn4 []
-                      [ mkElement qn12 []
-                        [ mkElement qn6 []
-                          [ mkElement qn19
-                            [ mkAttr qn18 [ mkText "http://relaxng.org/ns/structure/1.0" ]
-                            ] []
-                          , mkElement qn19
-                            [ mkAttr qn18 [ mkText "" ]
-                            ] []
-                          ]
-                        ]
-                      ]
-                    , mkElement qn23 [] []
-                    ]
-                  ]
-                ]
-              ]
-            , mkElement qn15 []
-              [ mkElement qn6 []
-                [ mkElement qn11 [] []
-                , mkElement qn20 []
-                  [ mkElement qn21
-                    [ mkAttr qn16 [ mkText "16" ]
-                    ] []
-                  ]
-                ]
-              , mkElement qn6 []
-                [ mkElement qn11 [] []
-                , mkElement qn20 []
-                  [ mkElement qn6 []
-                    [ mkElement qn6 []
-                      [ mkElement qn6 []
-                        [ mkElement qn21
-                          [ mkAttr qn16 [ mkText "11" ]
-                          ] []
-                        , mkElement qn21
-                          [ mkAttr qn16 [ mkText "10" ]
-                          ] []
-                        ]
-                      , mkElement qn21
-                        [ mkAttr qn16 [ mkText "23" ]
-                        ] []
-                      ]
-                    , mkElement qn21
-                      [ mkAttr qn16 [ mkText "24" ]
-                      ] []
-                    ]
-                  ]
-                ]
-              ]
-            ]
-          ]
-        ]
-      , mkElement qn9
-        [ mkAttr qn16 [ mkText "22" ]
-        ]
-        [ mkElement qn10 []
-          [ mkElement qn17
-            [ mkAttr qn18 [ mkText "http://relaxng.org/ns/structure/1.0" ]
-            ]
-            [ mkText "div"
-            ]
-          , mkElement qn14 []
-            [ mkElement qn14 []
-              [ mkElement qn14 []
-                [ mkElement qn6 []
-                  [ mkElement qn11 [] []
-                  , mkElement qn5 []
-                    [ mkElement qn17
-                      [ mkAttr qn18 [ mkText "" ]
-                      ]
-                      [ mkText "ns"
-                      ]
-                    , mkElement qn23 [] []
-                    ]
-                  ]
-                , mkElement qn6 []
-                  [ mkElement qn11 [] []
-                  , mkElement qn5 []
-                    [ mkElement qn17
-                      [ mkAttr qn18 [ mkText "" ]
-                      ]
-                      [ mkText "datatypeLibrary"
-                      ]
-                    , mkElement qn7
-                      [ mkAttr qn24 [ mkText "anyURI" ]
-                      , mkAttr qn8 [ mkText "http://www.w3.org/2001/XMLSchema-datatypes" ]
-                      ] []
-                    ]
-                  ]
-                ]
-              , mkElement qn6 []
-                [ mkElement qn11 [] []
-                , mkElement qn20 []
-                  [ mkElement qn5 []
-                    [ mkElement qn4 []
-                      [ mkElement qn12 []
-                        [ mkElement qn6 []
-                          [ mkElement qn19
-                            [ mkAttr qn18 [ mkText "http://relaxng.org/ns/structure/1.0" ]
-                            ] []
-                          , mkElement qn19
-                            [ mkAttr qn18 [ mkText "" ]
-                            ] []
-                          ]
-                        ]
-                      ]
-                    , mkElement qn23 [] []
-                    ]
-                  ]
-                ]
-              ]
-            , mkElement qn15 []
-              [ mkElement qn6 []
-                [ mkElement qn11 [] []
-                , mkElement qn20 []
-                  [ mkElement qn21
-                    [ mkAttr qn16 [ mkText "16" ]
-                    ] []
-                  ]
-                ]
-              , mkElement qn6 []
-                [ mkElement qn11 [] []
-                , mkElement qn20 []
-                  [ mkElement qn6 []
-                    [ mkElement qn6 []
-                      [ mkElement qn21
-                        [ mkAttr qn16 [ mkText "11" ]
-                        ] []
-                      , mkElement qn21
-                        [ mkAttr qn16 [ mkText "10" ]
-                        ] []
-                      ]
-                    , mkElement qn21
-                      [ mkAttr qn16 [ mkText "22" ]
-                      ] []
-                    ]
-                  ]
-                ]
-              ]
-            ]
-          ]
-        ]
-      , mkElement qn9
-        [ mkAttr qn16 [ mkText "21" ]
-        ]
-        [ mkElement qn10 []
-          [ mkElement qn17
-            [ mkAttr qn18 [ mkText "http://relaxng.org/ns/structure/1.0" ]
-            ]
-            [ mkText "choice"
-            ]
-          , mkElement qn14 []
-            [ mkElement qn14 []
-              [ mkElement qn14 []
-                [ mkElement qn6 []
-                  [ mkElement qn11 [] []
-                  , mkElement qn5 []
-                    [ mkElement qn17
-                      [ mkAttr qn18 [ mkText "" ]
-                      ]
-                      [ mkText "ns"
-                      ]
-                    , mkElement qn23 [] []
-                    ]
-                  ]
-                , mkElement qn6 []
-                  [ mkElement qn11 [] []
-                  , mkElement qn5 []
-                    [ mkElement qn17
-                      [ mkAttr qn18 [ mkText "" ]
-                      ]
-                      [ mkText "datatypeLibrary"
-                      ]
-                    , mkElement qn7
-                      [ mkAttr qn24 [ mkText "anyURI" ]
-                      , mkAttr qn8 [ mkText "http://www.w3.org/2001/XMLSchema-datatypes" ]
-                      ] []
-                    ]
-                  ]
-                ]
-              , mkElement qn6 []
-                [ mkElement qn11 [] []
-                , mkElement qn20 []
-                  [ mkElement qn5 []
-                    [ mkElement qn4 []
-                      [ mkElement qn12 []
-                        [ mkElement qn6 []
-                          [ mkElement qn19
-                            [ mkAttr qn18 [ mkText "http://relaxng.org/ns/structure/1.0" ]
-                            ] []
-                          , mkElement qn19
-                            [ mkAttr qn18 [ mkText "" ]
-                            ] []
-                          ]
-                        ]
-                      ]
-                    , mkElement qn23 [] []
-                    ]
-                  ]
-                ]
-              ]
-            , mkElement qn15 []
-              [ mkElement qn6 []
-                [ mkElement qn11 [] []
-                , mkElement qn20 []
-                  [ mkElement qn21
-                    [ mkAttr qn16 [ mkText "16" ]
-                    ] []
-                  ]
-                ]
-              , mkElement qn20 []
-                [ mkElement qn6 []
-                  [ mkElement qn6 []
-                    [ mkElement qn6 []
-                      [ mkElement qn21
-                        [ mkAttr qn16 [ mkText "18" ]
-                        ] []
-                      , mkElement qn21
-                        [ mkAttr qn16 [ mkText "19" ]
-                        ] []
-                      ]
-                    , mkElement qn21
-                      [ mkAttr qn16 [ mkText "20" ]
-                      ] []
-                    ]
-                  , mkElement qn21
-                    [ mkAttr qn16 [ mkText "21" ]
-                    ] []
-                  ]
-                ]
-              ]
-            ]
-          ]
-        ]
-      , mkElement qn9
-        [ mkAttr qn16 [ mkText "20" ]
-        ]
-        [ mkElement qn10 []
-          [ mkElement qn17
-            [ mkAttr qn18 [ mkText "http://relaxng.org/ns/structure/1.0" ]
-            ]
-            [ mkText "nsName"
-            ]
-          , mkElement qn14 []
-            [ mkElement qn14 []
-              [ mkElement qn14 []
-                [ mkElement qn6 []
-                  [ mkElement qn11 [] []
-                  , mkElement qn5 []
-                    [ mkElement qn17
-                      [ mkAttr qn18 [ mkText "" ]
-                      ]
-                      [ mkText "ns"
-                      ]
-                    , mkElement qn23 [] []
-                    ]
-                  ]
-                , mkElement qn6 []
-                  [ mkElement qn11 [] []
-                  , mkElement qn5 []
-                    [ mkElement qn17
-                      [ mkAttr qn18 [ mkText "" ]
-                      ]
-                      [ mkText "datatypeLibrary"
-                      ]
-                    , mkElement qn7
-                      [ mkAttr qn24 [ mkText "anyURI" ]
-                      , mkAttr qn8 [ mkText "http://www.w3.org/2001/XMLSchema-datatypes" ]
-                      ] []
-                    ]
-                  ]
-                ]
-              , mkElement qn6 []
-                [ mkElement qn11 [] []
-                , mkElement qn20 []
-                  [ mkElement qn5 []
-                    [ mkElement qn4 []
-                      [ mkElement qn12 []
-                        [ mkElement qn6 []
-                          [ mkElement qn19
-                            [ mkAttr qn18 [ mkText "http://relaxng.org/ns/structure/1.0" ]
-                            ] []
-                          , mkElement qn19
-                            [ mkAttr qn18 [ mkText "" ]
-                            ] []
-                          ]
-                        ]
-                      ]
-                    , mkElement qn23 [] []
-                    ]
-                  ]
-                ]
-              ]
-            , mkElement qn15 []
-              [ mkElement qn6 []
-                [ mkElement qn11 [] []
-                , mkElement qn20 []
-                  [ mkElement qn21
-                    [ mkAttr qn16 [ mkText "16" ]
-                    ] []
-                  ]
-                ]
-              , mkElement qn6 []
-                [ mkElement qn11 [] []
-                , mkElement qn21
-                  [ mkAttr qn16 [ mkText "17" ]
-                  ] []
-                ]
-              ]
-            ]
-          ]
-        ]
-      , mkElement qn9
-        [ mkAttr qn16 [ mkText "19" ]
-        ]
-        [ mkElement qn10 []
-          [ mkElement qn17
-            [ mkAttr qn18 [ mkText "http://relaxng.org/ns/structure/1.0" ]
-            ]
-            [ mkText "anyName"
-            ]
-          , mkElement qn14 []
-            [ mkElement qn14 []
-              [ mkElement qn14 []
-                [ mkElement qn6 []
-                  [ mkElement qn11 [] []
-                  , mkElement qn5 []
-                    [ mkElement qn17
-                      [ mkAttr qn18 [ mkText "" ]
-                      ]
-                      [ mkText "ns"
-                      ]
-                    , mkElement qn23 [] []
-                    ]
-                  ]
-                , mkElement qn6 []
-                  [ mkElement qn11 [] []
-                  , mkElement qn5 []
-                    [ mkElement qn17
-                      [ mkAttr qn18 [ mkText "" ]
-                      ]
-                      [ mkText "datatypeLibrary"
-                      ]
-                    , mkElement qn7
-                      [ mkAttr qn24 [ mkText "anyURI" ]
-                      , mkAttr qn8 [ mkText "http://www.w3.org/2001/XMLSchema-datatypes" ]
-                      ] []
-                    ]
-                  ]
-                ]
-              , mkElement qn6 []
-                [ mkElement qn11 [] []
-                , mkElement qn20 []
-                  [ mkElement qn5 []
-                    [ mkElement qn4 []
-                      [ mkElement qn12 []
-                        [ mkElement qn6 []
-                          [ mkElement qn19
-                            [ mkAttr qn18 [ mkText "http://relaxng.org/ns/structure/1.0" ]
-                            ] []
-                          , mkElement qn19
-                            [ mkAttr qn18 [ mkText "" ]
-                            ] []
-                          ]
-                        ]
-                      ]
-                    , mkElement qn23 [] []
-                    ]
-                  ]
-                ]
-              ]
-            , mkElement qn15 []
-              [ mkElement qn6 []
-                [ mkElement qn11 [] []
-                , mkElement qn20 []
-                  [ mkElement qn21
-                    [ mkAttr qn16 [ mkText "16" ]
-                    ] []
-                  ]
-                ]
-              , mkElement qn6 []
-                [ mkElement qn11 [] []
-                , mkElement qn21
-                  [ mkAttr qn16 [ mkText "17" ]
-                  ] []
-                ]
-              ]
-            ]
-          ]
-        ]
-      , mkElement qn9
-        [ mkAttr qn16 [ mkText "18" ]
-        ]
-        [ mkElement qn10 []
-          [ mkElement qn17
-            [ mkAttr qn18 [ mkText "http://relaxng.org/ns/structure/1.0" ]
-            ]
-            [ mkText "name"
-            ]
-          , mkElement qn14 []
-            [ mkElement qn14 []
-              [ mkElement qn14 []
-                [ mkElement qn6 []
-                  [ mkElement qn11 [] []
-                  , mkElement qn5 []
-                    [ mkElement qn17
-                      [ mkAttr qn18 [ mkText "" ]
-                      ]
-                      [ mkText "ns"
-                      ]
-                    , mkElement qn23 [] []
-                    ]
-                  ]
-                , mkElement qn6 []
-                  [ mkElement qn11 [] []
-                  , mkElement qn5 []
-                    [ mkElement qn17
-                      [ mkAttr qn18 [ mkText "" ]
-                      ]
-                      [ mkText "datatypeLibrary"
-                      ]
-                    , mkElement qn7
-                      [ mkAttr qn24 [ mkText "anyURI" ]
-                      , mkAttr qn8 [ mkText "http://www.w3.org/2001/XMLSchema-datatypes" ]
-                      ] []
-                    ]
-                  ]
-                ]
-              , mkElement qn6 []
-                [ mkElement qn11 [] []
-                , mkElement qn20 []
-                  [ mkElement qn5 []
-                    [ mkElement qn4 []
-                      [ mkElement qn12 []
-                        [ mkElement qn6 []
-                          [ mkElement qn19
-                            [ mkAttr qn18 [ mkText "http://relaxng.org/ns/structure/1.0" ]
-                            ] []
-                          , mkElement qn19
-                            [ mkAttr qn18 [ mkText "" ]
-                            ] []
-                          ]
-                        ]
-                      ]
-                    , mkElement qn23 [] []
-                    ]
-                  ]
-                ]
-              ]
-            , mkElement qn7
-              [ mkAttr qn24 [ mkText "QName" ]
-              , mkAttr qn8 [ mkText "http://www.w3.org/2001/XMLSchema-datatypes" ]
-              ] []
-            ]
-          ]
-        ]
-      , mkElement qn9
-        [ mkAttr qn16 [ mkText "17" ]
-        ]
-        [ mkElement qn10 []
-          [ mkElement qn17
-            [ mkAttr qn18 [ mkText "http://relaxng.org/ns/structure/1.0" ]
-            ]
-            [ mkText "except"
-            ]
-          , mkElement qn15 []
-            [ mkElement qn6 []
-              [ mkElement qn11 [] []
-              , mkElement qn20 []
-                [ mkElement qn21
-                  [ mkAttr qn16 [ mkText "16" ]
-                  ] []
-                ]
-              ]
-            , mkElement qn20 []
-              [ mkElement qn6 []
-                [ mkElement qn6 []
-                  [ mkElement qn6 []
-                    [ mkElement qn21
-                      [ mkAttr qn16 [ mkText "18" ]
-                      ] []
-                    , mkElement qn21
-                      [ mkAttr qn16 [ mkText "19" ]
-                      ] []
-                    ]
-                  , mkElement qn21
-                    [ mkAttr qn16 [ mkText "20" ]
-                    ] []
-                  ]
-                , mkElement qn21
-                  [ mkAttr qn16 [ mkText "21" ]
-                  ] []
-                ]
-              ]
-            ]
-          ]
-        ]
-      , mkElement qn9
-        [ mkAttr qn16 [ mkText "16" ]
-        ]
-        [ mkElement qn10 []
-          [ mkElement qn4 []
-            [ mkElement qn12 []
-              [ mkElement qn19
-                [ mkAttr qn18 [ mkText "http://relaxng.org/ns/structure/1.0" ]
-                ] []
-              ]
-            ]
-          , mkElement qn6 []
-            [ mkElement qn11 [] []
-            , mkElement qn20 []
-              [ mkElement qn6 []
-                [ mkElement qn6 []
-                  [ mkElement qn5 []
-                    [ mkElement qn4 [] []
-                    , mkElement qn23 [] []
-                    ]
-                  , mkElement qn23 [] []
-                  ]
-                , mkElement qn21
-                  [ mkAttr qn16 [ mkText "0" ]
-                  ] []
-                ]
-              ]
-            ]
-          ]
-        ]
-      , mkElement qn9
-        [ mkAttr qn16 [ mkText "0" ]
-        ]
-        [ mkElement qn10 []
-          [ mkElement qn4 [] []
-          , mkElement qn6 []
-            [ mkElement qn11 [] []
-            , mkElement qn20 []
-              [ mkElement qn6 []
-                [ mkElement qn6 []
-                  [ mkElement qn5 []
-                    [ mkElement qn4 [] []
-                    , mkElement qn23 [] []
-                    ]
-                  , mkElement qn23 [] []
-                  ]
-                , mkElement qn21
-                  [ mkAttr qn16 [ mkText "0" ]
-                  ] []
-                ]
-              ]
-            ]
-          ]
-        ]
-      , mkElement qn9
-        [ mkAttr qn16 [ mkText "10" ]
-        ]
-        [ mkElement qn10 []
-          [ mkElement qn17
-            [ mkAttr qn18 [ mkText "http://relaxng.org/ns/structure/1.0" ]
-            ]
-            [ mkText "define"
-            ]
-          , mkElement qn14 []
-            [ mkElement qn14 []
-              [ mkElement qn14 []
-                [ mkElement qn5 []
-                  [ mkElement qn17
-                    [ mkAttr qn18 [ mkText "" ]
-                    ]
-                    [ mkText "name"
-                    ]
-                  , mkElement qn7
-                    [ mkAttr qn24 [ mkText "NCName" ]
-                    , mkAttr qn8 [ mkText "http://www.w3.org/2001/XMLSchema-datatypes" ]
-                    ] []
-                  ]
-                , mkElement qn6 []
-                  [ mkElement qn11 [] []
-                  , mkElement qn5 []
-                    [ mkElement qn17
-                      [ mkAttr qn18 [ mkText "" ]
-                      ]
-                      [ mkText "combine"
-                      ]
-                    , mkElement qn6 []
-                      [ mkElement qn25
-                        [ mkAttr qn1 [ mkText "http://www.w3.org/XML/1998/namespace" ]
-                        , mkAttr qn3 [ mkText "http://relaxng.org/ns/structure/1.0" ]
-                        , mkAttr qn2 [ mkText "file:///home/uwe/haskell/hxt/curr/src/Text/XML/HXT/RelaxNG/schema2hs/SchemaGrammar.rng" ]
-                        , mkAttr qn8 [ mkText "" ]
-                        , mkAttr qn24 [ mkText "token" ]
-                        , mkAttr qn18 [ mkText "http://relaxng.org/ns/structure/1.0" ]
-                        ]
-                        [ mkText "choice"
-                        ]
-                      , mkElement qn25
-                        [ mkAttr qn1 [ mkText "http://www.w3.org/XML/1998/namespace" ]
-                        , mkAttr qn3 [ mkText "http://relaxng.org/ns/structure/1.0" ]
-                        , mkAttr qn2 [ mkText "file:///home/uwe/haskell/hxt/curr/src/Text/XML/HXT/RelaxNG/schema2hs/SchemaGrammar.rng" ]
-                        , mkAttr qn8 [ mkText "" ]
-                        , mkAttr qn24 [ mkText "token" ]
-                        , mkAttr qn18 [ mkText "http://relaxng.org/ns/structure/1.0" ]
-                        ]
-                        [ mkText "interleave"
-                        ]
-                      ]
-                    ]
-                  ]
-                ]
-              , mkElement qn14 []
-                [ mkElement qn14 []
-                  [ mkElement qn6 []
-                    [ mkElement qn11 [] []
-                    , mkElement qn5 []
-                      [ mkElement qn17
-                        [ mkAttr qn18 [ mkText "" ]
-                        ]
-                        [ mkText "ns"
-                        ]
-                      , mkElement qn23 [] []
-                      ]
-                    ]
-                  , mkElement qn6 []
-                    [ mkElement qn11 [] []
-                    , mkElement qn5 []
-                      [ mkElement qn17
-                        [ mkAttr qn18 [ mkText "" ]
-                        ]
-                        [ mkText "datatypeLibrary"
-                        ]
-                      , mkElement qn7
-                        [ mkAttr qn24 [ mkText "anyURI" ]
-                        , mkAttr qn8 [ mkText "http://www.w3.org/2001/XMLSchema-datatypes" ]
-                        ] []
-                      ]
-                    ]
-                  ]
-                , mkElement qn6 []
-                  [ mkElement qn11 [] []
-                  , mkElement qn20 []
-                    [ mkElement qn5 []
-                      [ mkElement qn4 []
-                        [ mkElement qn12 []
-                          [ mkElement qn6 []
-                            [ mkElement qn19
-                              [ mkAttr qn18 [ mkText "http://relaxng.org/ns/structure/1.0" ]
-                              ] []
-                            , mkElement qn19
-                              [ mkAttr qn18 [ mkText "" ]
-                              ] []
-                            ]
-                          ]
-                        ]
-                      , mkElement qn23 [] []
-                      ]
-                    ]
-                  ]
-                ]
-              ]
-            , mkElement qn15 []
-              [ mkElement qn6 []
-                [ mkElement qn11 [] []
-                , mkElement qn20 []
-                  [ mkElement qn21
-                    [ mkAttr qn16 [ mkText "16" ]
-                    ] []
-                  ]
-                ]
-              , mkElement qn20 []
-                [ mkElement qn6 []
-                  [ mkElement qn6 []
-                    [ mkElement qn6 []
-                      [ mkElement qn6 []
-                        [ mkElement qn6 []
-                          [ mkElement qn6 []
-                            [ mkElement qn6 []
-                              [ mkElement qn6 []
-                                [ mkElement qn6 []
-                                  [ mkElement qn6 []
-                                    [ mkElement qn6 []
-                                      [ mkElement qn6 []
-                                        [ mkElement qn6 []
-                                          [ mkElement qn6 []
-                                            [ mkElement qn6 []
-                                              [ mkElement qn6 []
-                                                [ mkElement qn6 []
-                                                  [ mkElement qn6 []
-                                                    [ mkElement qn21
-                                                      [ mkAttr qn16 [ mkText "25" ]
-                                                      ] []
-                                                    , mkElement qn21
-                                                      [ mkAttr qn16 [ mkText "26" ]
-                                                      ] []
-                                                    ]
-                                                  , mkElement qn21
-                                                    [ mkAttr qn16 [ mkText "27" ]
-                                                    ] []
-                                                  ]
-                                                , mkElement qn21
-                                                  [ mkAttr qn16 [ mkText "28" ]
-                                                  ] []
-                                                ]
-                                              , mkElement qn21
-                                                [ mkAttr qn16 [ mkText "29" ]
-                                                ] []
-                                              ]
-                                            , mkElement qn21
-                                              [ mkAttr qn16 [ mkText "30" ]
-                                              ] []
-                                            ]
-                                          , mkElement qn21
-                                            [ mkAttr qn16 [ mkText "31" ]
-                                            ] []
-                                          ]
-                                        , mkElement qn21
-                                          [ mkAttr qn16 [ mkText "32" ]
-                                          ] []
-                                        ]
-                                      , mkElement qn21
-                                        [ mkAttr qn16 [ mkText "33" ]
-                                        ] []
-                                      ]
-                                    , mkElement qn21
-                                      [ mkAttr qn16 [ mkText "34" ]
-                                      ] []
-                                    ]
-                                  , mkElement qn21
-                                    [ mkAttr qn16 [ mkText "35" ]
-                                    ] []
-                                  ]
-                                , mkElement qn21
-                                  [ mkAttr qn16 [ mkText "36" ]
-                                  ] []
-                                ]
-                              , mkElement qn21
-                                [ mkAttr qn16 [ mkText "37" ]
-                                ] []
-                              ]
-                            , mkElement qn21
-                              [ mkAttr qn16 [ mkText "38" ]
-                              ] []
-                            ]
-                          , mkElement qn21
-                            [ mkAttr qn16 [ mkText "39" ]
-                            ] []
-                          ]
-                        , mkElement qn21
-                          [ mkAttr qn16 [ mkText "40" ]
-                          ] []
-                        ]
-                      , mkElement qn21
-                        [ mkAttr qn16 [ mkText "43" ]
-                        ] []
-                      ]
-                    , mkElement qn21
-                      [ mkAttr qn16 [ mkText "44" ]
-                      ] []
-                    ]
-                  , mkElement qn21
-                    [ mkAttr qn16 [ mkText "14" ]
-                    ] []
-                  ]
-                ]
-              ]
-            ]
-          ]
-        ]
-      , mkElement qn9
-        [ mkAttr qn16 [ mkText "11" ]
-        ]
-        [ mkElement qn10 []
-          [ mkElement qn17
-            [ mkAttr qn18 [ mkText "http://relaxng.org/ns/structure/1.0" ]
-            ]
-            [ mkText "start"
-            ]
-          , mkElement qn14 []
-            [ mkElement qn14 []
-              [ mkElement qn6 []
-                [ mkElement qn11 [] []
-                , mkElement qn5 []
-                  [ mkElement qn17
-                    [ mkAttr qn18 [ mkText "" ]
-                    ]
-                    [ mkText "combine"
-                    ]
-                  , mkElement qn6 []
-                    [ mkElement qn25
-                      [ mkAttr qn1 [ mkText "http://www.w3.org/XML/1998/namespace" ]
-                      , mkAttr qn3 [ mkText "http://relaxng.org/ns/structure/1.0" ]
-                      , mkAttr qn2 [ mkText "file:///home/uwe/haskell/hxt/curr/src/Text/XML/HXT/RelaxNG/schema2hs/SchemaGrammar.rng" ]
-                      , mkAttr qn8 [ mkText "" ]
-                      , mkAttr qn24 [ mkText "token" ]
-                      , mkAttr qn18 [ mkText "http://relaxng.org/ns/structure/1.0" ]
-                      ]
-                      [ mkText "choice"
-                      ]
-                    , mkElement qn25
-                      [ mkAttr qn1 [ mkText "http://www.w3.org/XML/1998/namespace" ]
-                      , mkAttr qn3 [ mkText "http://relaxng.org/ns/structure/1.0" ]
-                      , mkAttr qn2 [ mkText "file:///home/uwe/haskell/hxt/curr/src/Text/XML/HXT/RelaxNG/schema2hs/SchemaGrammar.rng" ]
-                      , mkAttr qn8 [ mkText "" ]
-                      , mkAttr qn24 [ mkText "token" ]
-                      , mkAttr qn18 [ mkText "http://relaxng.org/ns/structure/1.0" ]
-                      ]
-                      [ mkText "interleave"
-                      ]
-                    ]
-                  ]
-                ]
-              , mkElement qn14 []
-                [ mkElement qn14 []
-                  [ mkElement qn6 []
-                    [ mkElement qn11 [] []
-                    , mkElement qn5 []
-                      [ mkElement qn17
-                        [ mkAttr qn18 [ mkText "" ]
-                        ]
-                        [ mkText "ns"
-                        ]
-                      , mkElement qn23 [] []
-                      ]
-                    ]
-                  , mkElement qn6 []
-                    [ mkElement qn11 [] []
-                    , mkElement qn5 []
-                      [ mkElement qn17
-                        [ mkAttr qn18 [ mkText "" ]
-                        ]
-                        [ mkText "datatypeLibrary"
-                        ]
-                      , mkElement qn7
-                        [ mkAttr qn24 [ mkText "anyURI" ]
-                        , mkAttr qn8 [ mkText "http://www.w3.org/2001/XMLSchema-datatypes" ]
-                        ] []
-                      ]
-                    ]
-                  ]
-                , mkElement qn6 []
-                  [ mkElement qn11 [] []
-                  , mkElement qn20 []
-                    [ mkElement qn5 []
-                      [ mkElement qn4 []
-                        [ mkElement qn12 []
-                          [ mkElement qn6 []
-                            [ mkElement qn19
-                              [ mkAttr qn18 [ mkText "http://relaxng.org/ns/structure/1.0" ]
-                              ] []
-                            , mkElement qn19
-                              [ mkAttr qn18 [ mkText "" ]
-                              ] []
-                            ]
-                          ]
-                        ]
-                      , mkElement qn23 [] []
-                      ]
-                    ]
-                  ]
-                ]
-              ]
-            , mkElement qn15 []
-              [ mkElement qn6 []
-                [ mkElement qn11 [] []
-                , mkElement qn20 []
-                  [ mkElement qn21
-                    [ mkAttr qn16 [ mkText "16" ]
-                    ] []
-                  ]
-                ]
-              , mkElement qn6 []
-                [ mkElement qn6 []
-                  [ mkElement qn6 []
-                    [ mkElement qn6 []
-                      [ mkElement qn6 []
-                        [ mkElement qn6 []
-                          [ mkElement qn6 []
-                            [ mkElement qn6 []
-                              [ mkElement qn6 []
-                                [ mkElement qn6 []
-                                  [ mkElement qn6 []
-                                    [ mkElement qn6 []
-                                      [ mkElement qn6 []
-                                        [ mkElement qn6 []
-                                          [ mkElement qn6 []
-                                            [ mkElement qn6 []
-                                              [ mkElement qn6 []
-                                                [ mkElement qn6 []
-                                                  [ mkElement qn21
-                                                    [ mkAttr qn16 [ mkText "25" ]
-                                                    ] []
-                                                  , mkElement qn21
-                                                    [ mkAttr qn16 [ mkText "26" ]
-                                                    ] []
-                                                  ]
-                                                , mkElement qn21
-                                                  [ mkAttr qn16 [ mkText "27" ]
-                                                  ] []
-                                                ]
-                                              , mkElement qn21
-                                                [ mkAttr qn16 [ mkText "28" ]
-                                                ] []
-                                              ]
-                                            , mkElement qn21
-                                              [ mkAttr qn16 [ mkText "29" ]
-                                              ] []
-                                            ]
-                                          , mkElement qn21
-                                            [ mkAttr qn16 [ mkText "30" ]
-                                            ] []
-                                          ]
-                                        , mkElement qn21
-                                          [ mkAttr qn16 [ mkText "31" ]
-                                          ] []
-                                        ]
-                                      , mkElement qn21
-                                        [ mkAttr qn16 [ mkText "32" ]
-                                        ] []
-                                      ]
-                                    , mkElement qn21
-                                      [ mkAttr qn16 [ mkText "33" ]
-                                      ] []
-                                    ]
-                                  , mkElement qn21
-                                    [ mkAttr qn16 [ mkText "34" ]
-                                    ] []
-                                  ]
-                                , mkElement qn21
-                                  [ mkAttr qn16 [ mkText "35" ]
-                                  ] []
-                                ]
-                              , mkElement qn21
-                                [ mkAttr qn16 [ mkText "36" ]
-                                ] []
-                              ]
-                            , mkElement qn21
-                              [ mkAttr qn16 [ mkText "37" ]
-                              ] []
-                            ]
-                          , mkElement qn21
-                            [ mkAttr qn16 [ mkText "38" ]
-                            ] []
-                          ]
-                        , mkElement qn21
-                          [ mkAttr qn16 [ mkText "39" ]
-                          ] []
-                        ]
-                      , mkElement qn21
-                        [ mkAttr qn16 [ mkText "40" ]
-                        ] []
-                      ]
-                    , mkElement qn21
-                      [ mkAttr qn16 [ mkText "43" ]
-                      ] []
-                    ]
-                  , mkElement qn21
-                    [ mkAttr qn16 [ mkText "44" ]
-                    ] []
-                  ]
-                , mkElement qn21
-                  [ mkAttr qn16 [ mkText "14" ]
-                  ] []
-                ]
-              ]
-            ]
-          ]
-        ]
-      , mkElement qn9
-        [ mkAttr qn16 [ mkText "14" ]
-        ]
-        [ mkElement qn10 []
-          [ mkElement qn17
-            [ mkAttr qn18 [ mkText "http://relaxng.org/ns/structure/1.0" ]
-            ]
-            [ mkText "grammar"
-            ]
-          , mkElement qn14 []
-            [ mkElement qn14 []
-              [ mkElement qn14 []
-                [ mkElement qn6 []
-                  [ mkElement qn11 [] []
-                  , mkElement qn5 []
-                    [ mkElement qn17
-                      [ mkAttr qn18 [ mkText "" ]
-                      ]
-                      [ mkText "ns"
-                      ]
-                    , mkElement qn23 [] []
-                    ]
-                  ]
-                , mkElement qn6 []
-                  [ mkElement qn11 [] []
-                  , mkElement qn5 []
-                    [ mkElement qn17
-                      [ mkAttr qn18 [ mkText "" ]
-                      ]
-                      [ mkText "datatypeLibrary"
-                      ]
-                    , mkElement qn7
-                      [ mkAttr qn24 [ mkText "anyURI" ]
-                      , mkAttr qn8 [ mkText "http://www.w3.org/2001/XMLSchema-datatypes" ]
-                      ] []
-                    ]
-                  ]
-                ]
-              , mkElement qn6 []
-                [ mkElement qn11 [] []
-                , mkElement qn20 []
-                  [ mkElement qn5 []
-                    [ mkElement qn4 []
-                      [ mkElement qn12 []
-                        [ mkElement qn6 []
-                          [ mkElement qn19
-                            [ mkAttr qn18 [ mkText "http://relaxng.org/ns/structure/1.0" ]
-                            ] []
-                          , mkElement qn19
-                            [ mkAttr qn18 [ mkText "" ]
-                            ] []
-                          ]
-                        ]
-                      ]
-                    , mkElement qn23 [] []
-                    ]
-                  ]
-                ]
-              ]
-            , mkElement qn15 []
-              [ mkElement qn6 []
-                [ mkElement qn11 [] []
-                , mkElement qn20 []
-                  [ mkElement qn21
-                    [ mkAttr qn16 [ mkText "16" ]
-                    ] []
-                  ]
-                ]
-              , mkElement qn6 []
-                [ mkElement qn11 [] []
-                , mkElement qn20 []
-                  [ mkElement qn6 []
-                    [ mkElement qn6 []
-                      [ mkElement qn6 []
-                        [ mkElement qn21
-                          [ mkAttr qn16 [ mkText "11" ]
-                          ] []
-                        , mkElement qn21
-                          [ mkAttr qn16 [ mkText "10" ]
-                          ] []
-                        ]
-                      , mkElement qn21
-                        [ mkAttr qn16 [ mkText "23" ]
-                        ] []
-                      ]
-                    , mkElement qn21
-                      [ mkAttr qn16 [ mkText "24" ]
+{-# OPTIONS_GHC -fno-warn-unused-binds #-}
+
+{- |
+   Module     : Text.HXT.RelaxNG.SchemaGrammar
+
+   Don't edit this module, it's generated by RelaxSchemaToXmlTree
+
+-}
+
+module Text.XML.HXT.RelaxNG.SchemaGrammar
+    ( relaxSchemaTree, relaxSchemaArrow )
+where
+
+import Text.XML.HXT.DOM.TypeDefs
+import Text.XML.HXT.DOM.XmlNode (mkRoot, mkElement, mkAttr, mkText)
+
+import Control.Arrow.ListArrows
+
+relaxSchemaArrow :: ArrowList a => a b XmlTree
+relaxSchemaArrow = constA relaxSchemaTree
+
+relaxSchemaTree :: XmlTree
+relaxSchemaTree =
+  let
+  ns1 = "http://relaxng.org/ns/structure/1.0"
+  qn1        = mkName   "RelaxContext-xml"
+  mkelem_qn1 = mkElement qn1
+  mkattr_qn1 = mkAttr    qn1
+  qn2        = mkName   "RelaxContextBaseURI"
+  mkelem_qn2 = mkElement qn2
+  mkattr_qn2 = mkAttr    qn2
+  qn3        = mkName   "RelaxContextDefault"
+  mkelem_qn3 = mkElement qn3
+  mkattr_qn3 = mkAttr    qn3
+  qn4        = mkNsName "anyName" ns1
+  mkelem_qn4 = mkElement qn4
+  mkattr_qn4 = mkAttr    qn4
+  qn5        = mkNsName "attribute" ns1
+  mkelem_qn5 = mkElement qn5
+  mkattr_qn5 = mkAttr    qn5
+  qn6        = mkNsName "choice" ns1
+  mkelem_qn6 = mkElement qn6
+  mkattr_qn6 = mkAttr    qn6
+  qn7        = mkNsName "data" ns1
+  mkelem_qn7 = mkElement qn7
+  mkattr_qn7 = mkAttr    qn7
+  qn8        = mkName   "datatypeLibrary"
+  mkelem_qn8 = mkElement qn8
+  mkattr_qn8 = mkAttr    qn8
+  qn9        = mkNsName "define" ns1
+  mkelem_qn9 = mkElement qn9
+  mkattr_qn9 = mkAttr    qn9
+  qn10        = mkNsName "element" ns1
+  mkelem_qn10 = mkElement qn10
+  mkattr_qn10 = mkAttr    qn10
+  qn11        = mkNsName "empty" ns1
+  mkelem_qn11 = mkElement qn11
+  mkattr_qn11 = mkAttr    qn11
+  qn12        = mkNsName "except" ns1
+  mkelem_qn12 = mkElement qn12
+  mkattr_qn12 = mkAttr    qn12
+  qn13        = mkNsName "grammar" ns1
+  mkelem_qn13 = mkElement qn13
+  mkattr_qn13 = mkAttr    qn13
+  qn14        = mkNsName "group" ns1
+  mkelem_qn14 = mkElement qn14
+  mkattr_qn14 = mkAttr    qn14
+  qn15        = mkNsName "interleave" ns1
+  mkelem_qn15 = mkElement qn15
+  mkattr_qn15 = mkAttr    qn15
+  qn16        = mkName   "name"
+  mkelem_qn16 = mkElement qn16
+  mkattr_qn16 = mkAttr    qn16
+  qn17        = mkNsName "name" ns1
+  mkelem_qn17 = mkElement qn17
+  mkattr_qn17 = mkAttr    qn17
+  qn18        = mkName   "ns"
+  mkelem_qn18 = mkElement qn18
+  mkattr_qn18 = mkAttr    qn18
+  qn19        = mkNsName "nsName" ns1
+  mkelem_qn19 = mkElement qn19
+  mkattr_qn19 = mkAttr    qn19
+  qn20        = mkNsName "oneOrMore" ns1
+  mkelem_qn20 = mkElement qn20
+  mkattr_qn20 = mkAttr    qn20
+  qn21        = mkNsName "ref" ns1
+  mkelem_qn21 = mkElement qn21
+  mkattr_qn21 = mkAttr    qn21
+  qn22        = mkNsName "start" ns1
+  mkelem_qn22 = mkElement qn22
+  mkattr_qn22 = mkAttr    qn22
+  qn23        = mkNsName "text" ns1
+  mkelem_qn23 = mkElement qn23
+  mkattr_qn23 = mkAttr    qn23
+  qn24        = mkName   "type"
+  mkelem_qn24 = mkElement qn24
+  mkattr_qn24 = mkAttr    qn24
+  qn25        = mkNsName "value" ns1
+  mkelem_qn25 = mkElement qn25
+  mkattr_qn25 = mkAttr    qn25
+  in
+  mkRoot []
+    [ mkelem_qn13 []
+      [ mkelem_qn22 []
+        [ mkelem_qn21
+          [ mkattr_qn16 [ mkText "14" ]
+          ] []
+        ]
+      , mkelem_qn9
+        [ mkattr_qn16 [ mkText "44" ]
+        ]
+        [ mkelem_qn10 []
+          [ mkelem_qn17
+            [ mkattr_qn18 [ mkText "http://relaxng.org/ns/structure/1.0" ]
+            ]
+            [ mkText "externalRef"
+            ]
+          , mkelem_qn14 []
+            [ mkelem_qn14 []
+              [ mkelem_qn5 []
+                [ mkelem_qn17
+                  [ mkattr_qn18 [ mkText "" ]
+                  ]
+                  [ mkText "href"
+                  ]
+                , mkelem_qn7
+                  [ mkattr_qn24 [ mkText "anyURI" ]
+                  , mkattr_qn8 [ mkText "http://www.w3.org/2001/XMLSchema-datatypes" ]
+                  ] []
+                ]
+              , mkelem_qn14 []
+                [ mkelem_qn14 []
+                  [ mkelem_qn6 []
+                    [ mkelem_qn11 [] []
+                    , mkelem_qn5 []
+                      [ mkelem_qn17
+                        [ mkattr_qn18 [ mkText "" ]
+                        ]
+                        [ mkText "ns"
+                        ]
+                      , mkelem_qn23 [] []
+                      ]
+                    ]
+                  , mkelem_qn6 []
+                    [ mkelem_qn11 [] []
+                    , mkelem_qn5 []
+                      [ mkelem_qn17
+                        [ mkattr_qn18 [ mkText "" ]
+                        ]
+                        [ mkText "datatypeLibrary"
+                        ]
+                      , mkelem_qn7
+                        [ mkattr_qn24 [ mkText "anyURI" ]
+                        , mkattr_qn8 [ mkText "http://www.w3.org/2001/XMLSchema-datatypes" ]
+                        ] []
+                      ]
+                    ]
+                  ]
+                , mkelem_qn6 []
+                  [ mkelem_qn11 [] []
+                  , mkelem_qn20 []
+                    [ mkelem_qn5 []
+                      [ mkelem_qn4 []
+                        [ mkelem_qn12 []
+                          [ mkelem_qn6 []
+                            [ mkelem_qn19
+                              [ mkattr_qn18 [ mkText "http://relaxng.org/ns/structure/1.0" ]
+                              ] []
+                            , mkelem_qn19
+                              [ mkattr_qn18 [ mkText "" ]
+                              ] []
+                            ]
+                          ]
+                        ]
+                      , mkelem_qn23 [] []
+                      ]
+                    ]
+                  ]
+                ]
+              ]
+            , mkelem_qn6 []
+              [ mkelem_qn11 [] []
+              , mkelem_qn20 []
+                [ mkelem_qn21
+                  [ mkattr_qn16 [ mkText "16" ]
+                  ] []
+                ]
+              ]
+            ]
+          ]
+        ]
+      , mkelem_qn9
+        [ mkattr_qn16 [ mkText "43" ]
+        ]
+        [ mkelem_qn10 []
+          [ mkelem_qn17
+            [ mkattr_qn18 [ mkText "http://relaxng.org/ns/structure/1.0" ]
+            ]
+            [ mkText "notAllowed"
+            ]
+          , mkelem_qn14 []
+            [ mkelem_qn14 []
+              [ mkelem_qn14 []
+                [ mkelem_qn6 []
+                  [ mkelem_qn11 [] []
+                  , mkelem_qn5 []
+                    [ mkelem_qn17
+                      [ mkattr_qn18 [ mkText "" ]
+                      ]
+                      [ mkText "ns"
+                      ]
+                    , mkelem_qn23 [] []
+                    ]
+                  ]
+                , mkelem_qn6 []
+                  [ mkelem_qn11 [] []
+                  , mkelem_qn5 []
+                    [ mkelem_qn17
+                      [ mkattr_qn18 [ mkText "" ]
+                      ]
+                      [ mkText "datatypeLibrary"
+                      ]
+                    , mkelem_qn7
+                      [ mkattr_qn24 [ mkText "anyURI" ]
+                      , mkattr_qn8 [ mkText "http://www.w3.org/2001/XMLSchema-datatypes" ]
+                      ] []
+                    ]
+                  ]
+                ]
+              , mkelem_qn6 []
+                [ mkelem_qn11 [] []
+                , mkelem_qn20 []
+                  [ mkelem_qn5 []
+                    [ mkelem_qn4 []
+                      [ mkelem_qn12 []
+                        [ mkelem_qn6 []
+                          [ mkelem_qn19
+                            [ mkattr_qn18 [ mkText "http://relaxng.org/ns/structure/1.0" ]
+                            ] []
+                          , mkelem_qn19
+                            [ mkattr_qn18 [ mkText "" ]
+                            ] []
+                          ]
+                        ]
+                      ]
+                    , mkelem_qn23 [] []
+                    ]
+                  ]
+                ]
+              ]
+            , mkelem_qn6 []
+              [ mkelem_qn11 [] []
+              , mkelem_qn20 []
+                [ mkelem_qn21
+                  [ mkattr_qn16 [ mkText "16" ]
+                  ] []
+                ]
+              ]
+            ]
+          ]
+        ]
+      , mkelem_qn9
+        [ mkattr_qn16 [ mkText "40" ]
+        ]
+        [ mkelem_qn10 []
+          [ mkelem_qn17
+            [ mkattr_qn18 [ mkText "http://relaxng.org/ns/structure/1.0" ]
+            ]
+            [ mkText "data"
+            ]
+          , mkelem_qn14 []
+            [ mkelem_qn14 []
+              [ mkelem_qn5 []
+                [ mkelem_qn17
+                  [ mkattr_qn18 [ mkText "" ]
+                  ]
+                  [ mkText "type"
+                  ]
+                , mkelem_qn7
+                  [ mkattr_qn24 [ mkText "NCName" ]
+                  , mkattr_qn8 [ mkText "http://www.w3.org/2001/XMLSchema-datatypes" ]
+                  ] []
+                ]
+              , mkelem_qn14 []
+                [ mkelem_qn14 []
+                  [ mkelem_qn6 []
+                    [ mkelem_qn11 [] []
+                    , mkelem_qn5 []
+                      [ mkelem_qn17
+                        [ mkattr_qn18 [ mkText "" ]
+                        ]
+                        [ mkText "ns"
+                        ]
+                      , mkelem_qn23 [] []
+                      ]
+                    ]
+                  , mkelem_qn6 []
+                    [ mkelem_qn11 [] []
+                    , mkelem_qn5 []
+                      [ mkelem_qn17
+                        [ mkattr_qn18 [ mkText "" ]
+                        ]
+                        [ mkText "datatypeLibrary"
+                        ]
+                      , mkelem_qn7
+                        [ mkattr_qn24 [ mkText "anyURI" ]
+                        , mkattr_qn8 [ mkText "http://www.w3.org/2001/XMLSchema-datatypes" ]
+                        ] []
+                      ]
+                    ]
+                  ]
+                , mkelem_qn6 []
+                  [ mkelem_qn11 [] []
+                  , mkelem_qn20 []
+                    [ mkelem_qn5 []
+                      [ mkelem_qn4 []
+                        [ mkelem_qn12 []
+                          [ mkelem_qn6 []
+                            [ mkelem_qn19
+                              [ mkattr_qn18 [ mkText "http://relaxng.org/ns/structure/1.0" ]
+                              ] []
+                            , mkelem_qn19
+                              [ mkattr_qn18 [ mkText "" ]
+                              ] []
+                            ]
+                          ]
+                        ]
+                      , mkelem_qn23 [] []
+                      ]
+                    ]
+                  ]
+                ]
+              ]
+            , mkelem_qn15 []
+              [ mkelem_qn6 []
+                [ mkelem_qn11 [] []
+                , mkelem_qn20 []
+                  [ mkelem_qn21
+                    [ mkattr_qn16 [ mkText "16" ]
+                    ] []
+                  ]
+                ]
+              , mkelem_qn14 []
+                [ mkelem_qn6 []
+                  [ mkelem_qn11 [] []
+                  , mkelem_qn20 []
+                    [ mkelem_qn21
+                      [ mkattr_qn16 [ mkText "41" ]
+                      ] []
+                    ]
+                  ]
+                , mkelem_qn6 []
+                  [ mkelem_qn11 [] []
+                  , mkelem_qn21
+                    [ mkattr_qn16 [ mkText "42" ]
+                    ] []
+                  ]
+                ]
+              ]
+            ]
+          ]
+        ]
+      , mkelem_qn9
+        [ mkattr_qn16 [ mkText "42" ]
+        ]
+        [ mkelem_qn10 []
+          [ mkelem_qn17
+            [ mkattr_qn18 [ mkText "http://relaxng.org/ns/structure/1.0" ]
+            ]
+            [ mkText "except"
+            ]
+          , mkelem_qn14 []
+            [ mkelem_qn14 []
+              [ mkelem_qn14 []
+                [ mkelem_qn6 []
+                  [ mkelem_qn11 [] []
+                  , mkelem_qn5 []
+                    [ mkelem_qn17
+                      [ mkattr_qn18 [ mkText "" ]
+                      ]
+                      [ mkText "ns"
+                      ]
+                    , mkelem_qn23 [] []
+                    ]
+                  ]
+                , mkelem_qn6 []
+                  [ mkelem_qn11 [] []
+                  , mkelem_qn5 []
+                    [ mkelem_qn17
+                      [ mkattr_qn18 [ mkText "" ]
+                      ]
+                      [ mkText "datatypeLibrary"
+                      ]
+                    , mkelem_qn7
+                      [ mkattr_qn24 [ mkText "anyURI" ]
+                      , mkattr_qn8 [ mkText "http://www.w3.org/2001/XMLSchema-datatypes" ]
+                      ] []
+                    ]
+                  ]
+                ]
+              , mkelem_qn6 []
+                [ mkelem_qn11 [] []
+                , mkelem_qn20 []
+                  [ mkelem_qn5 []
+                    [ mkelem_qn4 []
+                      [ mkelem_qn12 []
+                        [ mkelem_qn6 []
+                          [ mkelem_qn19
+                            [ mkattr_qn18 [ mkText "http://relaxng.org/ns/structure/1.0" ]
+                            ] []
+                          , mkelem_qn19
+                            [ mkattr_qn18 [ mkText "" ]
+                            ] []
+                          ]
+                        ]
+                      ]
+                    , mkelem_qn23 [] []
+                    ]
+                  ]
+                ]
+              ]
+            , mkelem_qn15 []
+              [ mkelem_qn6 []
+                [ mkelem_qn11 [] []
+                , mkelem_qn20 []
+                  [ mkelem_qn21
+                    [ mkattr_qn16 [ mkText "16" ]
+                    ] []
+                  ]
+                ]
+              , mkelem_qn20 []
+                [ mkelem_qn6 []
+                  [ mkelem_qn6 []
+                    [ mkelem_qn6 []
+                      [ mkelem_qn6 []
+                        [ mkelem_qn6 []
+                          [ mkelem_qn6 []
+                            [ mkelem_qn6 []
+                              [ mkelem_qn6 []
+                                [ mkelem_qn6 []
+                                  [ mkelem_qn6 []
+                                    [ mkelem_qn6 []
+                                      [ mkelem_qn6 []
+                                        [ mkelem_qn6 []
+                                          [ mkelem_qn6 []
+                                            [ mkelem_qn6 []
+                                              [ mkelem_qn6 []
+                                                [ mkelem_qn6 []
+                                                  [ mkelem_qn6 []
+                                                    [ mkelem_qn21
+                                                      [ mkattr_qn16 [ mkText "25" ]
+                                                      ] []
+                                                    , mkelem_qn21
+                                                      [ mkattr_qn16 [ mkText "26" ]
+                                                      ] []
+                                                    ]
+                                                  , mkelem_qn21
+                                                    [ mkattr_qn16 [ mkText "27" ]
+                                                    ] []
+                                                  ]
+                                                , mkelem_qn21
+                                                  [ mkattr_qn16 [ mkText "28" ]
+                                                  ] []
+                                                ]
+                                              , mkelem_qn21
+                                                [ mkattr_qn16 [ mkText "29" ]
+                                                ] []
+                                              ]
+                                            , mkelem_qn21
+                                              [ mkattr_qn16 [ mkText "30" ]
+                                              ] []
+                                            ]
+                                          , mkelem_qn21
+                                            [ mkattr_qn16 [ mkText "31" ]
+                                            ] []
+                                          ]
+                                        , mkelem_qn21
+                                          [ mkattr_qn16 [ mkText "32" ]
+                                          ] []
+                                        ]
+                                      , mkelem_qn21
+                                        [ mkattr_qn16 [ mkText "33" ]
+                                        ] []
+                                      ]
+                                    , mkelem_qn21
+                                      [ mkattr_qn16 [ mkText "34" ]
+                                      ] []
+                                    ]
+                                  , mkelem_qn21
+                                    [ mkattr_qn16 [ mkText "35" ]
+                                    ] []
+                                  ]
+                                , mkelem_qn21
+                                  [ mkattr_qn16 [ mkText "36" ]
+                                  ] []
+                                ]
+                              , mkelem_qn21
+                                [ mkattr_qn16 [ mkText "37" ]
+                                ] []
+                              ]
+                            , mkelem_qn21
+                              [ mkattr_qn16 [ mkText "38" ]
+                              ] []
+                            ]
+                          , mkelem_qn21
+                            [ mkattr_qn16 [ mkText "39" ]
+                            ] []
+                          ]
+                        , mkelem_qn21
+                          [ mkattr_qn16 [ mkText "40" ]
+                          ] []
+                        ]
+                      , mkelem_qn21
+                        [ mkattr_qn16 [ mkText "43" ]
+                        ] []
+                      ]
+                    , mkelem_qn21
+                      [ mkattr_qn16 [ mkText "44" ]
+                      ] []
+                    ]
+                  , mkelem_qn21
+                    [ mkattr_qn16 [ mkText "14" ]
+                    ] []
+                  ]
+                ]
+              ]
+            ]
+          ]
+        ]
+      , mkelem_qn9
+        [ mkattr_qn16 [ mkText "41" ]
+        ]
+        [ mkelem_qn10 []
+          [ mkelem_qn17
+            [ mkattr_qn18 [ mkText "http://relaxng.org/ns/structure/1.0" ]
+            ]
+            [ mkText "param"
+            ]
+          , mkelem_qn14 []
+            [ mkelem_qn5 []
+              [ mkelem_qn17
+                [ mkattr_qn18 [ mkText "" ]
+                ]
+                [ mkText "name"
+                ]
+              , mkelem_qn7
+                [ mkattr_qn24 [ mkText "NCName" ]
+                , mkattr_qn8 [ mkText "http://www.w3.org/2001/XMLSchema-datatypes" ]
+                ] []
+              ]
+            , mkelem_qn23 [] []
+            ]
+          ]
+        ]
+      , mkelem_qn9
+        [ mkattr_qn16 [ mkText "39" ]
+        ]
+        [ mkelem_qn10 []
+          [ mkelem_qn17
+            [ mkattr_qn18 [ mkText "http://relaxng.org/ns/structure/1.0" ]
+            ]
+            [ mkText "value"
+            ]
+          , mkelem_qn14 []
+            [ mkelem_qn14 []
+              [ mkelem_qn6 []
+                [ mkelem_qn11 [] []
+                , mkelem_qn5 []
+                  [ mkelem_qn17
+                    [ mkattr_qn18 [ mkText "" ]
+                    ]
+                    [ mkText "type"
+                    ]
+                  , mkelem_qn7
+                    [ mkattr_qn24 [ mkText "NCName" ]
+                    , mkattr_qn8 [ mkText "http://www.w3.org/2001/XMLSchema-datatypes" ]
+                    ] []
+                  ]
+                ]
+              , mkelem_qn14 []
+                [ mkelem_qn14 []
+                  [ mkelem_qn6 []
+                    [ mkelem_qn11 [] []
+                    , mkelem_qn5 []
+                      [ mkelem_qn17
+                        [ mkattr_qn18 [ mkText "" ]
+                        ]
+                        [ mkText "ns"
+                        ]
+                      , mkelem_qn23 [] []
+                      ]
+                    ]
+                  , mkelem_qn6 []
+                    [ mkelem_qn11 [] []
+                    , mkelem_qn5 []
+                      [ mkelem_qn17
+                        [ mkattr_qn18 [ mkText "" ]
+                        ]
+                        [ mkText "datatypeLibrary"
+                        ]
+                      , mkelem_qn7
+                        [ mkattr_qn24 [ mkText "anyURI" ]
+                        , mkattr_qn8 [ mkText "http://www.w3.org/2001/XMLSchema-datatypes" ]
+                        ] []
+                      ]
+                    ]
+                  ]
+                , mkelem_qn6 []
+                  [ mkelem_qn11 [] []
+                  , mkelem_qn20 []
+                    [ mkelem_qn5 []
+                      [ mkelem_qn4 []
+                        [ mkelem_qn12 []
+                          [ mkelem_qn6 []
+                            [ mkelem_qn19
+                              [ mkattr_qn18 [ mkText "http://relaxng.org/ns/structure/1.0" ]
+                              ] []
+                            , mkelem_qn19
+                              [ mkattr_qn18 [ mkText "" ]
+                              ] []
+                            ]
+                          ]
+                        ]
+                      , mkelem_qn23 [] []
+                      ]
+                    ]
+                  ]
+                ]
+              ]
+            , mkelem_qn23 [] []
+            ]
+          ]
+        ]
+      , mkelem_qn9
+        [ mkattr_qn16 [ mkText "38" ]
+        ]
+        [ mkelem_qn10 []
+          [ mkelem_qn17
+            [ mkattr_qn18 [ mkText "http://relaxng.org/ns/structure/1.0" ]
+            ]
+            [ mkText "text"
+            ]
+          , mkelem_qn14 []
+            [ mkelem_qn14 []
+              [ mkelem_qn14 []
+                [ mkelem_qn6 []
+                  [ mkelem_qn11 [] []
+                  , mkelem_qn5 []
+                    [ mkelem_qn17
+                      [ mkattr_qn18 [ mkText "" ]
+                      ]
+                      [ mkText "ns"
+                      ]
+                    , mkelem_qn23 [] []
+                    ]
+                  ]
+                , mkelem_qn6 []
+                  [ mkelem_qn11 [] []
+                  , mkelem_qn5 []
+                    [ mkelem_qn17
+                      [ mkattr_qn18 [ mkText "" ]
+                      ]
+                      [ mkText "datatypeLibrary"
+                      ]
+                    , mkelem_qn7
+                      [ mkattr_qn24 [ mkText "anyURI" ]
+                      , mkattr_qn8 [ mkText "http://www.w3.org/2001/XMLSchema-datatypes" ]
+                      ] []
+                    ]
+                  ]
+                ]
+              , mkelem_qn6 []
+                [ mkelem_qn11 [] []
+                , mkelem_qn20 []
+                  [ mkelem_qn5 []
+                    [ mkelem_qn4 []
+                      [ mkelem_qn12 []
+                        [ mkelem_qn6 []
+                          [ mkelem_qn19
+                            [ mkattr_qn18 [ mkText "http://relaxng.org/ns/structure/1.0" ]
+                            ] []
+                          , mkelem_qn19
+                            [ mkattr_qn18 [ mkText "" ]
+                            ] []
+                          ]
+                        ]
+                      ]
+                    , mkelem_qn23 [] []
+                    ]
+                  ]
+                ]
+              ]
+            , mkelem_qn6 []
+              [ mkelem_qn11 [] []
+              , mkelem_qn20 []
+                [ mkelem_qn21
+                  [ mkattr_qn16 [ mkText "16" ]
+                  ] []
+                ]
+              ]
+            ]
+          ]
+        ]
+      , mkelem_qn9
+        [ mkattr_qn16 [ mkText "37" ]
+        ]
+        [ mkelem_qn10 []
+          [ mkelem_qn17
+            [ mkattr_qn18 [ mkText "http://relaxng.org/ns/structure/1.0" ]
+            ]
+            [ mkText "empty"
+            ]
+          , mkelem_qn14 []
+            [ mkelem_qn14 []
+              [ mkelem_qn14 []
+                [ mkelem_qn6 []
+                  [ mkelem_qn11 [] []
+                  , mkelem_qn5 []
+                    [ mkelem_qn17
+                      [ mkattr_qn18 [ mkText "" ]
+                      ]
+                      [ mkText "ns"
+                      ]
+                    , mkelem_qn23 [] []
+                    ]
+                  ]
+                , mkelem_qn6 []
+                  [ mkelem_qn11 [] []
+                  , mkelem_qn5 []
+                    [ mkelem_qn17
+                      [ mkattr_qn18 [ mkText "" ]
+                      ]
+                      [ mkText "datatypeLibrary"
+                      ]
+                    , mkelem_qn7
+                      [ mkattr_qn24 [ mkText "anyURI" ]
+                      , mkattr_qn8 [ mkText "http://www.w3.org/2001/XMLSchema-datatypes" ]
+                      ] []
+                    ]
+                  ]
+                ]
+              , mkelem_qn6 []
+                [ mkelem_qn11 [] []
+                , mkelem_qn20 []
+                  [ mkelem_qn5 []
+                    [ mkelem_qn4 []
+                      [ mkelem_qn12 []
+                        [ mkelem_qn6 []
+                          [ mkelem_qn19
+                            [ mkattr_qn18 [ mkText "http://relaxng.org/ns/structure/1.0" ]
+                            ] []
+                          , mkelem_qn19
+                            [ mkattr_qn18 [ mkText "" ]
+                            ] []
+                          ]
+                        ]
+                      ]
+                    , mkelem_qn23 [] []
+                    ]
+                  ]
+                ]
+              ]
+            , mkelem_qn6 []
+              [ mkelem_qn11 [] []
+              , mkelem_qn20 []
+                [ mkelem_qn21
+                  [ mkattr_qn16 [ mkText "16" ]
+                  ] []
+                ]
+              ]
+            ]
+          ]
+        ]
+      , mkelem_qn9
+        [ mkattr_qn16 [ mkText "36" ]
+        ]
+        [ mkelem_qn10 []
+          [ mkelem_qn17
+            [ mkattr_qn18 [ mkText "http://relaxng.org/ns/structure/1.0" ]
+            ]
+            [ mkText "parentRef"
+            ]
+          , mkelem_qn14 []
+            [ mkelem_qn5 []
+              [ mkelem_qn17
+                [ mkattr_qn18 [ mkText "" ]
+                ]
+                [ mkText "name"
+                ]
+              , mkelem_qn7
+                [ mkattr_qn24 [ mkText "NCName" ]
+                , mkattr_qn8 [ mkText "http://www.w3.org/2001/XMLSchema-datatypes" ]
+                ] []
+              ]
+            , mkelem_qn14 []
+              [ mkelem_qn14 []
+                [ mkelem_qn6 []
+                  [ mkelem_qn11 [] []
+                  , mkelem_qn5 []
+                    [ mkelem_qn17
+                      [ mkattr_qn18 [ mkText "" ]
+                      ]
+                      [ mkText "ns"
+                      ]
+                    , mkelem_qn23 [] []
+                    ]
+                  ]
+                , mkelem_qn6 []
+                  [ mkelem_qn11 [] []
+                  , mkelem_qn5 []
+                    [ mkelem_qn17
+                      [ mkattr_qn18 [ mkText "" ]
+                      ]
+                      [ mkText "datatypeLibrary"
+                      ]
+                    , mkelem_qn7
+                      [ mkattr_qn24 [ mkText "anyURI" ]
+                      , mkattr_qn8 [ mkText "http://www.w3.org/2001/XMLSchema-datatypes" ]
+                      ] []
+                    ]
+                  ]
+                ]
+              , mkelem_qn6 []
+                [ mkelem_qn11 [] []
+                , mkelem_qn20 []
+                  [ mkelem_qn5 []
+                    [ mkelem_qn4 []
+                      [ mkelem_qn12 []
+                        [ mkelem_qn6 []
+                          [ mkelem_qn19
+                            [ mkattr_qn18 [ mkText "http://relaxng.org/ns/structure/1.0" ]
+                            ] []
+                          , mkelem_qn19
+                            [ mkattr_qn18 [ mkText "" ]
+                            ] []
+                          ]
+                        ]
+                      ]
+                    , mkelem_qn23 [] []
+                    ]
+                  ]
+                ]
+              ]
+            ]
+          ]
+        ]
+      , mkelem_qn9
+        [ mkattr_qn16 [ mkText "35" ]
+        ]
+        [ mkelem_qn10 []
+          [ mkelem_qn17
+            [ mkattr_qn18 [ mkText "http://relaxng.org/ns/structure/1.0" ]
+            ]
+            [ mkText "ref"
+            ]
+          , mkelem_qn14 []
+            [ mkelem_qn5 []
+              [ mkelem_qn17
+                [ mkattr_qn18 [ mkText "" ]
+                ]
+                [ mkText "name"
+                ]
+              , mkelem_qn7
+                [ mkattr_qn24 [ mkText "NCName" ]
+                , mkattr_qn8 [ mkText "http://www.w3.org/2001/XMLSchema-datatypes" ]
+                ] []
+              ]
+            , mkelem_qn14 []
+              [ mkelem_qn14 []
+                [ mkelem_qn6 []
+                  [ mkelem_qn11 [] []
+                  , mkelem_qn5 []
+                    [ mkelem_qn17
+                      [ mkattr_qn18 [ mkText "" ]
+                      ]
+                      [ mkText "ns"
+                      ]
+                    , mkelem_qn23 [] []
+                    ]
+                  ]
+                , mkelem_qn6 []
+                  [ mkelem_qn11 [] []
+                  , mkelem_qn5 []
+                    [ mkelem_qn17
+                      [ mkattr_qn18 [ mkText "" ]
+                      ]
+                      [ mkText "datatypeLibrary"
+                      ]
+                    , mkelem_qn7
+                      [ mkattr_qn24 [ mkText "anyURI" ]
+                      , mkattr_qn8 [ mkText "http://www.w3.org/2001/XMLSchema-datatypes" ]
+                      ] []
+                    ]
+                  ]
+                ]
+              , mkelem_qn6 []
+                [ mkelem_qn11 [] []
+                , mkelem_qn20 []
+                  [ mkelem_qn5 []
+                    [ mkelem_qn4 []
+                      [ mkelem_qn12 []
+                        [ mkelem_qn6 []
+                          [ mkelem_qn19
+                            [ mkattr_qn18 [ mkText "http://relaxng.org/ns/structure/1.0" ]
+                            ] []
+                          , mkelem_qn19
+                            [ mkattr_qn18 [ mkText "" ]
+                            ] []
+                          ]
+                        ]
+                      ]
+                    , mkelem_qn23 [] []
+                    ]
+                  ]
+                ]
+              ]
+            ]
+          ]
+        ]
+      , mkelem_qn9
+        [ mkattr_qn16 [ mkText "34" ]
+        ]
+        [ mkelem_qn10 []
+          [ mkelem_qn17
+            [ mkattr_qn18 [ mkText "http://relaxng.org/ns/structure/1.0" ]
+            ]
+            [ mkText "mixed"
+            ]
+          , mkelem_qn14 []
+            [ mkelem_qn14 []
+              [ mkelem_qn14 []
+                [ mkelem_qn6 []
+                  [ mkelem_qn11 [] []
+                  , mkelem_qn5 []
+                    [ mkelem_qn17
+                      [ mkattr_qn18 [ mkText "" ]
+                      ]
+                      [ mkText "ns"
+                      ]
+                    , mkelem_qn23 [] []
+                    ]
+                  ]
+                , mkelem_qn6 []
+                  [ mkelem_qn11 [] []
+                  , mkelem_qn5 []
+                    [ mkelem_qn17
+                      [ mkattr_qn18 [ mkText "" ]
+                      ]
+                      [ mkText "datatypeLibrary"
+                      ]
+                    , mkelem_qn7
+                      [ mkattr_qn24 [ mkText "anyURI" ]
+                      , mkattr_qn8 [ mkText "http://www.w3.org/2001/XMLSchema-datatypes" ]
+                      ] []
+                    ]
+                  ]
+                ]
+              , mkelem_qn6 []
+                [ mkelem_qn11 [] []
+                , mkelem_qn20 []
+                  [ mkelem_qn5 []
+                    [ mkelem_qn4 []
+                      [ mkelem_qn12 []
+                        [ mkelem_qn6 []
+                          [ mkelem_qn19
+                            [ mkattr_qn18 [ mkText "http://relaxng.org/ns/structure/1.0" ]
+                            ] []
+                          , mkelem_qn19
+                            [ mkattr_qn18 [ mkText "" ]
+                            ] []
+                          ]
+                        ]
+                      ]
+                    , mkelem_qn23 [] []
+                    ]
+                  ]
+                ]
+              ]
+            , mkelem_qn15 []
+              [ mkelem_qn6 []
+                [ mkelem_qn11 [] []
+                , mkelem_qn20 []
+                  [ mkelem_qn21
+                    [ mkattr_qn16 [ mkText "16" ]
+                    ] []
+                  ]
+                ]
+              , mkelem_qn20 []
+                [ mkelem_qn6 []
+                  [ mkelem_qn6 []
+                    [ mkelem_qn6 []
+                      [ mkelem_qn6 []
+                        [ mkelem_qn6 []
+                          [ mkelem_qn6 []
+                            [ mkelem_qn6 []
+                              [ mkelem_qn6 []
+                                [ mkelem_qn6 []
+                                  [ mkelem_qn6 []
+                                    [ mkelem_qn6 []
+                                      [ mkelem_qn6 []
+                                        [ mkelem_qn6 []
+                                          [ mkelem_qn6 []
+                                            [ mkelem_qn6 []
+                                              [ mkelem_qn6 []
+                                                [ mkelem_qn6 []
+                                                  [ mkelem_qn6 []
+                                                    [ mkelem_qn21
+                                                      [ mkattr_qn16 [ mkText "25" ]
+                                                      ] []
+                                                    , mkelem_qn21
+                                                      [ mkattr_qn16 [ mkText "26" ]
+                                                      ] []
+                                                    ]
+                                                  , mkelem_qn21
+                                                    [ mkattr_qn16 [ mkText "27" ]
+                                                    ] []
+                                                  ]
+                                                , mkelem_qn21
+                                                  [ mkattr_qn16 [ mkText "28" ]
+                                                  ] []
+                                                ]
+                                              , mkelem_qn21
+                                                [ mkattr_qn16 [ mkText "29" ]
+                                                ] []
+                                              ]
+                                            , mkelem_qn21
+                                              [ mkattr_qn16 [ mkText "30" ]
+                                              ] []
+                                            ]
+                                          , mkelem_qn21
+                                            [ mkattr_qn16 [ mkText "31" ]
+                                            ] []
+                                          ]
+                                        , mkelem_qn21
+                                          [ mkattr_qn16 [ mkText "32" ]
+                                          ] []
+                                        ]
+                                      , mkelem_qn21
+                                        [ mkattr_qn16 [ mkText "33" ]
+                                        ] []
+                                      ]
+                                    , mkelem_qn21
+                                      [ mkattr_qn16 [ mkText "34" ]
+                                      ] []
+                                    ]
+                                  , mkelem_qn21
+                                    [ mkattr_qn16 [ mkText "35" ]
+                                    ] []
+                                  ]
+                                , mkelem_qn21
+                                  [ mkattr_qn16 [ mkText "36" ]
+                                  ] []
+                                ]
+                              , mkelem_qn21
+                                [ mkattr_qn16 [ mkText "37" ]
+                                ] []
+                              ]
+                            , mkelem_qn21
+                              [ mkattr_qn16 [ mkText "38" ]
+                              ] []
+                            ]
+                          , mkelem_qn21
+                            [ mkattr_qn16 [ mkText "39" ]
+                            ] []
+                          ]
+                        , mkelem_qn21
+                          [ mkattr_qn16 [ mkText "40" ]
+                          ] []
+                        ]
+                      , mkelem_qn21
+                        [ mkattr_qn16 [ mkText "43" ]
+                        ] []
+                      ]
+                    , mkelem_qn21
+                      [ mkattr_qn16 [ mkText "44" ]
+                      ] []
+                    ]
+                  , mkelem_qn21
+                    [ mkattr_qn16 [ mkText "14" ]
+                    ] []
+                  ]
+                ]
+              ]
+            ]
+          ]
+        ]
+      , mkelem_qn9
+        [ mkattr_qn16 [ mkText "33" ]
+        ]
+        [ mkelem_qn10 []
+          [ mkelem_qn17
+            [ mkattr_qn18 [ mkText "http://relaxng.org/ns/structure/1.0" ]
+            ]
+            [ mkText "list"
+            ]
+          , mkelem_qn14 []
+            [ mkelem_qn14 []
+              [ mkelem_qn14 []
+                [ mkelem_qn6 []
+                  [ mkelem_qn11 [] []
+                  , mkelem_qn5 []
+                    [ mkelem_qn17
+                      [ mkattr_qn18 [ mkText "" ]
+                      ]
+                      [ mkText "ns"
+                      ]
+                    , mkelem_qn23 [] []
+                    ]
+                  ]
+                , mkelem_qn6 []
+                  [ mkelem_qn11 [] []
+                  , mkelem_qn5 []
+                    [ mkelem_qn17
+                      [ mkattr_qn18 [ mkText "" ]
+                      ]
+                      [ mkText "datatypeLibrary"
+                      ]
+                    , mkelem_qn7
+                      [ mkattr_qn24 [ mkText "anyURI" ]
+                      , mkattr_qn8 [ mkText "http://www.w3.org/2001/XMLSchema-datatypes" ]
+                      ] []
+                    ]
+                  ]
+                ]
+              , mkelem_qn6 []
+                [ mkelem_qn11 [] []
+                , mkelem_qn20 []
+                  [ mkelem_qn5 []
+                    [ mkelem_qn4 []
+                      [ mkelem_qn12 []
+                        [ mkelem_qn6 []
+                          [ mkelem_qn19
+                            [ mkattr_qn18 [ mkText "http://relaxng.org/ns/structure/1.0" ]
+                            ] []
+                          , mkelem_qn19
+                            [ mkattr_qn18 [ mkText "" ]
+                            ] []
+                          ]
+                        ]
+                      ]
+                    , mkelem_qn23 [] []
+                    ]
+                  ]
+                ]
+              ]
+            , mkelem_qn15 []
+              [ mkelem_qn6 []
+                [ mkelem_qn11 [] []
+                , mkelem_qn20 []
+                  [ mkelem_qn21
+                    [ mkattr_qn16 [ mkText "16" ]
+                    ] []
+                  ]
+                ]
+              , mkelem_qn20 []
+                [ mkelem_qn6 []
+                  [ mkelem_qn6 []
+                    [ mkelem_qn6 []
+                      [ mkelem_qn6 []
+                        [ mkelem_qn6 []
+                          [ mkelem_qn6 []
+                            [ mkelem_qn6 []
+                              [ mkelem_qn6 []
+                                [ mkelem_qn6 []
+                                  [ mkelem_qn6 []
+                                    [ mkelem_qn6 []
+                                      [ mkelem_qn6 []
+                                        [ mkelem_qn6 []
+                                          [ mkelem_qn6 []
+                                            [ mkelem_qn6 []
+                                              [ mkelem_qn6 []
+                                                [ mkelem_qn6 []
+                                                  [ mkelem_qn6 []
+                                                    [ mkelem_qn21
+                                                      [ mkattr_qn16 [ mkText "25" ]
+                                                      ] []
+                                                    , mkelem_qn21
+                                                      [ mkattr_qn16 [ mkText "26" ]
+                                                      ] []
+                                                    ]
+                                                  , mkelem_qn21
+                                                    [ mkattr_qn16 [ mkText "27" ]
+                                                    ] []
+                                                  ]
+                                                , mkelem_qn21
+                                                  [ mkattr_qn16 [ mkText "28" ]
+                                                  ] []
+                                                ]
+                                              , mkelem_qn21
+                                                [ mkattr_qn16 [ mkText "29" ]
+                                                ] []
+                                              ]
+                                            , mkelem_qn21
+                                              [ mkattr_qn16 [ mkText "30" ]
+                                              ] []
+                                            ]
+                                          , mkelem_qn21
+                                            [ mkattr_qn16 [ mkText "31" ]
+                                            ] []
+                                          ]
+                                        , mkelem_qn21
+                                          [ mkattr_qn16 [ mkText "32" ]
+                                          ] []
+                                        ]
+                                      , mkelem_qn21
+                                        [ mkattr_qn16 [ mkText "33" ]
+                                        ] []
+                                      ]
+                                    , mkelem_qn21
+                                      [ mkattr_qn16 [ mkText "34" ]
+                                      ] []
+                                    ]
+                                  , mkelem_qn21
+                                    [ mkattr_qn16 [ mkText "35" ]
+                                    ] []
+                                  ]
+                                , mkelem_qn21
+                                  [ mkattr_qn16 [ mkText "36" ]
+                                  ] []
+                                ]
+                              , mkelem_qn21
+                                [ mkattr_qn16 [ mkText "37" ]
+                                ] []
+                              ]
+                            , mkelem_qn21
+                              [ mkattr_qn16 [ mkText "38" ]
+                              ] []
+                            ]
+                          , mkelem_qn21
+                            [ mkattr_qn16 [ mkText "39" ]
+                            ] []
+                          ]
+                        , mkelem_qn21
+                          [ mkattr_qn16 [ mkText "40" ]
+                          ] []
+                        ]
+                      , mkelem_qn21
+                        [ mkattr_qn16 [ mkText "43" ]
+                        ] []
+                      ]
+                    , mkelem_qn21
+                      [ mkattr_qn16 [ mkText "44" ]
+                      ] []
+                    ]
+                  , mkelem_qn21
+                    [ mkattr_qn16 [ mkText "14" ]
+                    ] []
+                  ]
+                ]
+              ]
+            ]
+          ]
+        ]
+      , mkelem_qn9
+        [ mkattr_qn16 [ mkText "32" ]
+        ]
+        [ mkelem_qn10 []
+          [ mkelem_qn17
+            [ mkattr_qn18 [ mkText "http://relaxng.org/ns/structure/1.0" ]
+            ]
+            [ mkText "oneOrMore"
+            ]
+          , mkelem_qn14 []
+            [ mkelem_qn14 []
+              [ mkelem_qn14 []
+                [ mkelem_qn6 []
+                  [ mkelem_qn11 [] []
+                  , mkelem_qn5 []
+                    [ mkelem_qn17
+                      [ mkattr_qn18 [ mkText "" ]
+                      ]
+                      [ mkText "ns"
+                      ]
+                    , mkelem_qn23 [] []
+                    ]
+                  ]
+                , mkelem_qn6 []
+                  [ mkelem_qn11 [] []
+                  , mkelem_qn5 []
+                    [ mkelem_qn17
+                      [ mkattr_qn18 [ mkText "" ]
+                      ]
+                      [ mkText "datatypeLibrary"
+                      ]
+                    , mkelem_qn7
+                      [ mkattr_qn24 [ mkText "anyURI" ]
+                      , mkattr_qn8 [ mkText "http://www.w3.org/2001/XMLSchema-datatypes" ]
+                      ] []
+                    ]
+                  ]
+                ]
+              , mkelem_qn6 []
+                [ mkelem_qn11 [] []
+                , mkelem_qn20 []
+                  [ mkelem_qn5 []
+                    [ mkelem_qn4 []
+                      [ mkelem_qn12 []
+                        [ mkelem_qn6 []
+                          [ mkelem_qn19
+                            [ mkattr_qn18 [ mkText "http://relaxng.org/ns/structure/1.0" ]
+                            ] []
+                          , mkelem_qn19
+                            [ mkattr_qn18 [ mkText "" ]
+                            ] []
+                          ]
+                        ]
+                      ]
+                    , mkelem_qn23 [] []
+                    ]
+                  ]
+                ]
+              ]
+            , mkelem_qn15 []
+              [ mkelem_qn6 []
+                [ mkelem_qn11 [] []
+                , mkelem_qn20 []
+                  [ mkelem_qn21
+                    [ mkattr_qn16 [ mkText "16" ]
+                    ] []
+                  ]
+                ]
+              , mkelem_qn20 []
+                [ mkelem_qn6 []
+                  [ mkelem_qn6 []
+                    [ mkelem_qn6 []
+                      [ mkelem_qn6 []
+                        [ mkelem_qn6 []
+                          [ mkelem_qn6 []
+                            [ mkelem_qn6 []
+                              [ mkelem_qn6 []
+                                [ mkelem_qn6 []
+                                  [ mkelem_qn6 []
+                                    [ mkelem_qn6 []
+                                      [ mkelem_qn6 []
+                                        [ mkelem_qn6 []
+                                          [ mkelem_qn6 []
+                                            [ mkelem_qn6 []
+                                              [ mkelem_qn6 []
+                                                [ mkelem_qn6 []
+                                                  [ mkelem_qn6 []
+                                                    [ mkelem_qn21
+                                                      [ mkattr_qn16 [ mkText "25" ]
+                                                      ] []
+                                                    , mkelem_qn21
+                                                      [ mkattr_qn16 [ mkText "26" ]
+                                                      ] []
+                                                    ]
+                                                  , mkelem_qn21
+                                                    [ mkattr_qn16 [ mkText "27" ]
+                                                    ] []
+                                                  ]
+                                                , mkelem_qn21
+                                                  [ mkattr_qn16 [ mkText "28" ]
+                                                  ] []
+                                                ]
+                                              , mkelem_qn21
+                                                [ mkattr_qn16 [ mkText "29" ]
+                                                ] []
+                                              ]
+                                            , mkelem_qn21
+                                              [ mkattr_qn16 [ mkText "30" ]
+                                              ] []
+                                            ]
+                                          , mkelem_qn21
+                                            [ mkattr_qn16 [ mkText "31" ]
+                                            ] []
+                                          ]
+                                        , mkelem_qn21
+                                          [ mkattr_qn16 [ mkText "32" ]
+                                          ] []
+                                        ]
+                                      , mkelem_qn21
+                                        [ mkattr_qn16 [ mkText "33" ]
+                                        ] []
+                                      ]
+                                    , mkelem_qn21
+                                      [ mkattr_qn16 [ mkText "34" ]
+                                      ] []
+                                    ]
+                                  , mkelem_qn21
+                                    [ mkattr_qn16 [ mkText "35" ]
+                                    ] []
+                                  ]
+                                , mkelem_qn21
+                                  [ mkattr_qn16 [ mkText "36" ]
+                                  ] []
+                                ]
+                              , mkelem_qn21
+                                [ mkattr_qn16 [ mkText "37" ]
+                                ] []
+                              ]
+                            , mkelem_qn21
+                              [ mkattr_qn16 [ mkText "38" ]
+                              ] []
+                            ]
+                          , mkelem_qn21
+                            [ mkattr_qn16 [ mkText "39" ]
+                            ] []
+                          ]
+                        , mkelem_qn21
+                          [ mkattr_qn16 [ mkText "40" ]
+                          ] []
+                        ]
+                      , mkelem_qn21
+                        [ mkattr_qn16 [ mkText "43" ]
+                        ] []
+                      ]
+                    , mkelem_qn21
+                      [ mkattr_qn16 [ mkText "44" ]
+                      ] []
+                    ]
+                  , mkelem_qn21
+                    [ mkattr_qn16 [ mkText "14" ]
+                    ] []
+                  ]
+                ]
+              ]
+            ]
+          ]
+        ]
+      , mkelem_qn9
+        [ mkattr_qn16 [ mkText "31" ]
+        ]
+        [ mkelem_qn10 []
+          [ mkelem_qn17
+            [ mkattr_qn18 [ mkText "http://relaxng.org/ns/structure/1.0" ]
+            ]
+            [ mkText "zeroOrMore"
+            ]
+          , mkelem_qn14 []
+            [ mkelem_qn14 []
+              [ mkelem_qn14 []
+                [ mkelem_qn6 []
+                  [ mkelem_qn11 [] []
+                  , mkelem_qn5 []
+                    [ mkelem_qn17
+                      [ mkattr_qn18 [ mkText "" ]
+                      ]
+                      [ mkText "ns"
+                      ]
+                    , mkelem_qn23 [] []
+                    ]
+                  ]
+                , mkelem_qn6 []
+                  [ mkelem_qn11 [] []
+                  , mkelem_qn5 []
+                    [ mkelem_qn17
+                      [ mkattr_qn18 [ mkText "" ]
+                      ]
+                      [ mkText "datatypeLibrary"
+                      ]
+                    , mkelem_qn7
+                      [ mkattr_qn24 [ mkText "anyURI" ]
+                      , mkattr_qn8 [ mkText "http://www.w3.org/2001/XMLSchema-datatypes" ]
+                      ] []
+                    ]
+                  ]
+                ]
+              , mkelem_qn6 []
+                [ mkelem_qn11 [] []
+                , mkelem_qn20 []
+                  [ mkelem_qn5 []
+                    [ mkelem_qn4 []
+                      [ mkelem_qn12 []
+                        [ mkelem_qn6 []
+                          [ mkelem_qn19
+                            [ mkattr_qn18 [ mkText "http://relaxng.org/ns/structure/1.0" ]
+                            ] []
+                          , mkelem_qn19
+                            [ mkattr_qn18 [ mkText "" ]
+                            ] []
+                          ]
+                        ]
+                      ]
+                    , mkelem_qn23 [] []
+                    ]
+                  ]
+                ]
+              ]
+            , mkelem_qn15 []
+              [ mkelem_qn6 []
+                [ mkelem_qn11 [] []
+                , mkelem_qn20 []
+                  [ mkelem_qn21
+                    [ mkattr_qn16 [ mkText "16" ]
+                    ] []
+                  ]
+                ]
+              , mkelem_qn20 []
+                [ mkelem_qn6 []
+                  [ mkelem_qn6 []
+                    [ mkelem_qn6 []
+                      [ mkelem_qn6 []
+                        [ mkelem_qn6 []
+                          [ mkelem_qn6 []
+                            [ mkelem_qn6 []
+                              [ mkelem_qn6 []
+                                [ mkelem_qn6 []
+                                  [ mkelem_qn6 []
+                                    [ mkelem_qn6 []
+                                      [ mkelem_qn6 []
+                                        [ mkelem_qn6 []
+                                          [ mkelem_qn6 []
+                                            [ mkelem_qn6 []
+                                              [ mkelem_qn6 []
+                                                [ mkelem_qn6 []
+                                                  [ mkelem_qn6 []
+                                                    [ mkelem_qn21
+                                                      [ mkattr_qn16 [ mkText "25" ]
+                                                      ] []
+                                                    , mkelem_qn21
+                                                      [ mkattr_qn16 [ mkText "26" ]
+                                                      ] []
+                                                    ]
+                                                  , mkelem_qn21
+                                                    [ mkattr_qn16 [ mkText "27" ]
+                                                    ] []
+                                                  ]
+                                                , mkelem_qn21
+                                                  [ mkattr_qn16 [ mkText "28" ]
+                                                  ] []
+                                                ]
+                                              , mkelem_qn21
+                                                [ mkattr_qn16 [ mkText "29" ]
+                                                ] []
+                                              ]
+                                            , mkelem_qn21
+                                              [ mkattr_qn16 [ mkText "30" ]
+                                              ] []
+                                            ]
+                                          , mkelem_qn21
+                                            [ mkattr_qn16 [ mkText "31" ]
+                                            ] []
+                                          ]
+                                        , mkelem_qn21
+                                          [ mkattr_qn16 [ mkText "32" ]
+                                          ] []
+                                        ]
+                                      , mkelem_qn21
+                                        [ mkattr_qn16 [ mkText "33" ]
+                                        ] []
+                                      ]
+                                    , mkelem_qn21
+                                      [ mkattr_qn16 [ mkText "34" ]
+                                      ] []
+                                    ]
+                                  , mkelem_qn21
+                                    [ mkattr_qn16 [ mkText "35" ]
+                                    ] []
+                                  ]
+                                , mkelem_qn21
+                                  [ mkattr_qn16 [ mkText "36" ]
+                                  ] []
+                                ]
+                              , mkelem_qn21
+                                [ mkattr_qn16 [ mkText "37" ]
+                                ] []
+                              ]
+                            , mkelem_qn21
+                              [ mkattr_qn16 [ mkText "38" ]
+                              ] []
+                            ]
+                          , mkelem_qn21
+                            [ mkattr_qn16 [ mkText "39" ]
+                            ] []
+                          ]
+                        , mkelem_qn21
+                          [ mkattr_qn16 [ mkText "40" ]
+                          ] []
+                        ]
+                      , mkelem_qn21
+                        [ mkattr_qn16 [ mkText "43" ]
+                        ] []
+                      ]
+                    , mkelem_qn21
+                      [ mkattr_qn16 [ mkText "44" ]
+                      ] []
+                    ]
+                  , mkelem_qn21
+                    [ mkattr_qn16 [ mkText "14" ]
+                    ] []
+                  ]
+                ]
+              ]
+            ]
+          ]
+        ]
+      , mkelem_qn9
+        [ mkattr_qn16 [ mkText "30" ]
+        ]
+        [ mkelem_qn10 []
+          [ mkelem_qn17
+            [ mkattr_qn18 [ mkText "http://relaxng.org/ns/structure/1.0" ]
+            ]
+            [ mkText "optional"
+            ]
+          , mkelem_qn14 []
+            [ mkelem_qn14 []
+              [ mkelem_qn14 []
+                [ mkelem_qn6 []
+                  [ mkelem_qn11 [] []
+                  , mkelem_qn5 []
+                    [ mkelem_qn17
+                      [ mkattr_qn18 [ mkText "" ]
+                      ]
+                      [ mkText "ns"
+                      ]
+                    , mkelem_qn23 [] []
+                    ]
+                  ]
+                , mkelem_qn6 []
+                  [ mkelem_qn11 [] []
+                  , mkelem_qn5 []
+                    [ mkelem_qn17
+                      [ mkattr_qn18 [ mkText "" ]
+                      ]
+                      [ mkText "datatypeLibrary"
+                      ]
+                    , mkelem_qn7
+                      [ mkattr_qn24 [ mkText "anyURI" ]
+                      , mkattr_qn8 [ mkText "http://www.w3.org/2001/XMLSchema-datatypes" ]
+                      ] []
+                    ]
+                  ]
+                ]
+              , mkelem_qn6 []
+                [ mkelem_qn11 [] []
+                , mkelem_qn20 []
+                  [ mkelem_qn5 []
+                    [ mkelem_qn4 []
+                      [ mkelem_qn12 []
+                        [ mkelem_qn6 []
+                          [ mkelem_qn19
+                            [ mkattr_qn18 [ mkText "http://relaxng.org/ns/structure/1.0" ]
+                            ] []
+                          , mkelem_qn19
+                            [ mkattr_qn18 [ mkText "" ]
+                            ] []
+                          ]
+                        ]
+                      ]
+                    , mkelem_qn23 [] []
+                    ]
+                  ]
+                ]
+              ]
+            , mkelem_qn15 []
+              [ mkelem_qn6 []
+                [ mkelem_qn11 [] []
+                , mkelem_qn20 []
+                  [ mkelem_qn21
+                    [ mkattr_qn16 [ mkText "16" ]
+                    ] []
+                  ]
+                ]
+              , mkelem_qn20 []
+                [ mkelem_qn6 []
+                  [ mkelem_qn6 []
+                    [ mkelem_qn6 []
+                      [ mkelem_qn6 []
+                        [ mkelem_qn6 []
+                          [ mkelem_qn6 []
+                            [ mkelem_qn6 []
+                              [ mkelem_qn6 []
+                                [ mkelem_qn6 []
+                                  [ mkelem_qn6 []
+                                    [ mkelem_qn6 []
+                                      [ mkelem_qn6 []
+                                        [ mkelem_qn6 []
+                                          [ mkelem_qn6 []
+                                            [ mkelem_qn6 []
+                                              [ mkelem_qn6 []
+                                                [ mkelem_qn6 []
+                                                  [ mkelem_qn6 []
+                                                    [ mkelem_qn21
+                                                      [ mkattr_qn16 [ mkText "25" ]
+                                                      ] []
+                                                    , mkelem_qn21
+                                                      [ mkattr_qn16 [ mkText "26" ]
+                                                      ] []
+                                                    ]
+                                                  , mkelem_qn21
+                                                    [ mkattr_qn16 [ mkText "27" ]
+                                                    ] []
+                                                  ]
+                                                , mkelem_qn21
+                                                  [ mkattr_qn16 [ mkText "28" ]
+                                                  ] []
+                                                ]
+                                              , mkelem_qn21
+                                                [ mkattr_qn16 [ mkText "29" ]
+                                                ] []
+                                              ]
+                                            , mkelem_qn21
+                                              [ mkattr_qn16 [ mkText "30" ]
+                                              ] []
+                                            ]
+                                          , mkelem_qn21
+                                            [ mkattr_qn16 [ mkText "31" ]
+                                            ] []
+                                          ]
+                                        , mkelem_qn21
+                                          [ mkattr_qn16 [ mkText "32" ]
+                                          ] []
+                                        ]
+                                      , mkelem_qn21
+                                        [ mkattr_qn16 [ mkText "33" ]
+                                        ] []
+                                      ]
+                                    , mkelem_qn21
+                                      [ mkattr_qn16 [ mkText "34" ]
+                                      ] []
+                                    ]
+                                  , mkelem_qn21
+                                    [ mkattr_qn16 [ mkText "35" ]
+                                    ] []
+                                  ]
+                                , mkelem_qn21
+                                  [ mkattr_qn16 [ mkText "36" ]
+                                  ] []
+                                ]
+                              , mkelem_qn21
+                                [ mkattr_qn16 [ mkText "37" ]
+                                ] []
+                              ]
+                            , mkelem_qn21
+                              [ mkattr_qn16 [ mkText "38" ]
+                              ] []
+                            ]
+                          , mkelem_qn21
+                            [ mkattr_qn16 [ mkText "39" ]
+                            ] []
+                          ]
+                        , mkelem_qn21
+                          [ mkattr_qn16 [ mkText "40" ]
+                          ] []
+                        ]
+                      , mkelem_qn21
+                        [ mkattr_qn16 [ mkText "43" ]
+                        ] []
+                      ]
+                    , mkelem_qn21
+                      [ mkattr_qn16 [ mkText "44" ]
+                      ] []
+                    ]
+                  , mkelem_qn21
+                    [ mkattr_qn16 [ mkText "14" ]
+                    ] []
+                  ]
+                ]
+              ]
+            ]
+          ]
+        ]
+      , mkelem_qn9
+        [ mkattr_qn16 [ mkText "29" ]
+        ]
+        [ mkelem_qn10 []
+          [ mkelem_qn17
+            [ mkattr_qn18 [ mkText "http://relaxng.org/ns/structure/1.0" ]
+            ]
+            [ mkText "choice"
+            ]
+          , mkelem_qn14 []
+            [ mkelem_qn14 []
+              [ mkelem_qn14 []
+                [ mkelem_qn6 []
+                  [ mkelem_qn11 [] []
+                  , mkelem_qn5 []
+                    [ mkelem_qn17
+                      [ mkattr_qn18 [ mkText "" ]
+                      ]
+                      [ mkText "ns"
+                      ]
+                    , mkelem_qn23 [] []
+                    ]
+                  ]
+                , mkelem_qn6 []
+                  [ mkelem_qn11 [] []
+                  , mkelem_qn5 []
+                    [ mkelem_qn17
+                      [ mkattr_qn18 [ mkText "" ]
+                      ]
+                      [ mkText "datatypeLibrary"
+                      ]
+                    , mkelem_qn7
+                      [ mkattr_qn24 [ mkText "anyURI" ]
+                      , mkattr_qn8 [ mkText "http://www.w3.org/2001/XMLSchema-datatypes" ]
+                      ] []
+                    ]
+                  ]
+                ]
+              , mkelem_qn6 []
+                [ mkelem_qn11 [] []
+                , mkelem_qn20 []
+                  [ mkelem_qn5 []
+                    [ mkelem_qn4 []
+                      [ mkelem_qn12 []
+                        [ mkelem_qn6 []
+                          [ mkelem_qn19
+                            [ mkattr_qn18 [ mkText "http://relaxng.org/ns/structure/1.0" ]
+                            ] []
+                          , mkelem_qn19
+                            [ mkattr_qn18 [ mkText "" ]
+                            ] []
+                          ]
+                        ]
+                      ]
+                    , mkelem_qn23 [] []
+                    ]
+                  ]
+                ]
+              ]
+            , mkelem_qn15 []
+              [ mkelem_qn6 []
+                [ mkelem_qn11 [] []
+                , mkelem_qn20 []
+                  [ mkelem_qn21
+                    [ mkattr_qn16 [ mkText "16" ]
+                    ] []
+                  ]
+                ]
+              , mkelem_qn20 []
+                [ mkelem_qn6 []
+                  [ mkelem_qn6 []
+                    [ mkelem_qn6 []
+                      [ mkelem_qn6 []
+                        [ mkelem_qn6 []
+                          [ mkelem_qn6 []
+                            [ mkelem_qn6 []
+                              [ mkelem_qn6 []
+                                [ mkelem_qn6 []
+                                  [ mkelem_qn6 []
+                                    [ mkelem_qn6 []
+                                      [ mkelem_qn6 []
+                                        [ mkelem_qn6 []
+                                          [ mkelem_qn6 []
+                                            [ mkelem_qn6 []
+                                              [ mkelem_qn6 []
+                                                [ mkelem_qn6 []
+                                                  [ mkelem_qn6 []
+                                                    [ mkelem_qn21
+                                                      [ mkattr_qn16 [ mkText "25" ]
+                                                      ] []
+                                                    , mkelem_qn21
+                                                      [ mkattr_qn16 [ mkText "26" ]
+                                                      ] []
+                                                    ]
+                                                  , mkelem_qn21
+                                                    [ mkattr_qn16 [ mkText "27" ]
+                                                    ] []
+                                                  ]
+                                                , mkelem_qn21
+                                                  [ mkattr_qn16 [ mkText "28" ]
+                                                  ] []
+                                                ]
+                                              , mkelem_qn21
+                                                [ mkattr_qn16 [ mkText "29" ]
+                                                ] []
+                                              ]
+                                            , mkelem_qn21
+                                              [ mkattr_qn16 [ mkText "30" ]
+                                              ] []
+                                            ]
+                                          , mkelem_qn21
+                                            [ mkattr_qn16 [ mkText "31" ]
+                                            ] []
+                                          ]
+                                        , mkelem_qn21
+                                          [ mkattr_qn16 [ mkText "32" ]
+                                          ] []
+                                        ]
+                                      , mkelem_qn21
+                                        [ mkattr_qn16 [ mkText "33" ]
+                                        ] []
+                                      ]
+                                    , mkelem_qn21
+                                      [ mkattr_qn16 [ mkText "34" ]
+                                      ] []
+                                    ]
+                                  , mkelem_qn21
+                                    [ mkattr_qn16 [ mkText "35" ]
+                                    ] []
+                                  ]
+                                , mkelem_qn21
+                                  [ mkattr_qn16 [ mkText "36" ]
+                                  ] []
+                                ]
+                              , mkelem_qn21
+                                [ mkattr_qn16 [ mkText "37" ]
+                                ] []
+                              ]
+                            , mkelem_qn21
+                              [ mkattr_qn16 [ mkText "38" ]
+                              ] []
+                            ]
+                          , mkelem_qn21
+                            [ mkattr_qn16 [ mkText "39" ]
+                            ] []
+                          ]
+                        , mkelem_qn21
+                          [ mkattr_qn16 [ mkText "40" ]
+                          ] []
+                        ]
+                      , mkelem_qn21
+                        [ mkattr_qn16 [ mkText "43" ]
+                        ] []
+                      ]
+                    , mkelem_qn21
+                      [ mkattr_qn16 [ mkText "44" ]
+                      ] []
+                    ]
+                  , mkelem_qn21
+                    [ mkattr_qn16 [ mkText "14" ]
+                    ] []
+                  ]
+                ]
+              ]
+            ]
+          ]
+        ]
+      , mkelem_qn9
+        [ mkattr_qn16 [ mkText "28" ]
+        ]
+        [ mkelem_qn10 []
+          [ mkelem_qn17
+            [ mkattr_qn18 [ mkText "http://relaxng.org/ns/structure/1.0" ]
+            ]
+            [ mkText "interleave"
+            ]
+          , mkelem_qn14 []
+            [ mkelem_qn14 []
+              [ mkelem_qn14 []
+                [ mkelem_qn6 []
+                  [ mkelem_qn11 [] []
+                  , mkelem_qn5 []
+                    [ mkelem_qn17
+                      [ mkattr_qn18 [ mkText "" ]
+                      ]
+                      [ mkText "ns"
+                      ]
+                    , mkelem_qn23 [] []
+                    ]
+                  ]
+                , mkelem_qn6 []
+                  [ mkelem_qn11 [] []
+                  , mkelem_qn5 []
+                    [ mkelem_qn17
+                      [ mkattr_qn18 [ mkText "" ]
+                      ]
+                      [ mkText "datatypeLibrary"
+                      ]
+                    , mkelem_qn7
+                      [ mkattr_qn24 [ mkText "anyURI" ]
+                      , mkattr_qn8 [ mkText "http://www.w3.org/2001/XMLSchema-datatypes" ]
+                      ] []
+                    ]
+                  ]
+                ]
+              , mkelem_qn6 []
+                [ mkelem_qn11 [] []
+                , mkelem_qn20 []
+                  [ mkelem_qn5 []
+                    [ mkelem_qn4 []
+                      [ mkelem_qn12 []
+                        [ mkelem_qn6 []
+                          [ mkelem_qn19
+                            [ mkattr_qn18 [ mkText "http://relaxng.org/ns/structure/1.0" ]
+                            ] []
+                          , mkelem_qn19
+                            [ mkattr_qn18 [ mkText "" ]
+                            ] []
+                          ]
+                        ]
+                      ]
+                    , mkelem_qn23 [] []
+                    ]
+                  ]
+                ]
+              ]
+            , mkelem_qn15 []
+              [ mkelem_qn6 []
+                [ mkelem_qn11 [] []
+                , mkelem_qn20 []
+                  [ mkelem_qn21
+                    [ mkattr_qn16 [ mkText "16" ]
+                    ] []
+                  ]
+                ]
+              , mkelem_qn20 []
+                [ mkelem_qn6 []
+                  [ mkelem_qn6 []
+                    [ mkelem_qn6 []
+                      [ mkelem_qn6 []
+                        [ mkelem_qn6 []
+                          [ mkelem_qn6 []
+                            [ mkelem_qn6 []
+                              [ mkelem_qn6 []
+                                [ mkelem_qn6 []
+                                  [ mkelem_qn6 []
+                                    [ mkelem_qn6 []
+                                      [ mkelem_qn6 []
+                                        [ mkelem_qn6 []
+                                          [ mkelem_qn6 []
+                                            [ mkelem_qn6 []
+                                              [ mkelem_qn6 []
+                                                [ mkelem_qn6 []
+                                                  [ mkelem_qn6 []
+                                                    [ mkelem_qn21
+                                                      [ mkattr_qn16 [ mkText "25" ]
+                                                      ] []
+                                                    , mkelem_qn21
+                                                      [ mkattr_qn16 [ mkText "26" ]
+                                                      ] []
+                                                    ]
+                                                  , mkelem_qn21
+                                                    [ mkattr_qn16 [ mkText "27" ]
+                                                    ] []
+                                                  ]
+                                                , mkelem_qn21
+                                                  [ mkattr_qn16 [ mkText "28" ]
+                                                  ] []
+                                                ]
+                                              , mkelem_qn21
+                                                [ mkattr_qn16 [ mkText "29" ]
+                                                ] []
+                                              ]
+                                            , mkelem_qn21
+                                              [ mkattr_qn16 [ mkText "30" ]
+                                              ] []
+                                            ]
+                                          , mkelem_qn21
+                                            [ mkattr_qn16 [ mkText "31" ]
+                                            ] []
+                                          ]
+                                        , mkelem_qn21
+                                          [ mkattr_qn16 [ mkText "32" ]
+                                          ] []
+                                        ]
+                                      , mkelem_qn21
+                                        [ mkattr_qn16 [ mkText "33" ]
+                                        ] []
+                                      ]
+                                    , mkelem_qn21
+                                      [ mkattr_qn16 [ mkText "34" ]
+                                      ] []
+                                    ]
+                                  , mkelem_qn21
+                                    [ mkattr_qn16 [ mkText "35" ]
+                                    ] []
+                                  ]
+                                , mkelem_qn21
+                                  [ mkattr_qn16 [ mkText "36" ]
+                                  ] []
+                                ]
+                              , mkelem_qn21
+                                [ mkattr_qn16 [ mkText "37" ]
+                                ] []
+                              ]
+                            , mkelem_qn21
+                              [ mkattr_qn16 [ mkText "38" ]
+                              ] []
+                            ]
+                          , mkelem_qn21
+                            [ mkattr_qn16 [ mkText "39" ]
+                            ] []
+                          ]
+                        , mkelem_qn21
+                          [ mkattr_qn16 [ mkText "40" ]
+                          ] []
+                        ]
+                      , mkelem_qn21
+                        [ mkattr_qn16 [ mkText "43" ]
+                        ] []
+                      ]
+                    , mkelem_qn21
+                      [ mkattr_qn16 [ mkText "44" ]
+                      ] []
+                    ]
+                  , mkelem_qn21
+                    [ mkattr_qn16 [ mkText "14" ]
+                    ] []
+                  ]
+                ]
+              ]
+            ]
+          ]
+        ]
+      , mkelem_qn9
+        [ mkattr_qn16 [ mkText "27" ]
+        ]
+        [ mkelem_qn10 []
+          [ mkelem_qn17
+            [ mkattr_qn18 [ mkText "http://relaxng.org/ns/structure/1.0" ]
+            ]
+            [ mkText "group"
+            ]
+          , mkelem_qn14 []
+            [ mkelem_qn14 []
+              [ mkelem_qn14 []
+                [ mkelem_qn6 []
+                  [ mkelem_qn11 [] []
+                  , mkelem_qn5 []
+                    [ mkelem_qn17
+                      [ mkattr_qn18 [ mkText "" ]
+                      ]
+                      [ mkText "ns"
+                      ]
+                    , mkelem_qn23 [] []
+                    ]
+                  ]
+                , mkelem_qn6 []
+                  [ mkelem_qn11 [] []
+                  , mkelem_qn5 []
+                    [ mkelem_qn17
+                      [ mkattr_qn18 [ mkText "" ]
+                      ]
+                      [ mkText "datatypeLibrary"
+                      ]
+                    , mkelem_qn7
+                      [ mkattr_qn24 [ mkText "anyURI" ]
+                      , mkattr_qn8 [ mkText "http://www.w3.org/2001/XMLSchema-datatypes" ]
+                      ] []
+                    ]
+                  ]
+                ]
+              , mkelem_qn6 []
+                [ mkelem_qn11 [] []
+                , mkelem_qn20 []
+                  [ mkelem_qn5 []
+                    [ mkelem_qn4 []
+                      [ mkelem_qn12 []
+                        [ mkelem_qn6 []
+                          [ mkelem_qn19
+                            [ mkattr_qn18 [ mkText "http://relaxng.org/ns/structure/1.0" ]
+                            ] []
+                          , mkelem_qn19
+                            [ mkattr_qn18 [ mkText "" ]
+                            ] []
+                          ]
+                        ]
+                      ]
+                    , mkelem_qn23 [] []
+                    ]
+                  ]
+                ]
+              ]
+            , mkelem_qn15 []
+              [ mkelem_qn6 []
+                [ mkelem_qn11 [] []
+                , mkelem_qn20 []
+                  [ mkelem_qn21
+                    [ mkattr_qn16 [ mkText "16" ]
+                    ] []
+                  ]
+                ]
+              , mkelem_qn20 []
+                [ mkelem_qn6 []
+                  [ mkelem_qn6 []
+                    [ mkelem_qn6 []
+                      [ mkelem_qn6 []
+                        [ mkelem_qn6 []
+                          [ mkelem_qn6 []
+                            [ mkelem_qn6 []
+                              [ mkelem_qn6 []
+                                [ mkelem_qn6 []
+                                  [ mkelem_qn6 []
+                                    [ mkelem_qn6 []
+                                      [ mkelem_qn6 []
+                                        [ mkelem_qn6 []
+                                          [ mkelem_qn6 []
+                                            [ mkelem_qn6 []
+                                              [ mkelem_qn6 []
+                                                [ mkelem_qn6 []
+                                                  [ mkelem_qn6 []
+                                                    [ mkelem_qn21
+                                                      [ mkattr_qn16 [ mkText "25" ]
+                                                      ] []
+                                                    , mkelem_qn21
+                                                      [ mkattr_qn16 [ mkText "26" ]
+                                                      ] []
+                                                    ]
+                                                  , mkelem_qn21
+                                                    [ mkattr_qn16 [ mkText "27" ]
+                                                    ] []
+                                                  ]
+                                                , mkelem_qn21
+                                                  [ mkattr_qn16 [ mkText "28" ]
+                                                  ] []
+                                                ]
+                                              , mkelem_qn21
+                                                [ mkattr_qn16 [ mkText "29" ]
+                                                ] []
+                                              ]
+                                            , mkelem_qn21
+                                              [ mkattr_qn16 [ mkText "30" ]
+                                              ] []
+                                            ]
+                                          , mkelem_qn21
+                                            [ mkattr_qn16 [ mkText "31" ]
+                                            ] []
+                                          ]
+                                        , mkelem_qn21
+                                          [ mkattr_qn16 [ mkText "32" ]
+                                          ] []
+                                        ]
+                                      , mkelem_qn21
+                                        [ mkattr_qn16 [ mkText "33" ]
+                                        ] []
+                                      ]
+                                    , mkelem_qn21
+                                      [ mkattr_qn16 [ mkText "34" ]
+                                      ] []
+                                    ]
+                                  , mkelem_qn21
+                                    [ mkattr_qn16 [ mkText "35" ]
+                                    ] []
+                                  ]
+                                , mkelem_qn21
+                                  [ mkattr_qn16 [ mkText "36" ]
+                                  ] []
+                                ]
+                              , mkelem_qn21
+                                [ mkattr_qn16 [ mkText "37" ]
+                                ] []
+                              ]
+                            , mkelem_qn21
+                              [ mkattr_qn16 [ mkText "38" ]
+                              ] []
+                            ]
+                          , mkelem_qn21
+                            [ mkattr_qn16 [ mkText "39" ]
+                            ] []
+                          ]
+                        , mkelem_qn21
+                          [ mkattr_qn16 [ mkText "40" ]
+                          ] []
+                        ]
+                      , mkelem_qn21
+                        [ mkattr_qn16 [ mkText "43" ]
+                        ] []
+                      ]
+                    , mkelem_qn21
+                      [ mkattr_qn16 [ mkText "44" ]
+                      ] []
+                    ]
+                  , mkelem_qn21
+                    [ mkattr_qn16 [ mkText "14" ]
+                    ] []
+                  ]
+                ]
+              ]
+            ]
+          ]
+        ]
+      , mkelem_qn9
+        [ mkattr_qn16 [ mkText "26" ]
+        ]
+        [ mkelem_qn10 []
+          [ mkelem_qn17
+            [ mkattr_qn18 [ mkText "http://relaxng.org/ns/structure/1.0" ]
+            ]
+            [ mkText "attribute"
+            ]
+          , mkelem_qn14 []
+            [ mkelem_qn14 []
+              [ mkelem_qn14 []
+                [ mkelem_qn14 []
+                  [ mkelem_qn6 []
+                    [ mkelem_qn11 [] []
+                    , mkelem_qn5 []
+                      [ mkelem_qn17
+                        [ mkattr_qn18 [ mkText "" ]
+                        ]
+                        [ mkText "ns"
+                        ]
+                      , mkelem_qn23 [] []
+                      ]
+                    ]
+                  , mkelem_qn6 []
+                    [ mkelem_qn11 [] []
+                    , mkelem_qn5 []
+                      [ mkelem_qn17
+                        [ mkattr_qn18 [ mkText "" ]
+                        ]
+                        [ mkText "datatypeLibrary"
+                        ]
+                      , mkelem_qn7
+                        [ mkattr_qn24 [ mkText "anyURI" ]
+                        , mkattr_qn8 [ mkText "http://www.w3.org/2001/XMLSchema-datatypes" ]
+                        ] []
+                      ]
+                    ]
+                  ]
+                , mkelem_qn6 []
+                  [ mkelem_qn11 [] []
+                  , mkelem_qn20 []
+                    [ mkelem_qn5 []
+                      [ mkelem_qn4 []
+                        [ mkelem_qn12 []
+                          [ mkelem_qn6 []
+                            [ mkelem_qn19
+                              [ mkattr_qn18 [ mkText "http://relaxng.org/ns/structure/1.0" ]
+                              ] []
+                            , mkelem_qn19
+                              [ mkattr_qn18 [ mkText "" ]
+                              ] []
+                            ]
+                          ]
+                        ]
+                      , mkelem_qn23 [] []
+                      ]
+                    ]
+                  ]
+                ]
+              , mkelem_qn6 []
+                [ mkelem_qn5 []
+                  [ mkelem_qn17
+                    [ mkattr_qn18 [ mkText "" ]
+                    ]
+                    [ mkText "name"
+                    ]
+                  , mkelem_qn7
+                    [ mkattr_qn24 [ mkText "QName" ]
+                    , mkattr_qn8 [ mkText "http://www.w3.org/2001/XMLSchema-datatypes" ]
+                    ] []
+                  ]
+                , mkelem_qn15 []
+                  [ mkelem_qn6 []
+                    [ mkelem_qn11 [] []
+                    , mkelem_qn20 []
+                      [ mkelem_qn21
+                        [ mkattr_qn16 [ mkText "16" ]
+                        ] []
+                      ]
+                    ]
+                  , mkelem_qn6 []
+                    [ mkelem_qn6 []
+                      [ mkelem_qn6 []
+                        [ mkelem_qn21
+                          [ mkattr_qn16 [ mkText "18" ]
+                          ] []
+                        , mkelem_qn21
+                          [ mkattr_qn16 [ mkText "19" ]
+                          ] []
+                        ]
+                      , mkelem_qn21
+                        [ mkattr_qn16 [ mkText "20" ]
+                        ] []
+                      ]
+                    , mkelem_qn21
+                      [ mkattr_qn16 [ mkText "21" ]
+                      ] []
+                    ]
+                  ]
+                ]
+              ]
+            , mkelem_qn15 []
+              [ mkelem_qn6 []
+                [ mkelem_qn11 [] []
+                , mkelem_qn20 []
+                  [ mkelem_qn21
+                    [ mkattr_qn16 [ mkText "16" ]
+                    ] []
+                  ]
+                ]
+              , mkelem_qn6 []
+                [ mkelem_qn11 [] []
+                , mkelem_qn6 []
+                  [ mkelem_qn6 []
+                    [ mkelem_qn6 []
+                      [ mkelem_qn6 []
+                        [ mkelem_qn6 []
+                          [ mkelem_qn6 []
+                            [ mkelem_qn6 []
+                              [ mkelem_qn6 []
+                                [ mkelem_qn6 []
+                                  [ mkelem_qn6 []
+                                    [ mkelem_qn6 []
+                                      [ mkelem_qn6 []
+                                        [ mkelem_qn6 []
+                                          [ mkelem_qn6 []
+                                            [ mkelem_qn6 []
+                                              [ mkelem_qn6 []
+                                                [ mkelem_qn6 []
+                                                  [ mkelem_qn6 []
+                                                    [ mkelem_qn21
+                                                      [ mkattr_qn16 [ mkText "25" ]
+                                                      ] []
+                                                    , mkelem_qn21
+                                                      [ mkattr_qn16 [ mkText "26" ]
+                                                      ] []
+                                                    ]
+                                                  , mkelem_qn21
+                                                    [ mkattr_qn16 [ mkText "27" ]
+                                                    ] []
+                                                  ]
+                                                , mkelem_qn21
+                                                  [ mkattr_qn16 [ mkText "28" ]
+                                                  ] []
+                                                ]
+                                              , mkelem_qn21
+                                                [ mkattr_qn16 [ mkText "29" ]
+                                                ] []
+                                              ]
+                                            , mkelem_qn21
+                                              [ mkattr_qn16 [ mkText "30" ]
+                                              ] []
+                                            ]
+                                          , mkelem_qn21
+                                            [ mkattr_qn16 [ mkText "31" ]
+                                            ] []
+                                          ]
+                                        , mkelem_qn21
+                                          [ mkattr_qn16 [ mkText "32" ]
+                                          ] []
+                                        ]
+                                      , mkelem_qn21
+                                        [ mkattr_qn16 [ mkText "33" ]
+                                        ] []
+                                      ]
+                                    , mkelem_qn21
+                                      [ mkattr_qn16 [ mkText "34" ]
+                                      ] []
+                                    ]
+                                  , mkelem_qn21
+                                    [ mkattr_qn16 [ mkText "35" ]
+                                    ] []
+                                  ]
+                                , mkelem_qn21
+                                  [ mkattr_qn16 [ mkText "36" ]
+                                  ] []
+                                ]
+                              , mkelem_qn21
+                                [ mkattr_qn16 [ mkText "37" ]
+                                ] []
+                              ]
+                            , mkelem_qn21
+                              [ mkattr_qn16 [ mkText "38" ]
+                              ] []
+                            ]
+                          , mkelem_qn21
+                            [ mkattr_qn16 [ mkText "39" ]
+                            ] []
+                          ]
+                        , mkelem_qn21
+                          [ mkattr_qn16 [ mkText "40" ]
+                          ] []
+                        ]
+                      , mkelem_qn21
+                        [ mkattr_qn16 [ mkText "43" ]
+                        ] []
+                      ]
+                    , mkelem_qn21
+                      [ mkattr_qn16 [ mkText "44" ]
+                      ] []
+                    ]
+                  , mkelem_qn21
+                    [ mkattr_qn16 [ mkText "14" ]
+                    ] []
+                  ]
+                ]
+              ]
+            ]
+          ]
+        ]
+      , mkelem_qn9
+        [ mkattr_qn16 [ mkText "25" ]
+        ]
+        [ mkelem_qn10 []
+          [ mkelem_qn17
+            [ mkattr_qn18 [ mkText "http://relaxng.org/ns/structure/1.0" ]
+            ]
+            [ mkText "element"
+            ]
+          , mkelem_qn14 []
+            [ mkelem_qn14 []
+              [ mkelem_qn6 []
+                [ mkelem_qn5 []
+                  [ mkelem_qn17
+                    [ mkattr_qn18 [ mkText "" ]
+                    ]
+                    [ mkText "name"
+                    ]
+                  , mkelem_qn7
+                    [ mkattr_qn24 [ mkText "QName" ]
+                    , mkattr_qn8 [ mkText "http://www.w3.org/2001/XMLSchema-datatypes" ]
+                    ] []
+                  ]
+                , mkelem_qn15 []
+                  [ mkelem_qn6 []
+                    [ mkelem_qn11 [] []
+                    , mkelem_qn20 []
+                      [ mkelem_qn21
+                        [ mkattr_qn16 [ mkText "16" ]
+                        ] []
+                      ]
+                    ]
+                  , mkelem_qn6 []
+                    [ mkelem_qn6 []
+                      [ mkelem_qn6 []
+                        [ mkelem_qn21
+                          [ mkattr_qn16 [ mkText "18" ]
+                          ] []
+                        , mkelem_qn21
+                          [ mkattr_qn16 [ mkText "19" ]
+                          ] []
+                        ]
+                      , mkelem_qn21
+                        [ mkattr_qn16 [ mkText "20" ]
+                        ] []
+                      ]
+                    , mkelem_qn21
+                      [ mkattr_qn16 [ mkText "21" ]
+                      ] []
+                    ]
+                  ]
+                ]
+              , mkelem_qn14 []
+                [ mkelem_qn14 []
+                  [ mkelem_qn6 []
+                    [ mkelem_qn11 [] []
+                    , mkelem_qn5 []
+                      [ mkelem_qn17
+                        [ mkattr_qn18 [ mkText "" ]
+                        ]
+                        [ mkText "ns"
+                        ]
+                      , mkelem_qn23 [] []
+                      ]
+                    ]
+                  , mkelem_qn6 []
+                    [ mkelem_qn11 [] []
+                    , mkelem_qn5 []
+                      [ mkelem_qn17
+                        [ mkattr_qn18 [ mkText "" ]
+                        ]
+                        [ mkText "datatypeLibrary"
+                        ]
+                      , mkelem_qn7
+                        [ mkattr_qn24 [ mkText "anyURI" ]
+                        , mkattr_qn8 [ mkText "http://www.w3.org/2001/XMLSchema-datatypes" ]
+                        ] []
+                      ]
+                    ]
+                  ]
+                , mkelem_qn6 []
+                  [ mkelem_qn11 [] []
+                  , mkelem_qn20 []
+                    [ mkelem_qn5 []
+                      [ mkelem_qn4 []
+                        [ mkelem_qn12 []
+                          [ mkelem_qn6 []
+                            [ mkelem_qn19
+                              [ mkattr_qn18 [ mkText "http://relaxng.org/ns/structure/1.0" ]
+                              ] []
+                            , mkelem_qn19
+                              [ mkattr_qn18 [ mkText "" ]
+                              ] []
+                            ]
+                          ]
+                        ]
+                      , mkelem_qn23 [] []
+                      ]
+                    ]
+                  ]
+                ]
+              ]
+            , mkelem_qn15 []
+              [ mkelem_qn6 []
+                [ mkelem_qn11 [] []
+                , mkelem_qn20 []
+                  [ mkelem_qn21
+                    [ mkattr_qn16 [ mkText "16" ]
+                    ] []
+                  ]
+                ]
+              , mkelem_qn20 []
+                [ mkelem_qn6 []
+                  [ mkelem_qn6 []
+                    [ mkelem_qn6 []
+                      [ mkelem_qn6 []
+                        [ mkelem_qn6 []
+                          [ mkelem_qn6 []
+                            [ mkelem_qn6 []
+                              [ mkelem_qn6 []
+                                [ mkelem_qn6 []
+                                  [ mkelem_qn6 []
+                                    [ mkelem_qn6 []
+                                      [ mkelem_qn6 []
+                                        [ mkelem_qn6 []
+                                          [ mkelem_qn6 []
+                                            [ mkelem_qn6 []
+                                              [ mkelem_qn6 []
+                                                [ mkelem_qn6 []
+                                                  [ mkelem_qn6 []
+                                                    [ mkelem_qn21
+                                                      [ mkattr_qn16 [ mkText "25" ]
+                                                      ] []
+                                                    , mkelem_qn21
+                                                      [ mkattr_qn16 [ mkText "26" ]
+                                                      ] []
+                                                    ]
+                                                  , mkelem_qn21
+                                                    [ mkattr_qn16 [ mkText "27" ]
+                                                    ] []
+                                                  ]
+                                                , mkelem_qn21
+                                                  [ mkattr_qn16 [ mkText "28" ]
+                                                  ] []
+                                                ]
+                                              , mkelem_qn21
+                                                [ mkattr_qn16 [ mkText "29" ]
+                                                ] []
+                                              ]
+                                            , mkelem_qn21
+                                              [ mkattr_qn16 [ mkText "30" ]
+                                              ] []
+                                            ]
+                                          , mkelem_qn21
+                                            [ mkattr_qn16 [ mkText "31" ]
+                                            ] []
+                                          ]
+                                        , mkelem_qn21
+                                          [ mkattr_qn16 [ mkText "32" ]
+                                          ] []
+                                        ]
+                                      , mkelem_qn21
+                                        [ mkattr_qn16 [ mkText "33" ]
+                                        ] []
+                                      ]
+                                    , mkelem_qn21
+                                      [ mkattr_qn16 [ mkText "34" ]
+                                      ] []
+                                    ]
+                                  , mkelem_qn21
+                                    [ mkattr_qn16 [ mkText "35" ]
+                                    ] []
+                                  ]
+                                , mkelem_qn21
+                                  [ mkattr_qn16 [ mkText "36" ]
+                                  ] []
+                                ]
+                              , mkelem_qn21
+                                [ mkattr_qn16 [ mkText "37" ]
+                                ] []
+                              ]
+                            , mkelem_qn21
+                              [ mkattr_qn16 [ mkText "38" ]
+                              ] []
+                            ]
+                          , mkelem_qn21
+                            [ mkattr_qn16 [ mkText "39" ]
+                            ] []
+                          ]
+                        , mkelem_qn21
+                          [ mkattr_qn16 [ mkText "40" ]
+                          ] []
+                        ]
+                      , mkelem_qn21
+                        [ mkattr_qn16 [ mkText "43" ]
+                        ] []
+                      ]
+                    , mkelem_qn21
+                      [ mkattr_qn16 [ mkText "44" ]
+                      ] []
+                    ]
+                  , mkelem_qn21
+                    [ mkattr_qn16 [ mkText "14" ]
+                    ] []
+                  ]
+                ]
+              ]
+            ]
+          ]
+        ]
+      , mkelem_qn9
+        [ mkattr_qn16 [ mkText "24" ]
+        ]
+        [ mkelem_qn10 []
+          [ mkelem_qn17
+            [ mkattr_qn18 [ mkText "http://relaxng.org/ns/structure/1.0" ]
+            ]
+            [ mkText "include"
+            ]
+          , mkelem_qn14 []
+            [ mkelem_qn14 []
+              [ mkelem_qn5 []
+                [ mkelem_qn17
+                  [ mkattr_qn18 [ mkText "" ]
+                  ]
+                  [ mkText "href"
+                  ]
+                , mkelem_qn7
+                  [ mkattr_qn24 [ mkText "anyURI" ]
+                  , mkattr_qn8 [ mkText "http://www.w3.org/2001/XMLSchema-datatypes" ]
+                  ] []
+                ]
+              , mkelem_qn14 []
+                [ mkelem_qn14 []
+                  [ mkelem_qn6 []
+                    [ mkelem_qn11 [] []
+                    , mkelem_qn5 []
+                      [ mkelem_qn17
+                        [ mkattr_qn18 [ mkText "" ]
+                        ]
+                        [ mkText "ns"
+                        ]
+                      , mkelem_qn23 [] []
+                      ]
+                    ]
+                  , mkelem_qn6 []
+                    [ mkelem_qn11 [] []
+                    , mkelem_qn5 []
+                      [ mkelem_qn17
+                        [ mkattr_qn18 [ mkText "" ]
+                        ]
+                        [ mkText "datatypeLibrary"
+                        ]
+                      , mkelem_qn7
+                        [ mkattr_qn24 [ mkText "anyURI" ]
+                        , mkattr_qn8 [ mkText "http://www.w3.org/2001/XMLSchema-datatypes" ]
+                        ] []
+                      ]
+                    ]
+                  ]
+                , mkelem_qn6 []
+                  [ mkelem_qn11 [] []
+                  , mkelem_qn20 []
+                    [ mkelem_qn5 []
+                      [ mkelem_qn4 []
+                        [ mkelem_qn12 []
+                          [ mkelem_qn6 []
+                            [ mkelem_qn19
+                              [ mkattr_qn18 [ mkText "http://relaxng.org/ns/structure/1.0" ]
+                              ] []
+                            , mkelem_qn19
+                              [ mkattr_qn18 [ mkText "" ]
+                              ] []
+                            ]
+                          ]
+                        ]
+                      , mkelem_qn23 [] []
+                      ]
+                    ]
+                  ]
+                ]
+              ]
+            , mkelem_qn15 []
+              [ mkelem_qn6 []
+                [ mkelem_qn11 [] []
+                , mkelem_qn20 []
+                  [ mkelem_qn21
+                    [ mkattr_qn16 [ mkText "16" ]
+                    ] []
+                  ]
+                ]
+              , mkelem_qn6 []
+                [ mkelem_qn11 [] []
+                , mkelem_qn20 []
+                  [ mkelem_qn6 []
+                    [ mkelem_qn6 []
+                      [ mkelem_qn21
+                        [ mkattr_qn16 [ mkText "11" ]
+                        ] []
+                      , mkelem_qn21
+                        [ mkattr_qn16 [ mkText "10" ]
+                        ] []
+                      ]
+                    , mkelem_qn21
+                      [ mkattr_qn16 [ mkText "22" ]
+                      ] []
+                    ]
+                  ]
+                ]
+              ]
+            ]
+          ]
+        ]
+      , mkelem_qn9
+        [ mkattr_qn16 [ mkText "23" ]
+        ]
+        [ mkelem_qn10 []
+          [ mkelem_qn17
+            [ mkattr_qn18 [ mkText "http://relaxng.org/ns/structure/1.0" ]
+            ]
+            [ mkText "div"
+            ]
+          , mkelem_qn14 []
+            [ mkelem_qn14 []
+              [ mkelem_qn14 []
+                [ mkelem_qn6 []
+                  [ mkelem_qn11 [] []
+                  , mkelem_qn5 []
+                    [ mkelem_qn17
+                      [ mkattr_qn18 [ mkText "" ]
+                      ]
+                      [ mkText "ns"
+                      ]
+                    , mkelem_qn23 [] []
+                    ]
+                  ]
+                , mkelem_qn6 []
+                  [ mkelem_qn11 [] []
+                  , mkelem_qn5 []
+                    [ mkelem_qn17
+                      [ mkattr_qn18 [ mkText "" ]
+                      ]
+                      [ mkText "datatypeLibrary"
+                      ]
+                    , mkelem_qn7
+                      [ mkattr_qn24 [ mkText "anyURI" ]
+                      , mkattr_qn8 [ mkText "http://www.w3.org/2001/XMLSchema-datatypes" ]
+                      ] []
+                    ]
+                  ]
+                ]
+              , mkelem_qn6 []
+                [ mkelem_qn11 [] []
+                , mkelem_qn20 []
+                  [ mkelem_qn5 []
+                    [ mkelem_qn4 []
+                      [ mkelem_qn12 []
+                        [ mkelem_qn6 []
+                          [ mkelem_qn19
+                            [ mkattr_qn18 [ mkText "http://relaxng.org/ns/structure/1.0" ]
+                            ] []
+                          , mkelem_qn19
+                            [ mkattr_qn18 [ mkText "" ]
+                            ] []
+                          ]
+                        ]
+                      ]
+                    , mkelem_qn23 [] []
+                    ]
+                  ]
+                ]
+              ]
+            , mkelem_qn15 []
+              [ mkelem_qn6 []
+                [ mkelem_qn11 [] []
+                , mkelem_qn20 []
+                  [ mkelem_qn21
+                    [ mkattr_qn16 [ mkText "16" ]
+                    ] []
+                  ]
+                ]
+              , mkelem_qn6 []
+                [ mkelem_qn11 [] []
+                , mkelem_qn20 []
+                  [ mkelem_qn6 []
+                    [ mkelem_qn6 []
+                      [ mkelem_qn6 []
+                        [ mkelem_qn21
+                          [ mkattr_qn16 [ mkText "11" ]
+                          ] []
+                        , mkelem_qn21
+                          [ mkattr_qn16 [ mkText "10" ]
+                          ] []
+                        ]
+                      , mkelem_qn21
+                        [ mkattr_qn16 [ mkText "23" ]
+                        ] []
+                      ]
+                    , mkelem_qn21
+                      [ mkattr_qn16 [ mkText "24" ]
+                      ] []
+                    ]
+                  ]
+                ]
+              ]
+            ]
+          ]
+        ]
+      , mkelem_qn9
+        [ mkattr_qn16 [ mkText "22" ]
+        ]
+        [ mkelem_qn10 []
+          [ mkelem_qn17
+            [ mkattr_qn18 [ mkText "http://relaxng.org/ns/structure/1.0" ]
+            ]
+            [ mkText "div"
+            ]
+          , mkelem_qn14 []
+            [ mkelem_qn14 []
+              [ mkelem_qn14 []
+                [ mkelem_qn6 []
+                  [ mkelem_qn11 [] []
+                  , mkelem_qn5 []
+                    [ mkelem_qn17
+                      [ mkattr_qn18 [ mkText "" ]
+                      ]
+                      [ mkText "ns"
+                      ]
+                    , mkelem_qn23 [] []
+                    ]
+                  ]
+                , mkelem_qn6 []
+                  [ mkelem_qn11 [] []
+                  , mkelem_qn5 []
+                    [ mkelem_qn17
+                      [ mkattr_qn18 [ mkText "" ]
+                      ]
+                      [ mkText "datatypeLibrary"
+                      ]
+                    , mkelem_qn7
+                      [ mkattr_qn24 [ mkText "anyURI" ]
+                      , mkattr_qn8 [ mkText "http://www.w3.org/2001/XMLSchema-datatypes" ]
+                      ] []
+                    ]
+                  ]
+                ]
+              , mkelem_qn6 []
+                [ mkelem_qn11 [] []
+                , mkelem_qn20 []
+                  [ mkelem_qn5 []
+                    [ mkelem_qn4 []
+                      [ mkelem_qn12 []
+                        [ mkelem_qn6 []
+                          [ mkelem_qn19
+                            [ mkattr_qn18 [ mkText "http://relaxng.org/ns/structure/1.0" ]
+                            ] []
+                          , mkelem_qn19
+                            [ mkattr_qn18 [ mkText "" ]
+                            ] []
+                          ]
+                        ]
+                      ]
+                    , mkelem_qn23 [] []
+                    ]
+                  ]
+                ]
+              ]
+            , mkelem_qn15 []
+              [ mkelem_qn6 []
+                [ mkelem_qn11 [] []
+                , mkelem_qn20 []
+                  [ mkelem_qn21
+                    [ mkattr_qn16 [ mkText "16" ]
+                    ] []
+                  ]
+                ]
+              , mkelem_qn6 []
+                [ mkelem_qn11 [] []
+                , mkelem_qn20 []
+                  [ mkelem_qn6 []
+                    [ mkelem_qn6 []
+                      [ mkelem_qn21
+                        [ mkattr_qn16 [ mkText "11" ]
+                        ] []
+                      , mkelem_qn21
+                        [ mkattr_qn16 [ mkText "10" ]
+                        ] []
+                      ]
+                    , mkelem_qn21
+                      [ mkattr_qn16 [ mkText "22" ]
+                      ] []
+                    ]
+                  ]
+                ]
+              ]
+            ]
+          ]
+        ]
+      , mkelem_qn9
+        [ mkattr_qn16 [ mkText "21" ]
+        ]
+        [ mkelem_qn10 []
+          [ mkelem_qn17
+            [ mkattr_qn18 [ mkText "http://relaxng.org/ns/structure/1.0" ]
+            ]
+            [ mkText "choice"
+            ]
+          , mkelem_qn14 []
+            [ mkelem_qn14 []
+              [ mkelem_qn14 []
+                [ mkelem_qn6 []
+                  [ mkelem_qn11 [] []
+                  , mkelem_qn5 []
+                    [ mkelem_qn17
+                      [ mkattr_qn18 [ mkText "" ]
+                      ]
+                      [ mkText "ns"
+                      ]
+                    , mkelem_qn23 [] []
+                    ]
+                  ]
+                , mkelem_qn6 []
+                  [ mkelem_qn11 [] []
+                  , mkelem_qn5 []
+                    [ mkelem_qn17
+                      [ mkattr_qn18 [ mkText "" ]
+                      ]
+                      [ mkText "datatypeLibrary"
+                      ]
+                    , mkelem_qn7
+                      [ mkattr_qn24 [ mkText "anyURI" ]
+                      , mkattr_qn8 [ mkText "http://www.w3.org/2001/XMLSchema-datatypes" ]
+                      ] []
+                    ]
+                  ]
+                ]
+              , mkelem_qn6 []
+                [ mkelem_qn11 [] []
+                , mkelem_qn20 []
+                  [ mkelem_qn5 []
+                    [ mkelem_qn4 []
+                      [ mkelem_qn12 []
+                        [ mkelem_qn6 []
+                          [ mkelem_qn19
+                            [ mkattr_qn18 [ mkText "http://relaxng.org/ns/structure/1.0" ]
+                            ] []
+                          , mkelem_qn19
+                            [ mkattr_qn18 [ mkText "" ]
+                            ] []
+                          ]
+                        ]
+                      ]
+                    , mkelem_qn23 [] []
+                    ]
+                  ]
+                ]
+              ]
+            , mkelem_qn15 []
+              [ mkelem_qn6 []
+                [ mkelem_qn11 [] []
+                , mkelem_qn20 []
+                  [ mkelem_qn21
+                    [ mkattr_qn16 [ mkText "16" ]
+                    ] []
+                  ]
+                ]
+              , mkelem_qn20 []
+                [ mkelem_qn6 []
+                  [ mkelem_qn6 []
+                    [ mkelem_qn6 []
+                      [ mkelem_qn21
+                        [ mkattr_qn16 [ mkText "18" ]
+                        ] []
+                      , mkelem_qn21
+                        [ mkattr_qn16 [ mkText "19" ]
+                        ] []
+                      ]
+                    , mkelem_qn21
+                      [ mkattr_qn16 [ mkText "20" ]
+                      ] []
+                    ]
+                  , mkelem_qn21
+                    [ mkattr_qn16 [ mkText "21" ]
+                    ] []
+                  ]
+                ]
+              ]
+            ]
+          ]
+        ]
+      , mkelem_qn9
+        [ mkattr_qn16 [ mkText "20" ]
+        ]
+        [ mkelem_qn10 []
+          [ mkelem_qn17
+            [ mkattr_qn18 [ mkText "http://relaxng.org/ns/structure/1.0" ]
+            ]
+            [ mkText "nsName"
+            ]
+          , mkelem_qn14 []
+            [ mkelem_qn14 []
+              [ mkelem_qn14 []
+                [ mkelem_qn6 []
+                  [ mkelem_qn11 [] []
+                  , mkelem_qn5 []
+                    [ mkelem_qn17
+                      [ mkattr_qn18 [ mkText "" ]
+                      ]
+                      [ mkText "ns"
+                      ]
+                    , mkelem_qn23 [] []
+                    ]
+                  ]
+                , mkelem_qn6 []
+                  [ mkelem_qn11 [] []
+                  , mkelem_qn5 []
+                    [ mkelem_qn17
+                      [ mkattr_qn18 [ mkText "" ]
+                      ]
+                      [ mkText "datatypeLibrary"
+                      ]
+                    , mkelem_qn7
+                      [ mkattr_qn24 [ mkText "anyURI" ]
+                      , mkattr_qn8 [ mkText "http://www.w3.org/2001/XMLSchema-datatypes" ]
+                      ] []
+                    ]
+                  ]
+                ]
+              , mkelem_qn6 []
+                [ mkelem_qn11 [] []
+                , mkelem_qn20 []
+                  [ mkelem_qn5 []
+                    [ mkelem_qn4 []
+                      [ mkelem_qn12 []
+                        [ mkelem_qn6 []
+                          [ mkelem_qn19
+                            [ mkattr_qn18 [ mkText "http://relaxng.org/ns/structure/1.0" ]
+                            ] []
+                          , mkelem_qn19
+                            [ mkattr_qn18 [ mkText "" ]
+                            ] []
+                          ]
+                        ]
+                      ]
+                    , mkelem_qn23 [] []
+                    ]
+                  ]
+                ]
+              ]
+            , mkelem_qn15 []
+              [ mkelem_qn6 []
+                [ mkelem_qn11 [] []
+                , mkelem_qn20 []
+                  [ mkelem_qn21
+                    [ mkattr_qn16 [ mkText "16" ]
+                    ] []
+                  ]
+                ]
+              , mkelem_qn6 []
+                [ mkelem_qn11 [] []
+                , mkelem_qn21
+                  [ mkattr_qn16 [ mkText "17" ]
+                  ] []
+                ]
+              ]
+            ]
+          ]
+        ]
+      , mkelem_qn9
+        [ mkattr_qn16 [ mkText "19" ]
+        ]
+        [ mkelem_qn10 []
+          [ mkelem_qn17
+            [ mkattr_qn18 [ mkText "http://relaxng.org/ns/structure/1.0" ]
+            ]
+            [ mkText "anyName"
+            ]
+          , mkelem_qn14 []
+            [ mkelem_qn14 []
+              [ mkelem_qn14 []
+                [ mkelem_qn6 []
+                  [ mkelem_qn11 [] []
+                  , mkelem_qn5 []
+                    [ mkelem_qn17
+                      [ mkattr_qn18 [ mkText "" ]
+                      ]
+                      [ mkText "ns"
+                      ]
+                    , mkelem_qn23 [] []
+                    ]
+                  ]
+                , mkelem_qn6 []
+                  [ mkelem_qn11 [] []
+                  , mkelem_qn5 []
+                    [ mkelem_qn17
+                      [ mkattr_qn18 [ mkText "" ]
+                      ]
+                      [ mkText "datatypeLibrary"
+                      ]
+                    , mkelem_qn7
+                      [ mkattr_qn24 [ mkText "anyURI" ]
+                      , mkattr_qn8 [ mkText "http://www.w3.org/2001/XMLSchema-datatypes" ]
+                      ] []
+                    ]
+                  ]
+                ]
+              , mkelem_qn6 []
+                [ mkelem_qn11 [] []
+                , mkelem_qn20 []
+                  [ mkelem_qn5 []
+                    [ mkelem_qn4 []
+                      [ mkelem_qn12 []
+                        [ mkelem_qn6 []
+                          [ mkelem_qn19
+                            [ mkattr_qn18 [ mkText "http://relaxng.org/ns/structure/1.0" ]
+                            ] []
+                          , mkelem_qn19
+                            [ mkattr_qn18 [ mkText "" ]
+                            ] []
+                          ]
+                        ]
+                      ]
+                    , mkelem_qn23 [] []
+                    ]
+                  ]
+                ]
+              ]
+            , mkelem_qn15 []
+              [ mkelem_qn6 []
+                [ mkelem_qn11 [] []
+                , mkelem_qn20 []
+                  [ mkelem_qn21
+                    [ mkattr_qn16 [ mkText "16" ]
+                    ] []
+                  ]
+                ]
+              , mkelem_qn6 []
+                [ mkelem_qn11 [] []
+                , mkelem_qn21
+                  [ mkattr_qn16 [ mkText "17" ]
+                  ] []
+                ]
+              ]
+            ]
+          ]
+        ]
+      , mkelem_qn9
+        [ mkattr_qn16 [ mkText "18" ]
+        ]
+        [ mkelem_qn10 []
+          [ mkelem_qn17
+            [ mkattr_qn18 [ mkText "http://relaxng.org/ns/structure/1.0" ]
+            ]
+            [ mkText "name"
+            ]
+          , mkelem_qn14 []
+            [ mkelem_qn14 []
+              [ mkelem_qn14 []
+                [ mkelem_qn6 []
+                  [ mkelem_qn11 [] []
+                  , mkelem_qn5 []
+                    [ mkelem_qn17
+                      [ mkattr_qn18 [ mkText "" ]
+                      ]
+                      [ mkText "ns"
+                      ]
+                    , mkelem_qn23 [] []
+                    ]
+                  ]
+                , mkelem_qn6 []
+                  [ mkelem_qn11 [] []
+                  , mkelem_qn5 []
+                    [ mkelem_qn17
+                      [ mkattr_qn18 [ mkText "" ]
+                      ]
+                      [ mkText "datatypeLibrary"
+                      ]
+                    , mkelem_qn7
+                      [ mkattr_qn24 [ mkText "anyURI" ]
+                      , mkattr_qn8 [ mkText "http://www.w3.org/2001/XMLSchema-datatypes" ]
+                      ] []
+                    ]
+                  ]
+                ]
+              , mkelem_qn6 []
+                [ mkelem_qn11 [] []
+                , mkelem_qn20 []
+                  [ mkelem_qn5 []
+                    [ mkelem_qn4 []
+                      [ mkelem_qn12 []
+                        [ mkelem_qn6 []
+                          [ mkelem_qn19
+                            [ mkattr_qn18 [ mkText "http://relaxng.org/ns/structure/1.0" ]
+                            ] []
+                          , mkelem_qn19
+                            [ mkattr_qn18 [ mkText "" ]
+                            ] []
+                          ]
+                        ]
+                      ]
+                    , mkelem_qn23 [] []
+                    ]
+                  ]
+                ]
+              ]
+            , mkelem_qn7
+              [ mkattr_qn24 [ mkText "QName" ]
+              , mkattr_qn8 [ mkText "http://www.w3.org/2001/XMLSchema-datatypes" ]
+              ] []
+            ]
+          ]
+        ]
+      , mkelem_qn9
+        [ mkattr_qn16 [ mkText "17" ]
+        ]
+        [ mkelem_qn10 []
+          [ mkelem_qn17
+            [ mkattr_qn18 [ mkText "http://relaxng.org/ns/structure/1.0" ]
+            ]
+            [ mkText "except"
+            ]
+          , mkelem_qn15 []
+            [ mkelem_qn6 []
+              [ mkelem_qn11 [] []
+              , mkelem_qn20 []
+                [ mkelem_qn21
+                  [ mkattr_qn16 [ mkText "16" ]
+                  ] []
+                ]
+              ]
+            , mkelem_qn20 []
+              [ mkelem_qn6 []
+                [ mkelem_qn6 []
+                  [ mkelem_qn6 []
+                    [ mkelem_qn21
+                      [ mkattr_qn16 [ mkText "18" ]
+                      ] []
+                    , mkelem_qn21
+                      [ mkattr_qn16 [ mkText "19" ]
+                      ] []
+                    ]
+                  , mkelem_qn21
+                    [ mkattr_qn16 [ mkText "20" ]
+                    ] []
+                  ]
+                , mkelem_qn21
+                  [ mkattr_qn16 [ mkText "21" ]
+                  ] []
+                ]
+              ]
+            ]
+          ]
+        ]
+      , mkelem_qn9
+        [ mkattr_qn16 [ mkText "16" ]
+        ]
+        [ mkelem_qn10 []
+          [ mkelem_qn4 []
+            [ mkelem_qn12 []
+              [ mkelem_qn19
+                [ mkattr_qn18 [ mkText "http://relaxng.org/ns/structure/1.0" ]
+                ] []
+              ]
+            ]
+          , mkelem_qn6 []
+            [ mkelem_qn11 [] []
+            , mkelem_qn20 []
+              [ mkelem_qn6 []
+                [ mkelem_qn6 []
+                  [ mkelem_qn5 []
+                    [ mkelem_qn4 [] []
+                    , mkelem_qn23 [] []
+                    ]
+                  , mkelem_qn23 [] []
+                  ]
+                , mkelem_qn21
+                  [ mkattr_qn16 [ mkText "0" ]
+                  ] []
+                ]
+              ]
+            ]
+          ]
+        ]
+      , mkelem_qn9
+        [ mkattr_qn16 [ mkText "0" ]
+        ]
+        [ mkelem_qn10 []
+          [ mkelem_qn4 [] []
+          , mkelem_qn6 []
+            [ mkelem_qn11 [] []
+            , mkelem_qn20 []
+              [ mkelem_qn6 []
+                [ mkelem_qn6 []
+                  [ mkelem_qn5 []
+                    [ mkelem_qn4 [] []
+                    , mkelem_qn23 [] []
+                    ]
+                  , mkelem_qn23 [] []
+                  ]
+                , mkelem_qn21
+                  [ mkattr_qn16 [ mkText "0" ]
+                  ] []
+                ]
+              ]
+            ]
+          ]
+        ]
+      , mkelem_qn9
+        [ mkattr_qn16 [ mkText "10" ]
+        ]
+        [ mkelem_qn10 []
+          [ mkelem_qn17
+            [ mkattr_qn18 [ mkText "http://relaxng.org/ns/structure/1.0" ]
+            ]
+            [ mkText "define"
+            ]
+          , mkelem_qn14 []
+            [ mkelem_qn14 []
+              [ mkelem_qn14 []
+                [ mkelem_qn5 []
+                  [ mkelem_qn17
+                    [ mkattr_qn18 [ mkText "" ]
+                    ]
+                    [ mkText "name"
+                    ]
+                  , mkelem_qn7
+                    [ mkattr_qn24 [ mkText "NCName" ]
+                    , mkattr_qn8 [ mkText "http://www.w3.org/2001/XMLSchema-datatypes" ]
+                    ] []
+                  ]
+                , mkelem_qn6 []
+                  [ mkelem_qn11 [] []
+                  , mkelem_qn5 []
+                    [ mkelem_qn17
+                      [ mkattr_qn18 [ mkText "" ]
+                      ]
+                      [ mkText "combine"
+                      ]
+                    , mkelem_qn6 []
+                      [ mkelem_qn25
+                        [ mkattr_qn1 [ mkText "http://www.w3.org/XML/1998/namespace" ]
+                        , mkattr_qn3 [ mkText "http://relaxng.org/ns/structure/1.0" ]
+                        , mkattr_qn2 [ mkText "file:///home/theo/haskell/hxt/hxt-relaxng/src/Text/XML/HXT/RelaxNG/schema2hs/SchemaGrammar.rng" ]
+                        , mkattr_qn8 [ mkText "" ]
+                        , mkattr_qn24 [ mkText "token" ]
+                        , mkattr_qn18 [ mkText "http://relaxng.org/ns/structure/1.0" ]
+                        ]
+                        [ mkText "choice"
+                        ]
+                      , mkelem_qn25
+                        [ mkattr_qn1 [ mkText "http://www.w3.org/XML/1998/namespace" ]
+                        , mkattr_qn3 [ mkText "http://relaxng.org/ns/structure/1.0" ]
+                        , mkattr_qn2 [ mkText "file:///home/theo/haskell/hxt/hxt-relaxng/src/Text/XML/HXT/RelaxNG/schema2hs/SchemaGrammar.rng" ]
+                        , mkattr_qn8 [ mkText "" ]
+                        , mkattr_qn24 [ mkText "token" ]
+                        , mkattr_qn18 [ mkText "http://relaxng.org/ns/structure/1.0" ]
+                        ]
+                        [ mkText "interleave"
+                        ]
+                      ]
+                    ]
+                  ]
+                ]
+              , mkelem_qn14 []
+                [ mkelem_qn14 []
+                  [ mkelem_qn6 []
+                    [ mkelem_qn11 [] []
+                    , mkelem_qn5 []
+                      [ mkelem_qn17
+                        [ mkattr_qn18 [ mkText "" ]
+                        ]
+                        [ mkText "ns"
+                        ]
+                      , mkelem_qn23 [] []
+                      ]
+                    ]
+                  , mkelem_qn6 []
+                    [ mkelem_qn11 [] []
+                    , mkelem_qn5 []
+                      [ mkelem_qn17
+                        [ mkattr_qn18 [ mkText "" ]
+                        ]
+                        [ mkText "datatypeLibrary"
+                        ]
+                      , mkelem_qn7
+                        [ mkattr_qn24 [ mkText "anyURI" ]
+                        , mkattr_qn8 [ mkText "http://www.w3.org/2001/XMLSchema-datatypes" ]
+                        ] []
+                      ]
+                    ]
+                  ]
+                , mkelem_qn6 []
+                  [ mkelem_qn11 [] []
+                  , mkelem_qn20 []
+                    [ mkelem_qn5 []
+                      [ mkelem_qn4 []
+                        [ mkelem_qn12 []
+                          [ mkelem_qn6 []
+                            [ mkelem_qn19
+                              [ mkattr_qn18 [ mkText "http://relaxng.org/ns/structure/1.0" ]
+                              ] []
+                            , mkelem_qn19
+                              [ mkattr_qn18 [ mkText "" ]
+                              ] []
+                            ]
+                          ]
+                        ]
+                      , mkelem_qn23 [] []
+                      ]
+                    ]
+                  ]
+                ]
+              ]
+            , mkelem_qn15 []
+              [ mkelem_qn6 []
+                [ mkelem_qn11 [] []
+                , mkelem_qn20 []
+                  [ mkelem_qn21
+                    [ mkattr_qn16 [ mkText "16" ]
+                    ] []
+                  ]
+                ]
+              , mkelem_qn20 []
+                [ mkelem_qn6 []
+                  [ mkelem_qn6 []
+                    [ mkelem_qn6 []
+                      [ mkelem_qn6 []
+                        [ mkelem_qn6 []
+                          [ mkelem_qn6 []
+                            [ mkelem_qn6 []
+                              [ mkelem_qn6 []
+                                [ mkelem_qn6 []
+                                  [ mkelem_qn6 []
+                                    [ mkelem_qn6 []
+                                      [ mkelem_qn6 []
+                                        [ mkelem_qn6 []
+                                          [ mkelem_qn6 []
+                                            [ mkelem_qn6 []
+                                              [ mkelem_qn6 []
+                                                [ mkelem_qn6 []
+                                                  [ mkelem_qn6 []
+                                                    [ mkelem_qn21
+                                                      [ mkattr_qn16 [ mkText "25" ]
+                                                      ] []
+                                                    , mkelem_qn21
+                                                      [ mkattr_qn16 [ mkText "26" ]
+                                                      ] []
+                                                    ]
+                                                  , mkelem_qn21
+                                                    [ mkattr_qn16 [ mkText "27" ]
+                                                    ] []
+                                                  ]
+                                                , mkelem_qn21
+                                                  [ mkattr_qn16 [ mkText "28" ]
+                                                  ] []
+                                                ]
+                                              , mkelem_qn21
+                                                [ mkattr_qn16 [ mkText "29" ]
+                                                ] []
+                                              ]
+                                            , mkelem_qn21
+                                              [ mkattr_qn16 [ mkText "30" ]
+                                              ] []
+                                            ]
+                                          , mkelem_qn21
+                                            [ mkattr_qn16 [ mkText "31" ]
+                                            ] []
+                                          ]
+                                        , mkelem_qn21
+                                          [ mkattr_qn16 [ mkText "32" ]
+                                          ] []
+                                        ]
+                                      , mkelem_qn21
+                                        [ mkattr_qn16 [ mkText "33" ]
+                                        ] []
+                                      ]
+                                    , mkelem_qn21
+                                      [ mkattr_qn16 [ mkText "34" ]
+                                      ] []
+                                    ]
+                                  , mkelem_qn21
+                                    [ mkattr_qn16 [ mkText "35" ]
+                                    ] []
+                                  ]
+                                , mkelem_qn21
+                                  [ mkattr_qn16 [ mkText "36" ]
+                                  ] []
+                                ]
+                              , mkelem_qn21
+                                [ mkattr_qn16 [ mkText "37" ]
+                                ] []
+                              ]
+                            , mkelem_qn21
+                              [ mkattr_qn16 [ mkText "38" ]
+                              ] []
+                            ]
+                          , mkelem_qn21
+                            [ mkattr_qn16 [ mkText "39" ]
+                            ] []
+                          ]
+                        , mkelem_qn21
+                          [ mkattr_qn16 [ mkText "40" ]
+                          ] []
+                        ]
+                      , mkelem_qn21
+                        [ mkattr_qn16 [ mkText "43" ]
+                        ] []
+                      ]
+                    , mkelem_qn21
+                      [ mkattr_qn16 [ mkText "44" ]
+                      ] []
+                    ]
+                  , mkelem_qn21
+                    [ mkattr_qn16 [ mkText "14" ]
+                    ] []
+                  ]
+                ]
+              ]
+            ]
+          ]
+        ]
+      , mkelem_qn9
+        [ mkattr_qn16 [ mkText "11" ]
+        ]
+        [ mkelem_qn10 []
+          [ mkelem_qn17
+            [ mkattr_qn18 [ mkText "http://relaxng.org/ns/structure/1.0" ]
+            ]
+            [ mkText "start"
+            ]
+          , mkelem_qn14 []
+            [ mkelem_qn14 []
+              [ mkelem_qn6 []
+                [ mkelem_qn11 [] []
+                , mkelem_qn5 []
+                  [ mkelem_qn17
+                    [ mkattr_qn18 [ mkText "" ]
+                    ]
+                    [ mkText "combine"
+                    ]
+                  , mkelem_qn6 []
+                    [ mkelem_qn25
+                      [ mkattr_qn1 [ mkText "http://www.w3.org/XML/1998/namespace" ]
+                      , mkattr_qn3 [ mkText "http://relaxng.org/ns/structure/1.0" ]
+                      , mkattr_qn2 [ mkText "file:///home/theo/haskell/hxt/hxt-relaxng/src/Text/XML/HXT/RelaxNG/schema2hs/SchemaGrammar.rng" ]
+                      , mkattr_qn8 [ mkText "" ]
+                      , mkattr_qn24 [ mkText "token" ]
+                      , mkattr_qn18 [ mkText "http://relaxng.org/ns/structure/1.0" ]
+                      ]
+                      [ mkText "choice"
+                      ]
+                    , mkelem_qn25
+                      [ mkattr_qn1 [ mkText "http://www.w3.org/XML/1998/namespace" ]
+                      , mkattr_qn3 [ mkText "http://relaxng.org/ns/structure/1.0" ]
+                      , mkattr_qn2 [ mkText "file:///home/theo/haskell/hxt/hxt-relaxng/src/Text/XML/HXT/RelaxNG/schema2hs/SchemaGrammar.rng" ]
+                      , mkattr_qn8 [ mkText "" ]
+                      , mkattr_qn24 [ mkText "token" ]
+                      , mkattr_qn18 [ mkText "http://relaxng.org/ns/structure/1.0" ]
+                      ]
+                      [ mkText "interleave"
+                      ]
+                    ]
+                  ]
+                ]
+              , mkelem_qn14 []
+                [ mkelem_qn14 []
+                  [ mkelem_qn6 []
+                    [ mkelem_qn11 [] []
+                    , mkelem_qn5 []
+                      [ mkelem_qn17
+                        [ mkattr_qn18 [ mkText "" ]
+                        ]
+                        [ mkText "ns"
+                        ]
+                      , mkelem_qn23 [] []
+                      ]
+                    ]
+                  , mkelem_qn6 []
+                    [ mkelem_qn11 [] []
+                    , mkelem_qn5 []
+                      [ mkelem_qn17
+                        [ mkattr_qn18 [ mkText "" ]
+                        ]
+                        [ mkText "datatypeLibrary"
+                        ]
+                      , mkelem_qn7
+                        [ mkattr_qn24 [ mkText "anyURI" ]
+                        , mkattr_qn8 [ mkText "http://www.w3.org/2001/XMLSchema-datatypes" ]
+                        ] []
+                      ]
+                    ]
+                  ]
+                , mkelem_qn6 []
+                  [ mkelem_qn11 [] []
+                  , mkelem_qn20 []
+                    [ mkelem_qn5 []
+                      [ mkelem_qn4 []
+                        [ mkelem_qn12 []
+                          [ mkelem_qn6 []
+                            [ mkelem_qn19
+                              [ mkattr_qn18 [ mkText "http://relaxng.org/ns/structure/1.0" ]
+                              ] []
+                            , mkelem_qn19
+                              [ mkattr_qn18 [ mkText "" ]
+                              ] []
+                            ]
+                          ]
+                        ]
+                      , mkelem_qn23 [] []
+                      ]
+                    ]
+                  ]
+                ]
+              ]
+            , mkelem_qn15 []
+              [ mkelem_qn6 []
+                [ mkelem_qn11 [] []
+                , mkelem_qn20 []
+                  [ mkelem_qn21
+                    [ mkattr_qn16 [ mkText "16" ]
+                    ] []
+                  ]
+                ]
+              , mkelem_qn6 []
+                [ mkelem_qn6 []
+                  [ mkelem_qn6 []
+                    [ mkelem_qn6 []
+                      [ mkelem_qn6 []
+                        [ mkelem_qn6 []
+                          [ mkelem_qn6 []
+                            [ mkelem_qn6 []
+                              [ mkelem_qn6 []
+                                [ mkelem_qn6 []
+                                  [ mkelem_qn6 []
+                                    [ mkelem_qn6 []
+                                      [ mkelem_qn6 []
+                                        [ mkelem_qn6 []
+                                          [ mkelem_qn6 []
+                                            [ mkelem_qn6 []
+                                              [ mkelem_qn6 []
+                                                [ mkelem_qn6 []
+                                                  [ mkelem_qn21
+                                                    [ mkattr_qn16 [ mkText "25" ]
+                                                    ] []
+                                                  , mkelem_qn21
+                                                    [ mkattr_qn16 [ mkText "26" ]
+                                                    ] []
+                                                  ]
+                                                , mkelem_qn21
+                                                  [ mkattr_qn16 [ mkText "27" ]
+                                                  ] []
+                                                ]
+                                              , mkelem_qn21
+                                                [ mkattr_qn16 [ mkText "28" ]
+                                                ] []
+                                              ]
+                                            , mkelem_qn21
+                                              [ mkattr_qn16 [ mkText "29" ]
+                                              ] []
+                                            ]
+                                          , mkelem_qn21
+                                            [ mkattr_qn16 [ mkText "30" ]
+                                            ] []
+                                          ]
+                                        , mkelem_qn21
+                                          [ mkattr_qn16 [ mkText "31" ]
+                                          ] []
+                                        ]
+                                      , mkelem_qn21
+                                        [ mkattr_qn16 [ mkText "32" ]
+                                        ] []
+                                      ]
+                                    , mkelem_qn21
+                                      [ mkattr_qn16 [ mkText "33" ]
+                                      ] []
+                                    ]
+                                  , mkelem_qn21
+                                    [ mkattr_qn16 [ mkText "34" ]
+                                    ] []
+                                  ]
+                                , mkelem_qn21
+                                  [ mkattr_qn16 [ mkText "35" ]
+                                  ] []
+                                ]
+                              , mkelem_qn21
+                                [ mkattr_qn16 [ mkText "36" ]
+                                ] []
+                              ]
+                            , mkelem_qn21
+                              [ mkattr_qn16 [ mkText "37" ]
+                              ] []
+                            ]
+                          , mkelem_qn21
+                            [ mkattr_qn16 [ mkText "38" ]
+                            ] []
+                          ]
+                        , mkelem_qn21
+                          [ mkattr_qn16 [ mkText "39" ]
+                          ] []
+                        ]
+                      , mkelem_qn21
+                        [ mkattr_qn16 [ mkText "40" ]
+                        ] []
+                      ]
+                    , mkelem_qn21
+                      [ mkattr_qn16 [ mkText "43" ]
+                      ] []
+                    ]
+                  , mkelem_qn21
+                    [ mkattr_qn16 [ mkText "44" ]
+                    ] []
+                  ]
+                , mkelem_qn21
+                  [ mkattr_qn16 [ mkText "14" ]
+                  ] []
+                ]
+              ]
+            ]
+          ]
+        ]
+      , mkelem_qn9
+        [ mkattr_qn16 [ mkText "14" ]
+        ]
+        [ mkelem_qn10 []
+          [ mkelem_qn17
+            [ mkattr_qn18 [ mkText "http://relaxng.org/ns/structure/1.0" ]
+            ]
+            [ mkText "grammar"
+            ]
+          , mkelem_qn14 []
+            [ mkelem_qn14 []
+              [ mkelem_qn14 []
+                [ mkelem_qn6 []
+                  [ mkelem_qn11 [] []
+                  , mkelem_qn5 []
+                    [ mkelem_qn17
+                      [ mkattr_qn18 [ mkText "" ]
+                      ]
+                      [ mkText "ns"
+                      ]
+                    , mkelem_qn23 [] []
+                    ]
+                  ]
+                , mkelem_qn6 []
+                  [ mkelem_qn11 [] []
+                  , mkelem_qn5 []
+                    [ mkelem_qn17
+                      [ mkattr_qn18 [ mkText "" ]
+                      ]
+                      [ mkText "datatypeLibrary"
+                      ]
+                    , mkelem_qn7
+                      [ mkattr_qn24 [ mkText "anyURI" ]
+                      , mkattr_qn8 [ mkText "http://www.w3.org/2001/XMLSchema-datatypes" ]
+                      ] []
+                    ]
+                  ]
+                ]
+              , mkelem_qn6 []
+                [ mkelem_qn11 [] []
+                , mkelem_qn20 []
+                  [ mkelem_qn5 []
+                    [ mkelem_qn4 []
+                      [ mkelem_qn12 []
+                        [ mkelem_qn6 []
+                          [ mkelem_qn19
+                            [ mkattr_qn18 [ mkText "http://relaxng.org/ns/structure/1.0" ]
+                            ] []
+                          , mkelem_qn19
+                            [ mkattr_qn18 [ mkText "" ]
+                            ] []
+                          ]
+                        ]
+                      ]
+                    , mkelem_qn23 [] []
+                    ]
+                  ]
+                ]
+              ]
+            , mkelem_qn15 []
+              [ mkelem_qn6 []
+                [ mkelem_qn11 [] []
+                , mkelem_qn20 []
+                  [ mkelem_qn21
+                    [ mkattr_qn16 [ mkText "16" ]
+                    ] []
+                  ]
+                ]
+              , mkelem_qn6 []
+                [ mkelem_qn11 [] []
+                , mkelem_qn20 []
+                  [ mkelem_qn6 []
+                    [ mkelem_qn6 []
+                      [ mkelem_qn6 []
+                        [ mkelem_qn21
+                          [ mkattr_qn16 [ mkText "11" ]
+                          ] []
+                        , mkelem_qn21
+                          [ mkattr_qn16 [ mkText "10" ]
+                          ] []
+                        ]
+                      , mkelem_qn21
+                        [ mkattr_qn16 [ mkText "23" ]
+                        ] []
+                      ]
+                    , mkelem_qn21
+                      [ mkattr_qn16 [ mkText "24" ]
                       ] []
                     ]
                   ]
diff --git a/src/Text/XML/HXT/RelaxNG/Simplification.hs b/src/Text/XML/HXT/RelaxNG/Simplification.hs
--- a/src/Text/XML/HXT/RelaxNG/Simplification.hs
+++ b/src/Text/XML/HXT/RelaxNG/Simplification.hs
@@ -19,6 +19,7 @@
 module Text.XML.HXT.RelaxNG.Simplification
   ( createSimpleForm
   , getErrors
+  , resetStates
   )
 
 where
@@ -26,17 +27,12 @@
 
 import Control.Arrow.ListArrows
 
-import           Text.XML.HXT.DOM.Interface
-import qualified Text.XML.HXT.DOM.XmlNode as XN
-    ( mkAttr
-    , mkText
-    )
+import Text.XML.HXT.DOM.Interface
 
 import Text.XML.HXT.Arrow.XmlArrow
 import Text.XML.HXT.Arrow.Edit                  ( removeWhiteSpace
                                                 )
 import Text.XML.HXT.Arrow.Namespace             ( processWithNsEnv
-                                                , propagateNamespaces
                                                 )
 import Text.XML.HXT.Arrow.XmlState
 import Text.XML.HXT.Arrow.XmlState.TypeDefs
@@ -53,20 +49,16 @@
 import Data.Maybe
     ( fromJust
     , fromMaybe
-    , isNothing
     )
 import Data.List
     ( elemIndices
-    , isPrefixOf
     , nub
     , deleteBy
     , find
     , (\\)
     )
 
-import System.Directory
-  ( doesFileExist )
-
+infixr 1 !>>>
 
 -- ------------------------------------------------------------
 
@@ -74,9 +66,9 @@
 - 4.1. Annotations: Foreign attributes and elements are removed.
 - 4.2. Whitespace:
     - For each element other than value and param, each child that is a string
-      containing only whitespace characters is removed. -> fertig
+      containing only whitespace characters is removed.
     - Leading and trailing whitespace characters are removed from the value of each name,
-      type and combine attribute and from the content of each name element. -> fertig
+      type and combine attribute and from the content of each name element.
 - 4.3. datatypeLibrary attribute:
     - The value of each datatypeLibary attribute is transformed by escaping disallowed characters
     - For any data or value element that does not have a datatypeLibrary attribute,
@@ -96,7 +88,7 @@
         ( processHref $< getBaseURI )
         >>>
         -- 4.10 QNames
-        processWithNsEnv processEnvNames (toNsEnv [("xml",xmlNamespace)])
+        processWithNsEnv processEnvNames (toNsEnv [("xml", xmlNamespace)])
         >>>
         -- 4.4 For any data or value element that does not have a datatypeLibrary attribute,
         -- a datatypeLibrary attribute is added.
@@ -242,9 +234,7 @@
               `when`
               ( (isRngElement `orElse` isRngAttribute)
                 >>>
-                getRngAttrName
-                >>>
-                isA (elem ':')
+                hasRngAttrName
               )
             )
             >>>
@@ -254,34 +244,48 @@
             )
           )
         where
+
         createAttrL :: IOSArrow String XmlTree
         createAttrL
-            = setBaseUri &&& constA (map createAttr env) >>> arr2L (:)
+            = setBaseUri
+              <+>
+              ( fromLA $ txt "" >>> catA (map createAttr env) )
             where
-
-            createAttr :: (XName, XName) -> XmlTree
+{- old stuff
+            createAttr :: (XName, XName) -> LA XmlTree XmlTree
             createAttr (pre, uri)
-                = XN.mkAttr (mkName nm) [XN.mkText (show uri)]
+                = mkRngAttr nm (constA $ show uri)
                 where
-                nm  | isNullXName pre   = "RelaxContextDefault"
+                nm  | isNullXName pre   = contextAttributesDefault
                     | otherwise         = contextAttributes ++ show pre
+-}
 
+            createAttr :: (XName, XName) -> LA XmlTree XmlTree
+            createAttr (pre, uri)
+                = mkAttr qn (txt (unXN uri))
+                where
+                qn :: QName
+                qn  | isNullXName pre   = mkName $ contextAttributesDefault
+                    | otherwise         = mkName $ contextAttributes ++ unXN pre
+
             setBaseUri :: IOSArrow String XmlTree
-            setBaseUri = mkAttr (mkName contextBaseAttr) (txt $< this)
+            setBaseUri = mkRngAttrContextBase this
 
         replaceQNames :: NsEnv -> String -> IOSArrow XmlTree XmlTree
-        replaceQNames e name
-            | isNothing uri
-                = mkRelaxError "" ( "No Namespace-Mapping for the prefix " ++ show pre ++
-                                    " in the Context of Element: " ++ show name
+        replaceQNames env' name
+            | null px                                   -- no prefix, nothing to do
+                = this
+            | null ns                                   -- prefix there, but no namespace
+                = mkRelaxError "" ( "No namespace mapping for the prefix " ++ show px ++
+                                    " in the context of element: " ++ show name ++
+                                    ", namespace env is " ++ show (map (unXN *** unXN) env')
                                   )
-            | otherwise
-                = addAttr "name" ( "{" ++ (show . fromJust $ uri) ++ "}" ++ local )
+            | otherwise                                 -- build universal name
+                = addAttr "name" (universalName qn)
             where
-            (pre, local') = span (/= ':') name
-            local         = tail local'
-            uri         :: Maybe XName
-            uri           = lookup (newXName pre) e
+            qn = setNamespace env' . mkName $ name
+            px = namePrefix   qn
+            ns = namespaceUri qn
 
     -- The value of the added datatypeLibrary attribute is the value of the
     -- datatypeLibrary attribute of the nearest ancestor element that
@@ -291,22 +295,22 @@
     processdatatypeLib lib
         = processChildren $
           choiceA
-          [ ( isElem >>> hasRngAttrDatatypeLibrary
-            -- set the new datatypeLibrary value
-            )
-            :->
-            ( processdatatypeLib $< getRngAttrDatatypeLibrary )
+          [ hasRngAttrDatatypeLibrary
+            :-> ( processdatatypeLib $< getRngAttrDatatypeLibrary )             -- set the new datatypeLibrary value
+
           , ( (isRngData `orElse` isRngValue)
               >>>
               neg hasRngAttrDatatypeLibrary
-              -- add a datatypeLibrary attribute
             )
-            :->
-            ( addAttr "datatypeLibrary" lib >>> processdatatypeLib lib )
+            :-> ( addAttr "datatypeLibrary" lib                                 -- add a datatypeLibrary attribute
+                  >>>
+                  processdatatypeLib lib
+                )
+
           , this
-            :->
-            processdatatypeLib lib
+            :-> processdatatypeLib lib
           ]
+          `when` isElem
 
 -- ------------------------------------------------------------
 
@@ -364,95 +368,92 @@
     )
   ) `when` collectErrors
   where
-  importExternalRef :: String -> String -> IOSArrow XmlTree XmlTree
+  -- returns the contents of the (validated) schema
+  -- or a relax error
+  importExternalRef     :: String -> String -> IOSArrow XmlTree XmlTree
   importExternalRef ns href
-    = ifA ( neg $ constA href
-                  >>> getPathFromURI
-                  >>> ( isA (not . ("illegal URI" `isPrefixOf`))
-                        `guards`
-                        isIOA doesFileExist
-                      )
-          )
-        ( mkRelaxError ""
-          ( show href ++
-            ": can't read URI, referenced in externalRef-Pattern"
-          )
-        )
-        ( ifP (const $ elem href extHRefs)
-           -- if the referenced name already exists in the list of processed ref attributes
-           -- we have found a loop
-            ( mkRelaxError ""
-              (  "loop in externalRef-Pattern, " ++
-                 formatStringListArr (reverse $ href:extHRefs)
-              )
+      | href `elem` extHRefs
+          = mkRelaxError ""
+            (  "loop in externalRef-Pattern, " ++ formatStringListArr (reverse $ href:extHRefs) )
+      | otherwise
+          = readForRelax href
+            >>>
+            ( mkRelaxError "" (show href ++ ": can't read URI, referenced in externalRef-Pattern")
+              `whenNot`
+              documentStatusOk
             )
-            ( ifA ( if validateExternalRef                                      -- if validation parameters are set
-                    then validateDocWithRelax S.relaxSchemaArrow [] href        -- the referenced schema is validated with respect to
-                    else none                                                   -- the Relax NG specification
-                  )
-                ( mkRelaxError ""
-                  ( "The content of the schema " ++ show href ++
-                    ", referenced in externalRef does not " ++
-                    "match the syntax for pattern"
-                  )
-                )
-                ( readForRelax href
-                  >>>
-                  simplificationStep1                                           -- perform the transformations from previous steps
-                  >>>
-                  simplificationStep2 validateExternalRef validateInclude (href:extHRefs) includeHRefs
-                  >>>
-                  getChildren -- remove the root node
-                  >>>
-                  ( -- Any ns attribute on the externalRef element
-                    -- is transferred to the referenced element
-                    addAttr "ns" ns
-                    `when`
-                    (getRngAttrNs >>> isA (\a -> a == "" && ns /= ""))
-                  )
-                )
+            !>>>
+            ( if validateExternalRef                                            -- if validation parameters are set
+              then ( mkRelaxError ""
+                     ( "The content of the schema " ++ show href ++
+                       ", referenced in externalRef does not " ++
+                       "match the syntax for pattern"
+                     )
+                     `whenNot`
+                     validateWithRelax S.relaxSchemaArrow                       -- the referenced schema is validated with respect to
+                   )
+                else this
+              )
+            !>>>
+            ( simplificationStep1                                               -- perform the transformations from previous steps
+              >>>
+              simplificationStep2 validateExternalRef validateInclude (href:extHRefs) includeHRefs
+              >>>
+              getChildren                                                       -- remove the root node
+              >>>
+              isElem
+              >>>
+              ( -- Any ns attribute on the externalRef element
+                -- is transferred to the referenced element
+                addRngAttrNs ns
+                `when`
+                (getRngAttrNs >>> isA (\ a -> a == "" && ns /= ""))
+              )
             )
-        )
+            >>>
+            traceDoc ("imported external ref: " ++ show href)
 
   importInclude :: String -> IOSArrow XmlTree XmlTree
   importInclude href
-    = ifA ( -- test whether the referenced schema exists
-            neg $ constA href >>> getPathFromURI >>> isIOA doesFileExist
-          )
-        ( mkRelaxError ""
-          ( "Can't read " ++ show href ++
-            ", referenced in include-Pattern"
-          )
-        )
-        ( ifP (const $ elem href includeHRefs)
-           -- if the referenced name still exists in the list of processed
-           -- ref attributes we have found a loop
-            ( mkRelaxError ""
-              ( "loop in include-Pattern, " ++
-                formatStringListArr (reverse $ href:includeHRefs)
-              )
+      | href `elem` includeHRefs
+          = mkRelaxError ""
+            ( "loop in include-Pattern, " ++ formatStringListArr (reverse $ href:includeHRefs) )
+      | otherwise
+          = processInclude' $< newDoc
+      where
+      processInclude' newDoc'
+          | not . null . runLA isRngRelaxError $ newDoc'
+              = constA newDoc'
+          | otherwise
+              = processInclude href newDoc'
+      newDoc
+          = readForRelax href
+            >>>
+            ( mkRelaxError "" (show href ++ ": can't read URI, referenced in include-Pattern")
+              `whenNot`
+              documentStatusOk
             )
-            ( ifA ( if validateInclude                                          -- if the parameter is set
-                    then validateDocWithRelax SG.relaxSchemaArrow [] href       -- the referenced schema is validated with respect to
-                    else none                                                   -- the Relax NG grammar element
-                  )
-                ( mkRelaxError ""
-                  ( "The content of the schema " ++ show href ++
-                    ", referenced in include does not match " ++
-                    "the syntax for grammar"
-                  )
-                )
-                ( processInclude href $< ( readForRelax href
-                                           >>>
-                                           simplificationStep1                          -- perform the transformations from previous steps
-                                           >>>
-                                           simplificationStep2 validateExternalRef validateInclude extHRefs (href:includeHRefs)
-                                           >>>
-                                           getChildren                                  -- remove the root node
-                                         )
-                )
+            !>>>
+            ( if validateInclude                                        -- if validation parameters are set
+              then ( mkRelaxError ""
+                     ( "The content of the schema " ++ show href ++
+                       ", referenced in include does not " ++
+                       "match the syntax for grammar"
+                     )
+                     `whenNot`
+                     validateWithRelax SG.relaxSchemaArrow              -- the referenced schema is validated with respect to
+                   )
+              else this
             )
-        )
+            !>>>
+            ( simplificationStep1                                       -- perform the transformations from previous steps
+              >>>
+              simplificationStep2 validateExternalRef validateInclude extHRefs (href:includeHRefs)
+              >>>
+              getChildren                                               -- remove the root node
+              >>>
+              isElem
+            )
 
   processInclude :: String -> XmlTree -> IOSArrow XmlTree XmlTree
   processInclude href newDoc
@@ -594,7 +595,7 @@
         >>>
         ( -- 4.8 If an attribute element has a name attribute but no ns attribute,
           --  then an ns="" attribute is added to the name child element
-           (processChildren (addAttr "ns" "" `when` isRngName))
+           (processChildren (addRngAttrNs "" `when` isRngName))
            `when`
            (isRngAttribute >>> hasRngAttrName >>> neg hasRngAttrNs)
         )
@@ -612,14 +613,17 @@
     processTopDown (
       ( -- 4.9 any ns attribute that is on an element other than name,
         -- nsName or value is removed.
-        (removeAttr "ns")
+        rmRngAttrNs
         `when`
-        (isElem >>> neg (isRngName `orElse` isRngNsName `orElse` isRngValue))
+        ( isElem
+          >>>
+          neg (isRngName `orElse` isRngNsName `orElse` isRngValue)
+        )
       )
       >>>
       ( -- 4.10 For any name element containing a prefix, the prefix is removed and an ns attribute
         -- is added replacing any existing ns attribute.
-        (replaceNameAttr $< (getChildren >>> isText >>> getText))
+        ( replaceNameAttr $< (getChildren >>> isText >>> getText) )
         `when`
         isRngName
       )
@@ -628,9 +632,13 @@
   where
   replaceNameAttr :: (ArrowXml a) => String -> a XmlTree XmlTree
   replaceNameAttr name
-    = (addAttr "ns" pre >>> processChildren (changeText $ const local))
-      `whenP`
-      (const $ elem '}' name)
+      | '}' `elem` name
+          = ( addRngAttrNs pre
+              >>>
+              processChildren (changeText $ const local)
+            )
+      | otherwise
+          = this
     where
     (pre', local') = span (/= '}') name
     pre            = tail pre'
@@ -639,18 +647,21 @@
   processnsAttribute :: String -> IOSArrow XmlTree XmlTree
   processnsAttribute name
     = processChildren $
-        choiceA [
-          -- set the new ns attribute value
-          (isElem >>> hasRngAttrNs)
-               :-> (processnsAttribute $< getRngAttrNs),
-          -- For any name, nsName or value element that does not have
-          -- an ns attribute, an ns attribute is added.
-          ( isNameNsNameValue >>> neg hasRngAttrNs)
-               :-> (addAttr "ns" name >>> processnsAttribute name),
-          this :-> (processnsAttribute name)
+        choiceA
+        [ (isElem >>> hasRngAttrNs)                     -- set the new ns attribute value
+          :-> (processnsAttribute $< getRngAttrNs)
+        , ( isNameNsNameValue
+            >>>
+            neg hasRngAttrNs
+          )                                             -- For any name, nsName or value element that does not have
+          :-> ( addRngAttrNs name                       -- an ns attribute, an ns attribute is added.
+                >>>
+                processnsAttribute name
+              )
+        , this
+          :-> processnsAttribute name
         ]
 
-
 -- ------------------------------------------------------------
 
 
@@ -987,9 +998,10 @@
         ( renameDefines $<<
           ( getPatternNamesInGrammar "define"
             >>>
-            (createUniqueNames $< incrSysVar theRelaxDefineId)
-            &&&
-            constA []
+            ( createUniqueNames
+              &&&
+              constA []
+            )
           )
         )
         >>>
@@ -1027,34 +1039,21 @@
         = processChildren
           ( processTopDown ( none `when` isRngGrammar ) )
           >>>
-          listA ( (multi (isElem >>> hasRngName pattern))
+          listA ( (multi (hasRngElemName pattern))
                   >>>
                   getRngAttrName
                 )
 
-    createUniqueNames :: Int -> IOSArrow [String] RefList
-    createUniqueNames num
-        = arr (\ l -> unique l num)
-          >>>
-          perform (setSysAttrInt "define_id" $< arr (max num . getNextValue))
-        where
-        unique :: [String] -> Int -> RefList
-        unique []     _    = []
-        unique (x:xs) num' = (x, (show num')):(unique xs (num'+1))
-        getNextValue :: RefList -> Int
-        getNextValue [] = 0
-        getNextValue rl = maximum (map (read . snd) rl) + 1
-
     renameDefines :: RefList -> RefList -> IOSArrow XmlTree XmlTree
     renameDefines ref parentRef
         = processChildren
           ( choiceA
             [ isRngDefine
-              :-> ( -- the original name is needed for error messages
+              :-> (                                     -- the original name is needed for error messages
                     addAttr defineOrigName $< getRngAttrName
                     >>>
-                    -- rename the define-pattern
-                    -- the new name is looked up in the ref table
+                                                        -- rename the define-pattern
+                                                        -- the new name is looked up in the ref table
                     addAttr "name" $< ( getRngAttrName
                                         >>>
                                         arr (\n -> fromJust $ lookup n ref)
@@ -1063,33 +1062,34 @@
                     renameDefines ref parentRef
                   )
             , isRngGrammar
-              :-> ( renameDefines $<< ( ( -- compute all define names in the grammar
-                                          getPatternNamesInGrammar "define"
-                                          >>>
-                                          -- create a new (unique) name for all define names
-                                          (createUniqueNames $< (getSysAttrInt 0 "define_id"))
-                                        )
-                                        &&&
-                                        -- set the old ref list to be the new parentRef list
-                                        constA ref
-                                      )
+              :-> ( renameDefines $<<
+                    ( (                                 -- compute all define names in the grammar
+                        getPatternNamesInGrammar "define"
+                        >>>
+                                                        -- create a new (unique) name for all define names
+                        createUniqueNames
+                      )
+                      &&&
+                                                        -- set the old ref list to be the new parentRef list
+                      constA ref
+                    )
                   )
             , isRngRef
               :-> ( ifA ( getRngAttrName
                           >>>
                           isA (\name -> (elem name (map fst ref)))
                         )
-                    ( -- the original name is needed for error messages
+                    (                                   -- the original name is needed for error messages
                       addAttr defineOrigName $< getRngAttrName
                       >>>
-                      -- rename the ref-pattern
-                      -- the new name is looked up in the ref table
+                                                        -- rename the ref-pattern
+                                                        -- the new name is looked up in the ref table
                       addAttr "name" $< ( getRngAttrName
                                           >>>
                                           arr (\n -> fromJust $ lookup n ref)
                                         )
                     )
-                    ( -- the referenced pattern does not exist in the schema
+                    (                                   -- the referenced pattern does not exist in the schema
                       mkRelaxError "" $< ( getRngAttrName
                                            >>>
                                            arr (\ n -> ( "Define-Pattern with name " ++ show n ++
@@ -1100,7 +1100,7 @@
                                          )
                     )
                   )
-            , isRngParentRef -- same as ref, but the parentRef list is used
+            , isRngParentRef                            -- same as ref, but the parentRef list is used
               :-> ( ifA ( getRngAttrName
                           >>>
                           isA (\name -> (elem name (map fst parentRef)))
@@ -1183,7 +1183,7 @@
 
     createPatternElem :: (ArrowXml a) => String -> String -> String -> XmlTrees -> a n XmlTree
     createPatternElem pattern name combine trees
-        = mkRngElement pattern (mkAttr (mkName "name") (txt name))
+        = mkRngElement pattern (mkRngAttrName name)
           ( ( mkRngElement combine none
               (arrL (const trees) >>> getChildren)
             )
@@ -1221,9 +1221,7 @@
 
     isElemWithNameValue :: (ArrowXml a) => String -> String -> a XmlTree XmlTree
     isElemWithNameValue ename nvalue
-        = ( isElem
-            >>>
-            hasRngName ename
+        = ( hasRngElemName ename
             >>>
             getRngAttrName
             >>>
@@ -1339,10 +1337,11 @@
         [ isRngElement
           :-> ( ifP (const parentIsDefine)
                 (processElements False)
-                ( processElements' $<< ( (incrSysVar theRelaxDefineId >>^ show)
-                                         &&&
-                                         getDefineName
-                                       )
+                ( processElements' $<
+                  ( listA getDefineName                 -- create a new define id
+                    >>>
+                    createUniqueNames
+                  )
                 )
               )
         , isRngDefine
@@ -1359,11 +1358,13 @@
           >>>
           arr show
 
-    processElements' :: NewName -> OldName -> IOSArrow XmlTree XmlTree
-    processElements' name oldname
+    processElements' :: RefList -> IOSArrow XmlTree XmlTree
+    processElements' [(oldname, name)]
       = storeElement name oldname
         >>>
         mkRngRef (createAttr name oldname) none
+    processElements' l
+        = error $ "processElements' called with illegal arg: " ++ show l
 
     storeElement :: NewName -> OldName -> IOSArrow XmlTree XmlTree
     storeElement name oldname
@@ -1380,9 +1381,9 @@
 
     createAttr :: NewName -> OldName -> IOSArrow XmlTree XmlTree
     createAttr name oldname
-      = mkAttr (mkName "name") (txt name)
+      = mkRngAttrName name
         <+>
-        mkAttr (mkName defineOrigName) (txt $ "created for element " ++ oldname)
+        mkRngAttrDefineOrigName ("created for element " ++ oldname)
 
   getExpandableDefines :: (ArrowXml a) => a XmlTree Env
   getExpandableDefines
@@ -1873,7 +1874,7 @@
 occur :: String -> IOSArrow XmlTree XmlTree -> IOSArrow XmlTree XmlTree
 occur name fct
     = choiceA
-      [ ( isElem >>> hasRngName name )
+      [ hasRngElemName name
         :->
         fct
       , isChoiceGroupInterleaveOneOrMore
@@ -2091,6 +2092,26 @@
       ( getRngAttrName &&& this )
 
 
+createUniqueNames :: IOSArrow [String] RefList
+createUniqueNames
+    = createUnique $< incrSysVar theRelaxDefineId
+    where
+    createUnique num
+        = arr (unique num)                              -- assign numbers to names
+          >>>
+          ( this
+            ***
+            perform (setSysVar theRelaxDefineId)        -- store next unused number
+          )
+          >>>
+          arr fst
+        where
+        unique :: Int -> [String] -> (RefList, Int)
+        unique n0 l
+            = ( zipWith (\ x n -> (x, show n)) l [n0 ..]
+              , n0 + length l
+              )
+
 -- | Return all reachable defines from the start pattern
 
 getRefsFromStartPattern :: IOSArrow XmlTree [String]
@@ -2178,17 +2199,25 @@
       :-> this
     ]
 
+(!>>>)          :: IOSArrow XmlTree XmlTree -> IOSArrow XmlTree XmlTree -> IOSArrow XmlTree XmlTree
+f !>>> g
+    = f
+      >>>
+      ifA (getSysVar theRelaxNoOfErrors >>> isA (> 0))
+          this
+          g
+
 mkRelaxError :: String -> String -> IOSArrow n XmlTree
 mkRelaxError changesStr errStr
   = perform (constA 1 >>> chgSysVar theRelaxNoOfErrors (+))
     >>>
-    mkRngRelaxError none none
+    mkRngRelaxError
     >>>
-    addAttr "desc" errStr
+    addRngAttrDescr errStr
     >>>
-    ( addAttr "changes" changesStr
-      `whenP`
-      (const $ changesStr /= "")
+    ( if null changesStr
+      then this
+      else addRngAttrChanges changesStr
     )
 
 collectErrors :: IOSArrow XmlTree XmlTree
@@ -2197,24 +2226,31 @@
     `when`
     ( (getSysVar theRelaxCollectErrors >>> isA not)
       >>>
-      (getSysVar theRelaxNoOfErrors    >>> isA (>0))
+      errorsFound
     )
 
+-- | errors found?
+errorsFound :: IOSArrow a a
+errorsFound
+    = ( getSysVar theRelaxNoOfErrors >>> isA (> 0) )
+      `guards`
+      this
+
 -- | Returns the list of simplification errors or 'none'
 getErrors :: IOSArrow XmlTree XmlTree
-getErrors = (getSysVar theRelaxNoOfErrors >>> isA (>0))
+getErrors = errorsFound
             `guards`
-            (root [] [multi isRngRelaxError])
+            multi isRngRelaxError
 
 setChangesAttr :: String -> IOSArrow XmlTree XmlTree
 setChangesAttr str
-  = ifA (hasAttr a_relaxSimplificationChanges)
+  = ifA (hasRngAttrRelaxSimplificationChanges)
       ( processAttrl $
           changeAttrValue (++ (", " ++ str))
           `when`
-          (hasRngName a_relaxSimplificationChanges)
+          isRngAttrRelaxSimplificationChanges
       )
-      (mkAttr (mkName a_relaxSimplificationChanges) (txt str))
+      (mkRngAttrRelaxSimplificationChanges str)
 
 
 getChangesAttr :: IOSArrow XmlTree String
@@ -2230,7 +2266,8 @@
 -- -------------------------------------------------------------------------------------------------------
 
 -- | Creates the simple form of a Relax NG schema
--- (see also: 'relaxOptions')
+-- 
+-- The schema document has to be parsed with namespace propagation
 
 createSimpleForm :: Bool -> Bool -> Bool -> IOSArrow XmlTree XmlTree
 createSimpleForm checkRestrictions validateExternalRef validateInclude
@@ -2244,28 +2281,31 @@
 
     createSimpleWithRest :: IOSArrow XmlTree XmlTree
     createSimpleWithRest
-        = seqA $ concat [ simplificationPart1
-                        , return $ traceDoc "relax NG: simplificationPart1 done"
-                        , restrictionsPart1
-                        , return $ traceDoc "relax NG: restrictionsPart1 done"
-                        , simplificationPart2
-                        , return $ traceDoc "relax NG simplificationPart2 done"
-                        , restrictionsPart2
-                        , return $ traceDoc "relax NG: restrictionsPart2 done"
-                        , finalCleanUp
-                        , return $ traceDoc "relax NG: finalCleanUp done"
-                        ]
+        = foldr (!>>>) this $
+          concat [ return $ traceDoc "relax NG: simplificationPart1 starts"
+                 , simplificationPart1
+                 , return $ traceDoc "relax NG: simplificationPart1 done"
+                 , restrictionsPart1
+                 , return $ traceDoc "relax NG: restrictionsPart1 done"
+                 , simplificationPart2
+                 , return $ traceDoc "relax NG simplificationPart2 done"
+                 , restrictionsPart2
+                 , return $ traceDoc "relax NG: restrictionsPart2 done"
+                 , finalCleanUp
+                 , return $ traceDoc "relax NG: finalCleanUp done"
+                 ]
 
     createSimpleWithoutRest :: IOSArrow XmlTree XmlTree
     createSimpleWithoutRest
-        = seqA $ concat [ simplificationPart1
-                        , simplificationPart2
-                        , finalCleanUp
-                        ]
+        = foldr (!>>>) this $
+          concat [ simplificationPart1
+                 , simplificationPart2
+                 , finalCleanUp
+                 ]
+
     simplificationPart1 :: [IOSArrow XmlTree XmlTree]
     simplificationPart1
-        = [ propagateNamespaces
-          , simplificationStep1
+        = [ simplificationStep1
           , simplificationStep2 validateExternalRef validateInclude [] []
           , simplificationStep3
           , simplificationStep4
@@ -2293,7 +2333,6 @@
     finalCleanUp :: [IOSArrow XmlTree XmlTree]
     finalCleanUp
         = [ cleanUp
-          , resetStates
           ]
 
     cleanUp :: IOSArrow XmlTree XmlTree
diff --git a/src/Text/XML/HXT/RelaxNG/SystemConfig.hs b/src/Text/XML/HXT/RelaxNG/SystemConfig.hs
--- a/src/Text/XML/HXT/RelaxNG/SystemConfig.hs
+++ b/src/Text/XML/HXT/RelaxNG/SystemConfig.hs
@@ -33,9 +33,9 @@
 
 withRelaxNG                     :: String -> SysConfig
 withRelaxNG s                   = setS (theRelaxValidate
-					.&&&. theRelaxSchema
-					.&&&. theRelaxValidator
-				       ) (True, (s, validateDocumentWithRelaxSchema [] s))
+                                        .&&&. theRelaxSchema
+                                        .&&&. theRelaxValidator
+                                       ) (True, (s, validateDocumentWithRelaxSchema [] s))
 
 withRelaxCheckRestr             ::  Bool -> SysConfig
 withRelaxCheckRestr             = setS theRelaxCheckRestr
diff --git a/src/Text/XML/HXT/RelaxNG/Utils.hs b/src/Text/XML/HXT/RelaxNG/Utils.hs
--- a/src/Text/XML/HXT/RelaxNG/Utils.hs
+++ b/src/Text/XML/HXT/RelaxNG/Utils.hs
@@ -33,6 +33,11 @@
 
 import Text.ParserCombinators.Parsec
 
+import Text.XML.HXT.Parser.XmlCharParser
+    ( SimpleXParser
+    , withNormNewline
+    )
+
 import Text.XML.HXT.Parser.XmlTokenParser
     ( skipS0
     , nmtoken
@@ -89,9 +94,11 @@
                     else uri
                   )
 
-checkByParsing  :: Parser String -> String -> Bool
+checkByParsing  :: SimpleXParser String -> String -> Bool
 checkByParsing p s
-    = either (const False) (const True) (parse p' "" s)
+    = either (const False)
+             (const True)
+             (runParser p' (withNormNewline ()) "" s)
       where
       p' = do
            r <- p
@@ -103,7 +110,7 @@
 isNumber
     = checkByParsing parseNumber'
     where
-    parseNumber' :: Parser String
+    parseNumber' :: SimpleXParser String
     parseNumber'
         = do
           skipS0
diff --git a/src/Text/XML/HXT/RelaxNG/Validation.hs b/src/Text/XML/HXT/RelaxNG/Validation.hs
--- a/src/Text/XML/HXT/RelaxNG/Validation.hs
+++ b/src/Text/XML/HXT/RelaxNG/Validation.hs
@@ -18,7 +18,7 @@
 -- ------------------------------------------------------------
 
 module Text.XML.HXT.RelaxNG.Validation
-    ( validateWithRelaxAndHandleErrors
+    ( validateWithRelax
     , validateDocWithRelax
     , validateRelax
     , readForRelax
@@ -61,43 +61,13 @@
 
 -- ------------------------------------------------------------
 
-validateWithRelaxAndHandleErrors        :: IOSArrow XmlTree XmlTree -> IOSArrow XmlTree XmlTree
-validateWithRelaxAndHandleErrors theSchema
-    = validateWithRelax theSchema
-      >>>
-      handleErrors
-
 validateWithRelax       :: IOSArrow XmlTree XmlTree -> IOSArrow XmlTree XmlTree
 validateWithRelax theSchema
     = traceMsg 2 "validate with Relax NG schema"
       >>>
-      ( ( normalizeForRelaxValidation           -- prepare the document for validation
-          >>>
-          getChildren
-          >>>
-          isElem                                -- and select the root element
-        )
-        &&&
-        theSchema
-      )
-      >>>
-      arr2A validateRelax                       -- compute vaidation errors as a document
-
-handleErrors    :: IOSArrow XmlTree XmlTree
-handleErrors
-    = traceDoc "error found when validating with Relax NG schema"
-      >>>
-      ( getChildren                             -- prepare error format
-        >>>
-        getText
-        >>>
-        arr ("Relax NG validation: " ++)
-        >>>
-        mkError c_err
-      )
+      normalizeForRelaxValidation             -- prepare the document for validation
       >>>
-      filterErrorMsg                            -- issue errors and set system status
-
+      ( validateRelax $< theSchema )          -- compute and issue validation errors
 
 {- |
    normalize a document for validation with Relax NG: remove all namespace declaration attributes,
@@ -140,41 +110,53 @@
 validateDocWithRelax :: IOSArrow XmlTree XmlTree -> SysConfigList -> String -> IOSArrow XmlTree XmlTree
 validateDocWithRelax theSchema config doc
     = localSysEnv
-      $
-      configSysVars config
-      >>>
-      ( if null doc
-        then root [] []
-        else readForRelax doc
+      ( configSysVars config
+        >>>
+        readForRelax doc
+        >>>
+        validateWithRelax theSchema
       )
-      >>>
-      validateWithRelax theSchema
-      >>>
-      perform handleErrors
 
-
 {- | Validates a xml document with respect to a Relax NG schema
 
-   * 1.parameter  :  XML document
+   * 1.parameter  :  Relax NG schema
 
-   - arrow-input  :  Relax NG schema
+   - arrow-input  :  XML document
 
-   - arrow-output :  list of errors or 'none'
+   - arrow-output :  the document or in case of errors none
 -}
 
 validateRelax :: XmlTree -> IOSArrow XmlTree XmlTree
-validateRelax xmlDoc
-  = fromLA
-    ( createPatternFromXmlTree
-      >>>
-      arr (\p -> childDeriv ("",[]) p xmlDoc)
-      >>>
-      ( (not . nullable)
-        `guardsP`
-        root [] [ (take 1024 . show) ^>> mkText ]       -- pattern may be recursive, so the string representation
-                                                        -- is truncated to 1024 chars to assure termination
+validateRelax rngSchema
+    = ( fromLA
+        ( ( ( constA rngSchema
+              >>>
+              createPatternFromXmlTree
+            )
+            &&&
+            ( getChildren                       -- remove the root node
+              >>>
+              isElem                            -- and select the root element
+            )
+          )
+          >>>
+          arr2 (\ pattern xmlDoc -> childDeriv ("", []) pattern xmlDoc)
+          >>>
+          isA (not . nullable)
+          >>>
+          arr ( take 1024                      -- pattern may be recursive, so the string representation
+                                               -- is truncated to 1024 chars to assure termination
+                . ("when validating with Relax NG schema: " ++)
+                . show
+              )
+          >>>
+          mkError c_err
+        )
+        `orElse`
+        this
       )
-    )
+      >>>
+      filterErrorMsg
 
 -- ------------------------------------------------------------
 
diff --git a/src/Text/XML/HXT/RelaxNG/Validator.hs b/src/Text/XML/HXT/RelaxNG/Validator.hs
--- a/src/Text/XML/HXT/RelaxNG/Validator.hs
+++ b/src/Text/XML/HXT/RelaxNG/Validator.hs
@@ -5,12 +5,9 @@
 module Text.XML.HXT.RelaxNG.Validator
   ( validateDocumentWithRelaxSchema
   , validateDocumentWithRelax
-
-  , validate
-  , validateSchema
   , validateWithSpezification
   , validateSchemaWithSpezification
-  , validateWithoutSpezification
+
   , module Text.XML.HXT.RelaxNG.Validation
   , module Text.XML.HXT.RelaxNG.Simplification
   )
@@ -24,6 +21,7 @@
 import Text.XML.HXT.Arrow.XmlState
 import Text.XML.HXT.Arrow.XmlState.TypeDefs
 
+import Text.XML.HXT.RelaxNG.BasicArrows
 import Text.XML.HXT.RelaxNG.Validation
 import Text.XML.HXT.RelaxNG.Simplification
 import Text.XML.HXT.RelaxNG.Schema        as S
@@ -64,53 +62,71 @@
         $
         configSysVars config
         >>>
-        ( ( validate' $< validSchema )    -- try to validate, only possible if schema is o.k.
+        traceMsg 1 ( "start validating document with Relax NG schema: " ++ show relaxSchema )
+        >>>
+        ( ( ( validate' $< validateSchema relaxSchema)    -- try to validate, only possible if schema is o.k.
+            >>>
+            traceMsg 1 ( "validating document with Relax NG schema done" )
+          )
           `orElse`
-          this
+          ( setDocumentStatusFromSystemState "validating Relax NG schema"
+            >>>
+            traceMsg 1 ( "no validation done, Relax NG schema is not correct" )
+          )
         )
       )
       `when`
-      documentStatusOk                  -- only do something when document status is ok
+      documentStatusOk                                 -- only do something when document status is ok
     where
     validate' schema
         = setDocumentStatusFromSystemState "read and build Relax NG schema"
           >>>
           validateDocumentWithRelax schema
 
-    validSchema
-        = traceMsg 2 ( "read Relax NG schema document: " ++ show relaxSchema )
-          >>>
-          readForRelax relaxSchema
-          >>>
-          perform ( let checkSchema = True in           -- test option in al
-                    if checkSchema
-                    then validateWithRelaxAndHandleErrors S.relaxSchemaArrow
-                    else none
-                  )
-          >>>
-          traceMsg 2 "create simplified schema"
-          >>>
-          ( (\ (b1, (b2, b3)) -> createSimpleForm b1 b2 b3)
-            $<
-            getSysVar (theRelaxCheckRestr     .&&&.
-                       theRelaxValidateExtRef .&&&.
-                       theRelaxValidateInclude
-                      )
-          )
-          >>>
-          traceDoc "simplified schema"
-          >>>
-          perform ( getErrors
-                    >>>
-                    handleSimplificationErrors
+validateSchema                  :: String -> IOSArrow XmlTree XmlTree
+validateSchema relaxSchema
+    = traceMsg 2 ( "read and check Relax NG schema document: " ++ show relaxSchema )
+      >>>
+      readForRelax relaxSchema
+      >>>
+      ( let checkSchema = True in           -- test option in al
+            if checkSchema
+            then validateWithRelax S.relaxSchemaArrow `guards` this
+            else this
+      )
+      >>>
+      traceMsg 2 "create simplified schema"
+      >>>
+      ( (\ (b1, (b2, b3)) -> createSimpleForm b1 b2 b3)
+        $<
+        getSysVar (theRelaxCheckRestr     .&&&.
+                   theRelaxValidateExtRef .&&&.
+                   theRelaxValidateInclude
                   )
+      )
+      >>>
+      traceDoc "simplified schema"
+      >>>
+      traceMsg 2 "collect and issue schema errors"
+      >>>
+      perform handleSimplificationErrors
+      >>>
+      resetStates
+      >>>
+      setDocumentStatusFromSystemState "validating Relax NG schema"
+      >>>
+      documentStatusOk
+      >>>
+      traceMsg 2 "Relax NG schema is o.k."
 
 handleSimplificationErrors      :: IOSArrow XmlTree XmlTree
 handleSimplificationErrors
     = traceDoc "simplification errors"
       >>>
-      getChildren >>> getAttrValue "desc"
+      getErrors
       >>>
+      getRngAttrDescr
+      >>>
       arr ("Relax NG validation: " ++)
       >>>
       mkError c_err
@@ -131,7 +147,7 @@
 validateDocumentWithRelax schema
     = ( traceMsg 1 "validate document with Relax NG schema"
         >>>
-        perform ( validateWithRelaxAndHandleErrors (constA schema) )
+        perform ( validateWithRelax (constA schema) )
         >>>
         setDocumentStatusFromSystemState "validate document with Relax NG schema"
       )
@@ -186,13 +202,13 @@
 
 > validate [(a_do_not_check_restrictions, "1")] "test.xml" "testSchema.rng"
 
--}
+-} {-
 validate :: String -> String -> IOSArrow n XmlTree
 validate xmlDocument relaxSchema
   = S.relaxSchemaArrow
     >>>
     validateWithSpezification xmlDocument relaxSchema
-
+-}
 
 
 
@@ -202,50 +218,13 @@
 
    * 1.parameter :  Relax NG schema file
 
--}
+-} {-
 validateSchema :: String -> IOSArrow n XmlTree
 validateSchema relaxSchema
   = validate "" relaxSchema
-
-
-
-{- | Document validation
-
-Validates a xml document with respect to a Relax NG schema. Similar to 'validate', but the Relax NG Specification is not created. Can be used, to check a list of documents more efficiently.
-
-   * 1.parameter :  XML document
-
-   - 2.parameter :  Relax NG schema file
-
-   - arrow-input  :  Relax NG Specification in simple form
-
-example:
-
-> Text.XML.HXT.RelaxNG.Schema.relaxSchemaArrow
-> >>>
-> ( validateWithSpezification "foo.xml" "foo.rng"
->   &&&
->   validateWithSpezification "bar.xml" "bar.rng"
-> )
-
-
 -}
-validateWithSpezification :: String -> String -> IOSArrow XmlTree XmlTree
-validateWithSpezification xmlDocument relaxSchema
-  = -- validation of the schema with respect to the specification
-    -- returns a list of errors or none if the schema is correct
 
-    ( validateRelax $< ( readForRelax relaxSchema
-                         >>>
-                         getChildren
-                       )
-    )
-    `orElse`
-
-    -- validation of the xml document with respect to the schema
-    -- returns a list of errors or none if the xml document is correct
-
-    validateWithoutSpezification xmlDocument relaxSchema
+-- ------------------------------------------------------------
 
 {- | Relax NG schema validation
 
@@ -258,13 +237,12 @@
 
 validateSchemaWithSpezification :: String -> IOSArrow XmlTree XmlTree
 validateSchemaWithSpezification relaxSchema
-  = validateWithSpezification "" relaxSchema
-
+    = validateWithSpezification "" relaxSchema
 
 
 {- | Document validation
 
-Validates a xml document with respect to a Relax NG schema, but the schema is @not@ validated with respect to a specification first. Should be used only for valid Relax NG schemes.
+Validates a xml document with respect to a Relax NG schema
 
    * 1.parameter :  XML document
 
@@ -273,21 +251,24 @@
 -}
 
 
-validateWithoutSpezification :: String -> String -> IOSArrow n XmlTree
-validateWithoutSpezification xmlDocument relaxSchema
-  = readForRelax relaxSchema
-    >>>
-    createSimpleForm True True True
-    >>>
-    ( ( getErrors >>> perform handleSimplificationErrors )              -- issue errors in schema simplification
-      `orElse`
-      ( if null xmlDocument                                             -- no errors: validate document
-        then none
-        else validateRelax $< ( readForRelax xmlDocument
-                                >>>
-                                normalizeForRelaxValidation
-                                >>>
-                                getChildren
-                              )
-      )
-    )
+validateWithSpezification :: String -> String -> IOSArrow XmlTree XmlTree
+validateWithSpezification xmlDocument relaxSchema
+    = validDoc $< listA (validateSchema relaxSchema)
+    where
+    validDoc [theSchema]
+        | null xmlDocument
+            = none
+        | otherwise
+            = ifA ( readForRelax xmlDocument
+                    >>>
+                    normalizeForRelaxValidation
+                    >>>
+                    validateRelax theSchema
+                  )
+              none
+              ( err "Document is not valid with respect to Relax NG Schema" )
+    validDoc _
+        = err "Relax NG Schema not correct"
+
+-- ------------------------------------------------------------
+
