[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]
Subject: [docbook] Xi:includes and Entity Parameters
Hi all, I've got a DocBook guide comprised of chapters maintained in individual files that are imported using xi:includes: <book> <title>My Book</title> <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="chapter-1.xml"/> <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="chapter-2.xml"/> <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="chapter-3.xml"/> </book> As you can see, all included files are in the guide's own root directory. I've also defined shared text entities within a file called entities.ent located in the guide's root directory aswell: <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN" "http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd" [ <!ENTITY % myents SYSTEM "entities.ent" > %myents; ]> <book> <title>My Book</title> <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="chapter-1.xml"/> <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="chapter-2.xml"/> <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="chapter-3.xml"/> </book> Each xi:include file must contain the above parameter entity declaration and reference in its DOCTYPE - this is fine by me as it's only in a few cases and is very manageable. Now, I also wish to xi:include a common chapter located within a global directory. I do this as follows: ... <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="../../global/common-chapter.xml"/> ... The problem is that if I try to reference one of the entities (e.g. &productname; ) within the common-chapter.xml file it will not resolve due to the way xi:inlcude works: the common-chapter.xml file will expect the entities.ent file to be located within its root directory.(i.e. "../../global/entities.ent") and not in the guide's root directory (where the entities.xml file does reside). Is there a way around this problem? I am restricted to using relative paths due to our build system and the different OS environments it works in. It's not possible for me to reference an entities file via an absolute path such as http://myserver/entities.ent. Again, this is due to our build system and the way we use version control. Is there some way to stop the included common-chapter.xml from resolving the entities.ent file relative to its location and use the location of the root guide instead? Or perhaps an alternative method of importing a global file that resolves entities based on the guide doing the importing? Thanks! D. -- View this message in context: http://www.nabble.com/Xi%3Aincludes-and-Entity-Parameters-tp24102062p24102062.html Sent from the docbook General mailing list archive at Nabble.com.
[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]