<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
	xmlns:bs8723="http://www.bsigroup.com/resources/standards/bs8723/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:dcterms="http://purl.org/dc/terms/">
	<xsl:output method="text" indent="yes" encoding="iso-8859-1"/>
	<xsl:param name="Language"/>
	<xsl:template match="bs8723:Thesaurus">
		<xsl:apply-templates select="bs8723:ThesaurusConcept/bs8723:PreferredTerm[not(@xml:lang) or (@xml:lang = $Language)]|bs8723:ThesaurusConcept/bs8723:NonPreferredTerm[not(@xml:lang) or (@xml:lang = $Language)]|bs8723:CompoundNonPreferredTerm[not(@xml:lang) or (@xml:lang = $Language)]">
			<xsl:sort select="translate(bs8723:LexicalValue, 'ABCDEFGHIJKLMNOPQRSTUVWXYZ', 'abcdefghijklmnopqrstuvwxyz')"/>
		</xsl:apply-templates>
	</xsl:template>
	<xsl:template match="bs8723:PreferredTerm">
		<xsl:variable name="PreferredTerm" select="."/>
		<xsl:call-template name="LexicalValue"/>
		<xsl:call-template name="LE"/>
		<xsl:call-template name="CID"/>
		<xsl:call-template name="TID"/>
		<xsl:call-template name="CC"/>
		<xsl:call-template name="SN"/>
		<xsl:call-template name="CHN"/>
		<xsl:call-template name="THN"/>
		<xsl:call-template name="UF"/>
		<xsl:call-template name="SpecialUF"/>
		<xsl:call-template name="UFPlus"/>
		<xsl:call-template name="TT"/>
		<xsl:call-template name="BT"/>
		<xsl:call-template name="BTI"/>
		<xsl:call-template name="BTG"/>
		<xsl:call-template name="BTP"/>
		<xsl:call-template name="NT"/>
		<xsl:call-template name="NTI"/>
		<xsl:call-template name="NTG"/>
		<xsl:call-template name="NTP"/>
		<xsl:call-template name="RT"/>
		<xsl:call-template name="SpecialRT"/>
		<xsl:call-template name="DC"/>
		<xsl:call-template name="DTI"/>
		<xsl:call-template name="DTM"/>
		<xsl:text>
</xsl:text>
	</xsl:template>
	<xsl:template match="bs8723:NonPreferredTerm">
		<xsl:variable name="NonPreferredTerm" select="."/>
		<xsl:call-template name="LexicalValue"/>
		<xsl:call-template name="CID"/>
		<xsl:call-template name="TID"/>
		<xsl:call-template name="USE"/>
		<xsl:call-template name="SpecialUSE"/>
		<xsl:call-template name="THN"/>
		<xsl:call-template name="DC"/>
		<xsl:call-template name="DTI"/>
		<xsl:call-template name="DTM"/>
		<xsl:text>
</xsl:text>
	</xsl:template>
	<xsl:template match="bs8723:CompoundNonPreferredTerm">
		<xsl:call-template name="LexicalValue"/>
		<xsl:call-template name="TID"/>
		<xsl:call-template name="USEPlus"/>
		<xsl:call-template name="THN"/>
		<xsl:call-template name="DTI"/>
		<xsl:call-template name="DTM"/>
		<xsl:text>
</xsl:text>
	</xsl:template>
	<!--Name-->
	<xsl:template name="LexicalValue">
			<xsl:text>
</xsl:text>
		<xsl:value-of select="bs8723:LexicalValue"/>
	</xsl:template>
	<!--LE - Language equivalent-->
	<xsl:template name="LE">
		<xsl:for-each select="../bs8723:PreferredTerm[@xml:lang != $Language]">
			<xsl:text>
</xsl:text>
			<xsl:text>	</xsl:text>
			<xsl:value-of select="@xml:lang"/>
			<xsl:text>: </xsl:text>
			<xsl:value-of select="bs8723:LexicalValue"/>
		</xsl:for-each>
	</xsl:template>
	<!--CID-->
	<xsl:template name="CID">
		<xsl:for-each select="../@dc:identifier">
			<xsl:text>
</xsl:text>
			<xsl:text>	CID: </xsl:text>
			<xsl:value-of select="."/>
		</xsl:for-each>
	</xsl:template>
	<!--TID-->
	<xsl:template name="TID">
		<xsl:text>
</xsl:text>
		<xsl:text>	TID: </xsl:text>
		<xsl:value-of select="@dc:identifier"/>
	</xsl:template>
	<!--CC - Notation-->
	<xsl:template name="CC">
		<xsl:for-each select="../bs8723:Notation">
			<xsl:sort select="translate(., 'ABCDEFGHIJKLMNOPQRSTUVWXYZ', 'abcdefghijklmnopqrstuvwxyz')"/>
			<xsl:text>
</xsl:text>
			<xsl:choose>
				<xsl:when test="position() = 1">
					<xsl:text>	CC: </xsl:text>
				</xsl:when>
				<xsl:otherwise>
					<xsl:text>	    </xsl:text>
				</xsl:otherwise>
			</xsl:choose>
			<xsl:value-of select="."/>
		</xsl:for-each>
	</xsl:template>
	<!--SN - ScopeNote-->
	<xsl:template name="SN">
		<xsl:if test="../bs8723:ScopeNote[not(@xml:lang) or (@xml:lang = $Language)]/bs8723:LexicalValue">
			<xsl:text>
</xsl:text>
			<xsl:text>	SN: </xsl:text>
			<xsl:value-of select="../bs8723:ScopeNote[not(@xml:lang) or (@xml:lang = $Language)]/bs8723:LexicalValue"/>
		</xsl:if>
	</xsl:template>
	<!--CHN - Concept history note-->
	<xsl:template name="CHN">
		<xsl:for-each select="../bs8723:HistoryNote[not(@xml:lang) or (@xml:lang = $Language)]/bs8723:LexicalValue">
			<xsl:text>
</xsl:text>
			<xsl:text>	CHN: </xsl:text>
			<xsl:value-of select="."/>
		</xsl:for-each>
	</xsl:template>
	<!--THN - Term history note-->
	<xsl:template name="THN">
		<xsl:for-each select="bs8723:HistoryNote[not(@xml:lang) or (@xml:lang = $Language)]/bs8723:LexicalValue">
			<xsl:text>
</xsl:text>
			<xsl:text>	THN: </xsl:text>
			<xsl:value-of select="."/>
		</xsl:for-each>
	</xsl:template>
	<!--UF - Use For-->
	<xsl:template name="UF">
		<xsl:for-each select="../bs8723:NonPreferredTerm[(not(@xml:lang) or (@xml:lang = $Language)) and (not(bs8723:USE/@Role) or (bs8723:USE/@Role = 'USE'))]">
			<xsl:sort select="translate(bs8723:LexicalValue, 'ABCDEFGHIJKLMNOPQRSTUVWXYZ', 'abcdefghijklmnopqrstuvwxyz')"/>
			<xsl:text>
</xsl:text>
			<xsl:choose>
				<xsl:when test="position() = 1">
					<xsl:text>	UF: </xsl:text>
				</xsl:when>
				<xsl:otherwise>
					<xsl:text>	    </xsl:text>
				</xsl:otherwise>
			</xsl:choose>
			<xsl:value-of select="bs8723:LexicalValue"/>
		</xsl:for-each>
	</xsl:template>
	<!--UF - Use For-->
	<xsl:key name="UFRoles" match="//bs8723:UF/@Role[(. != 'UF') and (. != 'UF +')]" use="."/>
	<xsl:template name="SpecialUF">
		<xsl:variable name="PreferredTerm" select="."/>
		<xsl:variable name="Concept" select="$PreferredTerm/.."/>
		<xsl:for-each select="//bs8723:UF/@Role[(. != 'UF') and (. != 'UF +')]">
			<xsl:sort select="."/>
			<xsl:if test="generate-id(.) = generate-id(key('UFRoles', .)[1])">
				<xsl:variable name="Role" select="."/>
				<xsl:for-each select="$Concept/bs8723:NonPreferredTerm[(not(@xml:lang) or (@xml:lang = $Language)) and (@dc:identifier = $PreferredTerm/bs8723:UF[@Role = $Role])]">
					<xsl:sort select="translate(bs8723:LexicalValue, 'ABCDEFGHIJKLMNOPQRSTUVWXYZ', 'abcdefghijklmnopqrstuvwxyz')"/>
					<xsl:text>
</xsl:text>
					<xsl:choose>
						<xsl:when test="position() = 1">
							<xsl:text>	</xsl:text>
							<xsl:value-of select="substring-after($Role, '/')"/>
							<xsl:text>: </xsl:text>
						</xsl:when>
						<xsl:otherwise>
							<xsl:text>	    </xsl:text>
						</xsl:otherwise>
					</xsl:choose>
					<xsl:value-of select="bs8723:LexicalValue"/>
				</xsl:for-each>
			</xsl:if>
		</xsl:for-each>
	</xsl:template>
	<!--RT-->
	<xsl:key name="RTRoles" match="//bs8723:HasRelatedConcept/@Role[. != 'RT']" use="."/>
	<xsl:template name="SpecialRT">
		<xsl:variable name="PreferredTerm" select="."/>
		<xsl:variable name="Concept" select="$PreferredTerm/.."/>
		<xsl:for-each select="//bs8723:HasRelatedConcept/@Role[. != 'RT']">
			<xsl:if test="generate-id(.) = generate-id(key('RTRoles', .)[1])">
				<xsl:variable name="Role" select="."/>
				<xsl:for-each select="/bs8723:Thesaurus/bs8723:ThesaurusConcept[@dc:identifier = $Concept/bs8723:HasRelatedConcept[@Role = $Role]]/bs8723:PreferredTerm[(not(@xml:lang) or (@xml:lang = $Language))]">
					<xsl:sort select="translate(bs8723:LexicalValue, 'ABCDEFGHIJKLMNOPQRSTUVWXYZ', 'abcdefghijklmnopqrstuvwxyz')"/>
					<xsl:text>
</xsl:text>
					<xsl:choose>
						<xsl:when test="position() = 1">
							<xsl:text>	</xsl:text>
							<xsl:value-of select="substring-after($Role, '/')"/>
							<xsl:text>: </xsl:text>
						</xsl:when>
						<xsl:otherwise>
							<xsl:text>	     </xsl:text>
						</xsl:otherwise>
					</xsl:choose>
					<xsl:value-of select="bs8723:LexicalValue"/>
				</xsl:for-each>
			</xsl:if>
		</xsl:for-each>
	</xsl:template>
	<!--UF+-->
	<xsl:template name="UFPlus">
		<xsl:for-each select="/bs8723:Thesaurus/bs8723:CompoundNonPreferredTerm[(not(@xml:lang) or (@xml:lang = $Language)) and ((@dc:identifier = current()/bs8723:UF[@Role = 'UF +']) or (@dc:identifier = current()/bs8723:UF[not(@Role)]))]">
			<xsl:sort select="translate(bs8723:LexicalValue, 'ABCDEFGHIJKLMNOPQRSTUVWXYZ', 'abcdefghijklmnopqrstuvwxyz')"/>
			<xsl:text>
</xsl:text>
			<xsl:choose>
				<xsl:when test="position() = 1">
					<xsl:text>	UF+: </xsl:text>
				</xsl:when>
				<xsl:otherwise>
					<xsl:text>	     </xsl:text>
				</xsl:otherwise>
			</xsl:choose>
			<xsl:value-of select="bs8723:LexicalValue"/>
		</xsl:for-each>
	</xsl:template>
	<!--TT - Top term-->
	<xsl:template name="TT">
		<xsl:if test="../bs8723:HasTopConcept">
			<xsl:for-each select="/bs8723:Thesaurus/bs8723:ThesaurusConcept[@dc:identifier = current()/../bs8723:HasTopConcept]">
				<xsl:sort select="translate(bs8723:PreferredTerm[not(@xml:lang) or (@xml:lang = $Language)]/bs8723:LexicalValue, 'ABCDEFGHIJKLMNOPQRSTUVWXYZ', 'abcdefghijklmnopqrstuvwxyz')"/>
				<xsl:text>
</xsl:text>
				<xsl:choose>
					<xsl:when test="position() = 1">
						<xsl:text>	TT: </xsl:text>
					</xsl:when>
					<xsl:otherwise>
						<xsl:text>	    </xsl:text>
					</xsl:otherwise>
				</xsl:choose>
				<xsl:value-of select="bs8723:PreferredTerm[not(@xml:lang) or (@xml:lang = $Language)]/bs8723:LexicalValue"/>
			</xsl:for-each>
		</xsl:if>
	</xsl:template>
	<!--BT - Broader term-->
	<xsl:template name="BT">
		<xsl:if test="../bs8723:HasHierRelConcept[@Role = 'BT']">
			<xsl:for-each select="/bs8723:Thesaurus/bs8723:ThesaurusConcept[@dc:identifier = current()/../bs8723:HasHierRelConcept[@Role = 'BT']]">
				<xsl:sort select="translate(bs8723:PreferredTerm[not(@xml:lang) or (@xml:lang = $Language)]/bs8723:LexicalValue, 'ABCDEFGHIJKLMNOPQRSTUVWXYZ', 'abcdefghijklmnopqrstuvwxyz')"/>
				<xsl:text>
</xsl:text>
				<xsl:choose>
					<xsl:when test="position() = 1">
						<xsl:text>	BT: </xsl:text>
					</xsl:when>
					<xsl:otherwise>
						<xsl:text>	    </xsl:text>
					</xsl:otherwise>
				</xsl:choose>
				<xsl:value-of select="bs8723:PreferredTerm[not(@xml:lang) or (@xml:lang = $Language)]/bs8723:LexicalValue"/>
			</xsl:for-each>
		</xsl:if>
	</xsl:template>
	<!--BTI - Broader term-->
	<xsl:template name="BTI">
		<xsl:if test="../bs8723:HasHierRelConcept[@Role = 'BT/BTI']">
			<xsl:for-each select="/bs8723:Thesaurus/bs8723:ThesaurusConcept[@dc:identifier = current()/../bs8723:HasHierRelConcept[@Role = 'BT/BTI']]">
				<xsl:sort select="translate(bs8723:PreferredTerm[not(@xml:lang) or (@xml:lang = $Language)]/bs8723:LexicalValue, 'ABCDEFGHIJKLMNOPQRSTUVWXYZ', 'abcdefghijklmnopqrstuvwxyz')"/>
				<xsl:text>
</xsl:text>
				<xsl:choose>
					<xsl:when test="position() = 1">
						<xsl:text>	BTI: </xsl:text>
					</xsl:when>
					<xsl:otherwise>
						<xsl:text>	     </xsl:text>
					</xsl:otherwise>
				</xsl:choose>
				<xsl:value-of select="bs8723:PreferredTerm[not(@xml:lang) or (@xml:lang = $Language)]/bs8723:LexicalValue"/>
			</xsl:for-each>
		</xsl:if>
	</xsl:template>
	<!--BTG - Broader term--> 
	<xsl:template name="BTG">
		<xsl:if test="../bs8723:HasHierRelConcept[@Role = 'BT/BTG']">
			<xsl:for-each select="/bs8723:Thesaurus/bs8723:ThesaurusConcept[@dc:identifier = current()/../bs8723:HasHierRelConcept[@Role = 'BT/BTG']]">
				<xsl:sort select="translate(bs8723:PreferredTerm[not(@xml:lang) or (@xml:lang = $Language)]/bs8723:LexicalValue, 'ABCDEFGHIJKLMNOPQRSTUVWXYZ', 'abcdefghijklmnopqrstuvwxyz')"/>
				<xsl:text>
</xsl:text>
				<xsl:choose>
					<xsl:when test="position() = 1">
						<xsl:text>	BTG: </xsl:text>
					</xsl:when>
					<xsl:otherwise>
						<xsl:text>	     </xsl:text>
					</xsl:otherwise>
				</xsl:choose>
				<xsl:value-of select="bs8723:PreferredTerm[not(@xml:lang) or (@xml:lang = $Language)]/bs8723:LexicalValue"/>
			</xsl:for-each>
		</xsl:if>
	</xsl:template>
	<!--BTP - Broader term-->
	<xsl:template name="BTP">
		<xsl:if test="../bs8723:HasHierRelConcept[@Role = 'BT/BTP']">
			<xsl:for-each select="/bs8723:Thesaurus/bs8723:ThesaurusConcept[@dc:identifier = current()/../bs8723:HasHierRelConcept[@Role = 'BT/BTP']]">
				<xsl:sort select="translate(bs8723:PreferredTerm[not(@xml:lang) or (@xml:lang = $Language)]/bs8723:LexicalValue, 'ABCDEFGHIJKLMNOPQRSTUVWXYZ', 'abcdefghijklmnopqrstuvwxyz')"/>
				<xsl:text>
</xsl:text>
				<xsl:choose>
					<xsl:when test="position() = 1">
						<xsl:text>	BTP: </xsl:text>
					</xsl:when>
					<xsl:otherwise>
						<xsl:text>	     </xsl:text>
					</xsl:otherwise>
				</xsl:choose>
				<xsl:value-of select="bs8723:PreferredTerm[not(@xml:lang) or (@xml:lang = $Language)]/bs8723:LexicalValue"/>
			</xsl:for-each>
		</xsl:if>
	</xsl:template>
	<!--NT - Narrower term-->
	<xsl:template name="NT">
		<xsl:if test="../bs8723:HasHierRelConcept[@Role = 'NT']">
			<xsl:for-each select="/bs8723:Thesaurus/bs8723:ThesaurusConcept[@dc:identifier = current()/../bs8723:HasHierRelConcept[@Role = 'NT']]">
				<xsl:sort select="translate(bs8723:PreferredTerm[not(@xml:lang) or (@xml:lang = $Language)]/bs8723:LexicalValue, 'ABCDEFGHIJKLMNOPQRSTUVWXYZ', 'abcdefghijklmnopqrstuvwxyz')"/>
				<xsl:text>
</xsl:text>
				<xsl:choose>
					<xsl:when test="position() = 1">
						<xsl:text>	NT: </xsl:text>
					</xsl:when>
					<xsl:otherwise>
						<xsl:text>	    </xsl:text>
					</xsl:otherwise>
				</xsl:choose>
				<xsl:value-of select="bs8723:PreferredTerm[not(@xml:lang) or (@xml:lang = $Language)]/bs8723:LexicalValue"/>
			</xsl:for-each>
		</xsl:if>
	</xsl:template>
	<!--NTI - Narrower term-->
	<xsl:template name="NTI">
		<xsl:if test="../bs8723:HasHierRelConcept[@Role = 'NT/NTI']">
			<xsl:for-each select="/bs8723:Thesaurus/bs8723:ThesaurusConcept[@dc:identifier = current()/../bs8723:HasHierRelConcept[@Role = 'NT/NTI']]">
				<xsl:sort select="translate(bs8723:PreferredTerm[not(@xml:lang) or (@xml:lang = $Language)]/bs8723:LexicalValue, 'ABCDEFGHIJKLMNOPQRSTUVWXYZ', 'abcdefghijklmnopqrstuvwxyz')"/>
				<xsl:text>
</xsl:text>
				<xsl:choose>
					<xsl:when test="position() = 1">
						<xsl:text>	NTI: </xsl:text>
					</xsl:when>
					<xsl:otherwise>
						<xsl:text>	     </xsl:text>
					</xsl:otherwise>
				</xsl:choose>
				<xsl:value-of select="bs8723:PreferredTerm[not(@xml:lang) or (@xml:lang = $Language)]/bs8723:LexicalValue"/>
			</xsl:for-each>
		</xsl:if>
	</xsl:template>
	<!--NTG - Narrower term-->
	<xsl:template name="NTG">
		<xsl:if test="../bs8723:HasHierRelConcept[@Role = 'NT/NTG']">
			<xsl:for-each select="/bs8723:Thesaurus/bs8723:ThesaurusConcept[@dc:identifier = current()/../bs8723:HasHierRelConcept[@Role = 'NT/NTG']]">
				<xsl:sort select="translate(bs8723:PreferredTerm[not(@xml:lang) or (@xml:lang = $Language)]/bs8723:LexicalValue, 'ABCDEFGHIJKLMNOPQRSTUVWXYZ', 'abcdefghijklmnopqrstuvwxyz')"/>
				<xsl:text>
</xsl:text>
				<xsl:choose>
					<xsl:when test="position() = 1">
						<xsl:text>	NTG: </xsl:text>
					</xsl:when>
					<xsl:otherwise>
						<xsl:text>	     </xsl:text>
					</xsl:otherwise>
				</xsl:choose>
				<xsl:value-of select="bs8723:PreferredTerm[not(@xml:lang) or (@xml:lang = $Language)]/bs8723:LexicalValue"/>
			</xsl:for-each>
		</xsl:if>
	</xsl:template>
	<!--NTP - Narrower term-->
	<xsl:template name="NTP">
		<xsl:if test="../bs8723:HasHierRelConcept[@Role = 'NT/NTP']">
			<xsl:for-each select="/bs8723:Thesaurus/bs8723:ThesaurusConcept[@dc:identifier = current()/../bs8723:HasHierRelConcept[@Role = 'NT/NTP']]">
				<xsl:sort select="translate(bs8723:PreferredTerm[not(@xml:lang) or (@xml:lang = $Language)]/bs8723:LexicalValue, 'ABCDEFGHIJKLMNOPQRSTUVWXYZ', 'abcdefghijklmnopqrstuvwxyz')"/>
				<xsl:text>
</xsl:text>
				<xsl:choose>
					<xsl:when test="position() = 1">
						<xsl:text>	NTP: </xsl:text>
					</xsl:when>
					<xsl:otherwise>
						<xsl:text>	     </xsl:text>
					</xsl:otherwise>
				</xsl:choose>
				<xsl:value-of select="bs8723:PreferredTerm[not(@xml:lang) or (@xml:lang = $Language)]/bs8723:LexicalValue"/>
			</xsl:for-each>
		</xsl:if>
	</xsl:template>
	<!--RT - Related Term-->
	<xsl:template name="RT">
		<xsl:if test="../bs8723:HasRelatedConcept[not(@Role) or (@Role = 'RT')]">
			<xsl:for-each select="/bs8723:Thesaurus/bs8723:ThesaurusConcept[@dc:identifier = current()/../bs8723:HasRelatedConcept[not(@Role) or (@Role = 'RT')]]">
				<xsl:sort select="translate(bs8723:PreferredTerm[not(@xml:lang) or (@xml:lang = $Language)]/bs8723:LexicalValue, 'ABCDEFGHIJKLMNOPQRSTUVWXYZ', 'abcdefghijklmnopqrstuvwxyz')"/>
				<xsl:text>
</xsl:text>
				<xsl:choose>
					<xsl:when test="position() = 1">
						<xsl:text>	RT: </xsl:text>
					</xsl:when>
					<xsl:otherwise>
						<xsl:text>	    </xsl:text>
					</xsl:otherwise>
				</xsl:choose>
				<xsl:value-of select="bs8723:PreferredTerm[not(@xml:lang) or (@xml:lang = $Language)]/bs8723:LexicalValue"/>
			</xsl:for-each>
		</xsl:if>
	</xsl:template>
	<!--USE-->
	<xsl:template name="USE">
		<xsl:if test="not(bs8723:USE/@Role) or (bs8723:USE/@Role = 'USE')">
			<xsl:text>
</xsl:text>
			<xsl:text>	USE: </xsl:text>
			<xsl:value-of select="../bs8723:PreferredTerm[not(@xml:lang) or (@xml:lang = $Language)]/bs8723:LexicalValue"/>
		</xsl:if>
	</xsl:template>
	<!--USE-->
	<xsl:key name="USERoles" match="//bs8723:USE/@Role[(. != 'USE') and (. != 'USE +')]" use="."/>
	<xsl:template name="SpecialUSE">
		<xsl:variable name="NonPreferredTerm" select="."/>
		<xsl:variable name="Concept" select="$NonPreferredTerm/.."/>
		<xsl:variable name="PreferredTerm" select="$Concept/bs8723:PreferredTerm"/>
		<xsl:for-each select="//bs8723:USE/@Role[(. != 'USE') and (. != 'USE +')]">
			<xsl:sort select="."/>
			<xsl:if test="generate-id(.) = generate-id(key('USERoles', .)[1])">
				<xsl:variable name="Role" select="."/>
				<xsl:for-each select="$PreferredTerm[(not(@xml:lang) or (@xml:lang = $Language)) and (@dc:identifier = $NonPreferredTerm/bs8723:USE[@Role = $Role])]">
					<xsl:sort select="translate(bs8723:LexicalValue, 'ABCDEFGHIJKLMNOPQRSTUVWXYZ', 'abcdefghijklmnopqrstuvwxyz')"/>
					<xsl:text>
</xsl:text>
					<xsl:choose>
						<xsl:when test="position() = 1">
							<xsl:text>	</xsl:text>
							<xsl:value-of select="substring-after($Role, '/')"/>
							<xsl:text>: </xsl:text>
						</xsl:when>
						<xsl:otherwise>
							<xsl:text>	    </xsl:text>
						</xsl:otherwise>
					</xsl:choose>
					<xsl:value-of select="bs8723:LexicalValue"/>
				</xsl:for-each>
			</xsl:if>
		</xsl:for-each>
	</xsl:template>
	<!--USE + -->
	<xsl:template name="USEPlus">
		<xsl:for-each select="/bs8723:Thesaurus/bs8723:ThesaurusConcept/bs8723:PreferredTerm[(@dc:identifier = current()/bs8723:USE[@Role = 'USE +']) and (not(@xml:lang) or (@xml:lang = $Language))]">
			<xsl:sort select="translate(bs8723:LexicalValue, 'ABCDEFGHIJKLMNOPQRSTUVWXYZ', 'abcdefghijklmnopqrstuvwxyz')"/>
			<xsl:text>
</xsl:text>
			<xsl:choose>
				<xsl:when test="position() = 1">
					<xsl:text>	USE: </xsl:text>
				</xsl:when>
				<xsl:otherwise>
					<xsl:text>	+  : </xsl:text>
				</xsl:otherwise>
			</xsl:choose>
			<xsl:value-of select="bs8723:LexicalValue"/>
		</xsl:for-each>
	</xsl:template>
	<!--DC - Concept created date-->
	<xsl:template name="DC">
		<xsl:for-each select="../dcterms:created">
			<xsl:text>
</xsl:text>
			<xsl:text>	DC: </xsl:text>
			<xsl:value-of select="."/>
		</xsl:for-each>
	</xsl:template>
	<!--DTI - Term created date-->
	<xsl:template name="DTI">
		<xsl:for-each select="dcterms:created">
			<xsl:text>
</xsl:text>
			<xsl:text>	DTI: </xsl:text>
			<xsl:value-of select="."/>
		</xsl:for-each>
	</xsl:template>
	<!--DTM - Term modified date-->
	<xsl:template name="DTM">
		<xsl:for-each select="dcterms:modified">
			<xsl:text>
</xsl:text>
			<xsl:text>	DTM: </xsl:text>
			<xsl:value-of select="."/>
		</xsl:for-each>
	</xsl:template>
</xsl:stylesheet>

