diff --git a/schema/README.md b/schema/README.md
new file mode 100644
index 0000000..e68d23c
--- /dev/null
+++ b/schema/README.md
@@ -0,0 +1,27 @@
+MediaWiki XML Schema Descriptions
+=================================
+
+This folder stores all the MediaWiki XML Schema Descriptions (XSD) and the differences between versions. This is useful for ensuring the compatibility of DumpGenerator to create dumps following the format of what MediaWiki provides via Special:Export.
+
+DumpGenerator currently supports Schema versions 0.3 till 0.8.
+
+Below is a list of the MediaWiki version that each XSD was introduced:
+
+| Schema version | MediaWiki version |
+| -------------- | ------------------ |
+| 0.8 | 1.21 |
+| 0.7 | 1.20 |
+| 0.6 | 1.19 |
+| 0.5 | 1.18 |
+| 0.4 | 1.16 |
+| 0.3 | 1.5 |
+| 0.2 | unknown |
+| 0.1 | 1.5 |
+
+*Note: It is unknown whether version 0.2 of the XSD was actually used by MediaWiki in exporting, since 0.3 followed immediately after 0.1*
+
+For versions before MediaWiki 1.5, it is possible that no XML Schema Description was provided during the export, and since the backend database was changed at MediaWiki 1.5, DumpGenerator hence will not provide support for downloading an XML export of wikis before that version.
+
+We **strongly encourage** system administrators who are still using MediaWiki 1.4 and earlier to upgrade so that DumpGenerator can create a proper dump of the wiki using XML. If it is not possible, we advice using [wget-warc][1] and downloading a complete copy of the wiki in HTML form in the Web ARChive format.
+
+[1]: http://www.archiveteam.org/index.php?title=Wget_with_WARC_output
diff --git a/schema/export-0.1.xsd b/schema/export-0.1.xsd
new file mode 100644
index 0000000..9ff48f0
--- /dev/null
+++ b/schema/export-0.1.xsd
@@ -0,0 +1,76 @@
+
+
+
+
+
+
+ MediaWiki's page export format
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/schema/export-0.2.diff b/schema/export-0.2.diff
new file mode 100644
index 0000000..fb9c950
--- /dev/null
+++ b/schema/export-0.2.diff
@@ -0,0 +1,48 @@
+5a6,8
+> Version 0.2 adds optional basic file upload info support,
+> which is used by our OAI export/import submodule.
+>
+7c10
+< http://www.mediawiki.org/xml/export-0.1.xsd
+---
+> http://www.mediawiki.org/xml/export-0.2.xsd
+10c13
+< http://www.mediawiki.org/xml/export-0.1/
+---
+> http://www.mediawiki.org/xml/export-0.2/
+13,14c16,17
+< xmlns:mw="http://www.mediawiki.org/xml/export-0.1/"
+< targetNamespace="http://www.mediawiki.org/xml/export-0.1/"
+---
+> xmlns:mw="http://www.mediawiki.org/xml/export-0.2/"
+> targetNamespace="http://www.mediawiki.org/xml/export-0.2/"
+50,52c53,57
+<
+<
+---
+>
+>
+>
+>
+>
+72a78,96
+>
+>
+>
+>
+>
+>
+>
+>
+>
+>
+>
+>
+>
+>
+>
+>
+>
+>
+>
diff --git a/schema/export-0.2.xsd b/schema/export-0.2.xsd
new file mode 100644
index 0000000..55b05f8
--- /dev/null
+++ b/schema/export-0.2.xsd
@@ -0,0 +1,100 @@
+
+
+
+
+
+
+ MediaWiki's page export format
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/schema/export-0.3.diff b/schema/export-0.3.diff
new file mode 100644
index 0000000..68aecd0
--- /dev/null
+++ b/schema/export-0.3.diff
@@ -0,0 +1,76 @@
+8a9,11
+> Version 0.3 adds some site configuration information such
+> as a list of defined namespaces.
+>
+10c13
+< http://www.mediawiki.org/xml/export-0.2.xsd
+---
+> http://www.mediawiki.org/xml/export-0.3.xsd
+13c16
+< http://www.mediawiki.org/xml/export-0.2/
+---
+> http://www.mediawiki.org/xml/export-0.3/
+16,17c19,20
+< xmlns:mw="http://www.mediawiki.org/xml/export-0.2/"
+< targetNamespace="http://www.mediawiki.org/xml/export-0.2/"
+---
+> xmlns:mw="http://www.mediawiki.org/xml/export-0.3/"
+> targetNamespace="http://www.mediawiki.org/xml/export-0.3/"
+34a38,39
+> minOccurs="0" maxOccurs="1"/>
+41a47,87
+>
+>
+>
+>
+>
+>
+>
+>
+>
+>
+>
+>
+>
+>
+>
+>
+>
+>
+>
+>
+>
+>
+>
+>
+>
+>
+>
+>
+> minOccurs="0" maxOccurs="unbounded" />
+>
+>
+>
+>
+>
+>
+>
+>
+>
+>
+>
+68c114
+<
+---
+>
+69a116,123
+>
+>
+>
+>
+>
+>
+>
+>
diff --git a/schema/export-0.3.xsd b/schema/export-0.3.xsd
new file mode 100644
index 0000000..ea2b816
--- /dev/null
+++ b/schema/export-0.3.xsd
@@ -0,0 +1,154 @@
+
+
+
+
+
+
+ MediaWiki's page export format
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/schema/export-0.4.diff b/schema/export-0.4.diff
new file mode 100644
index 0000000..1ec650f
--- /dev/null
+++ b/schema/export-0.4.diff
@@ -0,0 +1,96 @@
+11a12,15
+> Version 0.4 adds per-revision delete flags, log exports,
+> discussion threading data, a per-page redirect flag, and
+> per-namespace capitalization.
+>
+13c17
+< http://www.mediawiki.org/xml/export-0.3.xsd
+---
+> http://www.mediawiki.org/xml/export-0.4.xsd
+16c20
+< http://www.mediawiki.org/xml/export-0.3/
+---
+> http://www.mediawiki.org/xml/export-0.4/
+19,20c23,24
+< xmlns:mw="http://www.mediawiki.org/xml/export-0.3/"
+< targetNamespace="http://www.mediawiki.org/xml/export-0.3/"
+---
+> xmlns:mw="http://www.mediawiki.org/xml/export-0.4/"
+> targetNamespace="http://www.mediawiki.org/xml/export-0.4/"
+67,68c71,72
+<
+<
+---
+>
+>
+72a77,82
+>
+>
+>
+>
+>
+>
+83a94
+>
+95a107,109
+>
+>
+>
+102a117
+>
+103a119,121
+>
+>
+>
+113c131
+<
+---
+>
+117a136,157
+>
+>
+>
+>
+>
+>
+>
+>
+>
+>
+>
+>
+>
+>
+>
+>
+>
+>
+>
+>
+>
+>
+121a162,167
+>
+>
+>
+>
+>
+>
+132a179,180
+>
+>
+150a199,212
+>
+>
+>
+>
+>
+>
+>
+>
+>
+>
+>
+>
+>
+>
diff --git a/schema/export-0.4.xsd b/schema/export-0.4.xsd
new file mode 100644
index 0000000..b3ea3bf
--- /dev/null
+++ b/schema/export-0.4.xsd
@@ -0,0 +1,216 @@
+
+
+
+
+
+
+ MediaWiki's page export format
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/schema/export-0.5.diff b/schema/export-0.5.diff
new file mode 100644
index 0000000..29c3472
--- /dev/null
+++ b/schema/export-0.5.diff
@@ -0,0 +1,19 @@
+15a16,17
+> Version 0.5 adds byte count per revision.
+>
+17c19
+< http://www.mediawiki.org/xml/export-0.4.xsd
+---
+> http://www.mediawiki.org/xml/export-0.5.xsd
+20c22
+< http://www.mediawiki.org/xml/export-0.4/
+---
+> http://www.mediawiki.org/xml/export-0.5/
+23,24c25,26
+< xmlns:mw="http://www.mediawiki.org/xml/export-0.4/"
+< targetNamespace="http://www.mediawiki.org/xml/export-0.4/"
+---
+> xmlns:mw="http://www.mediawiki.org/xml/export-0.5/"
+> targetNamespace="http://www.mediawiki.org/xml/export-0.5/"
+167a170
+>
diff --git a/schema/export-0.5.xsd b/schema/export-0.5.xsd
new file mode 100644
index 0000000..ed6c002
--- /dev/null
+++ b/schema/export-0.5.xsd
@@ -0,0 +1,219 @@
+
+
+
+
+
+
+ MediaWiki's page export format
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/schema/export-0.6.diff b/schema/export-0.6.diff
new file mode 100644
index 0000000..5f1e4c0
--- /dev/null
+++ b/schema/export-0.6.diff
@@ -0,0 +1,28 @@
+17a18,20
+> Version 0.6 adds a separate namespace tag, and resolves the
+> redirect target and adds a separate sha1 tag for each revision.
+>
+19c22
+< http://www.mediawiki.org/xml/export-0.5.xsd
+---
+> http://www.mediawiki.org/xml/export-0.6.xsd
+22c25
+< http://www.mediawiki.org/xml/export-0.5/
+---
+> http://www.mediawiki.org/xml/export-0.6/
+25,26c28,29
+< xmlns:mw="http://www.mediawiki.org/xml/export-0.5/"
+< targetNamespace="http://www.mediawiki.org/xml/export-0.5/"
+---
+> xmlns:mw="http://www.mediawiki.org/xml/export-0.6/"
+> targetNamespace="http://www.mediawiki.org/xml/export-0.6/"
+105a109,111
+>
+>
+>
+110c116
+<
+---
+>
+133a140
+>
diff --git a/schema/export-0.6.xsd b/schema/export-0.6.xsd
new file mode 100644
index 0000000..4668794
--- /dev/null
+++ b/schema/export-0.6.xsd
@@ -0,0 +1,226 @@
+
+
+
+
+
+
+ MediaWiki's page export format
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/schema/export-0.7.diff b/schema/export-0.7.diff
new file mode 100644
index 0000000..7b84259
--- /dev/null
+++ b/schema/export-0.7.diff
@@ -0,0 +1,186 @@
+20a21,27
+> Version 0.7 adds a unique identity constraint for both page and
+> revision identifiers. See also bug 4220.
+> Fix type for from "positiveInteger" to "nonNegativeInteger" to allow 0
+> Moves to its right location.
+> Add parentid to revision.
+> Fix type for within to "nonNegativeInteger"
+>
+22c29
+< http://www.mediawiki.org/xml/export-0.6.xsd
+---
+> http://www.mediawiki.org/xml/export-0.7.xsd
+25c32
+< http://www.mediawiki.org/xml/export-0.6/
+---
+> http://www.mediawiki.org/xml/export-0.7/
+28,29c35,36
+< xmlns:mw="http://www.mediawiki.org/xml/export-0.6/"
+< targetNamespace="http://www.mediawiki.org/xml/export-0.6/"
+---
+> xmlns:mw="http://www.mediawiki.org/xml/export-0.7/"
+> targetNamespace="http://www.mediawiki.org/xml/export-0.7/"
+40c47
+< schemaLocation="http://www.w3.org/2001/xml.xsd"/>
+---
+> schemaLocation="http://www.w3.org/2001/xml.xsd" />
+43c50,61
+<
+---
+>
+>
+>
+>
+>
+>
+>
+>
+>
+>
+>
+>
+48c66
+< minOccurs="0" maxOccurs="1"/>
+---
+> minOccurs="0" maxOccurs="1" />
+50c68,70
+< minOccurs="0" maxOccurs="unbounded"/>
+---
+> minOccurs="0" maxOccurs="unbounded" />
+> minOccurs="0" maxOccurs="unbounded" />
+52,53c72,73
+<
+<
+---
+>
+>
+84c104
+<
+---
+>
+103a124,131
+>
+>
+>
+>
+>
+>
+>
+>
+107c135
+<
+---
+>
+110c138
+<
+---
+>
+113c141
+<
+---
+>
+116c144
+<
+---
+>
+119c147
+<
+---
+>
+125d152
+<
+135,139c162,167
+<
+<
+<
+<
+<
+---
+>
+>
+>
+>
+>
+>
+147,150c175,178
+<
+<
+<
+<
+---
+>
+>
+>
+>
+153c181,183
+<
+---
+>
+>
+>
+161c191
+<
+---
+>
+166d195
+<
+172c201
+<
+---
+>
+176,177c205,223
+<
+<
+---
+>
+>
+>
+>
+>
+>
+>
+>
+>
+>
+>
+>
+>
+>
+>
+>
+>
+>
+>
+184,185c230,231
+<
+<
+---
+>
+>
+187c233
+<
+---
+>
+190c236
+<
+---
+>
+196,198c242,244
+<
+<
+<
+---
+>
+>
+>
+200,201c246,247
+<
+<
+---
+>
+>
+204c250
+<
+---
+>
diff --git a/schema/export-0.7.xsd b/schema/export-0.7.xsd
new file mode 100644
index 0000000..4803746
--- /dev/null
+++ b/schema/export-0.7.xsd
@@ -0,0 +1,272 @@
+
+
+
+
+
+
+ MediaWiki's page export format
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/schema/export-0.8.diff b/schema/export-0.8.diff
new file mode 100644
index 0000000..c942de4
--- /dev/null
+++ b/schema/export-0.8.diff
@@ -0,0 +1,37 @@
+27a28,30
+> Version 0.8 adds support for a and a tag for
+> each revision. See contenthandler.txt.
+>
+29c32
+< http://www.mediawiki.org/xml/export-0.7.xsd
+---
+> http://www.mediawiki.org/xml/export-0.8.xsd
+32c35
+< http://www.mediawiki.org/xml/export-0.7/
+---
+> http://www.mediawiki.org/xml/export-0.8/
+35,36c38,39
+< xmlns:mw="http://www.mediawiki.org/xml/export-0.7/"
+< targetNamespace="http://www.mediawiki.org/xml/export-0.7/"
+---
+> xmlns:mw="http://www.mediawiki.org/xml/export-0.8/"
+> targetNamespace="http://www.mediawiki.org/xml/export-0.8/"
+131a135,146
+>
+>
+>
+>
+>
+>
+>
+>
+>
+>
+>
+>
+168d182
+<
+169a184,186
+>
+>
+>
diff --git a/schema/export-0.8.xsd b/schema/export-0.8.xsd
new file mode 100644
index 0000000..07b432a
--- /dev/null
+++ b/schema/export-0.8.xsd
@@ -0,0 +1,289 @@
+
+
+
+
+
+
+ MediaWiki's page export format
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+