This is the mail archive of the
mailing list for the DocBook project.
RE: [docbook] Dtd, Xsd or RNG/RNC as your choice of schema technology for your docset?
- From: "scott wiseman" <scott at intercore dot net>
- Cc: <docbook at lists dot oasis-open dot org>
- Date: Thu, 14 Apr 2005 21:11:30 -0700
- Subject: RE: [docbook] Dtd, Xsd or RNG/RNC as your choice of schema technology for your docset?
From: Rajal Shah [mailto:firstname.lastname@example.org]
Sent: Friday, January 21, 2005 9:57 AM
To: 'George Cristian Bina'
Subject: RE: [docbook] Dtd, Xsd or RNG/RNC as your choice of schema
technology for your docset?
I didn't know about Trang.. So thanks for the pointer.. It clearly
solves my schema development choice.. (RNG/RNC) - assuming trang is
robust and thorough. I haven't played with the Oxygen editor.. I'll give
it a shot..
Even if the enterprise decides against using a new editor.. at least I
can use trang and generate the XSD for it and take it from there.. Now I
understand why the DocBook 5.0 uses rng/rnc to define the schema..
As regards combining XSD and DTD.. I've spent a lot of time with it..
It's impossible to use them together if your XSD schema has namespaces..
(at least from my experience).. I am guessing that people no longer use
their own general entities ( such as &company; => "XYZ, Inc").. It was a
very convenient feature, I guess that won't be available anymore..
Thanks for your response.
<p><a href="http://www.avidware.net/">Spam Blocker</a></p>
<p><a href="http://www.avidware.net/spam">Exchange Spam Filter</a></p>
From: George Cristian Bina [mailto:email@example.com]
Sent: Friday, January 21, 2005 5:55 AM
To: Rajal Shah
Subject: Re: [docbook] Dtd, Xsd or RNG/RNC as your choice of schema
technology for your docset?
> I have a question for the community with regards to XML based >
authoring.. In a hypothetical scenario, if you were to redo all your >
documentation in XML in your enterprise (lets consider we create a >
custom book format - that maybe extended from docbook).. which schema >
technology would you choose to define your template rules - DTD, XSD or
> RNG/RNC format?
How about going with Relax NG and then get also XML Schema and DTD
versions using TRANG?
> The main issues I want to consider in making the decision is:
> 1. Authoring tools available. Cause non-technical folks would be
> authoring content and thus authoring tools need to support the
> schema technology we use.
This should not be a problem as you will have Relax NG, XML Schema and
> 2. Content Management Repository and Storage requirements. (I
> see schema technology being too much of an issue here, except
> possibly validation content that is being
This can also benefit from the availability of Relax NG, XML Schema and
DTD as you will be able to validate with whatever the CMS supports.
> 3. Developing publishing tools.. (mostly XSL, so I don't think
> technology is an issue as long as the instance document
> with the schema).
If you will have XSLT 2.0 stylesheets processed with a Schema Aware XSLT
2.0 processor then having an XML Schema can make a difference but that
will restrict you to XML Schema only.
> My current thoughts are:
> 1. I'd rather use RNG/RNC technology as my docset will exist for
> several years and would thus benefit in adopting newer
> technologies at the start..
> 2. However RNG/RNC has very limited support in GUI based authoring
> tools to help tech-writers, I think..
As I said, you should be able to easily get XSD and DTD versions from
Relax NG so you should be able to use any tool. Of course if you choose
to express in Relax NG constraints that cannot be represented in XML
Schema or DTD then the tools that will work with the XML Schema or DTD
will offer less editing/validation support.
> 3. I could use XSDs: One big issue I had with XSDs were that we
> not define our own entities e.g. "&compName;" cannot be
> to output the Company Name consistently.. And we really need
> functionality.. (xinclude may be the answer)..
> 4. Also with XSDs we can't use the internal DOCTYPE for each
> and thus overwrite some of the external entity declaration in
Hmm... XML Schema and DTDs can work together. In oXygen and you can tell
the parser (through the preferences dialog) to validate only against the
XML Schema thus ignore the DTD for validation so you get all the DTD
support except validation (entities, internal subset) and the XML Schema
validation in the same document.
> 5. DTD is safest in some sense, but all new enhancements are being
> done in XSD and RNG/RNC technologies only.. So it's not the
> idea to start a new docset with DTDs anymore.
George Cristian Bina
<oXygen/> XML Editor, Schema Editor and XSLT Editor/Debugger