Jeff, I never thanked you for this sample code you sent me. I have dropped the XSLT from the current application I'm working on, but when I have opportunity to look into it again, I will find it most helpful.
Thanks again, Erik On Friday, April 12, 2002, at 04:42 PM, Jeff Levy wrote: > Have you considered using sablotron's Excellent Named Buffer support? > > I do this all the time. > > ie: $addl_buffers['MySecondBuffer'] = "<?xml > version='1.0'?><MyNode>Blah</MyNode>" > $addl_buffers['MyThirdArbitraryBuffer'] = ... etc etc etc... > > then, in stylesheet, for instance: > > <xsl:variable name="TestBuffer" > select="document('arg:/MySecondBuffer')/MyNode"/> > > etc, etc. > > On Mon, 01 Apr 2002 11:08:12 -0500, Erik Price wrote: > > >> On Friday, March 29, 2002, at 01:56 PM, Erik Price wrote: >> > <snip/> > >> >> >> Much thanks to Sean Scanlon for showing me how to create HTML >> attributes >> from XML with XSLT. >> >> >> >> Erik >> >> >> >> ---- >> >> Erik Price >> Web Developer Temp >> Media Lab, H.H. Brown >> [EMAIL PROTECTED] >> >>> From: Erik Price <[EMAIL PROTECTED]> Date: Fri Mar 29, 2002 01:56:55 >>> PM US/Eastern To: [EMAIL PROTECTED] Subject: [PHP] IMPORTANT >>> question for anyone using XSLT >>> >>> My, there have been a lot of questions about XSLT in the past 24 >>> hrs... >>> admittedly most of them coming from me. In addition to my first >>> question (repeated below for clarity), I have a second one -- how do I >>> perform an XSLT transformation on multiple XML documents? Do I need >>> to >>> perform a separate XSLT transformation on each one? The reason I ask >>> is b/c I am pulling my XML from a DB, so there may be more than one >>> based on the results from the query. If anyone can answer this, >>> that'd >>> be great. >>> >>> If not, perhaps you can help with this situation, which I believe will >>> probably plague just about any PHP programmer who will ever use XSLT >>> with PHP (or possibly any other language): >>> >>> I am still unsure of the best way to mix PHP & [X]HTML together in an >>> XSLT stylesheet, because regardless of whether you specify the output >>> method as "text" or "xml", if you are using HTML tags they must be >>> well-formed, because Sablotron or expat (not sure which) will want the >>> XSLT stylesheet to be a well-formed document. Only, we often >>> interrupt >>> our HTML code when using PHP, like this: >>> >>> $output_to_browser = "<a href='index.php'>Go"; $output_to_browser .= >>> "home</a>"; >>> >>> (of course, the output to the browser will by a hyperlink to index.php >>> that says "Go home".) >>> >>> The above looks fine as PHP code, but if you try to manipulate the >>> data >>> from an XSLT process in this fashion, you won't be able to use HTML >>> tags -- the greater-than and less-than symbols can't be used, since an >>> XSLT sheet is technically an XML document and these are not >>> well-formed >>> tags. In the XSLT sheet, the above might look like: >>> >>> <xsl:template match="location"> >>> <a href="<xsl:value-of select="php_document" />">Go Home</a> >>> </xsl:template> >>> >>> I thought that perhaps if I specified text as the output method, then >>> the greater-than and less-than signs wouldn't be parsed, so I could >>> use >>> them as such: >>> >>> <xsl:output method="text" /> >>> >>> <xsl:template match="location"> >>> <xsl:text> >>> <a href=" >>> </xsl:text> >>> <xsl:value-of select="php_document" /> >>> <xsl:text> >>> ">Go Home</a> >>> </xsl:text> >>> </xsl:template match="location"> >>> >>> See what's happening in the above? I thought I had "escaped" my <a> >>> tags by placing them within the <xsl:text> tags, but this is not so -- >>> they are parsed, and the document is then interpreted as not being >>> well-formed. >>> >>> >>> So unless you want to do a straight XML-to-XML or XML-to-XHTML >>> transformation, OR you don't want to use ANY XML or XHTML tags in your >>> output document, you're kind of up a river. Unless someone on this >>> list can help me find a way to "escape" the HTML tags when creating >>> PHP >>> code. >>> >>> And the only way I can think of doing it (which I still haven't >>> tested, >>> but might have to use) is to use variables to represent the HTML tags >>> so that instead of >>> >>> <a href=" and ">Go Home</a> >>> >>> I could use >>> >>> $astartag = "<a href='"; >>> $aendtag = "'>Go Home</a>"; >>> >>> and then make the style sheet like this: >>> >>> <xsl:output method="text" /> >>> >>> <xsl:template match="location"> >>> <xsl:text> >>> $astartag >>> </xsl:text> >>> <xsl:value-of select="php_document" /> >>> <xsl:text> >>> $aendtag >>> </xsl:text> >>> </xsl:template match="location"> >>> >>> >>> That should work in theory. But it's incredibly crude. >>> >>> >>> What do you all think? >>> >>> >>> >>> >>> >>> Erik >>> >>> ---- Erik Price Web Developer Temp Media Lab, H.H. Brown [EMAIL PROTECTED] >>> >>> >>> -- PHP General Mailing List (http://www.php.net/) To unsubscribe, >>> visit: http://www.php.net/unsub.php >>> >>> > > -- > PHP General Mailing List (http://www.php.net/) > To unsubscribe, visit: http://www.php.net/unsub.php > -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php