Bonjour,

Je suis débutant en XSL et je dois créer des feuilles de style pour transformer des documents XML en XML_EAD. Suite à de nombreuses recherches je n'ai rien trouvé alors je me lance .

Je pars sur un modèle qui comporte tout les champs qu'il est possible d'avoir dans notre base de donnée:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
<?xml version="1.0" encoding="utf-8"?>
<!-- Cette feuille de style s'applique uniquement aux dossiers -->
 
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
 
	<xsl:template match="Record" name="ShowRecDossier1">
 
		<unitid>
			<xsl:value-of select="DetailData/DataElement[@ElementId=2]/ElementValue/TextValue"/>
		<lb />
			<xsl:value-of select="DetailData/DataElement[@ElementId=18]/ElementValue/TextValue"/>
		</unitid>
 
		<unittitle>
			<xsl:value-of select="DetailData/DataElement[@ElementId=1]/ElementValue/TextValue"/>
		</unittitle>
 
		<unitdate>
			<xsl:attribute name="normal">
				<xsl:value-of select="DetailData/DataElement[@ElementId=7]/ElementValue/DateRange/TextRepresentation"/>
			</xsl:attribute>
				<lb />
			<xsl:value-of select="DetailData/DataElement[@ElementId=10068]/ElementValue/TextValue"/>
		</unitdate>
 
		<physdesc>
			<physfacet type="Support"> 
				<xsl:value-of select="DetailData/DataElement[@ElementId=10102]/ElementValue/TextValue"/>
			</physfacet>			
			<genreform type="Type de documents d'archives">
				<xsl:value-of select="DetailData/DataElement[@ElementId=17]/ElementValue/TextValue"/>
			</genreform>			
			<extent>
				<xsl:value-of select="DetailData/DataElement[@ElementId=10112]/ElementValue/TextValue"/>
			</extent>
			<dimensions type="hauteur x largeur" unit="centimètre"><xsl:value-of select="DetailData/DataElement[@ElementId=10054]/ElementValue/TextValue"/></dimensions>
		</physdesc>
 
		<physloc>	
			<xsl:value-of select="DetailData/DataElement[@ElementId=10117]/ElementValue/TextValue"/>
		</physloc>	
 
	</xsl:template>
</xsl:stylesheet>
Et j'obtient le résultat suivant:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
<unitid>CH AEV, 1 DM, 1  <lb/>
</unitid>
<unittitle>Législation, messages et rapports sur l'organisation militaire</unittitle>
<unitdate normal="1802-1836">
<lb/>
</unitdate>
<physdesc>
<physfacet type="Support"/>
<genreform type="Type de documents d'archives"/>
<extent/>
<dimensions type="hauteur x largeur" unit="centimètre"/>
</physdesc>
<physloc/>
Il faudrait que j'obtienne le même résultat mais en supprimant les balises qui ne contiennent rien et remplacer les espace et les virgules de l'identifiant de l'unité documentaire (<unitid>). Comme ceci:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
<unitid>CH_AEV-1_DM-1</unitid>
<unittitle>Législation, messages et rapports sur l'organisation militaire</unittitle>
<unitdate normal="1802-1836"></unitdate>
Comment puis-je le faire ? (Ou bien connaissez-vous des sites qui expliques cela que j'aurais malheureusement ratés durant ma recherche ?)


Merci d'avance pour vos réponse,
Renaud