Index: conf/plugin.dtd
===================================================================
--- conf/plugin.dtd	(revision 0)
+++ conf/plugin.dtd	(revision 0)
@@ -0,0 +1,52 @@
+<!ELEMENT plugin (runtime?, requires?, extension-point*, extension*)>
+<!ATTLIST plugin
+	name CDATA #REQUIRED
+	id CDATA #REQUIRED
+	version CDATA #REQUIRED
+	provider-name CDATA #IMPLIED
+	class CDATA #IMPLIED
+>
+<!ELEMENT requires (import+)>
+<!ELEMENT import EMPTY>
+<!ATTLIST import
+	plugin CDATA #REQUIRED
+>
+<!ELEMENT runtime (library+)>
+<!ELEMENT library (export*)>
+<!ATTLIST library
+	name CDATA #REQUIRED
+>
+<!ELEMENT export EMPTY>
+<!-- this isn't read anywhere in the code -->
+<!ATTLIST export
+	name CDATA #REQUIRED
+>
+<!ELEMENT extension-point EMPTY>
+<!ATTLIST extension-point
+	name CDATA #REQUIRED
+	id CDATA #REQUIRED
+	schema CDATA #IMPLIED
+>
+<!ELEMENT extension (implementation+)>
+<!ATTLIST extension
+	point CDATA #REQUIRED
+>
+<!-- these are never read anywhere in the code -->
+<!ATTLIST extension
+	id CDATA #IMPLIED
+	name CDATA #IMPLIED
+>
+
+<!ELEMENT implementation EMPTY>
+<!ATTLIST implementation
+	id CDATA #REQUIRED
+	class CDATA #REQUIRED
+	contentType CDATA #IMPLIED
+	pathSuffix CDATA #IMPLIED
+	protocolName CDATA #IMPLIED
+	fields CDATA #IMPLIED
+	file CDATA #IMPLIED
+	raw-fields CDATA #IMPLIED
+	fields CDATA #IMPLIED
+	lang CDATA #IMPLIED
+>
