Dear friends,
I am having problems getting olinks to correctly generate links between books in a set in HTML output. I want to be able to output independent books that contain references to content in other books, and when the books are produced as part of a set, these references should become links in HTML output. I am using oXygen XML Editor 18.0 that uses Saxon to generate HTML output. I've set up project files for two books (srr-book.xml and dos-book.xml) and one set (test-set.xml) as a test. I have inserted one olink in the srr-book that points to a section in the dos-book. The test-set.xml document looks like this: <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE set [ <!ENTITY % commonentities SYSTEM "../../Source/Common/commonentities.ent" > %commonentities; ]> <set xmlns="http://docbook.org/ns/docbook" version="5.0" xmlns:xi="http://www.w3.org/2001/XInclude" xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="test-set"> <info> <title>Test Set</title> </info> <xi:include href="../SRRModule/srr-book.xml"/> <xi:include href="../DHODBCScripting/dos-book.xml"/> </set> The olink markup in the srr-book.xml document looks like this: <para>Not to be confused with <olink targetdoc="dos-book" targetptr="dos-overview">Overview Link</olink>,which is something altogether different.</para> When the test-set.xml document is processed, oXygen gives this error message: [xslt] Error: unresolved olink: targetdoc/targetptr = 'dos-book/dos-overview'. And the HTML output where the link should be looks like this: <p>Not to be confused with <span class="olink">Overview Link</span>, which is something altogether different.</p> The olinkdb.xml files for the books and the set are as follows: - srr-book.xml: <?xml version="1.0" encoding="UTF-8"?> <targetset> <targetsetinfo> Description</targetsetinfo> <document targetdoc="srr-book.xml"> <xi:include href="target.db" xmlns:xi="http://www.w3.org/2001/XInclude"/> </document> </targetset> - dos-book.xml: <?xml version="1.0" encoding="UTF-8"?> <targetset> <targetsetinfo> Description</targetsetinfo> <document targetdoc="dos-book.xml"> <xi:include href="target.db" xmlns:xi="http://www.w3.org/2001/XInclude"/> </document> </targetset> - test-set.xml: <?xml version="1.0" encoding="UTF-8"?> <targetset> <targetsetinfo>A test of olink target sets.</targetsetinfo> <document targetdoc="../SRRModule/srr-book.xml"> <xi:include href="../SRRModule/target.db" xmlns:xi="http://www.w3.org/2001/XInclude"/> </document> <document targetdoc="../DHODBCScripting/dos-book.xml"> <xi:include href="../DHODBCScripting/target.db" xmlns:xi="http://www.w3.org/2001/XInclude"/> </document> <document targetdoc="test-set.xml"> <xi:include href="target.db" xmlns:xi="http://www.w3.org/2001/XInclude"/> </document> </targetset> The target.db content that results from these olinkdb.xml files looks correct. For example, here is the part that corresponds to the dos-book that refers to the Overview section to which the olink points: <div element="book" href="dos-book.html" number="" targetptr="dos-book"> <ttl>DataHub<sup xmlns="http://www.w3.org/1999/xhtml">R</sup> ODBC Scripting</ttl> <xreftext>DataHub<sup xmlns="http://www.w3.org/1999/xhtml">R</sup> ODBC Scripting</xreftext> <div element="chapter" href="dos-introduction.html" number="1" targetptr="dos-introduction"> <ttl>Introduction</ttl> <xreftext>Chapter 1, <em xmlns="http://www.w3.org/1999/xhtml" >Introduction</em></xreftext> <div element="section" href="dos-introduction.html#dos-overview" number="1.1" targetptr="dos-overview"> <ttl>Overview</ttl> <xreftext>Section 1.1, "Overview"</xreftext> </div> ... I think I am doing everything correctly and according to Bob Stayton's clear and well-written documentation, but apparently I have missed something. Can anyone see what I may be doing wrong? Appreciatively yours, Bob <http://cogent.ca/> Bob McIlvride Communications Manager Cogent Real-Time Systems Inc., a Skkynet company T 1 905 702 7851 ext 103 <http://cogent.ca/> cogent.ca