added first shot on relaxng schema for metaproxy
authorMarc Cromme <marc@indexdata.dk>
Fri, 6 Oct 2006 14:28:26 +0000 (14:28 +0000)
committerMarc Cromme <marc@indexdata.dk>
Fri, 6 Oct 2006 14:28:26 +0000 (14:28 +0000)
still need to resolve ambiguity in schema

xml/schema/metaproxy.rnc [new file with mode: 0644]

diff --git a/xml/schema/metaproxy.rnc b/xml/schema/metaproxy.rnc
new file mode 100644 (file)
index 0000000..f648a18
--- /dev/null
@@ -0,0 +1,71 @@
+# The RelaxNG Compact Syntax file is the master copy
+# trang metaproxy.rnc metaproxy.rng 
+# xmllint --relaxng metaproxy.rng ../../../etc/config1.xml 
+# see also http://books.xmlschemata.org/relaxng/relax-CHP-16-SECT-2.html
+
+default namespace = "http://indexdata.dk/yp2/config/1"
+
+start = metaproxy
+
+metaproxy = 
+  element yp2 {
+    element start {
+      attribute route { xsd:NCName }
+    },
+    element filters { filter+ }?,
+    element routes {
+        route+
+    }
+  }
+
+route =  element route {
+    attribute id { xsd:NCName },
+    (filter
+     | filter_ref_id
+     )+
+}
+
+filter = 
+    (filter_log
+    | filter_bounce
+    | filter_frontend_net
+    | filter_z3950_client 
+    )
+
+filter_ref_id =
+  element filter {
+    attribute refid { xsd:NCName }
+  }
+
+filter_bounce =
+  element filter {
+    attribute type { "bounce" },
+    attribute id { xsd:NCName }?,
+    attribute name { xsd:NCName }
+  }
+
+filter_log =
+  element filter {
+    attribute type { "log" },
+    attribute id { xsd:NCName }?,
+    attribute name { xsd:NCName }?,
+    element message { xsd:NCName }?
+  }
+
+filter_frontend_net =
+  element filter {
+    attribute type { "frontend_net" },
+    attribute id { xsd:NCName }?,
+    attribute name { xsd:NCName }?,
+    element threads { xsd:integer },
+    element port { xsd:string }
+  }
+
+filter_z3950_client =
+  element filter {
+    attribute type { "z3950_client" },
+    attribute id { xsd:NCName }?,
+    attribute name { xsd:NCName }?,
+    element timeout { xsd:integer }
+  }
+