[relaxng-user] RELAX NG and system entities

Matthew Burgess matthew at linuxfromscratch.org
Sat Nov 20 15:01:16 ICT 2004


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.


More information about the relaxng-user mailing list