[XSL-LIST Mailing List Archive Home] [By Thread] [By Date] [Recent Entries] [Reply To This Message]

RE: 1 XSL for 2 XML

Subject: RE: 1 XSL for 2 XML
From: "Michael Kay" <mhk@xxxxxxxxx>
Date: Mon, 14 Jun 2004 12:47:57 +0100
local name namespace xsl selecting
> So, is it better to use
>    <xsl:template match="f:MYTAB|MYTAB">
> than
>    <xsl:template match="*[local-name(.)='MYTAB']">

Probably the former.

But my preferred solution would be that if the input is in the "wrong"
namespace, you should first do a transformation that puts it in the correct
namespace, and your main transformation then doesn't have to deal with these
complexities. 

Michael Kay



> ??
> 
> <?xml version="1.0"?>
> <xsl:stylesheet version="1.0" 
> xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
> xmlns:f="urn:schemas-cp-com:gen">
> <xsl:output method="html" version="4.0"/>
> <xsl:template match="/">
> <html><body>
> <xsl:apply-templates select="//f:MYTAB|//MYTAB"/>
> </body></html>
> </xsl:template>
> 
> <xsl:template match="f:MYTAB|MYTAB">
> <table border="1">
> <th>HEAD</th><th>
> <xsl:value-of select="MYHEAD"/><xsl:value-of select="f:MYHEAD"/></th>
> <xsl:apply-templates select="f:MYITEM|MYITEM"/>
> </table>
> </xsl:template>
> 
> <xsl:template match="f:MYITEM|MYITEM">
> <tr><td>ITEM</td>
> <td><xsl:value-of select="MYIT"/><xsl:value-of 
> select="f:MYIT"/></td></tr>
> </xsl:template>
> </xsl:stylesheet>
> 
> 
> > Selecting by local-name like this is not a very good idea, 
> when all you are
> > trying to do is to avoid specifying a correct namespace 
> prefix. Firstly,
> > it's selecting/matching elements that it shouldn't 
> (elements in the wrong
> > namespace). 
> > 
> > Secondly, with Saxon at any rate, it makes the search for a matching
> > template rule very inefficient. Saxon organizes rules by 
> the node-kind and
> > node-name of the nodes that are matched, and then looks for 
> "generic" rules
> > that can match multiple node kinds or multiple node-names. 
> If all the rules
> > are generic, as here, then it potentially tries to match 
> each element
> > against every rule.
> > 
> > Michael Kay 
> > 
> > > -----Original Message-----
> > > From: Petr Mach3 [mailto:Mach3P@xxxxxxxxx] 
> > > Sent: 03 June 2004 10:13
> > > To: xsl-list@xxxxxxxxxxxxxxxxxxxxxx
> > > Subject: Re:  1 XSL for 2 XML
> > > 
> > > Found answer, but ...
> > > Is it possible to use     exclude-result-prefixes="f"  ????
> > > It doesn't work for me.
> > > 
> > > <?xml version="1.0"?>
> > > <xsl:stylesheet version="1.0" 
> > > xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
> > > xmlns:f="urn:schemas-cp-com:gen">
> > > <xsl:output method="html" version="4.0"/>
> > > 
> > > <xsl:template match="/">
> > > <html><body>
> > > <xsl:apply-templates select="//*[local-name(.)='MYTAB']"/>
> > > </body></html>
> > > </xsl:template>
> > > 
> > > <xsl:template match="*[local-name(.)='MYTAB']">
> > > <table border="1">
> > > <th>HEAD</th>
> > > <th><xsl:value-of select="MYHEAD"/><xsl:value-of 
> > > select="f:MYHEAD"/></th>
> > > <xsl:apply-templates select="*[local-name(.)='MYITEM']"/>
> > > </table>
> > > </xsl:template>
> > > 
> > > <xsl:template match="*[local-name(.)='MYITEM']">
> > > <tr><td>ITEM</td>
> > > <td><xsl:value-of select="MYIT"/><xsl:value-of 
> > > select="f:MYIT"/></td></tr>
> > > </xsl:template>
> > > </xsl:stylesheet>
> 
> ____________________________________________________________
> Neomezený internet bez jakékoli smlouvy, kdykoli vás napadne. 
> A navíc 30 volných minut na volání! S předplacenou službou Go 
> Data Nonstop vše jen za 850 Kč měsíčně.
> http://ad.seznam.cz/clickthru?spotId=75021
> 
> --+------------------------------------------------------------------
> 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@xxxxxxxxxxxxxxxxxxxxxx>
> --+--
> 
> 


Current Thread

PURCHASE STYLUS STUDIO ONLINE TODAY!

Purchasing Stylus Studio from our online shop is Easy, Secure and Value Priced!

Buy Stylus Studio Now

Download The World's Best XML IDE!

Accelerate XML development with our award-winning XML IDE - Download a free trial today!

Don't miss another message! Subscribe to this list today.
Email
First Name
Last Name
Company
Subscribe in XML format
RSS 2.0
Atom 0.3
Site Map | Privacy Policy | Terms of Use | Trademarks
Free Stylus Studio XML Training:
W3C Member
Stylus Studio® and DataDirect XQuery ™are products from DataDirect Technologies, is a registered trademark of Progress Software Corporation, in the U.S. and other countries. © 2004-2013 All Rights Reserved.