[XSL-LIST Mailing List Archive Home] [By Thread] [By Date] [Recent Entries] [Reply To This Message] RE: 1 XSL for 2 XML
> 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> > --+-- > >
|
PURCHASE STYLUS STUDIO ONLINE TODAY!Purchasing Stylus Studio from our online shop is Easy, Secure and Value Priced! Download The World's Best XML IDE!Accelerate XML development with our award-winning XML IDE - Download a free trial today! Subscribe in XML format
|