At 2003-08-23 12:21 -0500, Ron Gafron wrote:
>I am working on a document that has logical 2 parts. I would like the 2
>parts to be controlled by 2 different DTDs.
Using DTD technology one can only point to a single expression of
constraints. Some tools (like MSV) allow you to point to a standalone DTD,
but that is a feature of the tool, not "pure" DTDs as defined in the XML spec.
>Is it possible construct an XML document that would work this way, ie, do
>the rules of XML allow for multiple DTD/schema to control one document (as
>long as they don't overlap, as you could have with using both an internal
>and externa DTD?
Internal and external components all combine to form a single document model.
>Basically, we're creating stringent rules for the 1st part of the document
>that we are going to control. For example, no internal DTDs will be
>allowed for security reasons.
Not sure what you mean by "no internal DTDs". DTD syntax has three
distinct functions: content model constraints, default attribute values and
entity declarations. Internal and external packages of syntax all combine
to a single DTD.
>The 2nd part of the document is more freeform and we'd allow either
>internal or external DTD, I think. Or schema.
Ummmmm ... a document model is an expression of constraints. You choose
the constraint technology syntax and semantics to fit your tools and
needs. You've mentioned DTD and W3C schema ... I find the RELAX-NG syntax
and semantics http://www.oasis-open.org/committees/relax-ng easy and
powerful. It includes wild cards and namespace-qualified wild cards, which
might be what you are speaking of when you say "freedom".
Perhaps you are looking for two different schema expressions for your
documents, one controlling the first part of the document leaving the
second part unconstrained, and the other leaving the first part of the
document unconstrained and constraining the second part of the document.
Have you considered using different namespaces for the portions of your
document model? You could then constrain your "first" part of the document
using your namespace and leave the second part to any other namespace.
As part of the DSDL project http://dsdl.org the namespace routing language
http://www.thaiopensource.com/relaxng/nrl.html has been contributed for
consideration. This would help you route different portions of your
document to different schema processors based on namespaces.
I think if we knew more about the constrains you need to express, we would
be in a better position to advise on technologies and approaches. Can you
mock up some short examples?
I hope this helps!
Instructor-led on-site corporate, government & user group training
for XSLT and XSL-FO world-wide; please contact us for the details;
Next public European delivery: 3-day XSLT/2-day XSL-FO 2003-09-22
G. Ken Holman mailto:[log in to unmask]
Crane Softwrights Ltd. http://www.CraneSoftwrights.com/l/
Box 266, Kars, Ontario CANADA K0A-2E0 +1(613)489-0999 (F:-0995)
ISBN 0-13-065196-6 Definitive XSLT and XPath
ISBN 0-13-140374-5 Definitive XSL-FO
ISBN 1-894049-08-X Practical Transformation Using XSLT and XPath
ISBN 1-894049-11-X Practical Formatting Using XSL-FO
Member of the XML Guild of Practitioners: http://XMLGuild.info
Male Breast Cancer Awareness http://www.CraneSoftwrights.com/l/bc