J'ai un XML compliqué et j'essaye d'écrire une transformation XSL pour le convertir en HTML. Quelqu'un pourrait-il m'aider s'il vous plaît?Transformation XSL de XML compliqué
Voici le XML
<?xml version="1.0" encoding="iso-8859-1"?>
<?xml-stylesheet type="text/xsl" href="Mbooks.xsl"?>
<project>
<books>
<bookName>Eclpise</bookName>
<bookCount>3</bookCount>
<Data>
<NEW>
<bookNumber>book3687110</bookNumber>
<ISBN>927fd6ca660e5a9</ISBN>
<Isbninfo>
<IsbninfoDetails>
<IsbninfoName>new book</IsbninfoName>
<IsbninfoVersion>version 1</IsbninfoVersion>
</IsbninfoDetails>
<IsbninfoDetails>
<IsbninfoName> new book 1</IsbninfoName>
<IsbninfoVersion>version 2</IsbninfoVersion>
</IsbninfoDetails>
</Isbninfo>
</NEW>
<NEW>
<bookNumber>book3674796</bookNumber>
<ISBN>6fa276825144</ISBN>
<Isbninfo>
<IsbninfoDetails>
<IsbninfoName>new book 3</IsbninfoName>
<IsbninfoVersion>version 3</IsbninfoVersion>
</IsbninfoDetails>
<IsbninfoDetails>
<IsbninfoName>new book 4</IsbninfoName>
<IsbninfoVersion>version 4</IsbninfoVersion>
</IsbninfoDetails>
</Isbninfo>
</NEW>
</Data>
</books>
<books>
<bookName>ORACLE</bookName>
<bookCount>0</bookCount>
<Data>
</Data>
</books>
<books>
<bookName>MUSIC</bookName>
<bookCount>0</bookCount>
<Data>
</Data>
</books>
</project>
Voici le XSLT.
<?xml version="1.0" encoding="ISO-8859-1"?>
<xsl:stylesheet
version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:template match="/">
<html>
<body>
<h2>BOOK_INFORMATION </h2>
<table style="display: inline-block; border: 1px solid; float: left; ">
<tr bgcolor="#FFA500">
<th>book Name</th>
<th>book_Count</th>
<th>book_Number</th>
<th>ISBN</th>
<th>Isbninfo_Name</th>
<th>Isbninfo_Version</th>
</tr>
<xsl:for-each select="project/books">
<tr>
<td>
<xsl:value-of select="bookName"/>
</td>
<td>
<xsl:value-of select="bookCount"/>
</td>
</tr>
</xsl:for-each>
</table>
</body>
</html>
</xsl:template>
</xsl:stylesheet>
Je ne sais pas comment pourrais-je obtenir les autres informations: Je veux tout dans une table. J'ai essayé de faire <xsl:for-each>
dans le pour chaque mais cela ne fonctionne pas.
hey merci pour votre réponse, mais est-il possible de ne pas dupliquer le nom du livre, book_count, BOOK_NUMBER et le numéro ISBN et nous pouvons ajouter quelque chose comme la durée de ligne ou de façon et la faire ressembler à une bonne table? Merci pour votre aide. – Maxyie
Oui, c'est certainement possible, mais vous devriez spécifier un peu mieux ce que vous voulez exactement - et ce que vous avez essayé. – MiMo
Hey désolé pour la confusion que j'ai cause. Je veux une bonne table dans laquelle les champs nécessaires ne sont pas dupliqués. J'essaie d'utiliser une boucle foreach à l'intérieur de la boucle foreach mais je suppose que cela ne fonctionne pas comme java ou perl fonctionne. J'ai "ajouté un exemple html" dans un nouveau fil comme je suis incapable de le dd ici – Maxyie