Re: [xsl] Referring to stylesheet itself, possible in XSLT 1.0, but how in XSLT 2.0?
2006-10-17 04:45:03
Michael Kay wrote:
I understand, but it really just said "Transformation
failed". Without any descriptive error, warning or whatever.
That's a bit puzzling. Calling document() with a URI that doesn't exist is a
recoverable error.
It was puzzling me too. I use Oxygen's Eclipse plugin for testing the
XSLT. Normally it simply lists all the errors. Now it just said
"Transformation failed". I learned something: try it outside of the IDE
box. The following happens:
With this stylesheet:
---------------------
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
version="2.0">
<xsl:template match="/">
1) <xsl:value-of select="document-uri(document(''))"></xsl:value-of>
2) <xsl:value-of select="static-base-uri()"></xsl:value-of>
3) <xsl:value-of select="base-uri(.)"></xsl:value-of>
</xsl:template>
</xsl:stylesheet>
This output:
------------
<?xml version="1.0" encoding="UTF-8"?>
1) file:/D:/Workspaces/Eclipse/etc/def/config/test.xslt
2) file:/D:/Workspaces/Eclipse/ect/def/config/test.xslt
3) file:/D:/Workspaces/Eclipse/etc/def/config/test.xml
With this stylesheet:
---------------------
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
version="2.0" xml:base="../..">
<xsl:template match="/">
1) <xsl:value-of select="document-uri(document(''))"></xsl:value-of>
2) <xsl:value-of select="static-base-uri()"></xsl:value-of>
3) <xsl:value-of select="base-uri(.)"></xsl:value-of>
</xsl:template>
</xsl:stylesheet>
This output:
------------
Error on line 1 column 1 of file:/D:/Workspaces/Eclipse/etc/:
SXXP0003: Error reported by XML parser: Content is not allowed in prolog.
Recoverable error on line 5 of
file:/D:/Workspaces/Eclipse/etc/def/config/test.xslt:
FODC0005: org.xml.sax.SAXParseException: Content is not allowed in prolog.
<?xml version="1.0" encoding="UTF-8"?>
1)
2) file:/D:/Workspaces/Eclipse/etc/
3) file:/D:/Workspaces/Eclipse/etc/test.xml
I believe in the light of what all people said on this subject, this
behavior is to be expected.
Try putting xml:base at the level of the stylesheet where you need it, e.g.
on a template rule, and have a global variable
The xml:base was used to make xsl:import easier. I did not want to add
it to each xsl:import statement. But I guess, I'd have to decide on the
pros and cons of either technique. At least I understand now what's
happening.
--~------------------------------------------------------------------
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: <mailto:xsl-list-unsubscribe(_at_)lists(_dot_)mulberrytech(_dot_)com>
--~--
<Prev in Thread] |
Current Thread |
[Next in Thread>
|
- RE: [xsl] Referring to stylesheet itself, possible in XSLT 1.0, but how in XSLT 2.0?, (continued)
- RE: [xsl] Referring to stylesheet itself, possible in XSLT 1.0, but how in XSLT 2.0?, Michael Kay
- Re: [xsl] Referring to stylesheet itself, possible in XSLT 1.0, but how in XSLT 2.0?, Andrew Welch
- Re: [xsl] Referring to stylesheet itself, possible in XSLT 1.0, but how in XSLT 2.0?, Abel Braaksma
- RE: [xsl] Referring to stylesheet itself, possible in XSLT 1.0, but how in XSLT 2.0?, Michael Kay
- Re: [xsl] Referring to stylesheet itself, possible in XSLT 1.0, but how in XSLT 2.0?, Andrew Welch
- RE: [xsl] Referring to stylesheet itself, possible in XSLT 1.0, but how in XSLT 2.0?, Michael Kay
- Re: [xsl] Referring to stylesheet itself, possible in XSLT 1.0, but how in XSLT 2.0?, Andrew Welch
- Re: [xsl] Referring to stylesheet itself, possible in XSLT 1.0, but how in XSLT 2.0?, David Carlisle
- Re: [xsl] Referring to stylesheet itself, possible in XSLT 1.0, but how in XSLT 2.0?, Abel Braaksma
- Re: [xsl] Referring to stylesheet itself, possible in XSLT 1.0, but how in XSLT 2.0?,
Abel Braaksma <=
- Re: [xsl] Referring to stylesheet itself, possible in XSLT 1.0, but how in XSLT 2.0?, Abel Braaksma
- Re: [xsl] Referring to stylesheet itself, possible in XSLT 1.0, but how in XSLT 2.0?, David Carlisle
- Re: [xsl] Referring to stylesheet itself, possible in XSLT 1.0, but how in XSLT 2.0?, Abel Braaksma
- Re: [xsl] Referring to stylesheet itself, possible in XSLT 1.0, but how in XSLT 2.0?, Andrew Welch
- Re: [xsl] Referring to stylesheet itself, possible in XSLT 1.0, but how in XSLT 2.0?, Abel Braaksma
- Re: [xsl] Referring to stylesheet itself, possible in XSLT 1.0, but how in XSLT, Colin Adams
- Re: [xsl] Referring to stylesheet itself, possible in XSLT 1.0, but how in XSLT, Colin Adams
- Re: [xsl] Referring to stylesheet itself, possible in XSLT 1.0, but how in XSLT, Abel Braaksma
- Re: [xsl] Referring to stylesheet itself, possible in XSLT 1.0, but how in XSLT, Colin Adams
- Re: [xsl] Referring to stylesheet itself, possible in XSLT 1.0, but how in XSLT 2.0?, George Cristian Bina
|
|
|