[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]
Subject: Re: [docbook-apps] Base URI for result of transformation?
Hi Tony, The general behavior in XML is that a relative URL is taken as relative to the xml:base of the element containing the reference. If there is no xml:base attribute, then it is taken as relative to the document containing the reference. In the case of url('...') in an FO document, then the XSL-FO processor takes it as relative to the location of the FO document, not the XML source, for which it has no knowledge. If you aren't using XInclude and you are using fileref (not entityref), then the DocBook FO stylesheet just copies the fileref out to the FO file, and the XSL-FO processor has to deal with that path. So if your main document uses system entities to build its content from the modules, then any filerefs are not altered as they are copied to the FO. If you are using XIncludes to assemble your content, then the XInclude processor adds xml:base attributes to the parsed XML before the stylesheet sees it. By default the DocBook stylesheet resolves xml:base attributes for relative paths that it finds in any filerefs. If you want to turn off that behavior when using XIncludes (and thus preserve the original fileref string), then you will need version 1.70.1 of the stylesheets and set the stylesheet parameter keep.relative.image.uris=1. Bob Stayton Sagehill Enterprises DocBook Consulting firstname.lastname@example.org ----- Original Message ----- From: "Tony Graham" <Tony.Graham@Sun.COM> To: <email@example.com> Sent: Friday, July 28, 2006 12:22 PM Subject: [docbook-apps] Base URI for result of transformation? > What is, or should be, the base URI (for purposes of resolving relative > URIs > in "url('...')") for an FO document that is the result of transforming an > input XML document with the DocBook FO stylesheets? > > I'm working on testing the xmlroff XSL formatter with the DocBook > testdocs, > which have relative URI references in them, and the relative URIs end up > as > "url('...')" in the FO document. > > To make matters worse, the relative URIs don't resolve from the test docs > anyway. For example, if 'docbook-testdocs-1.1/tests/stamp.001.xml' > refers to > 'graphics/stamp.png', the actual 'stamp.png' is in the testdocs > distribution > as 'docbook-testdocs-1.1/graphics/stamp.png', not as > 'docbook-testdocs-1.1/tests/graphics/stamp.png'. > > I can rearrange the testdocs (or add symbolic links) so relative URIs > resolve, > but that still leaves me wondering about what the correct base URI for > the FO > document that is the result of a transformation. > > Is it: > > - The current directory? > > - The directory of the input XML document? > > - The directory of the input XSLT stylesheet? > > - None? > > - Something else? > > > Regards, > > > Tony. > > > --------------------------------------------------------------------- > To unsubscribe, e-mail: firstname.lastname@example.org > For additional commands, e-mail: email@example.com > > >