Project

Profile

Help

building LinkedTree from TinyTree loses base

Added by Anonymous almost 16 years ago

Legacy ID: #6674588 Legacy Poster: David Lee (daldei)

If I re-build a LinkedTree model from a TinyTree model, the base URI of interier expanded entity nodes is lost. Example If I start with this document and build a TinyTree from this URI http://tests.xproc.org/tests/doc/xml-base-test.xml which is <!DOCTYPE doc [ <!ENTITY subdoc SYSTEM "xml-base-chap.xml"> ]> <doc> <p>This has one base URI: <uri>xml-base-test.xml</uri></p> <?pi in base-test?> &subdoc; <p>This has the original base URI.</p> </doc> ============ I can get the base URI of the included <div> element correctly base-uri( $foo//div ) => http://tests.xproc.org/tests/doc/xml-base-chap.xml But if I then re-build a LinkedTree from the TinyTree the base URI of the expanded node (div) is lost Using this code to re-build the document : private XdmNode build( Source src ) throws SaxonApiException { // Must get element node or saxon doent rebuild, it wraps if( src instanceof DocumentInfo ) src = (NodeInfo)(((DocumentInfo)src).iterateAxis(net.sf.saxon.om.Axis.CHILD).next()); AugmentedSource asrc = AugmentedSource.makeAugmentedSource(src); asrc.setTreeModel(Builder.LINKED_TREE); return mBuilder.build(asrc); } ------- Now using the resulting doc, the base uri is now the documents uri base-uri( //div ) => http://tests.xproc.org/tests/doc/xml-base-test.xml Is this expected behaviour ? or is this a bug ? Is there any way to tell the builder to preserve the base URI's of its source ? I can provide full source if needed, (will take a bit of work to extract it out to just this test case, but if it helps I can do it) Thank you ! -David


Replies (2)

RE: building LinkedTree from TinyTree loses base - Added by Anonymous almost 16 years ago

Legacy ID: #6744981 Legacy Poster: Michael Kay (mhkay)

I have fixed this for the 9.2 release, and have added a couple of tests. Meanwhile, I suspect you can achieve the required effect by running a stylesheet that does <xsl:template match="/"> <xsl:copy-of select="."/> </xsl:template> Michael Kay http://www.saxonica.com/

RE: building LinkedTree from TinyTree loses base - Added by Anonymous almost 16 years ago

Legacy ID: #6749005 Legacy Poster: David Lee (daldei)

Thanks! It helps knowing I'm not imagining things.

    (1-2/2)

    Please register to reply