Subjects
Home
Xalan extension functions
Fomatting question serializing DOM with pretty print
xalan with pull parser
Cannot find the declaration
Apache Xalan drop support to run on JRE 1 1 x
Why does Doctype change processing of a document
Node set to XML string via Java extensions in Xalan J: possible?
Templates/Transformers + thread safety???
Problem evaluating xpath with muliple prefix with different namespace
remove an arbitrary attribute from xsl output
Xalan3 XSLT 2 0 XPath 2 0 support?
Problem using compiled translets with Xalan !!
Xalan and jstl 1 1 problem with transform tag
NullPointer in DOM2DTM getLocalName
URIResolvers base parameter with xsltc and cascaded imports
Performance problem for Xalan J on intel dual core
Standard libraries in JAXP?
Serializing a DOM tree to XML file, customize entities replacement
Library Conflict Involving BCEL Library
A question on how users are using <xsl:message >
Kevin Cormier as a new Apache Xalan J committer
Struggling to iterate over tokenized string
Xalan count() trouble
Problem with recursive xpath
Error when switching to java 1 5
document( ' ')
Problem with Xalan2 7 0 transformation
cr/lf options
entity encoded XML
can xalan transform 2 xml using one xslt?
Xalan J JIRA defect review Monday October 16, 2006 from 2:00 to 3:30 pm ED
xsl transform with cdata section elements
xslt parameters not expanded
Weird behavior of XPath evaluate()
How to avoid <xsl:message > instruction prints stylesheet file informations ?
Cannot find SimpleTransform subdirectory after installing Xalan J
recover from document not found exceptions
jdk1 5 and Xalan jar differences?
Performance Issue
Error/Bug adding floating point numbers
XPathAPI: eval exp using nodes with default namespace
modifying xalan to output invalid XML
NullPointerException
mege two separate xml nodes into one
Is this a XALAN document identification bug?
is StylesheetRoot really java io Serializable ?
transform() fails for DOMSource but succeeds for StreamSource
Thoughts on Transformer parameter passing
HELP, Xalan and jstl 1 1 problem with transformer
Problem with XPath namespace axis?
string utils:replace deleting search string if replacement string is an HTML
help with enumeration values pls
xalan 2 5 1 vs 2 7 performance question
How to insert/update in XML document
HTML Serialization and Handling of Ampersands in HREF Attributes
XHTML link tag stripping
SystemId Unknown; Line #24; Column #49; java lang NullPointerException
xpath text() help
Apostrophe problem with xalan 2 7 0
How to set variables in XML document?
Links
Home
Oracle database error code ...
 
Search:  
Power your search with and, or, +, -, or "some phrase" operators.
document( ' ')

document( ' ')

2006-12-27       - By Christine Li
Reply:     1     2     3     4     5  

>which leads me to believe that Xalan is actually using the system id as a
>URI to load a resource.  It seems kind of broken to require that any
>stylesheet that references itself be reloadable and that it actually
would
>reload it and reparse it.

You are right about this. For document function, the processor will reload
the document using the system id as a URI

Christine Li
XSLT Development
IBM Toronto Lab
Tel: (905)413-2601
Email: jycli@(protected)



dnfoote <dnfoote@(protected)>
27/12/2006 04:47 AM

To
xalan-j-users@(protected)
cc

Subject
Re: document('')







Mike,

Thanks for the quick response.  What you are saying makes sense, but I was
hoping to use a dynamically generated stylesheet as an easy way to inject
some lookup info into the result.  If Xalan was just using the system id
as
a unique identifier then I would be okay.  But instead if I change the
code
to the following:

Source xsl = new StreamSource(new FileInputStream("media.xsl"));
xsl.setSystemId("MyXSL");
Transformer transformer = tFactory.newTransformer(xsl);

I get :

file:///C:/.../MyXSL; Line #34; Column #78; Can not load requested doc:
C:\...\MyXSL (The system cannot find the file specified)

which leads me to believe that Xalan is actually using the system id as a
URI to load a resource.  It seems kind of broken to require that any
stylesheet that references itself be reloadable and that it actually would
reload it and reparse it.

I even thought, well, a StreamSource is not re-usable, so what if I use a
DOMSource.  Same story, Xalan tries to reload the original stylesheet
using
the system id.  This is really bumming me out :)



Mike Brown-3 wrote:
>
> dnfoote wrote:
>> I have done some testing with a style sheet that uses the document
>> function
>> with an empty string as its only argument.  The document('') call
errors
>> out
>> complaining 'SystemId Unknown' if I invoke newTransformer as follows:
>>
>> Transformer transformer = tFactory.newTransformer(new StreamSource(new
>> FileInputStream("media.xsl")));
>>
>> instead of:
>>
>> Transformer transformer = tFactory.newTransformer(new
>> StreamSource("media.xsl"));
>
> Because when you constructed the StreamSource from a FileInputStream,
you
> didn't set the StreamSource's system ID, which is a URI to use as the
> document's ID and against which your processor's URIResolver will
resolve
> relative references like the '' (empty string) in that document() call.
>
> See the StreamSource API docs and set the system ID to a full URI like
> "file:///C:/path/to/media.xsl".
>
>> Is it true that Xalan cannot reference the stylesheet document tree
>> unless
>> it got the document from a URI in the first place?
>
> No, it's not true.
>
> However, every document has a URI / system ID, regardless of how the
> document
> was obtained, transmitted, or referred to in APIs. Maybe it represents
> where
> you got the doc from, maybe not. If you didn't set one, then one was
> assigned
> to it -- probably not very intelligently.  If you did set one, but it
> wasn't a
> full URI, then the results are unpredictable and
implementation-dependent
> and
> sometimes wrong, as you've observed with your test stylesheet.
>
>> Has anyone else seen this behavior?  Is it correct?
>
> First time I've seen it.
>
> Even though you weren't really setting the base URI / system ID
correctly,
> your stylesheet shouldn't have failed.  I'd consider it a bug in Xalan,
> but
> others may disagree.
>

--
View this message in context:
http://www.nabble.com/document%28%27%27%29-tf2884411.html#a8060924
Sent from the Xalan - J - Users mailing list archive at Nabble.com.




<br><font size=2 face="sans-serif">&gt;</font><tt><font size=2>which leads
me to believe that Xalan is actually using the system id as a<br>
&gt;URI to load a resource. &nbsp;It seems kind of broken to require that
any<br>
&gt;stylesheet that references itself be reloadable and that it actually
would<br>
&gt;reload it and reparse it.</font></tt>
<br>
<br><tt><font size=2>You are right about this. For document function, the
processor will reload the document using the system id as a URI</font></tt>
<br>
<br><font size=2 face="sans-serif">Christine Li<br>
XSLT Development<br>
IBM Toronto Lab<br>
Tel: (905)413-2601<br>
Email: jycli@(protected)</font>
<br>
<br>
<br>
<table width=100%>
<tr valign=top>
<td width=40%><font size=1 face="sans-serif"><b>dnfoote &lt;dnfoote@(protected)
&gt;</b>
</font>
<p><font size=1 face="sans-serif">27/12/2006 04:47 AM</font>
<td width=59%>
<table width=100%>
<tr valign=top>
<td>
<div align=right><font size=1 face="sans-serif">To</font></div>
<td><font size=1 face="sans-serif">xalan-j-users@(protected)</font>
<tr valign=top>
<td>
<div align=right><font size=1 face="sans-serif">cc</font></div>
<td>
<tr valign=top>
<td>
<div align=right><font size=1 face="sans-serif">Subject</font></div>
<td><font size=1 face="sans-serif">Re: document('')</font></table>
<br>
<table>
<tr valign=top>
<td>
<td></table>
<br></table>
<br>
<br>
<br><tt><font size=2><br>
Mike,<br>
<br>
Thanks for the quick response. &nbsp;What you are saying makes sense, but
I was<br>
hoping to use a dynamically generated stylesheet as an easy way to inject<br>
some lookup info into the result. &nbsp;If Xalan was just using the system
id as<br>
a unique identifier then I would be okay. &nbsp;But instead if I change
the code<br>
to the following:<br>
<br>
Source xsl = new StreamSource(new FileInputStream(&quot;media.xsl&quot;));<br>
xsl.setSystemId(&quot;MyXSL&quot;);<br>
Transformer transformer = tFactory.newTransformer(xsl);<br>
<br>
I get :<br>
<br>
file:///C:/.../MyXSL; Line #34; Column #78; Can not load requested doc:<br>
C:\...\MyXSL (The system cannot find the file specified)<br>
<br>
which leads me to believe that Xalan is actually using the system id as
a<br>
URI to load a resource. &nbsp;It seems kind of broken to require that any<br>
stylesheet that references itself be reloadable and that it actually would<br>
reload it and reparse it.<br>
<br>
I even thought, well, a StreamSource is not re-usable, so what if I use
a<br>
DOMSource. &nbsp;Same story, Xalan tries to reload the original stylesheet
using<br>
the system id. &nbsp;This is really bumming me out :)<br>
<br>
<br>
<br>
Mike Brown-3 wrote:<br>
&gt; <br>
&gt; dnfoote wrote:<br>
&gt;&gt; I have done some testing with a style sheet that uses the document<br>
&gt;&gt; function<br>
&gt;&gt; with an empty string as its only argument. &nbsp;The document('')
call errors<br>
&gt;&gt; out<br>
&gt;&gt; complaining 'SystemId Unknown' if I invoke newTransformer as follows:
<br>
&gt;&gt; <br>
&gt;&gt; Transformer transformer = tFactory.newTransformer(new StreamSource(new
<br>
&gt;&gt; FileInputStream(&quot;media.xsl&quot;)));<br>
&gt;&gt; <br>
&gt;&gt; instead of:<br>
&gt;&gt; <br>
&gt;&gt; Transformer transformer = tFactory.newTransformer(new<br>
&gt;&gt; StreamSource(&quot;media.xsl&quot;));<br>
&gt; <br>
&gt; Because when you constructed the StreamSource from a FileInputStream,
you<br>
&gt; didn't set the StreamSource's system ID, which is a URI to use as
the<br>
&gt; document's ID and against which your processor's URIResolver will
resolve<br>
&gt; relative references like the '' (empty string) in that document()
call.<br>
&gt; <br>
&gt; See the StreamSource API docs and set the system ID to a full URI
like<br>
&gt; &quot;file:///C:/path/to/media.xsl&quot;.<br>
&gt; <br>
&gt;&gt; Is it true that Xalan cannot reference the stylesheet document
tree<br>
&gt;&gt; unless<br>
&gt;&gt; it got the document from a URI in the first place?<br>
&gt; <br>
&gt; No, it's not true.<br>
&gt; <br>
&gt; However, every document has a URI / system ID, regardless of how the<br>
&gt; document<br>
&gt; was obtained, transmitted, or referred to in APIs. Maybe it represents<br>
&gt; where<br>
&gt; you got the doc from, maybe not. If you didn't set one, then one was<br>
&gt; assigned<br>
&gt; to it -- probably not very intelligently. &nbsp;If you did set one,
but it<br>
&gt; wasn't a<br>
&gt; full URI, then the results are unpredictable and implementation-dependent
<br>
&gt; and <br>
&gt; sometimes wrong, as you've observed with your test stylesheet.<br>
&gt; <br>
&gt;&gt; Has anyone else seen this behavior? &nbsp;Is it correct?<br>
&gt; <br>
&gt; First time I've seen it.<br>
&gt; <br>
&gt; Even though you weren't really setting the base URI / system ID correctly,
<br>
&gt; your stylesheet shouldn't have failed. &nbsp;I'd consider it a bug
in Xalan,<br>
&gt; but <br>
&gt; others may disagree.<br>
&gt; <br>
<br>
-- <br>
View this message in context: http://www.nabble.com/document%28%27%27%29
-tf2884411.html#a8060924<br>
Sent from the Xalan - J - Users mailing list archive at Nabble.com.<br>
<br>
</font></tt>
<br>