[Home] [By Thread] [By Date] [Recent Entries]

  • From: John Cowan <cowan@m...>
  • To: "G. Ken Holman" <gkholman@C...>
  • Date: Tue, 9 Oct 2012 17:03:37 -0400

G. Ken Holman scripsit:

> Does anyone know of an XML catalogue resolver implementation that
> supports the TR9401 <doctype/> element?

I forgot to mention that you can get much the same effect by using
the catalogue to define an external parsed entity referred to in an
internal DTD, which is what $EMPLOYER is doing now to parameterize a
RELAX NG schema on a namespace (one of the few ways you can't natively
parameterize them).  Here's the idea:

<?xml version="1.0"?>
<!DOCTYPE [[
  <!ENTITY target-ns-def SYSTEM "urn:target-namespace">
  &target-ns-def;
]]>
<grammar xmlns="http://relaxng.org/ns/structure/1.0"
         xmlns:target="&target-ns;">
  <define name="target.foo">
    <element name="target:foo">
      ...
    </element>
  </define>
 ....
</grammar>

The catalog tells us which file "urn:target-namespace" maps to, and that
file contains "<!ENTITY target-ns "http://example.com/namespace/foo1">;
other files mapped by other catalogs contain "<!ENTITY target-ns
"http://example.com/namespace/foo2">.

-- 
John Cowan  <cowan@c...>  http://www.ccil.org/~cowan
        Raffiniert ist der Herrgott, aber boshaft ist er nicht.
                --Albert Einstein


[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index]


Site Map | Privacy Policy | Terms of Use | Trademarks
Free Stylus Studio XML Training:
W3C Member