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

RE: 1 XSL for 2 XML

Subject: RE: [xsl] 1 XSL for 2 XML
From: "Michael Kay" <mhk@xxxxxxxxx>
Date: Thu, 3 Jun 2004 13:08:24 +0100
xsl with 2 xml
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: [xsl] 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>
> 
> 
> 
> > Hi,
> > I need a little help. I have 2 XML and 2 XSL to view files in IE,
> > but I need only 1 XSL. Only SOAP header and namespaces is difference
> > between XML files.
> > Any help?
> ...
> > 2. XML:
> > <?xml version="1.0"?>
> > <?xml-stylesheet type='text/xsl' href='soap_mytab.xsl'?>
> > <soap:Envelope 
> xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
> xmlns:xsd="http://www.w3.org/2001/XMLSchema" 
> > xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
> >   <soap:Header>
> >   </soap:Header>
> >   <soap:Body>
> >     <receivedocument xmlns="urn:schemas-cp-com:loc">
> >       <BodyDocuments>
> > 	<MYTAB xmlns="urn:schemas-cp-com:gen">
> > 	 <MYHEAD>AAA</MYHEAD>
> > 	 <MYITEM>
> > 	    <MYIT>A1</MYIT>
> > 	 </MYITEM>
> > 	 <MYITEM>
> > 	    <MYIT>A2</MYIT>
> > 	 </MYITEM>
> > 	</MYTAB>
> >       </BodyDocuments>
> >     </receivedocument>
> >   </soap:Body>
> > </soap:Envelope>
> > 2.XSL soap_mytab.xsl:
> > <?xml version="1.0"?>
> > <xsl:stylesheet version="1.0" 
> xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
> > xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"
> > xmlns:d="urn:schemas-cp-com:loc"
> > xmlns:f="urn:schemas-cp-com:gen">
> > <xsl:output method="html" version="4.0"/>
> > <xsl:template match="/">
> > <html><body>
> > <xsl:apply-templates 
> select="soap:Envelope/soap:Body/d:receivedocument/d:BodyDocume
> nts/f:MYTAB"/>
> > </body></html>
> > </xsl:template>
> > <xsl:template match="f:MYTAB">
> > <table border="1">
> > <th>HEAD</th><th><xsl:value-of select="f:MYHEAD"/></th>
> > <xsl:apply-templates select="f:MYITEM"/>
> > </table>
> > </xsl:template>
> > <xsl:template match="f:MYITEM">
> > <tr><td>ITEM</td><td><xsl:value-of select="f:MYIT"/></td></tr>
> > </xsl:template>
> > </xsl:stylesheet>
> > 
> 
> ____________________________________________________________
> Konečně tě vidím barevně. SAMSUNG X450 již od 2577 Kč. www.oskar.cz
> http://ad.seznam.cz/clickthru?spotId=74859
> 
> --+------------------------------------------------------------------
> 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.