diff --git a/build/check_framework.xsl b/build/check_framework.xsl
deleted file mode 100644
index 613c1b6a..00000000
--- a/build/check_framework.xsl
+++ /dev/null
@@ -1,128 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
- [ERROR]
-
-
-
-
-
-
-
-
-
-
-
- :
-
-
-
-
-
-
-
-
-
-
-
- [WARN]
-
-
-
-
-
-
-
-
-
-
-
- :
-
-
-
-
-
-
-
-
-
-
-
- [INFO]
-
-
-
-
-
-
-
-
-
-
-
- :
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/build/check_adfs.xsl b/mdx/_rules/check_adfs.xsl
similarity index 100%
rename from build/check_adfs.xsl
rename to mdx/_rules/check_adfs.xsl
diff --git a/build/check_aggregate.xsl b/mdx/_rules/check_aggregate.xsl
similarity index 100%
rename from build/check_aggregate.xsl
rename to mdx/_rules/check_aggregate.xsl
diff --git a/build/check_filtered.xsl b/mdx/_rules/check_filtered.xsl
similarity index 100%
rename from build/check_filtered.xsl
rename to mdx/_rules/check_filtered.xsl
diff --git a/build/check_fixups.xsl b/mdx/_rules/check_fixups.xsl
similarity index 100%
rename from build/check_fixups.xsl
rename to mdx/_rules/check_fixups.xsl
diff --git a/build/check_idpdisc.xsl b/mdx/_rules/check_idpdisc.xsl
similarity index 100%
rename from build/check_idpdisc.xsl
rename to mdx/_rules/check_idpdisc.xsl
diff --git a/build/check_imported.xsl b/mdx/_rules/check_imported.xsl
similarity index 100%
rename from build/check_imported.xsl
rename to mdx/_rules/check_imported.xsl
diff --git a/build/check_init.xsl b/mdx/_rules/check_init.xsl
similarity index 100%
rename from build/check_init.xsl
rename to mdx/_rules/check_init.xsl
diff --git a/build/check_mdiop.xsl b/mdx/_rules/check_mdiop.xsl
similarity index 100%
rename from build/check_mdiop.xsl
rename to mdx/_rules/check_mdiop.xsl
diff --git a/build/check_mdrpi.xsl b/mdx/_rules/check_mdrpi.xsl
similarity index 100%
rename from build/check_mdrpi.xsl
rename to mdx/_rules/check_mdrpi.xsl
diff --git a/build/check_mdui.xsl b/mdx/_rules/check_mdui.xsl
similarity index 100%
rename from build/check_mdui.xsl
rename to mdx/_rules/check_mdui.xsl
diff --git a/build/check_misc.xsl b/mdx/_rules/check_misc.xsl
similarity index 100%
rename from build/check_misc.xsl
rename to mdx/_rules/check_misc.xsl
diff --git a/build/check_namespaces.xsl b/mdx/_rules/check_namespaces.xsl
similarity index 100%
rename from build/check_namespaces.xsl
rename to mdx/_rules/check_namespaces.xsl
diff --git a/build/check_nokeyname.xsl b/mdx/_rules/check_nokeyname.xsl
similarity index 100%
rename from build/check_nokeyname.xsl
rename to mdx/_rules/check_nokeyname.xsl
diff --git a/build/check_reqattr.xsl b/mdx/_rules/check_reqattr.xsl
similarity index 100%
rename from build/check_reqattr.xsl
rename to mdx/_rules/check_reqattr.xsl
diff --git a/build/check_saml1.xsl b/mdx/_rules/check_saml1.xsl
similarity index 100%
rename from build/check_saml1.xsl
rename to mdx/_rules/check_saml1.xsl
diff --git a/build/check_saml2.xsl b/mdx/_rules/check_saml2.xsl
similarity index 100%
rename from build/check_saml2.xsl
rename to mdx/_rules/check_saml2.xsl
diff --git a/build/check_saml2int.xsl b/mdx/_rules/check_saml2int.xsl
similarity index 100%
rename from build/check_saml2int.xsl
rename to mdx/_rules/check_saml2int.xsl
diff --git a/build/check_saml2meta.xsl b/mdx/_rules/check_saml2meta.xsl
similarity index 100%
rename from build/check_saml2meta.xsl
rename to mdx/_rules/check_saml2meta.xsl
diff --git a/build/check_shibboleth.xsl b/mdx/_rules/check_shibboleth.xsl
similarity index 100%
rename from build/check_shibboleth.xsl
rename to mdx/_rules/check_shibboleth.xsl
diff --git a/build/check_vhosts.xsl b/mdx/_rules/check_vhosts.xsl
similarity index 100%
rename from build/check_vhosts.xsl
rename to mdx/_rules/check_vhosts.xsl
diff --git a/mdx/_rules/extra_addresses.txt b/mdx/_rules/extra_addresses.txt
new file mode 100644
index 00000000..b75d075a
--- /dev/null
+++ b/mdx/_rules/extra_addresses.txt
@@ -0,0 +1,72 @@
+#
+# extra_addresses.txt
+#
+# This file lists addresses which should be sent federation
+# technical announcements even if they no longer have a role
+# as a contact on a registered entity.
+#
+# Blank lines, and lines starting with a '#', are ignored.
+#
+# Please add a '#'-style comment line in front of entries to
+# say when they were last verified as required. We should
+# probably re-verify these once in a while.
+#
+
+#
+# Current UK federation team get technical announcements whether or
+# not they currently have entities.
+#
+ian@iay.org.uk
+Gary.Gray@ed.ac.uk
+rdw@steadingsoftware.com
+Sara.Hopkins@ed.ac.uk
+steve.glover@ed.ac.uk
+alex.stuart@ed.ac.uk
+
+# Henry Hughes, JANET(UK), verified 2011-12-12
+Henry.Hughes@ja.net
+
+# Josh Howlett, JANET(UK), verified 2011-12-08
+Josh.Howlett@ja.net
+
+# Simon Cooper, JANET(UK), verified 2011-12-07
+Simon.Cooper@ja.net
+
+# Andrew Cormack, JANET(UK), verified 2011-12-06
+Andrew.Cormack@ja.net
+
+# Nicole Harris, JISC Advance, by request, verified 2011-07-04
+nicole.harris@jiscadvance.ac.uk
+
+# David Orrell, Eduserv, verified 2011-12-06
+david.orrell@eduserv.org.uk
+
+# Edugate federation partner contacts, verified 2011-12-06
+glenn.wearen@heanet.ie
+janusz.ulanowski@heanet.ie
+
+# John Paschoud, TAG member, verified 2012-01-19
+john@paschoud.org
+
+# Simon Timms, Eduserv, verified 2012-10-24
+Simon.Timms@eduserv.org.uk
+
+# Eduserv helpdesk, verified 2012-10-24
+athenshelp@eduserv.org.uk
+
+# Miscellaneous entries follow
+
+j.farnhill@jisc.ac.uk
+Steven_Carmody@brown.edu
+cantor.2@osu.edu
+Richard.annett@eduserv.org.uk
+jspencer@eb.com
+jmathena@eb.com
+luke@positive-internet.com
+urgent@positive-internet.com
+
+# Lawrence Jones, St George's University of London
+# Call 3127
+ljones@sgul.ac.uk
+
+# END
diff --git a/build/extract_addresses.xsl b/mdx/_rules/extract_addresses.xsl
similarity index 100%
rename from build/extract_addresses.xsl
rename to mdx/_rules/extract_addresses.xsl
diff --git a/build/extract_authorities.xsl b/mdx/_rules/extract_authorities.xsl
similarity index 100%
rename from build/extract_authorities.xsl
rename to mdx/_rules/extract_authorities.xsl
diff --git a/build/extract_cert_locs.xsl b/mdx/_rules/extract_cert_locs.xsl
similarity index 100%
rename from build/extract_cert_locs.xsl
rename to mdx/_rules/extract_cert_locs.xsl
diff --git a/build/extract_embedded.xsl b/mdx/_rules/extract_embedded.xsl
similarity index 100%
rename from build/extract_embedded.xsl
rename to mdx/_rules/extract_embedded.xsl
diff --git a/mdx/validation-beans.xml b/mdx/validation-beans.xml
index 86271d4a..13b0bbd9 100644
--- a/mdx/validation-beans.xml
+++ b/mdx/validation-beans.xml
@@ -191,7 +191,7 @@
p:id="check_adfs">
-
+
@@ -203,7 +203,7 @@
p:id="check_aggregate">
-
+
@@ -227,7 +227,7 @@
p:id="check_filtered">
-
+
@@ -239,7 +239,7 @@
p:id="check_fixups">
-
+
@@ -263,7 +263,7 @@
p:id="check_idpdisc">
-
+
@@ -275,7 +275,7 @@
p:id="check_imported">
-
+
@@ -287,7 +287,7 @@
p:id="check_init">
-
+
@@ -299,7 +299,7 @@
p:id="check_mdiop">
-
+
@@ -321,7 +321,7 @@
p:id="check_mdrpi_xslt">
-
+
@@ -383,7 +383,7 @@
p:id="check_mdui_xslt">
-
+
@@ -418,7 +418,7 @@
p:id="check_misc">
-
+
@@ -430,7 +430,7 @@
p:id="check_namespaces">
-
+
@@ -442,7 +442,7 @@
p:id="check_nokeyname">
-
+
@@ -468,7 +468,7 @@
p:id="check_reqattr">
-
+
@@ -480,7 +480,7 @@
p:id="check_saml2int">
-
+
@@ -492,7 +492,7 @@
p:id="check_saml1">
-
+
@@ -504,7 +504,7 @@
p:id="check_saml2">
-
+
@@ -516,7 +516,7 @@
p:id="check_saml2meta">
-
+
@@ -528,7 +528,7 @@
p:id="check_shibboleth">
-
+
@@ -560,7 +560,7 @@
p:id="check_vhosts">
-
+