Bug #3377
closedHTML base tag ignored in stylesheetLocation and sourceLocation
100%
Description
The following bug was not present in Saxon-JS 1.0.0; but appears in Saxon-JS 1.0.1.
As reported by a user:
with the new version it appears to ignore the tag reference in the HTML page so I have to change all my previous code to use absolute paths e.g. I changed to start with ‘/’
stylesheetLocation: "/resources/scripts/root.sef.xml",
sourceLocation: "/resources/config/profile.xml"
Previously, I had used the html base tag to establish this context
<base href="/">
<script type="text/javascript" src="resources/scripts/SaxonJS.min.js"></script>
<script>
function update(clock) {
SaxonJS.transform({
stylesheetLocation: "resources/scripts/root.sef.xml",
sourceLocation: "resources/config/profile.xml"
});
}
function run() {
update();
window.setInterval(update,5000000000000);
}
</script>
Relative URIs supplied for stylesheetLocation or sourceLocation should be resolved against the URI of the HTML page. However Saxon-JS ignores any tag used in an HTML page, so the base URI we resolve against is incorrect.
Rather than using window.location.toString() we should use window.document.baseURI
Note that previously (in Saxon 1.0.0) we did not resolve the URI ourselves, but rather passed a relative URI directly to the XMLHttpRequest.open() call - which handled the resolving correctly in this case.
Please register to edit this issue
Also available in: Atom PDF Tracking page