XML XML transformation à l'aide de XSLT

Je suis en train d'essayer de transformer un fichier XML pour les autres fichier XML à l'aide du fichier XSLT. Ci-dessous le fichier de source:-

Fichier Source

<country isocode="de" pk="8796093055010" uri="http://localhost:9001/ws410/rest/countries/de">
<comments/>
<creationtime>2011-08-03T21:53:35.624+05:30</creationtime>
<dimVals/>
<modifiedtime>2011-08-03T22:05:10.111+05:30</modifiedtime>
<active>true</active>
<name>Germany</name>
<regions>
<region isocode="DE-BW" pk="8796093055011" uri="http://localhost:9001/ws410/rest/countries/de/regions/DE-BW"/>
<region isocode="DE-BY" pk="8796093087779" uri="http://localhost:9001/ws410/rest/countries/de/regions/DE-BY"/>
<region isocode="DE-BE" pk="8796093120547" uri="http://localhost:9001/ws410/rest/countries/de/regions/DE-BE"/>
<region isocode="DE-BR" pk="8796093153315" uri="http://localhost:9001/ws410/rest/countries/de/regions/DE-BR"/>
<region isocode="DE-HB" pk="8796093186083" uri="http://localhost:9001/ws410/rest/countries/de/regions/DE-HB"/>
<region isocode="DE-HH" pk="8796093218851" uri="http://localhost:9001/ws410/rest/countries/de/regions/DE-HH"/>
<region isocode="DE-HE" pk="8796093251619" uri="http://localhost:9001/ws410/rest/countries/de/regions/DE-HE"/>
<region isocode="DE-MV" pk="8796093284387" uri="http://localhost:9001/ws410/rest/countries/de/regions/DE-MV"/>
<region isocode="DE-NI" pk="8796093317155" uri="http://localhost:9001/ws410/rest/countries/de/regions/DE-NI"/>
<region isocode="DE-NW" pk="8796093349923" uri="http://localhost:9001/ws410/rest/countries/de/regions/DE-NW"/>
<region isocode="DE-RP" pk="8796093382691" uri="http://localhost:9001/ws410/rest/countries/de/regions/DE-RP"/>
<region isocode="DE-SL" pk="8796093415459" uri="http://localhost:9001/ws410/rest/countries/de/regions/DE-SL"/>
<region isocode="DE-ST" pk="8796093448227" uri="http://localhost:9001/ws410/rest/countries/de/regions/DE-ST"/>
<region isocode="DE-SN" pk="8796093480995" uri="http://localhost:9001/ws410/rest/countries/de/regions/DE-SN"/>
<region isocode="DE-SH" pk="8796093513763" uri="http://localhost:9001/ws410/rest/countries/de/regions/DE-SH"/>
<region isocode="DE-TH" pk="8796093546531" uri="http://localhost:9001/ws410/rest/countries/de/regions/DE-TH"/>
</regions>
<zones>
<zone code="de" pk="8796093056179" uri="http://localhost:9001/ws410/rest/zones/de"/>
</zones>
</country>

Fichier XSLT

<xsl:template match="/country/regions">
<RECORDS> 
<xsl:for-each select="region">
<RECORD>
<PROP NAME="isocode">
<PVAL><xsl:value-of select="@isocode"/></PVAL>
</PROP>
<PROP NAME="pk">
<PVAL><xsl:value-of select="@pk"/></PVAL>
</PROP>
<PROP NAME="uri">
<PVAL><xsl:value-of select="@uri"/></PVAL>
</PROP>
</RECORD>
</xsl:for-each>
</RECORDS>
</xsl:template>

Sortie attendue

<RECORDS> 
<RECORD>
<PROP NAME="isocode">
<PVAL>DE-BW</PVAL>
</PROP>
<PROP NAME="pk">
<PVAL>8796093055011</PVAL>
</PROP>
<PROP NAME="uri">
<PVAL>http://localhost:9001/ws410/rest/countries/de/regions/DE-BW</PVAL>
</PROP>
</RECORD>
...........
</RECORDS>

Pour vérifier la sortie, j'ai inclus <?xml-stylesheet type="text/xsl" href="<<XSLT file>>"?>
et puis j'ai ouvert le fichier sur le navigateur firefox. Mais le résultat ressemble à la suivante sans les balises personnalisées comme <RECORDS>, <RECORD>, <PROP>

2011-08-03T21:53:35.624+05:30
2011-08-03T22:05:10.111+05:30
true
Germany
DE-BW8796093055011http://localhost:9001/ws410/rest/countries/de/regions/DE-BWDE-BY8796093087779http://localhost:9001/ws410/rest/countries/de/regions/DE-BYDE-BE8796093120547http://localhost:9001/ws410/rest/countries/de/regions/DE-BEDE-BR8796093153315http://localhost:9001/ws410/rest/countries/de/regions/DE-BRDE-HB8796093186083http://localhost:9001/ws410/rest/countries/de/regions/DE-HBDE-HH8796093218851http://localhost:9001/ws410/rest/countries/de/regions/DE-HHDE-HE8796093251619http://localhost:9001/ws410/rest/countries/de/regions/DE-HEDE-MV8796093284387http://localhost:9001/ws410/rest/countries/de/regions/DE-MVDE-NI8796093317155http://localhost:9001/ws410/rest/countries/de/regions/DE-NIDE-NW8796093349923http://localhost:9001/ws410/rest/countries/de/regions/DE-NWDE-RP8796093382691http://localhost:9001/ws410/rest/countries/de/regions/DE-RPDE-SL8796093415459http://localhost:9001/ws410/rest/countries/de/regions/DE-SLDE-ST8796093448227http://localhost:9001/ws410/rest/countries/de/regions/DE-STDE-SN8796093480995http://localhost:9001/ws410/rest/countries/de/regions/DE-SNDE-SH8796093513763http://localhost:9001/ws410/rest/countries/de/regions/DE-SHDE-TH8796093546531http://localhost:9001/ws410/rest/countries/de/regions/DE-TH

PS: Lorsque vous ajoutez des mots sans les balises qu'ils apparaissent sur le navigateur web.

Modifier

I am including my xsl file in my source file like
<?xml-stylesheet type="text/xsl" href="countries2.xsl"?>
<?xml version="1.0" encoding="ISO-8859-1"?>
<country isocode="de" pk="8796093055010" uri="http://localhost:9001/ws410/rest/countries/de">
and rest of the xml as source file

mais quand je suis en cochant cette sur navigateur FF montrant erreur d'analyse, tandis que sur l'IE, j'obtiens le résultat suivant

DE-BW8796093055011http://localhost:9001/ws410/rest/countries/de/regions/DE-BWDE-BY8796093087779http://localhost:9001/ws410/rest/countries/de/regions/DE-BYDE-BE8796093120547http://localhost:9001/ws410/rest/countries/de/regions/DE-BEDE-BR8796093153315http://localhost:9001/ws410/rest/countries/de/regions/DE-BRDE-HB8796093186083http://localhost:9001/ws410/rest/countries/de/regions/DE-HBDE-HH8796093218851http://localhost:9001/ws410/rest/countries/de/regions/DE-HHDE-HE8796093251619http://localhost:9001/ws410/rest/countries/de/regions/DE-HEDE-MV8796093284387http://localhost:9001/ws410/rest/countries/de/regions/DE-MVDE-NI8796093317155http://localhost:9001/ws410/rest/countries/de/regions/DE-NIDE-NW8796093349923http://localhost:9001/ws410/rest/countries/de/regions/DE-NWDE-RP8796093382691http://localhost:9001/ws410/rest/countries/de/regions/DE-RPDE-SL8796093415459http://localhost:9001/ws410/rest/countries/de/regions/DE-SLDE-ST8796093448227http://localhost:9001/ws410/rest/countries/de/regions/DE-STDE-SN8796093480995http://localhost:9001/ws410/rest/countries/de/regions/DE-SNDE-SH8796093513763http://localhost:9001/ws410/rest/countries/de/regions/DE-SHDE-TH8796093546531http://localhost:9001/ws410/rest/countries/de/regions/DE-TH

sortie sur IE est sans balises.je me demande est notamment xsl dans ma source xml peut me montrer le bon de sortie après traduction.

  • Cette question est balisé XSLT 2.0. Je voudrais essayer de définir la feuille de style à 1.0 comme il est bien connu que les navigateurs ne prend pas en charge XSLT 2.0.
  • La première chose que je voudrais faire est d'essayer en changeant l'ordre de votre <?xml version="1.0" encoding="ISO-8859-1"?> et <?xml-stylesheet type="text/xsl" href="countries2.xsl"?> dans le fichier source XML. Le <?xml version="1.0" encoding="ISO-8859-1"?> doit toujours être le premier.
InformationsquelleAutor user924608 | 2011-09-02