First, I removed the [id='@(specific id)'] clause to get all narratives instead of a specific narrative.
Second, I modified the tag: <xsl:apply-templates select="description"/> to read
<xsl:apply-templates select="description[descendant::para|descendant::image|descendant::photoReference]"/>. (Oxygen suggested "descendant::" and I guessed that "|" might be the symbol for "or.")
This worked fine for all the narratives but one, "narr_walk_butt". This narrative has three photoReference tags in succession, the values of which the transformation processor concatenated onto a single line. The reason for this is that Bob's template library BodyElements.xsl contains no template for the photoReference element. It seems that the XSL processor used a default "value-of" template to simply extract the three photoReference values and produced this messy result.
To remedy this, I added an additional template to the BodyElements.xsl file that reads:
<xsl:template match="photoReference">
<p><xsl:value-of select="."/></p>
</xsl:template>
</xsl:stylesheet>
This causes the last three photoReference values in id="narr_walk_butt" to appear on three separate lines, within <p></p> tags, as I think they should.
This post has been edited by jyurow: 20 November 2010 - 07:51 PM













