Subject: Re: [xsl] Re: xsl-list Digest 13 Apr 2005 05:10:00 -0000 Issue 386 From: Mike Ferrando <mikeferrando@xxxxxxxxx> Date: Wed, 13 Apr 2005 10:21:41 -0700 (PDT) |
Daniel O., For XSLT 1.0 I have the following solutions to suggest: There is a simple hack you could try. <xsl:template match="p[child::blockquote]"> <xsl:element name="p"> <xsl:apply-templates select="@* | * | text()"/> </xsl:element> </xsl:template> <xsl:template match="blockquote[parent::p]"> <xsl:text disable-output-escaping="yes"></p></xsl:text> <xsl:element name="{local-name()}"> <xsl:apply-templates select="@* | * | text()"/> </xsl:element> <xsl:text disable-output-escaping="yes"><p></xsl:text> </xsl:template> If this was unacceptable, I would use the saxon:node-set() function. 1. collect the entire document into a node-set variable. 2. create an attribute for each <p> giving the position number from the root. 3. create a template for the node-set ($my_doc)//p/child::blockquote. 4. create a node-set of each p/child:blockquote numbering the nodes. 5. send the $x (beginning node) and $y (end node) to a call-template. 6. process these nodes before and after the blockquote inside a new <p>. 7. process the blockquote normally. This is a lot of work, but it is legal. Mike Ferrando Library Technician Library of Congress Washington, DC 202-707-4454 --- Daniel O'Donnell <daniel.odonnell@xxxxxxxx> wrote: > > Transforming XML Blockquotes - Mixed Content 14744 by: Edward > Bryant > > 14745 by: James Fuller 14746 by: Edward Bryant > > > I am having a lot of trouble transforming XML blockquotes that > are > > structurally and grammatically correct (i.e, as child elements to > a > > parent paragraph tag) into XHTML that will be displayed correctly > by > > a browser. Because of two separate IE6 bugs that prevent a > blockquote > > from being structured as the child of a paragraph, I pretty much > need > > the XSL output to be > > > > <p>Yadda yadda yadda:</p> <blockquote><p>blah blah > > blah</p></blockquote> <p class="cont">yackity yack</p> > > > > > > However, the XML is structured like this: > > > > <p>Yadda yadda yadda: <blockquote>blah blah blah</blockquote> > yackity > > yack</p> > > > > > > So, my first thought was to make a conditional statement that > would > > do this but I am having a lot of trouble constructing it. I can > not > > locate any information on a conditional statement that would test > > whether one element (p) with mixed conternt contained another > element > > (blockquote). I also am having trouble with a way to split up the > p > > tag's text into the pre-blockquote and post-blockquote strings. > Even > > with the above problems, I haven't even touched on the problems > that > > a paragraph with multiple blockquotes would cause. > > As Jim noted, I was asking the same question earlier in the day > (how > weird is that). I've still not managed to get a XSLT 1.0 solution > (which > I need), but in XSLT 2.0 it is really easy. There is even an > example in > the recommendation that mutatis mutandis works out of the box: > <http://www.w3.org/TR/xslt20/#d5e20377> "Grouping Alternating > Sequences > of Elements". > > -dan > > -- > Daniel Paul O'Donnell, PhD > Associate Professor of English > University of Lethbridge > Lethbridge AB T1K 3M4 > Tel. (403) 329-2377 > Fax. (403) 382-7191 > E-mail <daniel.odonnell@xxxxxxxx> > Home Page <http://people.uleth.ca/~daniel.odonnell/> > The Digital Medievalist Project: > <http://www.digitalmedievalist.org/> > > __________________________________ Do you Yahoo!? Yahoo! Small Business - Try our new resources site! http://smallbusiness.yahoo.com/resources/
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
RE: [xsl] params - keys? how to cal, Whitney, Dan (CanWes | Thread | [xsl] Total number of pages with XS, Nadia . Swaby |
Re: RE: [xsl] Unusual Sort, Jon Gorman | Date | RE: [xsl] Load XSL dynamically, Maria Amuchastegui |
Month |