Bonjour;
je souhaite crée des fichiers class.java à partir d'un fichier xml tout en utilisant la transformation xslt.
Voici les fichiers xml et xslt:
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
<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet href="JavaBean.xsl" type="text/xsl"?>
<classes name="Book">
 
	<class>
		<attribut name="title" type="String"/>
		<attribut name="page" type="String"/>
		<attribut name="category" type="String"/>
 
	</class>
</classes>
<classes name="Writer">
 
	<class>
		<attribut name="first_name" type="String"/>
		<attribut name="Last_name" type="String"/>
 
	</class>
</classes>
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
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
 
	<xsl:output method="text"/>
 
<xsl:template match="/">
 
	public class <xsl:value-of select="classes/@name"/>
	{
		<xsl:apply-templates select="//attribut" mode="instanceVariable"/>
 
		public <xsl:value-of select="classes/@name"/>()
		{
		}
 
		<xsl:apply-templates select="//attribut" mode="accessor"/>
		<xsl:apply-templates select="//attribut" mode="mutator"/>
	}
</xsl:template>
 
<xsl:template match="Import">
	import <xsl:value-of select="."/>;
</xsl:template>
 
<xsl:template match="attribut" mode="instanceVariable">
		private <xsl:value-of select="@type"/><xsl:text> </xsl:text><xsl:value-of select="@name"/>;
</xsl:template>
 
<xsl:template match="attribut" mode="accessor">
		public <xsl:value-of select="@type"/> get<xsl:call-template name="initCap">
					<xsl:with-param name="x" select="@name"/>
				</xsl:call-template>()
		{
			return <xsl:value-of select="@name"/>;
		}
</xsl:template>
 
<xsl:template match="attribut" mode="mutator">
		public void set<xsl:call-template name="initCap">
					<xsl:with-param name="x" select="@name"/>
				</xsl:call-template>(<xsl:value-of select="@type"/> the<xsl:call-template name="initCap">
					<xsl:with-param name="x" select="@name"/>
				</xsl:call-template>)
		{
			<xsl:value-of select="@name"/> = the<xsl:call-template name="initCap">
				<xsl:with-param name="x" select="@name"/>
			</xsl:call-template>;
		}
</xsl:template>
 
<xsl:template name="initCap">
	<xsl:param name="x"/>
	<xsl:value-of select="translate(substring($x,1,1)
							,'abcdefghijklmnopqrstuvwxyz'
							,'ABCDEFGHIJKLMNOPQRSTUVWXYZ')"/>
	<xsl:value-of select="substring($x,2)"/>
</xsl:template>
 
 
</xsl:stylesheet>
Mon problème c'est que ce fichier xslt n'a pas pu générer les deux fichiers Book.java et Writer.java en même temps. je peux avoir un fichier java si seulement si je garde dans mon fichier xml une seule classe exemple:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet href="JavaBean.xsl" type="text/xsl"?>
<classes name="Book">
 
	<class>
		<attribut name="title" type="String"/>
		<attribut name="page" type="String"/>
		<attribut name="category" type="String"/>
 
	</class>
</classes>
Merci de me fournir de l'aide afin que je puisse générer un nombre de classe tant qu'il y a de classe dans le fichier xml. je suis vraiement bloqué à cette étape.
Merci