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.
Performance Issue

Performance Issue

2007-04-05       - By Henry Zongaro
Reply:     1     2     3  

Hello.

"alapati.sasi" <alapati.sasi@(protected)> wrote on 2007-04-04 02:47:28 PM:
> i need to transform a big source xml into target xml . My source xml
comes
> with the namespace prefix and my xsl doesnt contain any prefixes for
xpath.
>
> its very difficult to change all the xpath's at run time for me .
>
> i have two options
> 1) First change the source xml to another xml file using

[HZ:  Removed stylesheet to create copy using just local names, no
namespaces]

> this template .This will remove all the prefix bindings .
> Now apply my original style sheet .I Will get the target xml.
> Is this cause me performace hit ?
> Is it better to do like this or Is it better to have local-name() in the
> stylesheet itself so that there is no additinal transformation required
.
> But if i use local-name() for all the xpath's i heard that processing
time
> will take more time ?

You're right that using a path expression like "*[local-name()='foo']"
will not perform as well as using the expression "foo" or "p:foo".  My
instinctive reaction is that your other alternative of using a
preprocessing stylesheet that strips out namespaces will probably perform
worse.  If the input to a stylesheet is very large, the time spent
constructing the input data model and serializing the result (assuming
that that is about as large) often dominates the performance; in this
case, you would be doing all of that twice.  However, it really depends on
your particular XML and XSL.  Your best bet would probably be to prototype
both solutions, and see how they perform for your particular.

If you're using the SAX API to deliver your XML to your stylesheet,
another option might be to apply some filtering of the SAX events that
removes namespace declarations, and changes element and attribute names to
equivalent, non-namespaced names.

I hope that helps you with your decision.

Thanks,

Henry
------------------------------------------------------------------
Henry Zongaro      XSLT Processors Development
IBM SWS Toronto Lab   T/L 969-6044;  Phone +1 905 413-6044
mailto:zongaro@(protected)


<br><tt><font size=2>Hello.</font></tt>
<br>
<br><tt><font size=2>&quot;alapati.sasi&quot; &lt;alapati.sasi@(protected)&gt;
wrote on 2007-04-04 02:47:28 PM:<br>
&gt; i need to transform a big source xml into target xml . My source xml
comes<br>
&gt; with the namespace prefix and my xsl doesnt contain any prefixes for
xpath.<br>
&gt; <br>
&gt; its very difficult to change all the xpath's at run time for me .<br>
&gt; <br>
&gt; i have two options<br>
&gt; 1) First change the source xml to another xml file using <br>
</font></tt>
<br><tt><font size=2>[HZ: &nbsp;Removed stylesheet to create copy using
just local names, no namespaces]</font></tt>
<br><tt><font size=2><br>
&gt; this template .This will remove all the prefix bindings .<br>
&gt; Now apply my original style sheet .I Will get the target xml.<br>
&gt; Is this cause me performace hit ? <br>
&gt; Is it better to do like this or Is it better to have local-name()
in the<br>
&gt; stylesheet itself so that there is no additinal transformation required
.<br>
&gt; But if i use local-name() for all the xpath's i heard that processing
time<br>
&gt; will take more time ?<br>
</font></tt>
<br><tt><font size=2>You're right that using a path expression like &quot;*
[local-name()='foo']&quot;
will not perform as well as using the expression &quot;foo&quot; or &quot;p:foo
&quot;.
&nbsp;My instinctive reaction is that your other alternative of using a
preprocessing stylesheet that strips out namespaces will probably perform
worse. &nbsp;If the input to a stylesheet is very large, the time spent
constructing the input data model and serializing the result (assuming
that that is about as large) often dominates the performance; in this case,
you would be doing all of that twice. &nbsp;However, it really depends
on your particular XML and XSL. &nbsp;Your best bet would probably be to
prototype both solutions, and see how they perform for your particular.</font><
/tt>
<br>
<br><tt><font size=2>If you're using the SAX API to deliver your XML to
your stylesheet, another option might be to apply some filtering of the
SAX events that removes namespace declarations, and changes element and
attribute names to equivalent, non-namespaced names.</font></tt>
<br>
<br><font size=2 face="sans-serif">I hope that helps you with your decision.<
/font>
<br><font size=2 face="sans-serif"><br>
Thanks,<br>
<br>
Henry<br>
------------------------------------------------------------------<br>
Henry Zongaro &nbsp; &nbsp; &nbsp;XSLT Processors Development<br>
IBM SWS Toronto Lab &nbsp; T/L 969-6044; &nbsp;Phone +1 905 413-6044<br>
mailto:zongaro@(protected)</font>
<br>