RELAX NG and system entities

Matthew Burgess <[email protected]> Sat, 20 Nov 2004 15:01:16 +0000
Newsgroups gmane.text.xml.relaxng.general
Organization Linux From Scratch
Message-ID <[email protected]>
Hi folks,

 From what I can gather, being a complete newbie to RELAX NG, system 
entities aren't usable with RELAX NG (and schema languages in general).

In our current DTD setup, we are able to share common data between 
multiple documents like so:

Each document has the following at the top:

---
<!DOCTYPE myDoctype SYSTEM "myDoctype.dtd" [
<!ENTITY % general_entities SYSTEM "general.ent">

%general_entities;
%package_entities;
]>
---

It will then go on to do something like:

---
<myElement>&version;</myElement>
---

Where the version entity has been provided in "general.ent" and pulled 
in to the document by the system entity given above.  This obviously 
reduces maintenance by only having to declare the entity once. According 
to http://www.dpawson.co.uk/relaxng/schema/design.html#d547e79 there is 
an EDML proposal which at a very quick glance would enable us to do what 
we *think* we need.

So I really have two questions:

1) How do you guys share common data items between your XML documents 
when using RELAX NG?

2) Has anyone used EDML?  How successful has that use been?  Is it, as I 
think, applicable to our needs of sharing data between multiple XML 
documents?  The main concern I have is the explicit support it would 
seem to require from XML parsers.

Best regards,

Matt.