Subject: RE: RE: [xsl] Producing Excel 2000 htm files: how do I manage the hidden stuff From: "Michael Kay" <mike@xxxxxxxxxxxx> Date: Tue, 2 May 2006 18:51:41 +0100 |
Given the need to create this horrible format, one way around it is to use character maps (or even d-o-e) to create the start and end comment delimiters. That way, the serializer doesn't know you're in the middle of a comment, so it will output elements as if they were regular elements. Another way is to output the comment as an element <comment>...</comment> and then postprocess with a text editor: s|<comment>|<!--| s|</comment>|-->| Michael Kay http://www.saxonica.com/ > -----Original Message----- > From: Jon Gorman [mailto:jonathan.gorman@xxxxxxxxx] > Sent: 02 May 2006 18:39 > To: xsl-list@xxxxxxxxxxxxxxxxxxxxxx > Subject: Re: RE: [xsl] Producing Excel 2000 htm files: how do > I manage the hidden stuff > > On 5/2/06, cknell@xxxxxxxxxx <cknell@xxxxxxxxxx> wrote: > > The direct answer is, "Because I didn't think of it." > Having now tried it, I can tell you that it strips away all > the XML markup from the document, leaving only the element contents. > > It creates an comment, just like xsl:element. The content of > the comment are determined by what the xsl:comment element contains. > Remember that a comment doesn't contain markup (since it is > after all, just text). So when you have a element somewhere > in the template, it returns just the text value. (Just as if > you evaluated an element as a string elsewhere in XSLT). > > If you want to complate the sin of inserting functionality in > a non-functional part of the xml document, you'll need to > tell it what text you want to output (ie the "looks like > markup" but is not). > > So one possible way of doing this would be something like: > > <xsl:template match="*" mode="insideComment"> > <xsl:text><</xsl:text><xsl:value-of select="name(.)" > /><xsl:text>></xsl:text> > <xsl:apply-templates /> > <xsl:text></</xsl:text><xsl:value-of select="name(.)" > /><xsl:text>></xsl:text> > </xsl:template> > > > > Of course, I wonder more: > 1) Why not just do it in the Excel xml format if your target > is Excel 2000. I thought that was more well supported and > documented for the 2000 version? > > 2) Why not use some other XML techniques (SAX or DOM) or > libraries in conjunction with XSLT to produce an Excel > binary? This is an approach I find myself taking, but mostly > because of a mixed user base who might be still using > versions of Excel earlier than 2000. > > Jon Gorman
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
Re: RE: [xsl] Producing Excel 2000 , Jon Gorman | Thread | Re: RE: [xsl] Producing Excel 2000 , Jon Gorman |
RE: [xsl] Cannot output CRLF, Michael Kay | Date | Re: RE: [xsl] Producing Excel 2000 , Jon Gorman |
Month |