At 2004-04-14 15:46 +0000, Chisanga Mwelwa wrote:
I appreciate your help on my previous problem - your solution is working well!
However - I am now trying to recursively import multiple XML files eg:
You previously advised me to use this "structure" - it works fine...
...
but what I would like to do is extend the entity structure "recursively" -
note "dob-stuff" in the example below...
Now you are getting beyond simple hierarchical structure ... your
implication in "recursion" is that each referenced XML fragment will, in
turn, reference their own XML fragments of their own value-space for entity
names. This is not possible in XML.
Having multiple levels is fine, but each level cannot be independent of
other levels ... all declarations must be made up front:
<!-- employees.xml -->
<!DOCTYPE EMPLOYEES
[
<!ENTITY emp-stuff SYSTEM "employee.xml">
<!ENTITY dob-stuff SYSTEM "dob.xml">
]>
<EMPLOYEES>
<OFFICE name="Town Hall">
&emp-stuff;
</OFFICE>
</EMPLOYEES>
<!-- employee.xml -->
<EMPLOYEE>
<NAME>Jo Blogs</NAME>
&dob-stuff;
</EMPLOYEE>
<!-- dob.xml -->
<DOB>1-12-1980</DOB>
When I use external parsed general entities, each module and lesson is in
its own fragment and all fragments are declared up front with unique names
relevant to the module and lesson.
You would need to guarantee uniqueness in your example for all fragments
and you start losing what benefits you implied in your original post.
Consider what David has suggested regarding abandoning the syntactic
approach and using XSLT to assemble your final structure from independent
pieces. When using the entity structures the pieces are all dependent on
the declarations in the "top-most" piece.
I hope this helps.
............................. Ken
--
Public courses: Spring 2004 world tour of hands-on XSL instruction
Each week: Monday-Wednesday: XSLT/XPath; Thursday-Friday: XSL-FO
Hong Kong May 17-21; Bremen Germany May 24-28; Helsinki June 14-18
World-wide on-site corporate, govt. & user group XML/XSL training.
G. Ken Holman mailto:gkholman(_at_)CraneSoftwrights(_dot_)com
Crane Softwrights Ltd. http://www.CraneSoftwrights.com/s/
Box 266, Kars, Ontario CANADA K0A-2E0 +1(613)489-0999 (F:-0995)
Male Breast Cancer Awareness http://www.CraneSoftwrights.com/s/bc