xsl-list
[Top] [All Lists]

Re: [xsl] Data extraction

2018-12-17 13:31:40
David,
Thanks for the reply. My apologies, i didn't give example of my XML. The
XML contains single occurance of ElementToExtract/ node. In which case I
thought that instead of going through the whole tree, jumping to the
element using descendant::*:ElementToExtract is firstly small in code and
secondly eleminating the useless node traversal ?

Wanted to validate my thought ..


On Mon, Dec 17, 2018, 2:23 PM David Carlisle 
d(_dot_)p(_dot_)carlisle(_at_)gmail(_dot_)com <
xsl-list-service(_at_)lists(_dot_)mulberrytech(_dot_)com wrote:

On Mon, 17 Dec 2018 at 17:54, Mailing Lists Mail 
daktapaal(_at_)gmail(_dot_)com
<xsl-list-service(_at_)lists(_dot_)mulberrytech(_dot_)com> wrote:

Hi all
I have a requirement where I need to write an xslt to extract a
particular node from source tree.


Someone wrote an xslt that looked like this.. pseudo code

Template Match node()|@*
  Apply-template select node()|@*

Template match *:ElementToExtract
    Copy of select .

I thought the developer was making a lot of traversing using the above
approach and he could have instead done

Template match "/"
   Copy of select descendant::*:ElementToExtract


Would you agree ? I thought this was very obviously better and faster ...

Forgive my pseudo code.

whether or not it is faster depends on the processor you are using and
how it optimises such searches but in general they are not equivalent
if you can have

<ElementToExtract>...<ElementToExtract>zzz</ElementToExtract>...</ElementToExtract>

Then the first form will return

<ElementToExtract>...<ElementToExtract>zzz</ElementToExtract>...</ElementToExtract>
and the second

<ElementToExtract>...<ElementToExtract>zzz</ElementToExtract>...</ElementToExtract><ElementToExtract>zzz</ElementToExtract

David



Dr.pal







XSL-List info and archive
EasyUnsubscribe (by email)


--~----------------------------------------------------------------
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
EasyUnsubscribe: http://lists.mulberrytech.com/unsub/xsl-list/1167547
or by email: xsl-list-unsub(_at_)lists(_dot_)mulberrytech(_dot_)com
--~--
<Prev in Thread] Current Thread [Next in Thread>