Subject: Re: [xsl] question on support of stylesheet embedding From: Hermann Stamm-Wilbrandt <STAMMW@xxxxxxxxxx> Date: Mon, 20 Jul 2009 21:29:02 +0200 |
> If you reverse the method and include your data in the xsl:stylesheet > (example below) it will work with all browsers. Remarks: > - tested with IE 6, Firefox 3.5, Opera 9.6. > - the PI would work also with an empty href (exept IE) > - the file embedd-test3.xsl was served with application/xml You are right, that does work, but it is not what xsl-url is about: (see http://www.stamm-wilbrandt.de/en/xsl-list/xsl-url/#listings) The idea of xsl-url is to have - one data file (cdcatalog.xml) - one stylesheet (cdcatalog.xsl) referenced by that data file - many different files cdcatalog.1.xsl, cdcatalog.2.xsl, ... just "referencing" the data file and the stylesheet (indirectly, via cdcatalog.xsl.xsl). This has the advantage that any change in the data file (cdcatalog.xml) is immediately visible to all referencing data files, and each data file may pass in any information (the query string in the samples) without any side-effect -- and this with pure XSLT ... If embedding the data file into the transformation all files (cdcatalog.1.xsl, cdcatalog.2,xsl, ...) would have to be modified and are difficult to keep in sync. Mit besten Gr|_en / Best wishes, Hermann Stamm-Wilbrandt Developer, XML Compiler WebSphere DataPower SOA Appliances ---------------------------------------------------------------------- IBM Deutschland Research & Development GmbH Vorsitzender des Aufsichtsrats: Martin Jetter Geschdftsf|hrung: Erich Baier Sitz der Gesellschaft: Bvblingen Registergericht: Amtsgericht Stuttgart, HRB 243294 Manfred Staudinger <manfred.stauding To er@xxxxxxxxx> xsl-list@xxxxxxxxxxxxxxxxxxxxxx cc 07/20/2009 08:15 PM Subject Re: [xsl] question on support of stylesheet embedding Please respond to xsl-list@xxxxxxxx lberrytech.com On 15/07/2009, Hermann Stamm-Wilbrandt <STAMMW@xxxxxxxxxx> wrote: > My interest in this was to eliminate the need for file "cdcatalog.xsl.xsl" > by incorporating "something" as embedded stylesheet into "cdcatalog1.xml" > and "cdcatalog2.xml" from posting "../200906/msg00070.html" > (see http://www.stamm-wilbrandt.de/en/xsl-list/xsl-url/#listings). > > Since stylesheet embedding is not supported by all browsers I will not > investigate further into that direction. If you reverse the method and include your data in the xsl:stylesheet (example below) it will work with all browsers. Remarks: - tested with IE 6, Firefox 3.5, Opera 9.6. - the PI would work also with an empty href (exept IE) - the file embedd-test3.xsl was served with application/xml Regards, Manfred Staudinger embedd-test3.xsl: <?xml version="1.0" encoding="UTF-8" ?> <?xml-stylesheet type="text/xsl" href="embedd-test3.xsl"?> <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> <xsl:output method="html"/> <xsl:template match="/">. <xsl:apply-templates select="*/xsl:variable [@name='catalog']/*"/> </xsl:template> <xsl:template match="catalog"> <html> <body> <h2>My CD Collection</h2> <table border="1"> <tr bgcolor="#9acd32"> <th>Title</th> <th>Artist</th> </tr> <xsl:apply-templates select="*"/> </table> </body> </html> </xsl:template> <xsl:template match="cd"> <tr> <td><xsl:value-of select="title"/> </td> <td><xsl:value-of select="artist"/> </td> </tr> </xsl:template> <xsl:variable name="catalog"> <catalog> <cd> <title>Empire Burlesque</title> <artist>Bob Dylan</artist> <country>USA</country> <company>Columbia</company> <price>10.90</price> <year>1985</year> </cd> <cd> <title>The white album</title> <artist>Beatles</artist> <country>UK</country> <company>apple</company> <price>???</price> <year>196?</year> </cd> </catalog> </xsl:variable> </xsl:stylesheet> On 15/07/2009, Hermann Stamm-Wilbrandt <STAMMW@xxxxxxxxxx> wrote: >> I tried this in Chrome, and it does a fantastic job ! Which is amazing >> to me because chrome does horribly on "pure xml" files ... one thing I >> keep IE lying around > > It is fine that most browsers but IEs support stylesheet embedding. > > My interest in this was to eliminate the need for file "cdcatalog.xsl.xsl" > by incorporating "something" as embedded stylesheet into "cdcatalog1.xml" > and "cdcatalog2.xml" from posting "../200906/msg00070.html" > (see http://www.stamm-wilbrandt.de/en/xsl-list/xsl-url/#listings). > > Since stylesheet embedding is not supported by all browsers I will not > investigate further into that direction. > > > Mit besten Gr|_en / Best wishes, > > Hermann Stamm-Wilbrandt > Developer, XML Compiler > WebSphere DataPower SOA Appliances > ---------------------------------------------------------------------- > IBM Deutschland Research & Development GmbH > Vorsitzender des Aufsichtsrats: Martin Jetter > Geschdftsf|hrung: Erich Baier > Sitz der Gesellschaft: Bvblingen > Registergericht: Amtsgericht Stuttgart, HRB 243294 > > > > "David A. Lee" > <dlee@xxxxxxxxxxx > > To > xsl-list@xxxxxxxxxxxxxxxxxxxxxx > 07/15/2009 06:24 cc > PM > Subject > Re: [xsl] question on support of > Please respond to stylesheet embedding > xsl-list@xxxxxxxx > lberrytech.com > > > > > > > > > I tried this in Chrome, and it does a fantastic job ! Which is amazing > to me because chrome does horribly on "pure xml" files ... one thing I > keep IE lying around > > David A. Lee > dlee@xxxxxxxxxxx > http://www.calldei.com, > http://www.xmlsh.org > 812-482-5224 > > > > Martin Honnen wrote: >> Hermann Stamm-Wilbrandt wrote: >> >>> the spec says that embedding a stylesheet into a XML document is >>> possible: >>> http://www.w3.org/TR/xslt#section-Embedding-Stylesheets >>> >>> After some searching I was able to get the cdcatalog sample below >>> working: >>> (http://www.stamm-wilbrandt.de/en/xsl-list/cdcatalog.xml if you want to >>> click). >>> >>> But it is working for Firefox 2/3 and Opera 9.64, NOT for MS IE6. >>> I found neither negative nor positive statements on IE 6/7/8 support >>> of stylesheet embedding while searching the web. >>> >>> Does anybody now the answer whether any of the Microsoft browsers >>> supports >>> stylesheet embedding? >> >> It does not look like that is supported with IE. IE 8 when I try your >> test case http://www.stamm-wilbrandt.de/en/xsl-list/cdcatalog.xml >> seems to sniff the content and try to interpret it as text/html >> meaning you end up with a browser window displaying the contents of >> the first title element in the window bar and a table with only the >> header row as the contents of the document followed by any text nodes >> in all those unknown (to the HTML parser) elements like artist, country.
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
Re: [xsl] question on support of st, Manfred Staudinger | Thread | RE: [xsl] question on support of st, Michael Kay |
Re: [xsl] problem getting "every" e, Wendell Piez | Date | Re: [xsl] for-each-group for multip, C. M. Sperberg-McQue |
Month |