RE: [xsl] Wrapping a Condition around a literal result element

Subject: RE: [xsl] Wrapping a Condition around a literal result element
From: "Kevin Bird \(Matrix\)" <kevin.bird@xxxxxxxxxxxxxxxxxxxxxxx>
Date: Tue, 16 May 2006 12:15:58 +0100
Hi Michael

Many thanks for the reply.

Having gained new impetus from your response, I have re-structured the
stylesheet as follows.

Regards.

--
Kevin


--------
XSL
--------


<?xml version="1.0"?>
<xsl:stylesheet version="2.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform";>

	<xsl:output indent="yes" method="xml"/>
	<xsl:strip-space elements="*"/>

	<xsl:variable name="ubiquitous-names"
select="distinct-values(/sections/section/name[not(contains(., 'new
entry'))][every $s in /sections/section satisfies $s/name = .])"/>

	<xsl:template match="sections">
		<sections>
			<xsl:for-each select="section">
				<section name="{@name}">
					<xsl:for-each select="name">
						<xsl:choose>
							<xsl:when test="some
$u in $ubiquitous-names satisfies $u eq ." />
							<xsl:otherwise>
								<xsl:copy-of
select="." />
							</xsl:otherwise>
						</xsl:choose>
					</xsl:for-each>
				</section>
			</xsl:for-each>

			<xsl:if test="exists($ubiquitous-names)">
				<section name="allsections">
					<xsl:for-each
select="$ubiquitous-names">
						<name>
							<xsl:value-of
select="."/>
						</name>
					</xsl:for-each>
				</section>
			</xsl:if>
		</sections>
	</xsl:template>
</xsl:stylesheet>

Current Thread