diff --git a/test-suite/worked-examples/anthology/anthology_metaschema.xml b/test-suite/worked-examples/anthology/anthology_metaschema.xml
index 47b7959d7..60d31614c 100644
--- a/test-suite/worked-examples/anthology/anthology_metaschema.xml
+++ b/test-suite/worked-examples/anthology/anthology_metaschema.xml
@@ -91,6 +91,11 @@ Under 'widget'
+
+ Extra
+ Discard me
+
+
Identifier
A distinct code
@@ -253,7 +258,10 @@ Under 'widget'
Include other
Some other sort of markup altogether
-
+
+ Language
+ Describing the notation used
+
diff --git a/toolchains/xslt-M4/compose/metaschema-compose-debug.xpl b/toolchains/xslt-M4/compose/metaschema-compose-debug.xpl
index 6008874c5..50e9628b2 100644
--- a/toolchains/xslt-M4/compose/metaschema-compose-debug.xpl
+++ b/toolchains/xslt-M4/compose/metaschema-compose-debug.xpl
@@ -25,10 +25,10 @@
-
+
@@ -57,11 +57,11 @@
-
+
diff --git a/toolchains/xslt-M4/compose/metaschema-reduce2.xsl b/toolchains/xslt-M4/compose/metaschema-reduce2.xsl
index 76558935c..8a884606c 100644
--- a/toolchains/xslt-M4/compose/metaschema-reduce2.xsl
+++ b/toolchains/xslt-M4/compose/metaschema-reduce2.xsl
@@ -15,12 +15,13 @@
no
-
-
+
+
+
+
@@ -97,12 +99,12 @@
-
+
@@ -125,10 +127,6 @@
-
-
-
-
diff --git a/toolchains/xslt-M4/compose/metaschema-reduce3.xsl b/toolchains/xslt-M4/compose/metaschema-reduce3.xsl
deleted file mode 100644
index 0c0598628..000000000
--- a/toolchains/xslt-M4/compose/metaschema-reduce3.xsl
+++ /dev/null
@@ -1,177 +0,0 @@
-
-
-
-
-
-
-
- no
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Assembly references: { $assembly-references }
-
- Field references: { $field-references }
-
- Flag references: { $flag-references }
-
-
-
-
-
-
-
-
-
- REMOVING unused assembly definition for '{ @name }' from { ancestor::METASCHEMA[1]/@module
- }
-
-
-
-
-
- REMOVING unused field definition for '{ @name }' from { ancestor::METASCHEMA[1]/@module
- }
-
-
-
-
-
- REMOVING unused flag definition for '{ @name }' from { ancestor::METASCHEMA[1]/@module
- }
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/toolchains/xslt-M4/metaschema-compose.xpl b/toolchains/xslt-M4/metaschema-compose.xpl
index 40b97de79..00f45d0ec 100644
--- a/toolchains/xslt-M4/metaschema-compose.xpl
+++ b/toolchains/xslt-M4/metaschema-compose.xpl
@@ -25,10 +25,10 @@
-
+
@@ -57,11 +57,11 @@
-
+
diff --git a/toolchains/xslt-M4/nist-metaschema-COMPOSE.xsl b/toolchains/xslt-M4/nist-metaschema-COMPOSE.xsl
index 3cfb64689..cb35e9813 100644
--- a/toolchains/xslt-M4/nist-metaschema-COMPOSE.xsl
+++ b/toolchains/xslt-M4/nist-metaschema-COMPOSE.xsl
@@ -31,10 +31,16 @@
+
+
compose/metaschema-collect.xsl
+
compose/metaschema-reduce1.xsl
-
+
+ compose/metaschema-reduce2.xsl
+
compose/metaschema-digest.xsl
+
diff --git a/toolchains/xslt-M4/nist-metaschema-MAKE-JSON-DOCS.xsl b/toolchains/xslt-M4/nist-metaschema-MAKE-JSON-DOCS.xsl
index 4aaf64d9a..79de60f58 100644
--- a/toolchains/xslt-M4/nist-metaschema-MAKE-JSON-DOCS.xsl
+++ b/toolchains/xslt-M4/nist-metaschema-MAKE-JSON-DOCS.xsl
@@ -29,7 +29,7 @@
compose/metaschema-collect.xsl
compose/metaschema-reduce1.xsl
-
+ compose/metaschema-reduce2.xsl
compose/metaschema-digest.xsl
document/json/json-docs-hugo-uswds.xsl
diff --git a/toolchains/xslt-M4/nist-metaschema-MAKE-JSON-MAP.xsl b/toolchains/xslt-M4/nist-metaschema-MAKE-JSON-MAP.xsl
index 76813fe6b..feeb75e59 100644
--- a/toolchains/xslt-M4/nist-metaschema-MAKE-JSON-MAP.xsl
+++ b/toolchains/xslt-M4/nist-metaschema-MAKE-JSON-MAP.xsl
@@ -30,7 +30,7 @@
compose/metaschema-collect.xsl
compose/metaschema-reduce1.xsl
-
+ compose/metaschema-reduce2.xsl
compose/metaschema-digest.xsl
compose/make-model-map.xsl
compose/unfold-model-map.xsl
diff --git a/toolchains/xslt-M4/nist-metaschema-MAKE-JSON-SCHEMA.xsl b/toolchains/xslt-M4/nist-metaschema-MAKE-JSON-SCHEMA.xsl
index f6e17e882..01e83a6b8 100644
--- a/toolchains/xslt-M4/nist-metaschema-MAKE-JSON-SCHEMA.xsl
+++ b/toolchains/xslt-M4/nist-metaschema-MAKE-JSON-SCHEMA.xsl
@@ -30,7 +30,7 @@
compose/metaschema-collect.xsl
compose/metaschema-reduce1.xsl
-
+ compose/metaschema-reduce2.xsl
compose/metaschema-digest.xsl
schema-gen/make-json-schema-metamap.xsl
lib/xpath-json-to-json.xsl
diff --git a/toolchains/xslt-M4/nist-metaschema-MAKE-JSON-TO-XML-CONVERTER.xsl b/toolchains/xslt-M4/nist-metaschema-MAKE-JSON-TO-XML-CONVERTER.xsl
index 0f2c6a834..34b8ed80d 100644
--- a/toolchains/xslt-M4/nist-metaschema-MAKE-JSON-TO-XML-CONVERTER.xsl
+++ b/toolchains/xslt-M4/nist-metaschema-MAKE-JSON-TO-XML-CONVERTER.xsl
@@ -63,7 +63,7 @@
compose/metaschema-collect.xsl
compose/metaschema-reduce1.xsl
-
+ compose/metaschema-reduce2.xsl
compose/metaschema-digest.xsl
diff --git a/toolchains/xslt-M4/nist-metaschema-MAKE-XML-DOCS.xsl b/toolchains/xslt-M4/nist-metaschema-MAKE-XML-DOCS.xsl
index a0a8eebc9..364c5ee71 100644
--- a/toolchains/xslt-M4/nist-metaschema-MAKE-XML-DOCS.xsl
+++ b/toolchains/xslt-M4/nist-metaschema-MAKE-XML-DOCS.xsl
@@ -30,7 +30,7 @@
compose/metaschema-collect.xsl
compose/metaschema-reduce1.xsl
-
+ compose/metaschema-reduce2.xsl
compose/metaschema-digest.xsl
document/xml/xml-docs-hugo-uswds.xsl
diff --git a/toolchains/xslt-M4/nist-metaschema-MAKE-XML-MAP.xsl b/toolchains/xslt-M4/nist-metaschema-MAKE-XML-MAP.xsl
index d452805ee..269cc4161 100644
--- a/toolchains/xslt-M4/nist-metaschema-MAKE-XML-MAP.xsl
+++ b/toolchains/xslt-M4/nist-metaschema-MAKE-XML-MAP.xsl
@@ -30,7 +30,7 @@
compose/metaschema-collect.xsl
compose/metaschema-reduce1.xsl
-
+ compose/metaschema-reduce2.xsl
compose/metaschema-digest.xsl
compose/make-model-map.xsl
compose/unfold-model-map.xsl
diff --git a/toolchains/xslt-M4/nist-metaschema-MAKE-XML-METATRON.xsl b/toolchains/xslt-M4/nist-metaschema-MAKE-XML-METATRON.xsl
index 80c246661..3bcf84336 100644
--- a/toolchains/xslt-M4/nist-metaschema-MAKE-XML-METATRON.xsl
+++ b/toolchains/xslt-M4/nist-metaschema-MAKE-XML-METATRON.xsl
@@ -30,7 +30,7 @@
compose/metaschema-collect.xsl
compose/metaschema-reduce1.xsl
-
+ compose/metaschema-reduce2.xsl
compose/metaschema-digest.xsl
schema-gen/make-metaschema-metatron.xsl
diff --git a/toolchains/xslt-M4/nist-metaschema-MAKE-XML-TO-JSON-CONVERTER.xsl b/toolchains/xslt-M4/nist-metaschema-MAKE-XML-TO-JSON-CONVERTER.xsl
index 50ca5cc58..2ff4a8c1d 100644
--- a/toolchains/xslt-M4/nist-metaschema-MAKE-XML-TO-JSON-CONVERTER.xsl
+++ b/toolchains/xslt-M4/nist-metaschema-MAKE-XML-TO-JSON-CONVERTER.xsl
@@ -57,7 +57,7 @@
compose/metaschema-collect.xsl
compose/metaschema-reduce1.xsl
-
+ compose/metaschema-reduce2.xsl
compose/metaschema-digest.xsl
diff --git a/toolchains/xslt-M4/nist-metaschema-MAKE-XSD.xsl b/toolchains/xslt-M4/nist-metaschema-MAKE-XSD.xsl
index b9f35ed44..be49ffbd6 100644
--- a/toolchains/xslt-M4/nist-metaschema-MAKE-XSD.xsl
+++ b/toolchains/xslt-M4/nist-metaschema-MAKE-XSD.xsl
@@ -30,7 +30,7 @@
compose/metaschema-collect.xsl
compose/metaschema-reduce1.xsl
-
+ compose/metaschema-reduce2.xsl
compose/metaschema-digest.xsl
schema-gen/make-metaschema-xsd.xsl
schema-gen/configure-namespaces.xsl