<?xml version="1.0" encoding="ISO-8859-1"?>

<!-- person.v01.xsl contient tous les templates d'affichage des informations d'un intervenant (balise person) de CDM-fr v2 -->

<xsl:stylesheet version="1.0"
	xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
	xmlns:ns2="http://cdm-fr.fr/2011/CDM-frSchema"
	exclude-result-prefixes="xsl xhtml"
	xmlns="http://www.w3.org/1999/xhtml"
	xmlns:xhtml="http://www.w3.org/1999/xhtml"
	xmlns:fo="http://www.w3.org/1999/XSL/Format">

	<xsl:variable name="vNode" select="key('objet',$idP)" />
	<!-- <xsl:variable name="ref" select="@ref"/> 
	<xsl:variable name="vRefPerson" select="/CDM/person[@ident=$ref]" /> -->

	<!-- Solution 2 -->
	<xsl:template name="tPersonNameGiven">
		<xsl:param name="pRefPerson"/>
		<xsl:choose>
			<xsl:when test="not($pRefPerson='')">
				<xsl:value-of select="$pRefPerson/name/given"/>
			</xsl:when>
			<xsl:otherwise>
				<xsl:value-of select="$vNode/name/given"/>
			</xsl:otherwise>
		</xsl:choose>
	</xsl:template>
	
	<xsl:template name="tPersonNameFamily">
		<xsl:param name="pRefPerson"/>
		<xsl:choose>
			<xsl:when test="not($pRefPerson='')">
				<xsl:value-of select="$pRefPerson/name/family"/>
			</xsl:when>
			<xsl:otherwise>
				<xsl:value-of select="$vNode/name/family"/>
			</xsl:otherwise>
		</xsl:choose>
	</xsl:template>
	
	<xsl:template name="tPersonTitle">
		<xsl:value-of select="$vNode/title/text[@language=$_lang or not(@language)]"/>
	</xsl:template>
	
	<xsl:template name="tPersonRole">
		<xsl:param name="pRefPerson"/>
		<xsl:choose>
			<xsl:when test="not($pRefPerson='')">
				<xsl:value-of select="$pRefPerson/role/text[@language=$_lang or not(@language)]"/>
			</xsl:when>
			<xsl:otherwise>
				<xsl:value-of select="$vNode/role/text[@language=$_lang or not(@language)]"/>
			</xsl:otherwise>
		</xsl:choose>

	</xsl:template>
	
	<!-- CONTACT -->
	
	<xsl:template name="tPersonContactDataAdrPobox">
		<xsl:value-of select="$vNode/contactData/adr/pobox"/>
	</xsl:template>
	
	<xsl:template name="tPersonContactDataAdrExtadr">
		<xsl:value-of select="$vNode/contactData/adr/extadr"/>
	</xsl:template>
	
	<xsl:template name="tPersonContactDataAdrStreet">
		<xsl:value-of select="$vNode/contactData/adr/street"/>
	</xsl:template>
	
	<xsl:template name="tPersonContactDataAdrLocality">
		<xsl:value-of select="$vNode/contactData/adr/locality"/>
	</xsl:template>
	
	<xsl:template name="tPersonContactDataAdrPcode">
		<xsl:value-of select="$vNode/contactData/adr/pcode"/>
	</xsl:template>
	
	<xsl:template name="tPersonContactDataAdrCountry">
		<xsl:value-of select="$vNode/contactData/adr/country"/>
	</xsl:template>
	
	<xsl:template name="tPersonContactDataVisitorHour">
		<xsl:value-of select="$vNode/contactData/visitorHour/text[@language=$_lang or not(@language)]"/>
	</xsl:template>
	
	<xsl:template name="tPersonContactDataTelephone">
		<xsl:param name="pRefPerson"/>
		<xsl:choose>
			<xsl:when test="not($pRefPerson='')">
				<xsl:value-of select="$pRefPerson/contactData/telephone"/>
			</xsl:when>
			<xsl:otherwise>
				<xsl:value-of select="$vNode/contactData/telephone"/>
			</xsl:otherwise>
		</xsl:choose>
	</xsl:template>
	
	<xsl:template name="tPersonContactDataFax">
		<xsl:value-of select="$vNode/contactData/fax"/>
	</xsl:template>
	
	<xsl:template name="tPersonContactDataEmail">
		<xsl:param name="pRefPerson"/>
		<xsl:choose>
			<xsl:when test="not($pRefPerson='')">
				<xsl:apply-templates select="$pRefPerson/contactData/email"/>
			</xsl:when>
			<xsl:otherwise>
				<xsl:apply-templates select="$vNode/contactData/email"/>
			</xsl:otherwise>
		</xsl:choose>
	</xsl:template>
	
	<!-- CONTACT -->
	
	<xsl:template name="tPersonActivitiestTeachingMajor">
		<xsl:value-of select="$vNode/activities/teachingMajor/text[@language=$_lang or not(@language)]"/>
	</xsl:template>
	
	<xsl:template name="tPersonActivitiestOtherActivities">
		<xsl:value-of select="$vNode/activities/teachingMajor/text[@language=$_lang or not(@language)]"/>
	</xsl:template>		
	
	<!-- VERSION HTML -->

	<!-- Solution 3 -->
	<xsl:template name="tContactsRefPersonGivenName">
		<!--<xsl:value-of select="key('objet',$vNode/contacts/refPerson/@ref)/name/given"/>-->
		<xsl:param name="pRef"/>
		<!--prenom par la-->
		<xsl:value-of select="/CDM/person[@ident=$pRef]/name/given"/>
	</xsl:template>
	<xsl:template name="tContactsRefPersonNameFamily">
		<xsl:param name="pRef"/>
		<!--nom par la-->
		<xsl:value-of select="/CDM/person[@ident=$pRef]/name/family"/>
	</xsl:template>
	<xsl:template name="tContactsRefPersonNameRole">
		<xsl:param name="pRef"/>
		<xsl:value-of select="$vNode/contacts/refPerson[@ref=$pRef]/@role"/>
	</xsl:template>
	<xsl:template name="tContactsRefPersonNameContactDataTelephone">
		<xsl:param name="pRef"/>
	        <xsl:if test="/CDM/person[@ident=$pRef]/contactData/telephone!=''"> 
		<xsl:value-of select="/CDM/person[@ident=$pRef]/contactData/telephone"/>
		</xsl:if>
	</xsl:template>
	<xsl:template name="tContactsRefPersonNameContactDataEmail">
		<xsl:param name="pRef"/>
		<xsl:apply-templates select="/CDM/person[@ident=$pRef]/contactData/email"/>
	</xsl:template>

	<!-- Solution 2 -->
	<xsl:template name="tContactsRefPerson">
		<xsl:param name="pObjet"/>
		<!-- on teste si la référence existe -->
		<xsl:choose>
			<xsl:when test="key('objet',$vNode/contacts/refPerson/@ref)">
				<!-- la personne existe -->
				<xsl:choose>
					<xsl:when test="$pObjet='PersonNameGiven'">
						<xsl:call-template name="tPersonNameGiven">
							<xsl:with-param name="pRefPerson" select="key('objet',$vNode/contacts/refPerson/@ref)"/>
						</xsl:call-template>
					</xsl:when>
					<xsl:when test="$pObjet='PersonNameFamily'">
						<xsl:call-template name="tPersonNameFamily">
							<xsl:with-param name="pRefPerson" select="key('objet',$vNode/contacts/refPerson/@ref)"/>
						</xsl:call-template>
					</xsl:when>
					<xsl:when test="$pObjet='PersonRole'">
						<xsl:value-of select="$vNode/contacts/refPerson/@role"/>
						<!-- 
						<xsl:call-template name="tPersonRole">
							<xsl:with-param name="pRefPerson" select="key('objet',$vNode/contacts/refPerson/@ref)"/>
						</xsl:call-template>
						-->
					</xsl:when>
					<xsl:when test="$pObjet='PersonContactDataTelephone'">
						<xsl:call-template name="tPersonContactDataTelephone">
							<xsl:with-param name="pRefPerson" select="key('objet',$vNode/contacts/refPerson/@ref)"/>
						</xsl:call-template>
					</xsl:when>   
					<xsl:when test="$pObjet='PersonContactDataEmail'">
						<xsl:call-template name="tPersonContactDataEmail">
							<xsl:with-param name="pRefPerson" select="key('objet',$vNode/contacts/refPerson/@ref)"/>
						</xsl:call-template>
					</xsl:when>
					<xsl:otherwise>
						<!-- ON NE FAIT RIEN -->
					</xsl:otherwise>
				</xsl:choose>

			</xsl:when>
			<xsl:otherwise>
				<!-- la personne n existe pas : ON NE FAIT RIEN -->
			</xsl:otherwise>
		</xsl:choose>
	</xsl:template>

	<!-- Solution 1 
	<xsl:template match="refPerson">
		<h3><xsl:value-of select="@role"/></h3>
		<xsl:apply-templates select="key('objet',@ref)/name"/>
		<p>Tel : <xsl:value-of select="key('objet',@ref)/contactData/telephone"/></p>
		<p><xsl:apply-templates select="key('objet',@ref)/contactData/email"/></p>
		<hr/>
	</xsl:template>
	-->
	
	<!-- Solution 4 -->

	<xsl:template name="tContactsRefPerson2">
	<!--		je passe par la-->
		<xsl:apply-templates select="key('objet',$idP)/contacts/refPerson"/>
	</xsl:template>

	
	<!--
	
	<xsl:template match="refPerson">
		<h3><xsl:call-template name="tPersonRole"/></h3>
		<xsl:call-template name="tPersonNameFamily"/>&#160;<xsl:call-template name="tPersonNameGiven"/>
		<p>Tel : <xsl:call-template name="tPersonContactDataTelephone"/></p>
		<p><xsl:call-template name="tPersonContactDataEmail"/></p>
		<hr/>
	</xsl:template>
	-->
	<!-- VERSION HTML -->	
	
	<!-- VERSION PDF -->
	<xsl:template name="responsable-pdf">
		<xsl:param name="macle"/>
		<xsl:param name="monchemin"/>
			
		
		<xsl:if test="$monchemin/name/given!=''">Nom : <xsl:value-of select="$monchemin/name/given"/></xsl:if>
		
                <xsl:if test="$monchemin/name/family!=''">Prenom : <xsl:value-of select="$monchemin/name/family"/></xsl:if>
		<xsl:if test="$monchemin/contactData/email!=''">Mail :  <xsl:value-of select="$monchemin/contactData/email"/></xsl:if>	
	
	</xsl:template>


 	<!--
	<xsl:template match="refPerson">	
		<fo:block><xsl:call-template name="tPersonRole"/></fo:block>
		<fo:block><xsl:call-template name="tPersonNameFamily"/>&#160;<xsl:call-template name="tPersonNameGiven"/></fo:block>
		<fo:block>Tel : <xsl:call-template name="tPersonContactDataTelephone"/></fo:block>
		<fo:block><xsl:call-template name="tPersonContactDataEmail"/></fo:block>
		<hr/>
	</xsl:template>
	 VERSION PDF -->
	
	
	<xsl:template match="ns2:affiliation">
		<xsl:apply-templates select="ns2:refOrgUnit"/>
		<xsl:call-template name="tSectionCNU">
			<xsl:with-param name="pCode" select="ns2:sectCNU/@code"/>
			<xsl:with-param name="pName" select="ns2:sectCNU/@name"/>
		</xsl:call-template>
	</xsl:template>
	
	
	<!-- AJOUT ROT template description -->

</xsl:stylesheet>
