From 3f0213e1946f8dc4a72a5dbfa36a45ab2a76dc62 Mon Sep 17 00:00:00 2001 From: Norman Walsh Date: Fri, 1 Jul 2005 19:04:53 +0000 Subject: [PATCH] Added XInclude --- docbook/relaxng/docbook/src/docbook.rnc | 1 + docbook/relaxng/docbook/src/xinclude.rnc | 56 ++++++++++++++++++++++++ 2 files changed, 57 insertions(+) create mode 100644 docbook/relaxng/docbook/src/xinclude.rnc diff --git a/docbook/relaxng/docbook/src/docbook.rnc b/docbook/relaxng/docbook/src/docbook.rnc index f5f9fffcd..08e9f2715 100644 --- a/docbook/relaxng/docbook/src/docbook.rnc +++ b/docbook/relaxng/docbook/src/docbook.rnc @@ -28,6 +28,7 @@ start = db.set include "pool.rnc" include "annotations.rnc" include "xlink.rnc" +include "xinclude.rnc" include "hier.rnc" include "sect1.rnc" include "refentry.rnc" diff --git a/docbook/relaxng/docbook/src/xinclude.rnc b/docbook/relaxng/docbook/src/xinclude.rnc new file mode 100644 index 000000000..936cbd13f --- /dev/null +++ b/docbook/relaxng/docbook/src/xinclude.rnc @@ -0,0 +1,56 @@ +# This file is part of DocBook NG: The "Lillet" Release. + +# This schema is a "work-in-progress". It validates a DocBook-like grammar that +# may, in some incarnation, form the basis for DocBook V.next. Or it may not. +# At the moment, it's just an exploration by Norm. It has utterly no normative +# value at all. +# +# Author: Norman Walsh, +# Source: Derived from DocBook XML V4.3 +# Release: $Id$ +# + +namespace xi = "http://www.w3.org/2001/XInclude" +namespace db = "http://docbook.org/ns/docbook" +namespace a = "http://relaxng.org/ns/compatibility/annotations/1.0" + +db.all.blocks |= db.xi.include +db.all.inlines |= db.xi.include + +# ====================================================================== + +[ + db:refname [ "xi:include" ] + db:refpurpose [ "An XInclude" ] +] +div { + + db.xi.include.attlist = + attribute href { xsd:anyURI { pattern = "^[#]+" } }?, + [ a:defaultValue="xml" ] attribute parse { "xml" | "text" }?, + attribute xpointer { text }?, + attribute encoding { text }?, + attribute accept { text }?, + attribute accept-language { text }? + + db.xi.include = + element xi:include { + db.xi.include.attlist, + db.xi.fallback? + } +} + +# ====================================================================== + +[ + db:refname [ "xi:fallback" ] + db:refpurpose [ "An XInclude fallback" ] +] +div { + # The fallback element has no attributes + + db.xi.fallback = + element xi:fallback { + db.all.blocks+ | db.all.inlines+ | db._any* + } +} -- 2.40.0