Subject: Re: [xsl] Aligning Parallel Columns From: Michael Kay <mike@xxxxxxxxxxxx> Date: Sat, 15 Jan 2011 16:43:47 +0000 |
<xsl:variable name="anchors" as="xs:string*"> <xsl:for-each-group select="//p/@name" group-by="."> <xsl:if test="count(current-group() = 2)"> <xsl:sequence select="string(.)"/> </ </ </
for-each select="div[@id='ch1']/para[@name = $anchors]" output row containing the pair of lines for this anchor output-inserted-lines(list 1) output-inserted-lines(list 2) /for-each
<xsl:function name="f:output-inserted-lines"> <xsl:param name="start" as="node()"/> <xsl:variable name="next" as="$start/following-sibling::*[1]"> <xsl:if test="not($next/@name = $anchors)"> (output this line) <xsl:sequence select="f:output-inserted-lines($next)"/> </ </
Michael Kay Saxonica
I have two texts, one being the translation of the other. I want to print them side by side in an HTML table, such that translated paragraphs are aligned.
Sometimes, additional paragraphs have been added in the translation, and sometimes, paragraphs have been merged, so the relationship is not always one-on-one, but corresponding paragraphs will have the same id in both documents.
e.g., documents one and two:
<div id="ch1"> <p name="a1">Eerste Alinea.</p> <p name="a1.1">Zomaar ertussen.</p> <p name="a2">Tweede Alinea.</p> <p name="a3">Derde Alinea.</p> </div>
<div id="ch2"> <p name="a1">First Paragraph.</p> <p name="a2">Second Paragraph.</p> <p name="a2.1">Something added here.</p> <p name="a3">Third Paragraph.</p> </div>
And the result I wish to produce looks something like:
<table> <tr><td>Eerste Alinea.</td> <td>First Paragraph.</td></tr> <tr><td>Zomaar ertussen.</td><td/></tr> <tr><td>Tweede Alinea.</td> <td>Second Paragraph.</td></tr> <tr><td/> <td>Something added here.</td></tr> <tr><td>Derde Alinea.</td> <td>Third Paragraph.</td></tr> </table>
Technically, this is a kind of full outer join of both documents.
Any suggestions on how to tackle this with XSLT (2.0 welcome)?
Jeroen Hellingman
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
Re: [xsl] Aligning Parallel Columns, G. Ken Holman | Thread | Re: [xsl] Aligning Parallel Columns, Jeroen Hellingman |
Re: [xsl] Aligning Parallel Columns, G. Ken Holman | Date | Re: [xsl] Aligning Parallel Columns, Jeroen Hellingman |
Month |