Bonjour,
Je dois appliquer une feuille de style à un fichier XML
Dans cette feuille de style je dois appeler une autre feuille de style...
Seulement entre les match et select je me perds en route...
La feuille de style importé n'est pas modifiable, la voici:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12 <?xml version="1.0"?> <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0"> <xsl:output method="html" omit-xml-declaration="yes"/> <xsl:template match="/"> <H2><xsl:value-of disable-output-escaping="yes" select="root/dynamic-element[@name='title']/dynamic-content"/></H2> <BR/> <xsl:value-of disable-output-escaping="yes" select="root/dynamic-element[@name='intro-text']/dynamic-content"/> <BR/> <xsl:value-of disable-output-escaping="yes" select="root/dynamic-element[@name='full-text']/dynamic-content"/> </xsl:template> </xsl:stylesheet>
Voici un essai de feuille qui marche (sans import) :
Et voici le code qui ne marche pas :
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 <?xml version="1.0"?> <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0"> <xsl:output method="html" omit-xml-declaration="yes"/> <xsl:template match="/result-set"> <table width="100%"> <xsl:for-each select="result"> <tr style="border:2px black solid;"> <td> <!-- A EXTERNALISER --> <H2><xsl:value-of disable-output-escaping="yes" select="root/dynamic-element[@name='title']/dynamic-content"/></H2> <BR/> <xsl:value-of disable-output-escaping="yes" select="root/dynamic-element[@name='intro-text']/dynamic-content"/> <BR/> <xsl:value-of disable-output-escaping="yes" select="root/dynamic-element[@name='full-text']/dynamic-content"/> <!-- A EXTERNALISER --> </td> </tr> </xsl:for-each> </table> </xsl:template> </xsl:stylesheet>
Un exemple de fichier XML:
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 <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0"> <xsl:output method="html" omit-xml-declaration="yes"/> <xsl:template match="/result-set"> <table width="100%"> <xsl:for-each select="result"> <tr style="border:2px black solid;"> <td> <xsl:call-template name="xsl2" /> </td> </tr> </xsl:for-each> </table> </xsl:template> <xsl:template name="xsl2"> <!-- lien qui donne la XSL --> <xsl:import href="http://localhost:8080/c/journal/get_template?template_id=NEWS-ITEM-TEMPLATE" /> <!-- on applique la feuille importée --> <xsl:apply-imports /> </xsl:template> </xsl:stylesheet>
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 <?xml version="1.0" encoding="UTF-8"?> <result-set> <result article-id="NEWS-01"> <reserved-info> <version>1.0</version> <title>News 1</title> <description>cvsdvsd</description> <create-date>Mon, 04 Jun 2007 12:48:04 +0000</create-date> <modified-date>Mon, 04 Jun 2007 13:26:12 +0000</modified-date> <display-date>Mon, 04 Jun 2007 12:46:00 +0000</display-date> <author-id>2</author-id> <author-name>Joe Bloggs</author-name> <author-email-address>test@liferay.com</author-email-address> </reserved-info> <root> <dynamic-element name="title" type="text"> <dynamic-content><![CDATA[News 1]]></dynamic-content> </dynamic-element> <dynamic-element name="intro-text" type="text_area"> <dynamic-content><![CDATA[<p><u><strong>intro1</strong></u></p><p>gfvsdgsdfgbf bfd bfqs</p>]]></dynamic-content> </dynamic-element> <dynamic-element name="full-text" type="text_area"> <dynamic-content><![CDATA[<p><u><strong>full1</strong></u></p><p>gfgbqdfgbqdf gbfqseg fgsdgseq fvdsq</p><p align="left"><font color="#ff6600">gsfgbqe gvbqsf gvq gvqsfgvqzerg vdsvq</font></p><p align="left"><em>ggqs gsfgbqe gvbqsf gvq gvqsfgvqzerg</em></p><p align="left"><font color="#00ff00">gqsfgbqsf gsfgbqe gvbqsf gvq gvqsfgvqzerg</font> </p><p align="left">gbvfsdqd gsfgbqe gvbqsf gvq gvqsfgvqzerg <u></u></p>]]></dynamic-content> </dynamic-element> </root> </result> <result article-id="NEWS-02"> <reserved-info> <version>1.0</version> <title>News 2</title> <description>vsdvsdf</description> <create-date>Mon, 04 Jun 2007 12:49:01 +0000</create-date> <modified-date>Mon, 04 Jun 2007 12:49:01 +0000</modified-date> <display-date>Mon, 04 Jun 2007 12:48:00 +0000</display-date> <author-id>2</author-id> <author-name>Joe Bloggs</author-name> <author-email-address>test@liferay.com</author-email-address> </reserved-info> <root> <dynamic-element name="title" type="text"> <dynamic-content><![CDATA[News 2]]></dynamic-content> </dynamic-element> <dynamic-element name="intro-text" type="text_area"> <dynamic-content><![CDATA[<p><u><strong>intro2</strong></u></p><p>gfghe hfgghrt nryj ryjrzhgtrfgdffgzetgrtjhn ghefq</p>]]></dynamic-content> </dynamic-element> <dynamic-element name="full-text" type="text_area"> <dynamic-content><![CDATA[<p><u><strong>full2</strong></u></p><p>gsdfgbvsdf vsdfqgjkl jgklvsdqhn jfbhzmqfhbl! fdknzql fnzM</p><p> FGSDOMFHNUIO QZFZOQEIFGUIH ZEOMUFHmeizofg</p><p>fghiozquiomghOHGOIghoiHZGOHZORhgiozrhgolze<u /></p>]]></dynamic-content> </dynamic-element> </root> </result> </result-set>
Partager