                           (not-empty matches)
                           (if (empty? matches) "No module identifier provided." (str message "\n#### Manual followup required - check that module identifier is sufficiently unique. ####")))))
 
+(defn- com08-unique-namespace-prefixes
+  [source content-index]
+  (standard-validation source
+                       content-index
+                       :com08
+                       "COM08"
+                       "Namespace declarations"
+                       true
+                       "The technology does not define content model namespaces."))
+
 (defn- stb08-stb09-use-of-synchronized
   [source content-index]
   (merge

      (alfresco-editions                          content-index)
      (api05-inject-serviceregistry-not-services  source content-index)
      (com03-unique-module-identifier             source content-index)
      (stb08-stb09-use-of-synchronized            source content-index)
      (stb19-stb20-web-script-transaction-setting source content-index)
      (perf02-judicious-use-of-indexed-properties source content-index)

        :api05          #"(?:^|\s)ref="
      }
    :content-model {
        :perf02         #"<index\s+enabled\s*=\s*\"true"
        :perf03         #"<stored>\s*true\s*</stored>"
        :com08          #"<namespace\s+uri\s*=\s*\".*\"\s+prefix\s*=\s*\"(.*)\"\s*/>"
      }
    :ant {
        :ivy            #"antlib:org\.apache\.ivy\.ant"
