diff --git a/.gitignore b/.gitignore
new file mode 100644
index 0000000..3789de6
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1 @@
+SOURCES/sgml-common-0.6.3.tgz
diff --git a/.sgml-common.metadata b/.sgml-common.metadata
new file mode 100644
index 0000000..0bb8065
--- /dev/null
+++ b/.sgml-common.metadata
@@ -0,0 +1 @@
+b7d211c19b83accb92dcb51719de65227fb4c27c SOURCES/sgml-common-0.6.3.tgz
diff --git a/SOURCES/XMLSchema.dtd b/SOURCES/XMLSchema.dtd
new file mode 100644
index 0000000..e8e8f76
--- /dev/null
+++ b/SOURCES/XMLSchema.dtd
@@ -0,0 +1,402 @@
+<!-- DTD for XML Schemas: Part 1: Structures
+     Public Identifier: "-//W3C//DTD XMLSCHEMA 200102//EN"
+     Official Location: http://www.w3.org/2001/XMLSchema.dtd -->
+<!-- $Id: XMLSchema.dtd,v 1.31 2001/10/24 15:50:16 ht Exp $ -->
+<!-- Note this DTD is NOT normative, or even definitive. -->           <!--d-->
+<!-- prose copy in the structures REC is the definitive version -->    <!--d-->
+<!-- (which shouldn't differ from this one except for this -->         <!--d-->
+<!-- comment and entity expansions, but just in case) -->              <!--d-->
+<!-- With the exception of cases with multiple namespace
+     prefixes for the XML Schema namespace, any XML document which is
+     not valid per this DTD given redefinitions in its internal subset of the
+     'p' and 's' parameter entities below appropriate to its namespace
+     declaration of the XML Schema namespace is almost certainly not
+     a valid schema. -->
+
+<!-- The simpleType element and its constituent parts
+     are defined in XML Schema: Part 2: Datatypes -->
+<!ENTITY % xs-datatypes PUBLIC 'datatypes' 'datatypes.dtd' >
+
+<!ENTITY % p 'xs:'> <!-- can be overriden in the internal subset of a
+                         schema document to establish a different
+                         namespace prefix -->
+<!ENTITY % s ':xs'> <!-- if %p is defined (e.g. as foo:) then you must
+                         also define %s as the suffix for the appropriate
+                         namespace declaration (e.g. :foo) -->
+<!ENTITY % nds 'xmlns%s;'>
+
+<!-- Define all the element names, with optional prefix -->
+<!ENTITY % schema "%p;schema">
+<!ENTITY % complexType "%p;complexType">
+<!ENTITY % complexContent "%p;complexContent">
+<!ENTITY % simpleContent "%p;simpleContent">
+<!ENTITY % extension "%p;extension">
+<!ENTITY % element "%p;element">
+<!ENTITY % unique "%p;unique">
+<!ENTITY % key "%p;key">
+<!ENTITY % keyref "%p;keyref">
+<!ENTITY % selector "%p;selector">
+<!ENTITY % field "%p;field">
+<!ENTITY % group "%p;group">
+<!ENTITY % all "%p;all">
+<!ENTITY % choice "%p;choice">
+<!ENTITY % sequence "%p;sequence">
+<!ENTITY % any "%p;any">
+<!ENTITY % anyAttribute "%p;anyAttribute">
+<!ENTITY % attribute "%p;attribute">
+<!ENTITY % attributeGroup "%p;attributeGroup">
+<!ENTITY % include "%p;include">
+<!ENTITY % import "%p;import">
+<!ENTITY % redefine "%p;redefine">
+<!ENTITY % notation "%p;notation">
+
+<!-- annotation elements -->
+<!ENTITY % annotation "%p;annotation">
+<!ENTITY % appinfo "%p;appinfo">
+<!ENTITY % documentation "%p;documentation">
+
+<!-- Customisation entities for the ATTLIST of each element type.
+     Define one of these if your schema takes advantage of the
+     anyAttribute='##other' in the schema for schemas -->
+
+<!ENTITY % schemaAttrs ''>
+<!ENTITY % complexTypeAttrs ''>
+<!ENTITY % complexContentAttrs ''>
+<!ENTITY % simpleContentAttrs ''>
+<!ENTITY % extensionAttrs ''>
+<!ENTITY % elementAttrs ''>
+<!ENTITY % groupAttrs ''>
+<!ENTITY % allAttrs ''>
+<!ENTITY % choiceAttrs ''>
+<!ENTITY % sequenceAttrs ''>
+<!ENTITY % anyAttrs ''>
+<!ENTITY % anyAttributeAttrs ''>
+<!ENTITY % attributeAttrs ''>
+<!ENTITY % attributeGroupAttrs ''>
+<!ENTITY % uniqueAttrs ''>
+<!ENTITY % keyAttrs ''>
+<!ENTITY % keyrefAttrs ''>
+<!ENTITY % selectorAttrs ''>
+<!ENTITY % fieldAttrs ''>
+<!ENTITY % includeAttrs ''>
+<!ENTITY % importAttrs ''>
+<!ENTITY % redefineAttrs ''>
+<!ENTITY % notationAttrs ''>
+<!ENTITY % annotationAttrs ''>
+<!ENTITY % appinfoAttrs ''>
+<!ENTITY % documentationAttrs ''>
+
+<!ENTITY % complexDerivationSet "CDATA">
+      <!-- #all or space-separated list drawn from derivationChoice -->
+<!ENTITY % blockSet "CDATA">
+      <!-- #all or space-separated list drawn from
+                      derivationChoice + 'substitution' -->
+
+<!ENTITY % mgs '%all; | %choice; | %sequence;'>
+<!ENTITY % cs '%choice; | %sequence;'>
+<!ENTITY % formValues '(qualified|unqualified)'>
+
+
+<!ENTITY % attrDecls    '((%attribute;| %attributeGroup;)*,(%anyAttribute;)?)'>
+
+<!ENTITY % particleAndAttrs '((%mgs; | %group;)?, %attrDecls;)'>
+
+<!-- This is used in part2 -->
+<!ENTITY % restriction1 '((%mgs; | %group;)?)'>
+
+%xs-datatypes;
+
+<!-- the duplication below is to produce an unambiguous content model
+     which allows annotation everywhere -->
+<!ELEMENT %schema; ((%include; | %import; | %redefine; | %annotation;)*,
+                    ((%simpleType; | %complexType;
+                      | %element; | %attribute;
+                      | %attributeGroup; | %group;
+                      | %notation; ),
+                     (%annotation;)*)* )>
+<!ATTLIST %schema;
+   targetNamespace      %URIref;               #IMPLIED
+   version              CDATA                  #IMPLIED
+   %nds;                %URIref;               #FIXED 'http://www.w3.org/2001/XMLSchema'
+   xmlns                CDATA                  #IMPLIED
+   finalDefault         %complexDerivationSet; ''
+   blockDefault         %blockSet;             ''
+   id                   ID                     #IMPLIED
+   elementFormDefault   %formValues;           'unqualified'
+   attributeFormDefault %formValues;           'unqualified'
+   xml:lang             CDATA                  #IMPLIED
+   %schemaAttrs;>
+<!-- Note the xmlns declaration is NOT in the Schema for Schemas,
+     because at the Infoset level where schemas operate,
+     xmlns(:prefix) is NOT an attribute! -->
+<!-- The declaration of xmlns is a convenience for schema authors -->
+ 
+<!-- The id attribute here and below is for use in external references
+     from non-schemas using simple fragment identifiers.
+     It is NOT used for schema-to-schema reference, internal or
+     external. -->
+
+<!-- a type is a named content type specification which allows attribute
+     declarations-->
+<!-- -->
+
+<!ELEMENT %complexType; ((%annotation;)?,
+                         (%simpleContent;|%complexContent;|
+                          %particleAndAttrs;))>
+
+<!ATTLIST %complexType;
+          name      %NCName;                        #IMPLIED
+          id        ID                              #IMPLIED
+          abstract  %boolean;                       #IMPLIED
+          final     %complexDerivationSet;          #IMPLIED
+          block     %complexDerivationSet;          #IMPLIED
+          mixed (true|false) 'false'
+          %complexTypeAttrs;>
+
+<!-- particleAndAttrs is shorthand for a root type -->
+<!-- mixed is disallowed if simpleContent, overriden if complexContent
+     has one too. -->
+
+<!-- If anyAttribute appears in one or more referenced attributeGroups
+     and/or explicitly, the intersection of the permissions is used -->
+
+<!ELEMENT %complexContent; ((%annotation;)?, (%restriction;|%extension;))>
+<!ATTLIST %complexContent;
+          mixed (true|false) #IMPLIED
+          id    ID           #IMPLIED
+          %complexContentAttrs;>
+
+<!-- restriction should use the branch defined above, not the simple
+     one from part2; extension should use the full model  -->
+
+<!ELEMENT %simpleContent; ((%annotation;)?, (%restriction;|%extension;))>
+<!ATTLIST %simpleContent;
+          id    ID           #IMPLIED
+          %simpleContentAttrs;>
+
+<!-- restriction should use the simple branch from part2, not the 
+     one defined above; extension should have no particle  -->
+
+<!ELEMENT %extension; ((%annotation;)?, (%particleAndAttrs;))>
+<!ATTLIST %extension;
+          base  %QName;      #REQUIRED
+          id    ID           #IMPLIED
+          %extensionAttrs;>
+
+<!-- an element is declared by either:
+ a name and a type (either nested or referenced via the type attribute)
+ or a ref to an existing element declaration -->
+
+<!ELEMENT %element; ((%annotation;)?, (%complexType;| %simpleType;)?,
+                     (%unique; | %key; | %keyref;)*)>
+<!-- simpleType or complexType only if no type|ref attribute -->
+<!-- ref not allowed at top level -->
+<!ATTLIST %element;
+            name               %NCName;               #IMPLIED
+            id                 ID                     #IMPLIED
+            ref                %QName;                #IMPLIED
+            type               %QName;                #IMPLIED
+            minOccurs          %nonNegativeInteger;   #IMPLIED
+            maxOccurs          CDATA                  #IMPLIED
+            nillable           %boolean;              #IMPLIED
+            substitutionGroup  %QName;                #IMPLIED
+            abstract           %boolean;              #IMPLIED
+            final              %complexDerivationSet; #IMPLIED
+            block              %blockSet;             #IMPLIED
+            default            CDATA                  #IMPLIED
+            fixed              CDATA                  #IMPLIED
+            form               %formValues;           #IMPLIED
+            %elementAttrs;>
+<!-- type and ref are mutually exclusive.
+     name and ref are mutually exclusive, one is required -->
+<!-- In the absence of type AND ref, type defaults to type of
+     substitutionGroup, if any, else the ur-type, i.e. unconstrained -->
+<!-- default and fixed are mutually exclusive -->
+
+<!ELEMENT %group; ((%annotation;)?,(%mgs;)?)>
+<!ATTLIST %group; 
+          name        %NCName;               #IMPLIED
+          ref         %QName;                #IMPLIED
+          minOccurs   %nonNegativeInteger;   #IMPLIED
+          maxOccurs   CDATA                  #IMPLIED
+          id          ID                     #IMPLIED
+          %groupAttrs;>
+
+<!ELEMENT %all; ((%annotation;)?, (%element;)*)>
+<!ATTLIST %all;
+          minOccurs   (1)                    #IMPLIED
+          maxOccurs   (1)                    #IMPLIED
+          id          ID                     #IMPLIED
+          %allAttrs;>
+
+<!ELEMENT %choice; ((%annotation;)?, (%element;| %group;| %cs; | %any;)*)>
+<!ATTLIST %choice;
+          minOccurs   %nonNegativeInteger;   #IMPLIED
+          maxOccurs   CDATA                  #IMPLIED
+          id          ID                     #IMPLIED
+          %choiceAttrs;>
+
+<!ELEMENT %sequence; ((%annotation;)?, (%element;| %group;| %cs; | %any;)*)>
+<!ATTLIST %sequence;
+          minOccurs   %nonNegativeInteger;   #IMPLIED
+          maxOccurs   CDATA                  #IMPLIED
+          id          ID                     #IMPLIED
+          %sequenceAttrs;>
+
+<!-- an anonymous grouping in a model, or
+     a top-level named group definition, or a reference to same -->
+
+<!-- Note that if order is 'all', group is not allowed inside.
+     If order is 'all' THIS group must be alone (or referenced alone) at
+     the top level of a content model -->
+<!-- If order is 'all', minOccurs==maxOccurs==1 on element/any inside -->
+<!-- Should allow minOccurs=0 inside order='all' . . . -->
+
+<!ELEMENT %any; (%annotation;)?>
+<!ATTLIST %any;
+            namespace       CDATA                  '##any'
+            processContents (skip|lax|strict)      'strict'
+            minOccurs       %nonNegativeInteger;   '1'
+            maxOccurs       CDATA                  '1'
+            id              ID                     #IMPLIED
+            %anyAttrs;>
+
+<!-- namespace is interpreted as follows:
+                  ##any      - - any non-conflicting WFXML at all
+
+                  ##other    - - any non-conflicting WFXML from namespace other
+                                  than targetNamespace
+
+                  ##local    - - any unqualified non-conflicting WFXML/attribute
+                  one or     - - any non-conflicting WFXML from
+                  more URI        the listed namespaces
+                  references
+
+                  ##targetNamespace ##local may appear in the above list,
+                    with the obvious meaning -->
+
+<!ELEMENT %anyAttribute; (%annotation;)?>
+<!ATTLIST %anyAttribute;
+            namespace       CDATA              '##any'
+            processContents (skip|lax|strict)  'strict'
+            id              ID                 #IMPLIED
+            %anyAttributeAttrs;>
+<!-- namespace is interpreted as for 'any' above -->
+
+<!-- simpleType only if no type|ref attribute -->
+<!-- ref not allowed at top level, name iff at top level -->
+<!ELEMENT %attribute; ((%annotation;)?, (%simpleType;)?)>
+<!ATTLIST %attribute;
+          name      %NCName;      #IMPLIED
+          id        ID            #IMPLIED
+          ref       %QName;       #IMPLIED
+          type      %QName;       #IMPLIED
+          use       (prohibited|optional|required) #IMPLIED
+          default   CDATA         #IMPLIED
+          fixed     CDATA         #IMPLIED
+          form      %formValues;  #IMPLIED
+          %attributeAttrs;>
+<!-- type and ref are mutually exclusive.
+     name and ref are mutually exclusive, one is required -->
+<!-- default for use is optional when nested, none otherwise -->
+<!-- default and fixed are mutually exclusive -->
+<!-- type attr and simpleType content are mutually exclusive -->
+
+<!-- an attributeGroup is a named collection of attribute decls, or a
+     reference thereto -->
+<!ELEMENT %attributeGroup; ((%annotation;)?,
+                       (%attribute; | %attributeGroup;)*,
+                       (%anyAttribute;)?) >
+<!ATTLIST %attributeGroup;
+                 name       %NCName;       #IMPLIED
+                 id         ID             #IMPLIED
+                 ref        %QName;        #IMPLIED
+                 %attributeGroupAttrs;>
+
+<!-- ref iff no content, no name.  ref iff not top level -->
+
+<!-- better reference mechanisms -->
+<!ELEMENT %unique; ((%annotation;)?, %selector;, (%field;)+)>
+<!ATTLIST %unique;
+          name     %NCName;       #REQUIRED
+	  id       ID             #IMPLIED
+	  %uniqueAttrs;>
+
+<!ELEMENT %key;    ((%annotation;)?, %selector;, (%field;)+)>
+<!ATTLIST %key;
+          name     %NCName;       #REQUIRED
+	  id       ID             #IMPLIED
+	  %keyAttrs;>
+
+<!ELEMENT %keyref; ((%annotation;)?, %selector;, (%field;)+)>
+<!ATTLIST %keyref;
+          name     %NCName;       #REQUIRED
+	  refer    %QName;        #REQUIRED
+	  id       ID             #IMPLIED
+	  %keyrefAttrs;>
+
+<!ELEMENT %selector; ((%annotation;)?)>
+<!ATTLIST %selector;
+          xpath %XPathExpr; #REQUIRED
+          id    ID          #IMPLIED
+          %selectorAttrs;>
+<!ELEMENT %field; ((%annotation;)?)>
+<!ATTLIST %field;
+          xpath %XPathExpr; #REQUIRED
+          id    ID          #IMPLIED
+          %fieldAttrs;>
+
+<!-- Schema combination mechanisms -->
+<!ELEMENT %include; (%annotation;)?>
+<!ATTLIST %include;
+          schemaLocation %URIref; #REQUIRED
+          id             ID       #IMPLIED
+          %includeAttrs;>
+
+<!ELEMENT %import; (%annotation;)?>
+<!ATTLIST %import;
+          namespace      %URIref; #IMPLIED
+          schemaLocation %URIref; #IMPLIED
+          id             ID       #IMPLIED
+          %importAttrs;>
+
+<!ELEMENT %redefine; (%annotation; | %simpleType; | %complexType; |
+                      %attributeGroup; | %group;)*>
+<!ATTLIST %redefine;
+          schemaLocation %URIref; #REQUIRED
+          id             ID       #IMPLIED
+          %redefineAttrs;>
+
+<!ELEMENT %notation; (%annotation;)?>
+<!ATTLIST %notation;
+	  name        %NCName;    #REQUIRED
+	  id          ID          #IMPLIED
+	  public      CDATA       #REQUIRED
+	  system      %URIref;    #IMPLIED
+	  %notationAttrs;>
+
+<!-- Annotation is either application information or documentation -->
+<!-- By having these here they are available for datatypes as well
+     as all the structures elements -->
+
+<!ELEMENT %annotation; (%appinfo; | %documentation;)*>
+<!ATTLIST %annotation; %annotationAttrs;>
+
+<!-- User must define annotation elements in internal subset for this
+     to work -->
+<!ELEMENT %appinfo; ANY>   <!-- too restrictive -->
+<!ATTLIST %appinfo;
+          source     %URIref;      #IMPLIED
+          id         ID         #IMPLIED
+          %appinfoAttrs;>
+<!ELEMENT %documentation; ANY>   <!-- too restrictive -->
+<!ATTLIST %documentation;
+          source     %URIref;   #IMPLIED
+          id         ID         #IMPLIED
+          xml:lang   CDATA      #IMPLIED
+          %documentationAttrs;>
+
+<!NOTATION XMLSchemaStructures PUBLIC
+           'structures' 'http://www.w3.org/2001/XMLSchema.xsd' >
+<!NOTATION XML PUBLIC
+           'REC-xml-1998-0210' 'http://www.w3.org/TR/1998/REC-xml-19980210' >
diff --git a/SOURCES/datatypes.dtd b/SOURCES/datatypes.dtd
new file mode 100644
index 0000000..8e48553
--- /dev/null
+++ b/SOURCES/datatypes.dtd
@@ -0,0 +1,203 @@
+<!--
+        DTD for XML Schemas: Part 2: Datatypes
+        $Id: datatypes.dtd,v 1.23 2001/03/16 17:36:30 ht Exp $
+        Note this DTD is NOT normative, or even definitive. - - the
+        prose copy in the datatypes REC is the definitive version
+        (which shouldn't differ from this one except for this comment
+        and entity expansions, but just in case)
+  -->
+
+<!--
+        This DTD cannot be used on its own, it is intended
+        only for incorporation in XMLSchema.dtd, q.v.
+  -->
+
+<!-- Define all the element names, with optional prefix -->
+<!ENTITY % simpleType "%p;simpleType">
+<!ENTITY % restriction "%p;restriction">
+<!ENTITY % list "%p;list">
+<!ENTITY % union "%p;union">
+<!ENTITY % maxExclusive "%p;maxExclusive">
+<!ENTITY % minExclusive "%p;minExclusive">
+<!ENTITY % maxInclusive "%p;maxInclusive">
+<!ENTITY % minInclusive "%p;minInclusive">
+<!ENTITY % totalDigits "%p;totalDigits">
+<!ENTITY % fractionDigits "%p;fractionDigits">
+<!ENTITY % length "%p;length">
+<!ENTITY % minLength "%p;minLength">
+<!ENTITY % maxLength "%p;maxLength">
+<!ENTITY % enumeration "%p;enumeration">
+<!ENTITY % whiteSpace "%p;whiteSpace">
+<!ENTITY % pattern "%p;pattern">
+
+<!--
+        Customisation entities for the ATTLIST of each element
+        type. Define one of these if your schema takes advantage
+        of the anyAttribute='##other' in the schema for schemas
+  -->
+
+<!ENTITY % simpleTypeAttrs "">
+<!ENTITY % restrictionAttrs "">
+<!ENTITY % listAttrs "">
+<!ENTITY % unionAttrs "">
+<!ENTITY % maxExclusiveAttrs "">
+<!ENTITY % minExclusiveAttrs "">
+<!ENTITY % maxInclusiveAttrs "">
+<!ENTITY % minInclusiveAttrs "">
+<!ENTITY % totalDigitsAttrs "">
+<!ENTITY % fractionDigitsAttrs "">
+<!ENTITY % lengthAttrs "">
+<!ENTITY % minLengthAttrs "">
+<!ENTITY % maxLengthAttrs "">
+<!ENTITY % enumerationAttrs "">
+<!ENTITY % whiteSpaceAttrs "">
+<!ENTITY % patternAttrs "">
+
+<!-- Define some entities for informative use as attribute
+        types -->
+<!ENTITY % URIref "CDATA">
+<!ENTITY % XPathExpr "CDATA">
+<!ENTITY % QName "NMTOKEN">
+<!ENTITY % QNames "NMTOKENS">
+<!ENTITY % NCName "NMTOKEN">
+<!ENTITY % nonNegativeInteger "NMTOKEN">
+<!ENTITY % boolean "(true|false)">
+<!ENTITY % simpleDerivationSet "CDATA">
+<!--
+        #all or space-separated list drawn from derivationChoice
+  -->
+
+<!--
+        Note that the use of 'facet' below is less restrictive
+        than is really intended:  There should in fact be no
+        more than one of each of minInclusive, minExclusive,
+        maxInclusive, maxExclusive, totalDigits, fractionDigits,
+        length, maxLength, minLength within datatype,
+        and the min- and max- variants of Inclusive and Exclusive
+        are mutually exclusive. On the other hand,  pattern and
+        enumeration may repeat.
+  -->
+<!ENTITY % minBound "(%minInclusive; | %minExclusive;)">
+<!ENTITY % maxBound "(%maxInclusive; | %maxExclusive;)">
+<!ENTITY % bounds "%minBound; | %maxBound;">
+<!ENTITY % numeric "%totalDigits; | %fractionDigits;">
+<!ENTITY % ordered "%bounds; | %numeric;">
+<!ENTITY % unordered
+   "%pattern; | %enumeration; | %whiteSpace; | %length; |
+   %maxLength; | %minLength;">
+<!ENTITY % facet "%ordered; | %unordered;">
+<!ENTITY % facetAttr 
+        "value CDATA #REQUIRED
+        id ID #IMPLIED">
+<!ENTITY % fixedAttr "fixed %boolean; #IMPLIED">
+<!ENTITY % facetModel "(%annotation;)?">
+<!ELEMENT %simpleType;
+        ((%annotation;)?, (%restriction; | %list; | %union;))>
+<!ATTLIST %simpleType;
+    name      %NCName; #IMPLIED
+    final     %simpleDerivationSet; #IMPLIED
+    id        ID       #IMPLIED
+    %simpleTypeAttrs;>
+<!-- name is required at top level -->
+<!ELEMENT %restriction; ((%annotation;)?,
+                         (%restriction1; |
+                          ((%simpleType;)?,(%facet;)*)),
+                         (%attrDecls;))>
+<!ATTLIST %restriction;
+    base      %QName;                  #IMPLIED
+    id        ID       #IMPLIED
+    %restrictionAttrs;>
+<!--
+        base and simpleType child are mutually exclusive,
+        one is required.
+
+        restriction is shared between simpleType and
+        simpleContent and complexContent (in XMLSchema.xsd).
+        restriction1 is for the latter cases, when this
+        is restricting a complex type, as is attrDecls.
+  -->
+<!ELEMENT %list; ((%annotation;)?,(%simpleType;)?)>
+<!ATTLIST %list;
+    itemType      %QName;             #IMPLIED
+    id        ID       #IMPLIED
+    %listAttrs;>
+<!--
+        itemType and simpleType child are mutually exclusive,
+        one is required
+  -->
+<!ELEMENT %union; ((%annotation;)?,(%simpleType;)*)>
+<!ATTLIST %union;
+    id            ID       #IMPLIED
+    memberTypes   %QNames;            #IMPLIED
+    %unionAttrs;>
+<!--
+        At least one item in memberTypes or one simpleType
+        child is required
+  -->
+
+<!ELEMENT %maxExclusive; %facetModel;>
+<!ATTLIST %maxExclusive;
+        %facetAttr;
+        %fixedAttr;
+        %maxExclusiveAttrs;>
+<!ELEMENT %minExclusive; %facetModel;>
+<!ATTLIST %minExclusive;
+        %facetAttr;
+        %fixedAttr;
+        %minExclusiveAttrs;>
+
+<!ELEMENT %maxInclusive; %facetModel;>
+<!ATTLIST %maxInclusive;
+        %facetAttr;
+        %fixedAttr;
+        %maxInclusiveAttrs;>
+<!ELEMENT %minInclusive; %facetModel;>
+<!ATTLIST %minInclusive;
+        %facetAttr;
+        %fixedAttr;
+        %minInclusiveAttrs;>
+
+<!ELEMENT %totalDigits; %facetModel;>
+<!ATTLIST %totalDigits;
+        %facetAttr;
+        %fixedAttr;
+        %totalDigitsAttrs;>
+<!ELEMENT %fractionDigits; %facetModel;>
+<!ATTLIST %fractionDigits;
+        %facetAttr;
+        %fixedAttr;
+        %fractionDigitsAttrs;>
+
+<!ELEMENT %length; %facetModel;>
+<!ATTLIST %length;
+        %facetAttr;
+        %fixedAttr;
+        %lengthAttrs;>
+<!ELEMENT %minLength; %facetModel;>
+<!ATTLIST %minLength;
+        %facetAttr;
+        %fixedAttr;
+        %minLengthAttrs;>
+<!ELEMENT %maxLength; %facetModel;>
+<!ATTLIST %maxLength;
+        %facetAttr;
+        %fixedAttr;
+        %maxLengthAttrs;>
+
+<!-- This one can be repeated -->
+<!ELEMENT %enumeration; %facetModel;>
+<!ATTLIST %enumeration;
+        %facetAttr;
+        %enumerationAttrs;>
+
+<!ELEMENT %whiteSpace; %facetModel;>
+<!ATTLIST %whiteSpace;
+        %facetAttr;
+        %fixedAttr;
+        %whiteSpaceAttrs;>
+
+<!-- This one can be repeated -->
+<!ELEMENT %pattern; %facetModel;>
+<!ATTLIST %pattern;
+        %facetAttr;
+        %patternAttrs;>
diff --git a/SOURCES/html.dcl b/SOURCES/html.dcl
new file mode 100644
index 0000000..710e9e2
--- /dev/null
+++ b/SOURCES/html.dcl
@@ -0,0 +1,88 @@
+<!SGML  "ISO 8879:1986"
+--
+	SGML Declaration for HyperText Markup Language (HTML).
+
+--
+
+CHARSET
+         BASESET  "ISO 646:1983//CHARSET
+                   International Reference Version
+                   (IRV)//ESC 2/5 4/0"
+         DESCSET  0   9   UNUSED
+                  9   2   9
+                  11  2   UNUSED
+                  13  1   13
+                  14  18  UNUSED
+                  32  95  32
+                  127 1   UNUSED
+     BASESET   "ISO Registration Number 100//CHARSET
+                ECMA-94 Right Part of
+                Latin Alphabet Nr. 1//ESC 2/13 4/1"
+
+         DESCSET  128  32   UNUSED
+                  160  96    32
+
+CAPACITY        SGMLREF
+                TOTALCAP        150000
+                GRPCAP          150000
+		ENTCAP		150000
+  
+SCOPE    DOCUMENT
+SYNTAX   
+         SHUNCHAR CONTROLS 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
+		 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 127
+         BASESET  "ISO 646:1983//CHARSET
+                   International Reference Version
+                   (IRV)//ESC 2/5 4/0"
+         DESCSET  0 128 0
+         FUNCTION
+		  RE          13
+                  RS          10
+                  SPACE       32
+                  TAB SEPCHAR  9
+	
+
+         NAMING   LCNMSTRT ""
+                  UCNMSTRT ""
+                  LCNMCHAR ".-"
+                  UCNMCHAR ".-"
+                  NAMECASE GENERAL YES
+                           ENTITY  NO
+         DELIM    GENERAL  SGMLREF
+                  SHORTREF SGMLREF
+         NAMES    SGMLREF
+         QUANTITY SGMLREF
+                  ATTSPLEN 2100
+                  LITLEN   1024
+                  NAMELEN  72    -- somewhat arbitrary; taken from
+                                internet line length conventions --
+                  PILEN    1024
+                  TAGLVL   100
+                  TAGLEN   2100
+                  GRPGTCNT 150
+                  GRPCNT   64                   
+
+FEATURES
+  MINIMIZE
+    DATATAG  NO
+    OMITTAG  YES
+    RANK     NO
+    SHORTTAG YES
+  LINK
+    SIMPLE   NO
+    IMPLICIT NO
+    EXPLICIT NO
+  OTHER
+    CONCUR   NO
+    SUBDOC   NO
+    FORMAL   YES
+  APPINFO    "SDA"  -- conforming SGML Document Access application
+		    --
+>
+<!-- 
+	$Id: html.dcl,v 1.1 2004/09/09 12:19:26 cvsdist Exp $
+
+	Author: Daniel W. Connolly <connolly@w3.org>
+
+	See also: http://www.w3.org/hypertext/WWW/MarkUp/MarkUp.html
+ -->
diff --git a/SOURCES/html.soc b/SOURCES/html.soc
new file mode 100644
index 0000000..c0b1949
--- /dev/null
+++ b/SOURCES/html.soc
@@ -0,0 +1,31 @@
+	-- catalog: SGML Open style entity catalog for HTML --
+	-- $Id: html.soc,v 1.1 2004/09/09 12:19:26 cvsdist Exp $ --
+	-- Hacked by jjc --
+
+	-- Ways to refer to Level 2: most general to most specific --
+PUBLIC	"-//IETF//DTD HTML//EN"			html.dtd
+PUBLIC	"-//IETF//DTD HTML 2.0//EN"		html.dtd
+PUBLIC	"-//IETF//DTD HTML Level 2//EN"		html.dtd
+PUBLIC	"-//IETF//DTD HTML 2.0 Level 2//EN"	html.dtd
+
+	-- Ways to refer to Level 1: most general to most specific --
+PUBLIC	"-//IETF//DTD HTML Level 1//EN"		html-1.dtd
+PUBLIC	"-//IETF//DTD HTML 2.0 Level 1//EN"	html-1.dtd
+
+	-- Ways to refer to
+		 Strict Level 2: most general to most specific --
+PUBLIC	"-//IETF//DTD HTML Strict//EN"			html-s.dtd
+PUBLIC	"-//IETF//DTD HTML 2.0 Strict//EN"		html-s.dtd
+PUBLIC	"-//IETF//DTD HTML Strict Level 2//EN"		html-s.dtd
+PUBLIC	"-//IETF//DTD HTML 2.0 Strict Level 2//EN"	html-s.dtd
+
+	-- Ways to refer to
+		 Strict Level 1: most general to most specific --
+PUBLIC	"-//IETF//DTD HTML Strict Level 1//EN"		html-1s.dtd
+PUBLIC	"-//IETF//DTD HTML 2.0 Strict Level 1//EN"	html-1s.dtd
+
+	-- ISO latin 1 entity set for HTML -- 
+PUBLIC	"ISO 8879-1986//ENTITIES Added Latin 1//EN//HTML"	ISOlat1.sgm
+
+SGMLDECL html.dcl
+DOCTYPE html html.dtd
diff --git a/SOURCES/sgml-common-quotes.patch b/SOURCES/sgml-common-quotes.patch
new file mode 100644
index 0000000..c901b9e
--- /dev/null
+++ b/SOURCES/sgml-common-quotes.patch
@@ -0,0 +1,94 @@
+--- sgml-common-0.6.3/bin/install-catalog.in.quotes	Mon Nov  5 11:19:23 2001
++++ sgml-common-0.6.3/bin/install-catalog.in	Mon Nov  5 11:20:12 2001
+@@ -39,8 +39,8 @@
+ # Process actions
+ case $1 in
+    -a|--add)    SGML_ACTION="addition"
+-		SGML_CENTRALIZED=$2
+-		SGML_ORDINARY=$3
++		SGML_CENTRALIZED="$2"
++		SGML_ORDINARY="$3"
+ 		;;
+    -r|--remove)	if [ -z "$3" -o "$3" = "--version" ]
+ 		then
+@@ -48,8 +48,8 @@
+ 		  exit 0
+ 		fi
+    		SGML_ACTION="removal"
+-		SGML_CENTRALIZED=$2
+-		SGML_ORDINARY=$3
++		SGML_CENTRALIZED="$2"
++		SGML_ORDINARY="$3"
+ 		;;
+    -h|--help)	echo -e $SGML_HELP_MESSAGE
+ 		exit 0
+@@ -96,14 +96,14 @@
+ fi
+ case $SGML_ACTION in
+    addition)
+-	if [ -e $SGML_CENTRALIZED -a ! -w $SGML_CENTRALIZED ]
++	if [ -e "$SGML_CENTRALIZED" -a ! -w "$SGML_CENTRALIZED" ]
+ 	then
+ 	  echo "`basename $0`: can not modify \"$SGML_CENTRALIZED\"." >&2
+ 	  exit 2
+ 	fi
+ 	;;
+    removal)
+-	if [ ! -w $SGML_CENTRALIZED ]
++	if [ ! -w "$SGML_CENTRALIZED" ]
+ 	then
+ 	  echo "`basename $0`: can not modify \"$SGML_CENTRALIZED\"." >&2
+ 	  exit 2
+@@ -119,7 +119,7 @@
+ fi
+ case $SGML_ACTION in
+    addition)
+-	if [ ! -s $SGML_ORDINARY ]
++	if [ ! -s "$SGML_ORDINARY" ]
+ 	then
+ 	  echo "`basename $0`: \"$SGML_ORDINARY\" does not exist or is empty." >&2
+ 	  exit 2
+@@ -131,33 +131,33 @@
+ case $SGML_ACTION in
+     addition)
+ 	echo "`basename $0`: addition of $SGML_ORDINARY in $SGML_CENTRALIZED"
+-	if grep -q $SGML_ORDINARY $SGML_CENTRALIZED 2>/dev/null
++	if grep -q "$SGML_ORDINARY" "$SGML_CENTRALIZED" 2>/dev/null
+ 	then
+ 	  echo "Warning: $SGML_ORDINARY is already installed in the centralized catalog $SGML_CENTRALIZED" >&2
+ 	else
+-	  echo "$SGML_POINTER $SGML_ORDINARY" >> $SGML_CENTRALIZED
++	  echo "$SGML_POINTER \"$SGML_ORDINARY\"" >> "$SGML_CENTRALIZED"
+ 	fi
+-	grep -q $SGML_CENTRALIZED /etc/sgml/catalog 2>/dev/null
++	grep -q "$SGML_CENTRALIZED" /etc/sgml/catalog 2>/dev/null
+ 	if [ $? -ne 0 ]
+ 	then
+ 	  echo "`basename $0`: addition of $SGML_CENTRALIZED in /etc/sgml/catalog"
+-	  echo "$SGML_POINTER $SGML_CENTRALIZED" >> /etc/sgml/catalog
++	  echo "$SGML_POINTER \"$SGML_CENTRALIZED\"" >> /etc/sgml/catalog
+ 	fi
+ 	;;
+    removal)
+ 	echo "`basename $0`: removal of $SGML_ORDINARY from $SGML_CENTRALIZED"
+-	if grep -q $SGML_ORDINARY $SGML_CENTRALIZED 2>/dev/null
++	if grep -q "$SGML_ORDINARY" "$SGML_CENTRALIZED" 2>/dev/null
+ 	then
+-          sed -e "\:$SGML_POINTER $SGML_ORDINARY:d" < $SGML_CENTRALIZED > ${SGML_CENTRALIZED}.new
+-          mv ${SGML_CENTRALIZED}.new $SGML_CENTRALIZED
++          sed -e "\:$SGML_POINTER \"\\?$SGML_ORDINARY\"\\?:d" < "$SGML_CENTRALIZED" > "${SGML_CENTRALIZED}.new"
++          mv "${SGML_CENTRALIZED}.new" "$SGML_CENTRALIZED"
+ 	else
+ 	  echo "Warning: $SGML_ORDINARY was not found in the centralized catalog $SGML_CENTRALIZED" >&2
+ 	fi
+-	if [ ! -s $SGML_CENTRALIZED ]
++	if [ ! -s "$SGML_CENTRALIZED" ]
+ 	then
+-	  rm $SGML_CENTRALIZED
++	  rm "$SGML_CENTRALIZED"
+ 	  echo "`basename $0`: removal of $SGML_CENTRALIZED from /etc/sgml/catalog"
+-          sed -e "\:$SGML_POINTER $SGML_CENTRALIZED:d" < /etc/sgml/catalog > /etc/sgml/catalog.new
++          sed -e "\:$SGML_POINTER \"\\?$SGML_CENTRALIZED\"\\?:d" < /etc/sgml/catalog > /etc/sgml/catalog.new
+           mv /etc/sgml/catalog.new /etc/sgml/catalog
+ 	fi
+ 	;;
diff --git a/SOURCES/sgml-common-umask.patch b/SOURCES/sgml-common-umask.patch
new file mode 100644
index 0000000..90bda3b
--- /dev/null
+++ b/SOURCES/sgml-common-umask.patch
@@ -0,0 +1,12 @@
+--- sgml-common-0.6.3/bin/install-catalog.in.umask	Mon May 21 11:48:37 2001
++++ sgml-common-0.6.3/bin/install-catalog.in	Mon May 21 12:00:34 2001
+@@ -13,6 +13,9 @@
+ \040 -h, --help: \t\t\t\t Print this help message and exit\n\
+ \040 -v, --version: \t\t\t Print the version number and exit\n"
+ 
++# We need the files we create to be world readable
++umask 022
++
+ # Set version message
+ SGML_VERSION_MESSAGE="sgml-common version @VERSION@ (install-catalog version 1.0)"
+ 
diff --git a/SOURCES/sgml-common-xmldir.patch b/SOURCES/sgml-common-xmldir.patch
new file mode 100644
index 0000000..d7c2b2b
--- /dev/null
+++ b/SOURCES/sgml-common-xmldir.patch
@@ -0,0 +1,19 @@
+--- sgml-common-0.6.3/xml-iso-entities/Makefile.am.xmldir	Fri Oct  5 16:37:43 2001
++++ sgml-common-0.6.3/xml-iso-entities/Makefile.am	Fri Oct  5 16:37:57 2001
+@@ -1,4 +1,4 @@
+-isoentdir = $(prefix)/share/sgml/xml-iso-entities-8879.1986
++isoentdir = $(prefix)/share/xml/xml-iso-entities-8879.1986
+ isoent_DATA = ISOamsa.ent ISOamsb.ent ISOamsc.ent ISOamsn.ent ISOamso.ent ISOamsr.ent \
+               ISObox.ent ISOcyr1.ent ISOcyr2.ent ISOdia.ent ISOgrk1.ent ISOgrk2.ent \
+               ISOgrk3.ent ISOgrk4.ent ISOlat1.ent ISOlat2.ent ISOnum.ent ISOpub.ent \
+--- sgml-common-0.6.3/xml-iso-entities/Makefile.in.xmldir	2007-05-15 17:21:31.000000000 +0100
++++ sgml-common-0.6.3/xml-iso-entities/Makefile.in	2007-05-15 17:21:43.000000000 +0100
+@@ -62,7 +62,7 @@
+ VERSION = @VERSION@
+ docdir = @docdir@
+ 
+-isoentdir = $(prefix)/share/sgml/xml-iso-entities-8879.1986
++isoentdir = $(prefix)/share/xml/xml-iso-entities-8879.1986
+ isoent_DATA = ISOamsa.ent ISOamsb.ent ISOamsc.ent ISOamsn.ent ISOamso.ent ISOamsr.ent               ISObox.ent ISOcyr1.ent ISOcyr2.ent ISOdia.ent ISOgrk1.ent ISOgrk2.ent               ISOgrk3.ent ISOgrk4.ent ISOlat1.ent ISOlat2.ent ISOnum.ent ISOpub.ent               ISOtech.ent catalog
+ 
+ 
diff --git a/SOURCES/sgml.conf.5 b/SOURCES/sgml.conf.5
new file mode 100644
index 0000000..7d97166
--- /dev/null
+++ b/SOURCES/sgml.conf.5
@@ -0,0 +1,40 @@
+.TH SGML.CONF 5
+.\" NAME should be all caps, SECTION should be 1-8, maybe w/ subsection
+.\" other parms are allowed: see man(7), man(1)
+.SH NAME
+sgml.conf \- basic configuration file for SGML environment variables
+
+.SH "DESCRIPTION"
+This file contains basic variables for SGML environment.
+.HP
+Format of this file is straightforward:
+
+- Lines are either empty lines, comment lines (starting with hash mark) or variable assignments.
+
+- Assigments take form of "variable=value" where whitespace is not allowed. This makes the format Bourne-shell includable.
+
+.SH "VARIABLES"
+.TP
+.B SGML_BASE_DIR
+This variable contains root of the location of sgml components. Suggested value for this variable is /usr/share/sgml.
+.TP
+.B SGML_CATALOGS_DIRS
+This variable contains location of sgml catalog files. Suggested value is /etc/sgml.
+.TP
+.B SGML_EXTRA_BASE_DIRS
+This variable contains the directory name(s) of the root of the location(s) of optional sgml components that the system administrator doesn't want to install to primary SGML_BASE_DIR directory. If multiple directory names are mentioned, they are separated by colons.
+.TP
+.B SGML_BIN_DIR
+This variable contains the directory where executables should be placed. By default /usr/bin.
+.TP
+.B SGML_EXTRA_BIN_DIRS
+This variable contains the directory name(s) where optional executables can be placed. Suggested and default value is /usr/local/bin. If multiple directory names are mentioned, they are separated by colons.
+.TP
+.B SGML_TMP_DIR
+A hint to components where to put temporary files. The suggested and default value is /tmp.
+.TP
+.B SGML_POSTINSTALL_CMD
+A command that is to be executed when new components have been installed. This mechanism is not used by default, sgml components are usually registered by %post scriptlets.
+.SH "SEE ALSO"
+.\" Always quote multiple words for .SH
+.BR xsltproc (1)
diff --git a/SOURCES/sgmlwhich.1 b/SOURCES/sgmlwhich.1
new file mode 100644
index 0000000..b00e7fd
--- /dev/null
+++ b/SOURCES/sgmlwhich.1
@@ -0,0 +1,21 @@
+.TH SGMLWHICH 1
+.\" NAME should be all caps, SECTION should be 1-8, maybe w/ subsection
+.\" other parms are allowed: see man(7), man(1)
+.SH NAME
+sgmlwhich \- prints location of main sgml configuration file
+.SH SYNOPSIS
+.B sgmlwhich
+
+.SH "DESCRIPTION"
+Simple script which prints location of main sgml configuration file.
+It is provided for consistency with non-LSB platforms.
+
+.SH OPTIONS
+Script doesn't accept any options.
+
+.SH "SEE ALSO"
+.\" Always quote multiple words for .SH
+.BR sgml.conf (5)
+
+.SH AUTHOR
+Eric Bischoff <eric@caldera.de>
diff --git a/SOURCES/xml.dcl b/SOURCES/xml.dcl
new file mode 100644
index 0000000..fed2103
--- /dev/null
+++ b/SOURCES/xml.dcl
@@ -0,0 +1,179 @@
+<!SGML -- SGML Declaration for valid XML documents --
+     "ISO 8879:1986 (WWW)"
+
+     CHARSET
+         BASESET
+             "ISO Registration Number 176//CHARSET
+             ISO/IEC 10646-1:1993 UCS-4 with implementation 
+             level 3//ESC 2/5 2/15 4/6"
+         DESCSET
+                0       9       UNUSED
+                9       2       9
+                11      2       UNUSED
+                13      1       13
+                14      18      UNUSED
+                32      95      32
+                127     1       UNUSED
+                128     32      UNUSED
+             -- use this instead of the official declaration because SP only
+                supports 16-bit characters --
+                160     65374   160
+                65534   2       UNUSED 
+             -- 55296   2048    UNUSED
+                57344   8190    57344
+                65534   2       UNUSED
+                65536   1048576 65536 --
+     CAPACITY NONE
+
+     SCOPE DOCUMENT
+
+     SYNTAX
+         SHUNCHAR NONE
+         BASESET "ISO Registration Number 176//CHARSET
+                 ISO/IEC 10646-1:1993 UCS-4 with implementation 
+                 level 3//ESC 2/5 2/15 4/6"
+         DESCSET
+             0 1114112 0
+         FUNCTION
+             RE    13
+             RS    10
+             SPACE 32
+             TAB   SEPCHAR 9
+
+         NAMING
+             LCNMSTRT ""
+             UCNMSTRT ""
+             NAMESTRT
+                 58 95 192-214 216-246 248-305 308-318 321-328
+                 330-382 384-451 461-496 500-501 506-535 592-680
+                 699-705 902 904-906 908 910-929 931-974 976-982
+                 986 988 990 992 994-1011 1025-1036 1038-1103
+                 1105-1116 1118-1153 1168-1220 1223-1224
+                 1227-1228 1232-1259 1262-1269 1272-1273
+                 1329-1366 1369 1377-1414 1488-1514 1520-1522
+                 1569-1594 1601-1610 1649-1719 1722-1726
+                 1728-1742 1744-1747 1749 1765-1766 2309-2361
+                 2365 2392-2401 2437-2444 2447-2448 2451-2472
+                 2474-2480 2482 2486-2489 2524-2525 2527-2529
+                 2544-2545 2565-2570 2575-2576 2579-2600
+                 2602-2608 2610-2611 2613-2614 2616-2617
+                 2649-2652 2654 2674-2676 2693-2699 2701
+                 2703-2705 2707-2728 2730-2736 2738-2739
+                 2741-2745 2749 2784 2821-2828 2831-2832
+                 2835-2856 2858-2864 2866-2867 2870-2873 2877
+                 2908-2909 2911-2913 2949-2954 2958-2960
+                 2962-2965 2969-2970 2972 2974-2975 2979-2980
+                 2984-2986 2990-2997 2999-3001 3077-3084
+                 3086-3088 3090-3112 3114-3123 3125-3129
+                 3168-3169 3205-3212 3214-3216 3218-3240
+                 3242-3251 3253-3257 3294 3296-3297 3333-3340
+                 3342-3344 3346-3368 3370-3385 3424-3425
+                 3585-3630 3632 3634-3635 3648-3653 3713-3714
+                 3716 3719-3720 3722 3725 3732-3735 3737-3743
+                 3745-3747 3749 3751 3754-3755 3757-3758 3760
+                 3762-3763 3773 3776-3780 3904-3911 3913-3945
+                 4256-4293 4304-4342 4352 4354-4355 4357-4359
+                 4361 4363-4364 4366-4370 4412 4414 4416 4428
+                 4430 4432 4436-4437 4441 4447-4449 4451 4453
+                 4455 4457 4461-4462 4466-4467 4469 4510 4520
+                 4523 4526-4527 4535-4536 4538 4540-4546 4587
+                 4592 4601 7680-7835 7840-7929 7936-7957
+                 7960-7965 7968-8005 8008-8013 8016-8023 8025
+                 8027 8029 8031-8061 8064-8116 8118-8124 8126
+                 8130-8132 8134-8140 8144-8147 8150-8155
+                 8160-8172 8178-8180 8182-8188 8486 8490-8491
+                 8494 8576-8578 12295 12321-12329 12353-12436
+                 12449-12538 12549-12588 19968-40869 44032-55203
+
+             LCNMCHAR ""
+             UCNMCHAR ""
+             NAMECHAR
+                 45-46 183 720-721 768-837 864-865 903 1155-1158
+                 1425-1441 1443-1465 1467-1469 1471 1473-1474
+                 1476 1600 1611-1618 1632-1641 1648 1750-1764
+                 1767-1768 1770-1773 1776-1785 2305-2307 2364
+                 2366-2381 2385-2388 2402-2403 2406-2415
+                 2433-2435 2492 2494-2500 2503-2504 2507-2509
+                 2519 2530-2531 2534-2543 2562 2620 2622-2626
+                 2631-2632 2635-2637 2662-2673 2689-2691 2748
+                 2750-2757 2759-2761 2763-2765 2790-2799
+                 2817-2819 2876 2878-2883 2887-2888 2891-2893
+                 2902-2903 2918-2927 2946-2947 3006-3010
+                 3014-3016 3018-3021 3031 3047-3055 3073-3075
+                 3134-3140 3142-3144 3146-3149 3157-3158
+                 3174-3183 3202-3203 3262-3268 3270-3272
+                 3274-3277 3285-3286 3302-3311 3330-3331
+                 3390-3395 3398-3400 3402-3405 3415 3430-3439
+                 3633 3636-3642 3654-3662 3664-3673 3761
+                 3764-3769 3771-3772 3782 3784-3789 3792-3801
+                 3864-3865 3872-3881 3893 3895 3897 3902-3903
+                 3953-3972 3974-3979 3984-3989 3991 3993-4013
+                 4017-4023 4025 8400-8412 8417 12293 12330-12335
+                 12337-12341 12441-12442 12445-12446 12540-12542
+
+             NAMECASE
+                 GENERAL NO
+                 ENTITY  NO
+
+         DELIM
+             GENERAL SGMLREF
+             HCRO "&#38;#x" -- 38 is the number for ampersand --
+             NESTC "/"
+             NET ">"
+             PIC "?>"
+             SHORTREF NONE
+
+         NAMES
+             SGMLREF
+
+         QUANTITY NONE
+
+         ENTITIES
+             "amp" 38
+             "lt" 60
+             "gt" 62
+             "quot" 34
+             "apos" 39
+
+     FEATURES
+         MINIMIZE
+             DATATAG NO
+             OMITTAG NO
+             RANK NO
+             SHORTTAG
+                 STARTTAG
+                     EMPTY NO
+                     UNCLOSED NO 
+                     NETENABL IMMEDNET
+                 ENDTAG
+                     EMPTY NO 
+                     UNCLOSED NO
+                 ATTRIB
+                     DEFAULT YES
+                     OMITNAME NO
+                     VALUE NO
+             EMPTYNRM YES
+             IMPLYDEF
+                 ATTLIST NO
+                 DOCTYPE NO
+                 ELEMENT NO
+                 ENTITY NO
+                 NOTATION NO
+         LINK
+             SIMPLE NO
+             IMPLICIT NO
+             EXPLICIT NO
+         OTHER
+             CONCUR NO
+             SUBDOC NO
+             FORMAL NO
+             URN NO
+             KEEPRSRE YES
+             VALIDITY TYPE
+             ENTITIES
+                 REF ANY
+                 INTEGRAL YES
+     APPINFO NONE
+     SEEALSO "ISO 8879:1986//NOTATION
+             Extensible Markup Language (XML) 1.0//EN"
+>
diff --git a/SOURCES/xml.soc b/SOURCES/xml.soc
new file mode 100644
index 0000000..278c6f3
--- /dev/null
+++ b/SOURCES/xml.soc
@@ -0,0 +1 @@
+SGMLDECL "xml.dcl"
diff --git a/SOURCES/xml.xsd b/SOURCES/xml.xsd
new file mode 100644
index 0000000..bd291f3
--- /dev/null
+++ b/SOURCES/xml.xsd
@@ -0,0 +1,286 @@
+<?xml version='1.0'?>
+<?xml-stylesheet href="../../2008/09/xsd.xsl" type="text/xsl"?>
+<xs:schema targetNamespace="http://www.w3.org/XML/1998/namespace" 
+  xmlns:xs="http://www.w3.org/2001/XMLSchema" 
+  xmlns   ="http://www.w3.org/1999/xhtml"
+  xml:lang="en">
+
+ <xs:annotation>
+  <xs:documentation>
+   <div>
+    <h1>About the XML namespace</h1>
+
+    <div class="bodytext">
+     <p>
+      This schema document describes the XML namespace, in a form
+      suitable for import by other schema documents.
+     </p>
+     <p>
+      See <a href="http://www.w3.org/XML/1998/namespace.html">
+      http://www.w3.org/XML/1998/namespace.html</a> and
+      <a href="http://www.w3.org/TR/REC-xml">
+      http://www.w3.org/TR/REC-xml</a> for information 
+      about this namespace.
+     </p>
+     <p>
+      Note that local names in this namespace are intended to be
+      defined only by the World Wide Web Consortium or its subgroups.
+      The names currently defined in this namespace are listed below.
+      They should not be used with conflicting semantics by any Working
+      Group, specification, or document instance.
+     </p>
+     <p>   
+      See further below in this document for more information about <a
+      href="#usage">how to refer to this schema document from your own
+      XSD schema documents</a> and about <a href="#nsversioning">the
+      namespace-versioning policy governing this schema document</a>.
+     </p>
+    </div>
+   </div>
+  </xs:documentation>
+ </xs:annotation>
+
+ <xs:attribute name="lang">
+  <xs:annotation>
+   <xs:documentation>
+    <div>
+     
+      <h3>lang (as an attribute name)</h3>
+      <p>
+       denotes an attribute whose value
+       is a language code for the natural language of the content of
+       any element; its value is inherited.  This name is reserved
+       by virtue of its definition in the XML specification.</p>
+     
+    </div>
+    <div>
+     <h4>Notes</h4>
+     <p>
+      Attempting to install the relevant ISO 2- and 3-letter
+      codes as the enumerated possible values is probably never
+      going to be a realistic possibility.  
+     </p>
+     <p>
+      See BCP 47 at <a href="http://www.rfc-editor.org/rfc/bcp/bcp47.txt">
+       http://www.rfc-editor.org/rfc/bcp/bcp47.txt</a>
+      and the IANA language subtag registry at
+      <a href="http://www.iana.org/assignments/language-subtag-registry">
+       http://www.iana.org/assignments/language-subtag-registry</a>
+      for further information.
+     </p>
+     <p>
+      The union allows for the 'un-declaration' of xml:lang with
+      the empty string.
+     </p>
+    </div>
+   </xs:documentation>
+  </xs:annotation>
+  <xs:simpleType>
+   <xs:union memberTypes="xs:language">
+    <xs:simpleType>    
+     <xs:restriction base="xs:string">
+      <xs:enumeration value=""/>
+     </xs:restriction>
+    </xs:simpleType>
+   </xs:union>
+  </xs:simpleType>
+ </xs:attribute>
+
+ <xs:attribute name="space">
+  <xs:annotation>
+   <xs:documentation>
+    <div>
+     
+      <h3>space (as an attribute name)</h3>
+      <p>
+       denotes an attribute whose
+       value is a keyword indicating what whitespace processing
+       discipline is intended for the content of the element; its
+       value is inherited.  This name is reserved by virtue of its
+       definition in the XML specification.</p>
+     
+    </div>
+   </xs:documentation>
+  </xs:annotation>
+  <xs:simpleType>
+   <xs:restriction base="xs:NCName">
+    <xs:enumeration value="default"/>
+    <xs:enumeration value="preserve"/>
+   </xs:restriction>
+  </xs:simpleType>
+ </xs:attribute>
+ 
+ <xs:attribute name="base" type="xs:anyURI"> <xs:annotation>
+   <xs:documentation>
+    <div>
+     
+      <h3>base (as an attribute name)</h3>
+      <p>
+       denotes an attribute whose value
+       provides a URI to be used as the base for interpreting any
+       relative URIs in the scope of the element on which it
+       appears; its value is inherited.  This name is reserved
+       by virtue of its definition in the XML Base specification.</p>
+     
+     <p>
+      See <a
+      href="http://www.w3.org/TR/xmlbase/">http://www.w3.org/TR/xmlbase/</a>
+      for information about this attribute.
+     </p>
+    </div>
+   </xs:documentation>
+  </xs:annotation>
+ </xs:attribute>
+ 
+ <xs:attribute name="id" type="xs:ID">
+  <xs:annotation>
+   <xs:documentation>
+    <div>
+     
+      <h3>id (as an attribute name)</h3> 
+      <p>
+       denotes an attribute whose value
+       should be interpreted as if declared to be of type ID.
+       This name is reserved by virtue of its definition in the
+       xml:id specification.</p>
+     
+     <p>
+      See <a
+      href="http://www.w3.org/TR/xml-id/">http://www.w3.org/TR/xml-id/</a>
+      for information about this attribute.
+     </p>
+    </div>
+   </xs:documentation>
+  </xs:annotation>
+ </xs:attribute>
+
+ <xs:attributeGroup name="specialAttrs">
+  <xs:attribute ref="xml:base"/>
+  <xs:attribute ref="xml:lang"/>
+  <xs:attribute ref="xml:space"/>
+  <xs:attribute ref="xml:id"/>
+ </xs:attributeGroup>
+
+ <xs:annotation>
+  <xs:documentation>
+   <div>
+   
+    <h3>Father (in any context at all)</h3> 
+
+    <div class="bodytext">
+     <p>
+      denotes Jon Bosak, the chair of 
+      the original XML Working Group.  This name is reserved by 
+      the following decision of the W3C XML Plenary and 
+      XML Coordination groups:
+     </p>
+     <blockquote>
+       <p>
+	In appreciation for his vision, leadership and
+	dedication the W3C XML Plenary on this 10th day of
+	February, 2000, reserves for Jon Bosak in perpetuity
+	the XML name "xml:Father".
+       </p>
+     </blockquote>
+    </div>
+   </div>
+  </xs:documentation>
+ </xs:annotation>
+
+ <xs:annotation>
+  <xs:documentation>
+   <div xml:id="usage" id="usage">
+    <h2><a name="usage">About this schema document</a></h2>
+
+    <div class="bodytext">
+     <p>
+      This schema defines attributes and an attribute group suitable
+      for use by schemas wishing to allow <code>xml:base</code>,
+      <code>xml:lang</code>, <code>xml:space</code> or
+      <code>xml:id</code> attributes on elements they define.
+     </p>
+     <p>
+      To enable this, such a schema must import this schema for
+      the XML namespace, e.g. as follows:
+     </p>
+     <pre>
+          &lt;schema . . .>
+           . . .
+           &lt;import namespace="http://www.w3.org/XML/1998/namespace"
+                      schemaLocation="http://www.w3.org/2001/xml.xsd"/>
+     </pre>
+     <p>
+      or
+     </p>
+     <pre>
+           &lt;import namespace="http://www.w3.org/XML/1998/namespace"
+                      schemaLocation="http://www.w3.org/2009/01/xml.xsd"/>
+     </pre>
+     <p>
+      Subsequently, qualified reference to any of the attributes or the
+      group defined below will have the desired effect, e.g.
+     </p>
+     <pre>
+          &lt;type . . .>
+           . . .
+           &lt;attributeGroup ref="xml:specialAttrs"/>
+     </pre>
+     <p>
+      will define a type which will schema-validate an instance element
+      with any of those attributes.
+     </p>
+    </div>
+   </div>
+  </xs:documentation>
+ </xs:annotation>
+
+ <xs:annotation>
+  <xs:documentation>
+   <div id="nsversioning" xml:id="nsversioning">
+    <h2><a name="nsversioning">Versioning policy for this schema document</a></h2>
+    <div class="bodytext">
+     <p>
+      In keeping with the XML Schema WG's standard versioning
+      policy, this schema document will persist at
+      <a href="http://www.w3.org/2009/01/xml.xsd">
+       http://www.w3.org/2009/01/xml.xsd</a>.
+     </p>
+     <p>
+      At the date of issue it can also be found at
+      <a href="http://www.w3.org/2001/xml.xsd">
+       http://www.w3.org/2001/xml.xsd</a>.
+     </p>
+     <p>
+      The schema document at that URI may however change in the future,
+      in order to remain compatible with the latest version of XML
+      Schema itself, or with the XML namespace itself.  In other words,
+      if the XML Schema or XML namespaces change, the version of this
+      document at <a href="http://www.w3.org/2001/xml.xsd">
+       http://www.w3.org/2001/xml.xsd 
+      </a> 
+      will change accordingly; the version at 
+      <a href="http://www.w3.org/2009/01/xml.xsd">
+       http://www.w3.org/2009/01/xml.xsd 
+      </a> 
+      will not change.
+     </p>
+     <p>
+      Previous dated (and unchanging) versions of this schema 
+      document are at:
+     </p>
+     <ul>
+      <li><a href="http://www.w3.org/2009/01/xml.xsd">
+	http://www.w3.org/2009/01/xml.xsd</a></li>
+      <li><a href="http://www.w3.org/2007/08/xml.xsd">
+	http://www.w3.org/2007/08/xml.xsd</a></li>
+      <li><a href="http://www.w3.org/2004/10/xml.xsd">
+	http://www.w3.org/2004/10/xml.xsd</a></li>
+      <li><a href="http://www.w3.org/2001/03/xml.xsd">
+	http://www.w3.org/2001/03/xml.xsd</a></li>
+     </ul>
+    </div>
+   </div>
+  </xs:documentation>
+ </xs:annotation>
+
+</xs:schema>
diff --git a/SOURCES/xmldsig-core-schema.xsd b/SOURCES/xmldsig-core-schema.xsd
new file mode 100644
index 0000000..e35571b
--- /dev/null
+++ b/SOURCES/xmldsig-core-schema.xsd
@@ -0,0 +1,318 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE schema
+  PUBLIC "-//W3C//DTD XMLSchema 200102//EN" "http://www.w3.org/2001/XMLSchema.dtd"
+ [
+   <!ATTLIST schema 
+     xmlns:ds CDATA #FIXED "http://www.w3.org/2000/09/xmldsig#">
+   <!ENTITY dsig 'http://www.w3.org/2000/09/xmldsig#'>
+   <!ENTITY % p ''>
+   <!ENTITY % s ''>
+  ]>
+
+<!-- Schema for XML Signatures
+    http://www.w3.org/2000/09/xmldsig#
+    $Revision: 1.2 $ on $Date: 2013-04-16 12:48:49 $ by $Author: denis $
+
+    Copyright 2001 The Internet Society and W3C (Massachusetts Institute
+    of Technology, Institut National de Recherche en Informatique et en
+    Automatique, Keio University). All Rights Reserved.
+    http://www.w3.org/Consortium/Legal/
+
+    This document is governed by the W3C Software License [1] as described
+    in the FAQ [2].
+
+    [1] http://www.w3.org/Consortium/Legal/copyright-software-19980720
+    [2] http://www.w3.org/Consortium/Legal/IPR-FAQ-20000620.html#DTD
+-->
+
+
+<schema xmlns="http://www.w3.org/2001/XMLSchema"
+        xmlns:ds="http://www.w3.org/2000/09/xmldsig#"
+        targetNamespace="http://www.w3.org/2000/09/xmldsig#"
+        version="0.1" elementFormDefault="qualified"> 
+
+<!-- Basic Types Defined for Signatures -->
+
+<simpleType name="CryptoBinary">
+  <restriction base="base64Binary">
+  </restriction>
+</simpleType>
+
+<!-- Start Signature -->
+
+<element name="Signature" type="ds:SignatureType"/>
+<complexType name="SignatureType">
+  <sequence> 
+    <element ref="ds:SignedInfo"/> 
+    <element ref="ds:SignatureValue"/> 
+    <element ref="ds:KeyInfo" minOccurs="0"/> 
+    <element ref="ds:Object" minOccurs="0" maxOccurs="unbounded"/> 
+  </sequence>  
+  <attribute name="Id" type="ID" use="optional"/>
+</complexType>
+
+  <element name="SignatureValue" type="ds:SignatureValueType"/> 
+  <complexType name="SignatureValueType">
+    <simpleContent>
+      <extension base="base64Binary">
+        <attribute name="Id" type="ID" use="optional"/>
+      </extension>
+    </simpleContent>
+  </complexType>
+
+<!-- Start SignedInfo -->
+
+<element name="SignedInfo" type="ds:SignedInfoType"/>
+<complexType name="SignedInfoType">
+  <sequence> 
+    <element ref="ds:CanonicalizationMethod"/> 
+    <element ref="ds:SignatureMethod"/> 
+    <element ref="ds:Reference" maxOccurs="unbounded"/> 
+  </sequence>  
+  <attribute name="Id" type="ID" use="optional"/> 
+</complexType>
+
+  <element name="CanonicalizationMethod" type="ds:CanonicalizationMethodType"/> 
+  <complexType name="CanonicalizationMethodType" mixed="true">
+    <sequence>
+      <any namespace="##any" minOccurs="0" maxOccurs="unbounded"/>
+      <!-- (0,unbounded) elements from (1,1) namespace -->
+    </sequence>
+    <attribute name="Algorithm" type="anyURI" use="required"/> 
+  </complexType>
+
+  <element name="SignatureMethod" type="ds:SignatureMethodType"/>
+  <complexType name="SignatureMethodType" mixed="true">
+    <sequence>
+      <element name="HMACOutputLength" minOccurs="0" type="ds:HMACOutputLengthType"/>
+      <any namespace="##other" minOccurs="0" maxOccurs="unbounded"/>
+      <!-- (0,unbounded) elements from (1,1) external namespace -->
+    </sequence>
+    <attribute name="Algorithm" type="anyURI" use="required"/> 
+  </complexType>
+
+<!-- Start Reference -->
+
+<element name="Reference" type="ds:ReferenceType"/>
+<complexType name="ReferenceType">
+  <sequence> 
+    <element ref="ds:Transforms" minOccurs="0"/> 
+    <element ref="ds:DigestMethod"/> 
+    <element ref="ds:DigestValue"/> 
+  </sequence>
+  <attribute name="Id" type="ID" use="optional"/> 
+  <attribute name="URI" type="anyURI" use="optional"/> 
+  <attribute name="Type" type="anyURI" use="optional"/> 
+</complexType>
+
+  <element name="Transforms" type="ds:TransformsType"/>
+  <complexType name="TransformsType">
+    <sequence>
+      <element ref="ds:Transform" maxOccurs="unbounded"/>  
+    </sequence>
+  </complexType>
+
+  <element name="Transform" type="ds:TransformType"/>
+  <complexType name="TransformType" mixed="true">
+    <choice minOccurs="0" maxOccurs="unbounded"> 
+      <any namespace="##other" processContents="lax"/>
+      <!-- (1,1) elements from (0,unbounded) namespaces -->
+      <element name="XPath" type="string"/> 
+    </choice>
+    <attribute name="Algorithm" type="anyURI" use="required"/> 
+  </complexType>
+
+<!-- End Reference -->
+
+<element name="DigestMethod" type="ds:DigestMethodType"/>
+<complexType name="DigestMethodType" mixed="true"> 
+  <sequence>
+    <any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
+  </sequence>    
+  <attribute name="Algorithm" type="anyURI" use="required"/> 
+</complexType>
+
+<element name="DigestValue" type="ds:DigestValueType"/>
+<simpleType name="DigestValueType">
+  <restriction base="base64Binary"/>
+</simpleType>
+
+<!-- End SignedInfo -->
+
+<!-- Start KeyInfo -->
+
+<element name="KeyInfo" type="ds:KeyInfoType"/> 
+<complexType name="KeyInfoType" mixed="true">
+  <choice maxOccurs="unbounded">     
+    <element ref="ds:KeyName"/> 
+    <element ref="ds:KeyValue"/> 
+    <element ref="ds:RetrievalMethod"/> 
+    <element ref="ds:X509Data"/> 
+    <element ref="ds:PGPData"/> 
+    <element ref="ds:SPKIData"/>
+    <element ref="ds:MgmtData"/>
+    <any processContents="lax" namespace="##other"/>
+    <!-- (1,1) elements from (0,unbounded) namespaces -->
+  </choice>
+  <attribute name="Id" type="ID" use="optional"/> 
+</complexType>
+
+  <element name="KeyName" type="string"/>
+  <element name="MgmtData" type="string"/>
+
+  <element name="KeyValue" type="ds:KeyValueType"/> 
+  <complexType name="KeyValueType" mixed="true">
+   <choice>
+     <element ref="ds:DSAKeyValue"/>
+     <element ref="ds:RSAKeyValue"/>
+     <any namespace="##other" processContents="lax"/>
+   </choice>
+  </complexType>
+
+  <element name="RetrievalMethod" type="ds:RetrievalMethodType"/> 
+  <complexType name="RetrievalMethodType">
+    <sequence>
+      <element ref="ds:Transforms" minOccurs="0"/> 
+    </sequence>  
+    <attribute name="URI" type="anyURI"/>
+    <attribute name="Type" type="anyURI" use="optional"/>
+  </complexType>
+
+<!-- Start X509Data -->
+
+<element name="X509Data" type="ds:X509DataType"/> 
+<complexType name="X509DataType">
+  <sequence maxOccurs="unbounded">
+    <choice>
+      <element name="X509IssuerSerial" type="ds:X509IssuerSerialType"/>
+      <element name="X509SKI" type="base64Binary"/>
+      <element name="X509SubjectName" type="string"/>
+      <element name="X509Certificate" type="base64Binary"/>
+      <element name="X509CRL" type="base64Binary"/>
+      <any namespace="##other" processContents="lax"/>
+    </choice>
+  </sequence>
+</complexType>
+
+<complexType name="X509IssuerSerialType"> 
+  <sequence> 
+    <element name="X509IssuerName" type="string"/> 
+    <element name="X509SerialNumber" type="integer"/> 
+  </sequence>
+</complexType>
+
+<!-- End X509Data -->
+
+<!-- Begin PGPData -->
+
+<element name="PGPData" type="ds:PGPDataType"/> 
+<complexType name="PGPDataType"> 
+  <choice>
+    <sequence>
+      <element name="PGPKeyID" type="base64Binary"/> 
+      <element name="PGPKeyPacket" type="base64Binary" minOccurs="0"/> 
+      <any namespace="##other" processContents="lax" minOccurs="0"
+       maxOccurs="unbounded"/>
+    </sequence>
+    <sequence>
+      <element name="PGPKeyPacket" type="base64Binary"/> 
+      <any namespace="##other" processContents="lax" minOccurs="0"
+       maxOccurs="unbounded"/>
+    </sequence>
+  </choice>
+</complexType>
+
+<!-- End PGPData -->
+
+<!-- Begin SPKIData -->
+
+<element name="SPKIData" type="ds:SPKIDataType"/> 
+<complexType name="SPKIDataType">
+  <sequence maxOccurs="unbounded">
+    <element name="SPKISexp" type="base64Binary"/>
+    <any namespace="##other" processContents="lax" minOccurs="0"/>
+  </sequence>
+</complexType> 
+
+<!-- End SPKIData -->
+
+<!-- End KeyInfo -->
+
+<!-- Start Object (Manifest, SignatureProperty) -->
+
+<element name="Object" type="ds:ObjectType"/> 
+<complexType name="ObjectType" mixed="true">
+  <sequence minOccurs="0" maxOccurs="unbounded">
+    <any namespace="##any" processContents="lax"/>
+  </sequence>
+  <attribute name="Id" type="ID" use="optional"/> 
+  <attribute name="MimeType" type="string" use="optional"/> <!-- add a grep facet -->
+  <attribute name="Encoding" type="anyURI" use="optional"/> 
+</complexType>
+
+<element name="Manifest" type="ds:ManifestType"/> 
+<complexType name="ManifestType">
+  <sequence>
+    <element ref="ds:Reference" maxOccurs="unbounded"/> 
+  </sequence>
+  <attribute name="Id" type="ID" use="optional"/> 
+</complexType>
+
+<element name="SignatureProperties" type="ds:SignaturePropertiesType"/> 
+<complexType name="SignaturePropertiesType">
+  <sequence>
+    <element ref="ds:SignatureProperty" maxOccurs="unbounded"/> 
+  </sequence>
+  <attribute name="Id" type="ID" use="optional"/> 
+</complexType>
+
+   <element name="SignatureProperty" type="ds:SignaturePropertyType"/> 
+   <complexType name="SignaturePropertyType" mixed="true">
+     <choice maxOccurs="unbounded">
+       <any namespace="##other" processContents="lax"/>
+       <!-- (1,1) elements from (1,unbounded) namespaces -->
+     </choice>
+     <attribute name="Target" type="anyURI" use="required"/> 
+     <attribute name="Id" type="ID" use="optional"/> 
+   </complexType>
+
+<!-- End Object (Manifest, SignatureProperty) -->
+
+<!-- Start Algorithm Parameters -->
+
+<simpleType name="HMACOutputLengthType">
+  <restriction base="integer"/>
+</simpleType>
+
+<!-- Start KeyValue Element-types -->
+
+<element name="DSAKeyValue" type="ds:DSAKeyValueType"/>
+<complexType name="DSAKeyValueType">
+  <sequence>
+    <sequence minOccurs="0">
+      <element name="P" type="ds:CryptoBinary"/>
+      <element name="Q" type="ds:CryptoBinary"/>
+    </sequence>
+    <element name="G" type="ds:CryptoBinary" minOccurs="0"/>
+    <element name="Y" type="ds:CryptoBinary"/>
+    <element name="J" type="ds:CryptoBinary" minOccurs="0"/>
+    <sequence minOccurs="0">
+      <element name="Seed" type="ds:CryptoBinary"/>
+      <element name="PgenCounter" type="ds:CryptoBinary"/>
+    </sequence>
+  </sequence>
+</complexType>
+
+<element name="RSAKeyValue" type="ds:RSAKeyValueType"/>
+<complexType name="RSAKeyValueType">
+  <sequence>
+    <element name="Modulus" type="ds:CryptoBinary"/> 
+    <element name="Exponent" type="ds:CryptoBinary"/> 
+  </sequence>
+</complexType> 
+
+<!-- End KeyValue Element-types -->
+
+<!-- End Signature -->
+
+</schema>
diff --git a/SPECS/sgml-common.spec b/SPECS/sgml-common.spec
new file mode 100644
index 0000000..d4cce93
--- /dev/null
+++ b/SPECS/sgml-common.spec
@@ -0,0 +1,436 @@
+%global xmlxsdver 2009/01
+
+Name: sgml-common
+Version: 0.6.3
+Release: 58%{?dist}
+
+Summary: Common SGML catalog and DTD files
+
+License: GPL+
+
+BuildArch: noarch
+
+#Actually - there is no homepage of this project, on that URL
+#page you could get complete ISO 8879 listing as was on the
+#old page - only part of it is included in sgml-common package.
+URL: https://www.w3.org/2003/entities/
+
+Source0: https://www.sourceware.org/pub/docbook-tools/new-trials/SOURCES/%{name}-%{version}.tgz
+# Following 4 from openjade/pubtext - same maintainer as in SGML-common, so up2date:
+Source1: xml.dcl
+Source2: xml.soc
+Source3: html.dcl
+Source4: html.soc
+Source5: http://www.w3.org/%{xmlxsdver}/xml.xsd
+Source6: http://www.w3.org/TR/xmldsig-core/xmldsig-core-schema.xsd
+Source7: http://www.w3.org/2001/XMLSchema.dtd
+Source8: http://www.w3.org/2001/datatypes.dtd
+Source9: sgmlwhich.1
+Source10: sgml.conf.5
+
+Patch0: sgml-common-umask.patch
+Patch1: sgml-common-xmldir.patch
+Patch2: sgml-common-quotes.patch
+
+BuildRequires: make
+BuildRequires: libxml2
+BuildRequires: automake
+Requires: %{_bindir}/basename
+
+%description
+The sgml-common package contains a collection of entities and DTDs
+that are useful for processing SGML, but that don't need to be
+included in multiple packages.  Sgml-common also includes an
+up-to-date Open Catalog file.
+
+%package -n xml-common
+Summary: Common XML catalog and DTD files
+License: GPL+
+Requires(pre): %{_bindir}/xmlcatalog
+
+%description -n xml-common
+The xml-common is a subpackage of sgml-common which contains
+a collection XML catalogs that are useful for processing XML,
+but that don't need to be included in main package.
+
+%prep
+%setup -q
+%patch0 -p1 -b .umask
+%patch1 -p1 -b .xmldir
+%patch2 -p1 -b .quotes
+
+# replace bogus links with files
+automakedir=`ls -1d /usr/share/automake* | head -n +1`
+for file in COPYING INSTALL install-sh missing mkinstalldirs; do
+   rm $file
+   cp -p $automakedir/$file .
+done
+
+%build
+%configure
+
+%install
+%make_install htmldir='%{_datadir}/doc'
+mkdir $RPM_BUILD_ROOT%{_sysconfdir}/xml
+mkdir -p $RPM_BUILD_ROOT%{_sysconfdir}/sgml/docbook
+mkdir -p $RPM_BUILD_ROOT%{_datadir}/sgml/docbook
+# Touch SGML catalog
+touch $RPM_BUILD_ROOT%{_sysconfdir}/sgml/catalog
+# Create an empty XML catalog.
+XMLCATALOG=$RPM_BUILD_ROOT%{_sysconfdir}/xml/catalog
+%{_bindir}/xmlcatalog --noout --create $XMLCATALOG
+# ...and add xml.xsd in it
+for type in system uri ; do
+	for path in 2001 %{xmlxsdver} ; do
+		%{_bindir}/xmlcatalog --noout --add $type \
+			"http://www.w3.org/$path/xml.xsd" \
+			"file://%{_datadir}/xml/xml.xsd" $XMLCATALOG
+	done
+	# Add xmldsig-core-schema.xsd to catalog
+	%{_bindir}/xmlcatalog --noout --add $type \
+		"http://www.w3.org/TR/xmldsig-core/xmldsig-core-schema.xsd" \
+		"file://%{_datadir}/xml/xmldsig-core-schema.xsd" $XMLCATALOG
+done
+# Now put the common DocBook entries in it
+%{_bindir}/xmlcatalog --noout --add "delegatePublic" \
+	"-//OASIS//ENTITIES DocBook XML" \
+	"file://%{_sysconfdir}/sgml/docbook/xmlcatalog" $XMLCATALOG
+%{_bindir}/xmlcatalog --noout --add "delegatePublic" \
+	"-//OASIS//DTD DocBook XML" \
+	"file://%{_sysconfdir}/sgml/docbook/xmlcatalog" $XMLCATALOG
+%{_bindir}/xmlcatalog --noout --add "delegatePublic" \
+	"ISO 8879:1986" \
+	"file://%{_sysconfdir}/sgml/docbook/xmlcatalog" $XMLCATALOG
+%{_bindir}/xmlcatalog --noout --add "delegateSystem" \
+	"http://www.oasis-open.org/docbook/" \
+	"file://%{_sysconfdir}/sgml/docbook/xmlcatalog" $XMLCATALOG
+%{_bindir}/xmlcatalog --noout --add "delegateURI" \
+	"http://www.oasis-open.org/docbook/" \
+	"file://%{_sysconfdir}/sgml/docbook/xmlcatalog" $XMLCATALOG
+for public in "-//W3C//DTD XMLSchema 200102//EN" "-//W3C//DTD XMLSCHEMA 200102//EN" ; do
+	%{_bindir}/xmlcatalog --noout --add "public" \
+		"$public" \
+		"file://%{_datadir}/xml/XMLSchema.dtd" $XMLCATALOG
+done
+%{_bindir}/xmlcatalog --noout --add "system" \
+	"http://www.w3.org/2001/XMLSchema.dtd" \
+	"file://%{_datadir}/xml/XMLSchema.dtd" $XMLCATALOG
+
+# Also create the common DocBook catalog
+%{_bindir}/xmlcatalog --noout --create \
+	$RPM_BUILD_ROOT%{_sysconfdir}/sgml/docbook/xmlcatalog
+ln -sf %{_sysconfdir}/sgml/docbook/xmlcatalog\
+	$RPM_BUILD_ROOT%{_datadir}/sgml/docbook/xmlcatalog
+
+rm -f $RPM_BUILD_ROOT%{_datadir}/sgml/xml.dcl
+install -p -m0644 %{SOURCE1} %{SOURCE2} %{SOURCE3} %{SOURCE4} \
+	$RPM_BUILD_ROOT%{_datadir}/sgml
+rm -rf $RPM_BUILD_ROOT%{_datadir}/xml/*
+install -p -m0644 %{SOURCE5} %{SOURCE6} %{SOURCE7} %{SOURCE8} \
+	$RPM_BUILD_ROOT%{_datadir}/xml
+mkdir -p $RPM_BUILD_ROOT%{_mandir}/man1
+mkdir -p $RPM_BUILD_ROOT%{_mandir}/man5
+install -p -m0644 %{SOURCE9} $RPM_BUILD_ROOT%{_mandir}/man1
+install -p -m0644 %{SOURCE10} $RPM_BUILD_ROOT%{_mandir}/man5
+
+# remove installed doc file and prepare installation with %%doc
+rm $RPM_BUILD_ROOT%{_datadir}/doc/*.html
+rm -rf __dist_doc/html/
+mkdir -p __dist_doc/html/
+cp -p doc/HTML/*.html __dist_doc/html/
+
+
+%pre -n xml-common
+if [ $1 -gt 1 ] && [ -e %{_sysconfdir}/xml/catalog ]; then
+	for type in system uri ; do
+		for path in 2001 %{xmlxsdver} ; do
+			%{_bindir}/xmlcatalog --noout --add $type \
+				"http://www.w3.org/$path/xml.xsd" \
+				"file://%{_datadir}/xml/xml.xsd" \
+				%{_sysconfdir}/xml/catalog
+		done
+		%{_bindir}/xmlcatalog --noout --add $type \
+			"http://www.w3.org/TR/xmldsig-core/xmldsig-core-schema.xsd" \
+			"file://%{_datadir}/xml/xmldsig-core-schema.xsd" %{_sysconfdir}/xml/catalog
+	done
+	for public in "-//W3C//DTD XMLSchema 200102//EN" "-//W3C//DTD XMLSCHEMA 200102//EN" ; do
+		%{_bindir}/xmlcatalog --noout --add "public" \
+			"$public" \
+			"file://%{_datadir}/xml/XMLSchema.dtd" %{_sysconfdir}/xml/catalog
+	done
+fi
+
+%files
+%doc __dist_doc/html/ AUTHORS NEWS ChangeLog COPYING README
+%dir %{_sysconfdir}/sgml
+%config(noreplace) %{_sysconfdir}/sgml/sgml.conf
+%ghost %verify(not md5 size mtime) %config(noreplace,missingok) %{_sysconfdir}/sgml/catalog
+%dir %{_datadir}/sgml
+%dir %{_datadir}/sgml/sgml-iso-entities-8879.1986
+%{_datadir}/sgml/sgml-iso-entities-8879.1986/*
+%{_datadir}/sgml/xml.dcl
+%{_datadir}/sgml/xml.soc
+%{_datadir}/sgml/html.dcl
+%{_datadir}/sgml/html.soc
+%{_bindir}/sgmlwhich
+%{_bindir}/install-catalog
+%{_mandir}/man8/install-catalog.8*
+%{_mandir}/man1/sgmlwhich.1*
+%{_mandir}/man5/sgml.conf.5*
+
+%files -n xml-common
+%doc AUTHORS NEWS ChangeLog COPYING README
+%dir %{_sysconfdir}/xml
+%dir %{_sysconfdir}/sgml
+%dir %{_sysconfdir}/sgml/docbook
+%config(noreplace) %verify(not md5 size mtime) %{_sysconfdir}/xml/catalog
+%config(noreplace) %verify(not md5 size mtime) %{_sysconfdir}/sgml/docbook/xmlcatalog
+%dir %{_datadir}/sgml
+%dir %{_datadir}/sgml/docbook
+%{_datadir}/sgml/docbook/xmlcatalog
+%dir %{_datadir}/xml
+%{_datadir}/xml/xml.xsd
+%{_datadir}/xml/xmldsig-core-schema.xsd
+%{_datadir}/xml/XMLSchema.dtd
+%{_datadir}/xml/datatypes.dtd
+
+%changelog
+* Tue Aug 10 2021 Mohan Boddu <mboddu@redhat.com> - 0.6.3-58
+- Rebuilt for IMA sigs, glibc 2.34, aarch64 flags
+  Related: rhbz#1991688
+
+* Fri Apr 16 2021 Mohan Boddu <mboddu@redhat.com> - 0.6.3-57
+- Rebuilt for RHEL 9 BETA on Apr 15th 2021. Related: rhbz#1947937
+
+* Wed Jan 27 2021 Fedora Release Engineering <releng@fedoraproject.org> - 0.6.3-56
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild
+
+* Wed Jul 29 2020 Fedora Release Engineering <releng@fedoraproject.org> - 0.6.3-55
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild
+
+* Thu Jan 30 2020 Fedora Release Engineering <releng@fedoraproject.org> - 0.6.3-54
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild
+
+* Fri Jul 26 2019 Fedora Release Engineering <releng@fedoraproject.org> - 0.6.3-53
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild
+
+* Sat Feb 02 2019 Fedora Release Engineering <releng@fedoraproject.org> - 0.6.3-52
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild
+
+* Fri Oct 05 2018 Ondrej Vasik <ovasik@redhat.com> - 0.6.3-51
+- add basic manpages for sgml.conf(5) and sgmlwhich(1) (#1612272)
+
+* Sat Jul 14 2018 Fedora Release Engineering <releng@fedoraproject.org> - 0.6.3-50
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild
+
+* Tue Jun 12 2018 Jan Pazdziora <jpazdziora@redhat.com> - 0.6.3-49
+- Package and catalog xmldsig-core-schema.xsd, XMLSchema.dtd, and datatypes.dtd
+
+* Fri Feb 09 2018 Fedora Release Engineering <releng@fedoraproject.org> - 0.6.3-48
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild
+
+* Tue Oct 31 2017 Igor Gnatenko <ignatenko@redhat.com> - 0.6.3-47
+- Use /usr/bin instead of /bin in Requires
+
+* Thu Jul 27 2017 Fedora Release Engineering <releng@fedoraproject.org> - 0.6.3-46
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild
+
+* Sat Feb 11 2017 Fedora Release Engineering <releng@fedoraproject.org> - 0.6.3-45
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild
+
+* Thu Feb 04 2016 Fedora Release Engineering <releng@fedoraproject.org> - 0.6.3-44
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild
+
+* Fri Jun 19 2015 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.6.3-43
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild
+
+* Mon Dec 15 2014 Ondrej Vasik <ovasik@redhat.com> 0.6.3-42
+- add /etc/sgml ownership to xml-common subpackage (#1173925)
+
+* Sun Jun 08 2014 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.6.3-41
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild
+
+* Sun Aug 04 2013 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.6.3-40
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_20_Mass_Rebuild
+
+* Thu Feb 14 2013 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.6.3-39
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_19_Mass_Rebuild
+
+* Thu Oct 11 2012 Ondrej Vasik <ovasik@redhat.com> 0.6.3-38
+- get rid of the explicit automake14 requirement
+
+* Sat Jul 21 2012 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.6.3-37
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild
+
+* Sat Jan 14 2012 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.6.3-36
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_17_Mass_Rebuild
+
+* Sun Oct 30 2011 Ville Skyttä <ville.skytta@iki.fi> - 0.6.3-35
+- Include xml.xsd in xml-common (#750073).
+
+* Wed Feb 09 2011 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.6.3-34
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild
+
+* Mon Jul 12 2010 Ondrej Vasik <ovasik@redhat.com> 0.6.3-33
+- ship COPYING file with both sgml-common and xml-common
+- ship documentation with xml-common
+
+* Fri Jan 15 2010 Ondrej Vasik <ovasik@redhat.com> 0.6.3-32
+- Merge review #226415: remove unapplied patches, remove
+  versioned BR
+
+* Wed Nov 11 2009 Ondrej Vasik <ovasik@redhat.com> 0.6.3-31
+- apply quotes patch once again (accidently deleted in Nov07-#533058)
+
+* Sun Jul 26 2009 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.6.3-30
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_12_Mass_Rebuild
+
+* Thu May 28 2009 Ondrej Vasik <ovasik@redhat.com> 0.6.3-29
+- do own /etc/sgml/catalog
+
+* Tue May 19 2009 Ondrej Vasik <ovasik@redhat.com> 0.6.3-28
+- do not provide explicit url for xml-common subpackage,
+  fix trailing spaces
+- add Requires: /bin/basename (#501360)
+
+* Wed Feb 25 2009 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.6.3-27
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_11_Mass_Rebuild
+
+* Thu Aug 07 2008 Ondrej Vasik <ovasik@redhat.com> 0.6.3-26
+- /etc/sgml/docbook dir now owned by package(#458230)
+- get rid off fuzz in patches
+
+* Tue Jul 01 2008 Ondrej Vasik <ovasik@redhat.com> 0.6.3-25
+- mark xmlcatalog config(noreplace) to prevent overwriting
+  of the content, move it to sysconfdir and make symlink for
+  it to silence rpmlint
+
+* Mon Jun 30 2008 Ondrej Vasik <ovasik@redhat.com> 0.6.3-24
+- mark catalog files as (not md5 size mtime) for verify to
+  prevent info about changed files (#453271)
+
+* Thu Nov 22 2007 Ondrej Vasik <ovasik@redhat.com> 0.6.3-23
+- Another MergeReview improvements(provided by Patrice Dumas)
+- copy Automake-1.4 files instead of rerunning autotools,
+- better preserving timestamps, better handling of documentation
+- improved XML-common description
+
+* Thu Nov 15 2007 Ondrej Vasik <ovasik@redhat.com> 0.6.3-22
+- Merge Review(226415)
+- changed: License Tag, using RPM macros instead of hardcoded
+  dirs, summary ended with dot, added URL, removed CHANGES
+  file as obsolete, preserved timestamps and some other cosmetic
+  changes
+- no longer shipping old automake tarball, fixed issue with man8_DATA,
+  BuildRequire:Automake,Autoconf again(see MergeReview discussion)
+
+* Mon May 28 2007 Ondrej Vasik <ovasik@redhat.com> 0.6.3-21
+- Fixed broken URL (changed to XML entity declarations) (bug #237726)
+- Rebuilt
+
+* Tue May 15 2007 Tim Waugh <twaugh@redhat.com> 0.6.3-20
+- Added dist tag.
+- Fixed summary.
+- Removed build dependency on autoconf/automake.
+
+* Tue Oct 24 2006 Tim Waugh <twaugh@redhat.com> 0.6.3-19
+- Removed stale URL (bug #210848).
+
+* Mon Jun 12 2006 Tim Waugh <twaugh@redhat.com> 0.6.3-18
+- Build requires automake and autoconf (bug #194709).
+
+* Fri Dec 09 2005 Jesse Keating <jkeating@redhat.com>
+- rebuilt
+
+* Wed Sep 22 2004 Than Ngo <than@redhat.com> 0.6.3-17
+- rebuilt
+
+* Fri Feb 13 2004 Elliot Lee <sopwith@redhat.com>
+- rebuilt
+
+* Mon Dec  8 2003 Tim Waugh <twaugh@redhat.com> 0.6.3-15
+- Patch from Ville Skyttä <ville.skytta@iki.fi> (bug #111625):
+  - Include /usr/share/xml in xml-common.
+  - Own /usr/share/sgml and /usr/share/xml.
+
+* Wed Jan 22 2003 Tim Powers <timp@redhat.com>
+- rebuilt
+
+* Wed Oct 23 2002 Tim Waugh <twaugh@redhat.com> 0.6.3-13
+- Ship the installed documentation.
+- Don't install files not packaged.
+
+* Fri Jun 21 2002 Tim Powers <timp@redhat.com>
+- automated rebuild
+
+* Thu May 23 2002 Tim Powers <timp@redhat.com>
+- automated rebuild
+
+* Wed Apr 24 2002 Tim Waugh <twaugh@redhat.com> 0.6.3-10
+- Ship {xml,html}.{dcl,soc} (bug #63500, bug #62980).
+- Work around broken tarball packaging.
+
+* Thu Feb 21 2002 Tim Waugh <twaugh@redhat.com> 0.6.3-9
+- Rebuild in new environment.
+
+* Thu Jan 17 2002 Tim Waugh <twaugh@redhat.com> 0.6.3-8
+- Back to /usr/share/sgml.  Now install docbook-dtds.
+- Use a real install-sh, not the symlink shipped in the tarball.
+
+* Wed Jan 09 2002 Tim Powers <timp@redhat.com> 0.6.3-7
+- automated rebuild
+
+* Mon Nov  5 2001 Tim Waugh <twaugh@redhat.com> 0.6.3-6
+- Don't create a useless empty catalog.
+- Don't try to put install things outside the build root.
+- Build requires a libxml2 that actually works.
+
+* Mon Nov  5 2001 Tim Waugh <twaugh@redhat.com> 0.6.3-4
+- Use (and handle) catalog files with quotes in install-catalog.
+
+* Thu Nov  1 2001 Tim Waugh <twaugh@redhat.com> 0.6.3-3
+- Create default XML Catalog at build time, not install time.
+
+* Fri Oct  5 2001 Tim Waugh <twaugh@redhat.com> 0.6.3-2
+- Move XML things into /usr/share/xml, and split them out into separate
+  xml-common package.
+
+* Mon Oct  1 2001 Tim Waugh <twaugh@redhat.com> 0.6.3-1
+- 0.6.3.  Incorporates oldsyntax and quiet patches.
+- Make /etc/sgml/sgml.conf noreplace.
+- Own /etc/sgml, various other directories (bug #47485, bug #54180).
+
+* Wed May 23 2001 Tim Waugh <twaugh@redhat.com> 0.5-7
+- Remove execute bit from data files.
+
+* Mon May 21 2001 Tim Waugh <twaugh@redhat.com> 0.5-6
+- install-catalog needs to make sure that it creates world-readable files
+  (bug #41552).
+
+* Wed Mar 14 2001 Tim Powers <timp@redhat.com> 0.5-5
+- fixed license
+
+* Wed Jan 24 2001 Tim Waugh <twaugh@redhat.com>
+- Make install-catalog quieter during normal operation.
+
+* Tue Jan 23 2001 Tim Waugh <twaugh@redhat.com>
+- Require textutils, fileutils, grep (bug #24719).
+
+* Wed Jan 17 2001 Tim Waugh <twaugh@redhat.com>
+- Require sh-utils.
+
+* Mon Jan 15 2001 Tim Waugh <twaugh@redhat.com>
+- Don't play so many macro games.
+- Fix typo in install-catalog patch.
+
+* Mon Jan 08 2001 Tim Waugh <twaugh@redhat.com>
+- Change group.
+- Install by hand (man/en/...).  Use %%{_mandir}.
+- Use %%{_tmppath}.
+- Make install-catalog fail silently if given the old syntax.
+- Add CHANGES file.
+- Change Copyright: to License:.
+- Remove Packager: line.
+
+* Mon Jan 08 2001 Tim Waugh <twaugh@redhat.com>
+- Based on Eric Bischoff's new-trials packages.