diff --git a/.gitmodules b/.gitmodules
index 717fb5d57..97e7edb2d 100644
--- a/.gitmodules
+++ b/.gitmodules
@@ -1,3 +1,6 @@
[submodule "share/git/kmkf"]
path = share/git/kmkf
url = https://github.com/katef/kmkf
+[submodule "share/git/mdb"]
+ path = share/git/mdb
+ url = https://github.com/katef/minidocbook
diff --git a/share/dtd/ent-arg.dtd b/share/dtd/ent-arg.dtd
deleted file mode 100644
index d794f3600..000000000
--- a/share/dtd/ent-arg.dtd
+++ /dev/null
@@ -1,43 +0,0 @@
-
-
-.">
-,">
-:">
-;">
-=">
--">
-+">
-(">
-)">
-[">
-]">
-">
-
-input-file">
-output-file">
-template-file">
-dump-file">
-spec-file">
-port-table">
-
-predicate">
-options">
-tokens">
-letter">
-suffix">
-switch">
-macro">
-ident">
-name">
-file">
-text">
-lang">
-str">
-num">
-env">
-dir">
-opt">
-
-
-
-
diff --git a/share/dtd/ent-arg.dtd b/share/dtd/ent-arg.dtd
new file mode 120000
index 000000000..702de1d26
--- /dev/null
+++ b/share/dtd/ent-arg.dtd
@@ -0,0 +1 @@
+../../share/git/mdb/share/dtd/ent-arg.dtd
\ No newline at end of file
diff --git a/share/dtd/ent-misc.dtd b/share/dtd/ent-misc.dtd
deleted file mode 100644
index 132daa29f..000000000
--- a/share/dtd/ent-misc.dtd
+++ /dev/null
@@ -1,23 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/share/dtd/ent-misc.dtd b/share/dtd/ent-misc.dtd
new file mode 120000
index 000000000..b82bed4fc
--- /dev/null
+++ b/share/dtd/ent-misc.dtd
@@ -0,0 +1 @@
+../../share/git/mdb/share/dtd/ent-misc.dtd
\ No newline at end of file
diff --git a/share/dtd/ent-ref.dtd b/share/dtd/ent-ref.dtd
index 4922f1d9d..7244b1fc2 100644
--- a/share/dtd/ent-ref.dtd
+++ b/share/dtd/ent-ref.dtd
@@ -63,6 +63,8 @@
fsm_concat %vol.3;">
fsm_example %vol.3;">
+fsm_countstates %vol.3;">
+
fsm_print %vol.3;">
re_comp %vol.3re;">
diff --git a/share/git/mdb b/share/git/mdb
new file mode 160000
index 000000000..e200edd0a
--- /dev/null
+++ b/share/git/mdb
@@ -0,0 +1 @@
+Subproject commit e200edd0a5c33ab596d0a0f59872cd7fe931d945