XML indirection linking, xpointer
[Caution: Saxon only, relies on Mikes extensions] Look for further information on www.isogen.com by Sept 2002.
This version correctly implements XPointer with the limitation that it can only process single-xpointer fragment ids and does not address any of the XPointer-specific extension functions (unless Saxon happens to implement those). It will report errors for fragment IDs that are not XPointers. I think this version is pretty stable--there's not much more functionality I can add to it.
XML Indirection Facility XSLT Reference Implementation.
This document describes the XSLT reference implementation of the XIndirect facility.
The test materials consist of the following files:
xindirect-functions.xsl. Generic EXSLT/Saxon function package that implements the XIndirect processing of <indirect> elements. test-xindirect.xsl. Style sheet for processing the test documents in order to produce "debug" output showing the details of the link and address resolution. Depends on xindirect-functions.xsl testdoc-01.xml. Single-document use cases. All the links and addresses in this document are within the scope of the document itself. testdoc-02.xml. Cross-document use cases. Contains links and addresses from itself to elements in testdoc-01.xml The xindirect-functions.xsl style sheet depends on both the Saxon 6.5 (or greater) "evaluate()" extension function as well as on the EXSLT "functions" package, which Saxon implements.
Running the Tests. To run the tests, simply use Saxon to apply the test-xindirect style sheet against either of the test documents. The output is HTML:
There should be no error messages. To verify the output, examine the resulting HTML document.