Namespaces and DTDs

Ogievetsky, Nikita nikita.ogievetsky at csfb.com
Tue Mar 9 21:56:33 GMT 1999


Richard L. Goerwitz wrote:
>Ronald Bourret wrote:
>> > I have several DTDs with conflicting definitions of certain elements.
>> > ...Am I going to have to break down and just rewrite the DTDs to use
>> > the qualified names?
>> 
>> If you want to use a namespace-unaware parser, I don't see how you can
>> avoid rewriting the DTDs.
>Maybe I misunderstand, but as far as I can see, namespaces won't help
>you, either. Why? Because even if you can refer to, say, your two TITLE
>elements by different prefixes, you'll still have to declare the prefixed
>elements in the DTD as if they were atomic element names.
>Namespaces, in other words, don't solve your problem. They may make it
>worse, in fact, because you have to know what prefixes you are going to
>declare in a given document to be able to rewrite your DTD to work with
>that document.

I have a similar problem: 
On my web site http://www.cogx.com, I am working on XML driven menu bar (can
be a tree, etc)
The underlying XML uses reusable structures such as months, quarters of the
year,
Tax schedules with zillions of tax lines repeated, etc.
Instead of having just one XML document for the menu bar,
I moved reusable fragments  into a separate file and access them from 
my main XML by  
<group frnms:ref="fx_tax_lines"/>
or 
<group frnms:ref="months_of_the_year"/>
it is also obvious
that I should not keep all fragments in one reusable collection, but rather 
separate them by theme. - Why should I send file with tax schedules to a guy
interested in Opera performances?
So I can have as many reusable collections as I wish: tax related,
publications related, theater related, etc...
It means I should allow freedom in specifying namespace prefixes and still
know
what each prefix means!
I am achieving this by 
declaring my namespaces as follows:
xmlns:ref="groups:www.cogx.com/xmlbar/ref-menu.xml" 
the prefix "groups:" tells me that a namespace of reusable fragments was
defined
Now I can give my prefix any name. 
When parsing I know that it is a namespace of reusable fragments!

Problem here is that <group> element has to be defined with an open model to
allow 
for different namespace prefixes.

I also made a proposal that it would be great to reserve "any" prefix for
this type of situation. This will
save me from using open model, which I do not like, really!

> The most effective responses I saw were
>from people who said, in effect, "Namespaces do far less than you want
>or expect them to."

Exactly! And this is why 
	Namespaces let you do much more then you thought you can!

Best regards,
	Nikita O.




xml-dev: A list for W3C XML Developers. To post, mailto:xml-dev at ic.ac.uk
Archived as: http://www.lists.ic.ac.uk/hypermail/xml-dev/ and on CD-ROM/ISBN 981-02-3594-1
To (un)subscribe, mailto:majordomo at ic.ac.uk the following message;
(un)subscribe xml-dev
To subscribe to the digests, mailto:majordomo at ic.ac.uk the following message;
subscribe xml-dev-digest
List coordinator, Henry Rzepa (mailto:rzepa at ic.ac.uk)




More information about the Xml-dev mailing list