0
nous avons suivant fichier XMLtransformation XSLT de données incompleteXML dans la table
<root>
<entries>
<entry>
<id>1</id>
<title>entry A</title>
<group>1</group>
<category>a</category>
</entry>
<entry>
<id>2</id>
<title>entry B</title>
<group>1</group>
<category>c</category>
</entry>
<entry>
<id>3</id>
<title>entry C</title>
<group>2</group>
<category>b</category>
</entry>
<entry>
<id>4</id>
<title>entry D</title>
<group>2</group>
<category>c</category>
</entry>
<entry>
<id>5</id>
<title>entry E</title>
<group>3</group>
<category>a</category>
</entry>
<entry>
<id>6</id>
<title>entry F</title>
<group>4</group>
<category>c</category>
</entry>
</entries>
<groups>
<group id="1">
<title>Group 1</title>
</group>
<group id="2">
<title>Group 2</title>
</group>
<group id="3">
<title>Group 3</title>
</group>
<group id="4">
<title>Group 4</title>
</group>
</groups>
<categories>
<category id="a">
<title>A</title>
</category>
<category id="b">
<title>B</title>
</category>
<category id="c">
<title>C</title>
</category>
</categories>
</root>
qui contient la définition de table (nœud groupes correspond à des rangées et le noeud de catégorie correspond à des colonnes) et les entrées de table. Chaque entrée est identifiée par un identifiant de groupe et de colonne, et les entrées ne sont pas définies pour toutes les cellules.
J'ai besoin en tant que sortie d'une table, comme celui-ci:
<table>
<thead>
<tr>
<th>Groups</th>
<th>A</th>
<!-- category name -->
<th>B</th>
<!-- category name -->
<th>C</th>
<!-- category name -->
</tr>
</thead>
<tbody>
<tr>
<th group-id="1">Group 1</th>
<!-- group name -->
<th group-id="1" category-id="a"><span>entry A</span></th>
<th group-id="1" category-id="b"></th>
<th group-id="1" category-id="c"><span>entry B</span></th>
</tr>
<tr>
<th group-id="3">Group 2</th>
<!-- group name -->
<th group-id="2" category-id="a"></th>
<th group-id="2" category-id="b"><span>entry C</span></th>
<th group-id="2" category-id="c"><span>entry D</span></th>
</tr>
<tr>
<th group-id="3">Group 3</th>
<!-- group name -->
<th group-id="3" category-id="a"><span>entry E</span></th>
<th group-id="3" category-id="b"></th>
<th group-id="3" category-id="c"></th>
</tr>
<tr>
<th group-id="4">Group 4</th>
<!-- group name -->
<th group-id="4" category-id="a"></th>
<th group-id="4" category-id="b"></th>
<th group-id="4" category-id="c"><span>entry F</span></th>
</tr>
</tbody>
</table>
qui remplirait toutes les cellules de la table avec des portées vides, s'il n'y a pas de données au format XML initial .
Toute aide appréciée!
Eh bien, pour vos lignes que vous voulez par exemple ' ... xsl: pour-chaque-groupe>' et le contenu de chaque 'tr' que vous remplissez à partir de vos colonnes ' 'soit avec' xsl: for-each> 'ou avec un template-apply similaire. –
+0
Salut! Merci pour votre réponse! ... xsl: pour-chaque-groupe> pourrait fonctionner correctement, si tous les groupes étaient couverts par des entrées. Il peut y avoir des groupes vides, sans aucune entrée. –
oachkatzlschwoaf
+0
A
0
+0
Dernière question
-
1. création d'entrée renvoie un 201 mais y accéder retourne 404
-
2. Erreur dans l'obtention XML et l'analyser
-
3. Code d'erreur: 1054. Unknown column 'ExamQuestions.Employees.Number' dans 'liste des champs'
-
4. angulaire 2 propriété complexe interpolation
-
5. Faire un dictionnaire de la liste et après la scission en deux
-
6. Echo un enfant de tableau
-
7. listes plus
-
8. liens d'ancrage ne fonctionne pas en vue de la semaine et jour dans FullCalendar
-
9. ngx-translate n'affiche pas la traduction en mode serveur
-
10. Buffer audio livestream avec ExoPlayer
- Aucun problème connexe^_^
J'ai juste essayé de bidouiller cela ensemble à http://xsltransform.net/bEzjRKP, au moins pour l'échantillon posté, il semble que l'approche fonctionne. Mais vous pouvez bien sûr aussi traiter 'groups/group' pour créer les lignes' tr' dans le corps de la table et utiliser une clé pour accéder aux éléments 'entry' correspondants. –
Répondre
Sur la base de vos commentaires que vous pouvez utiliser les touches de référence croisée de vos groupes donnés:
http://xsltransform.net/bEzjRKP/1
Source
2017-10-10 13:35:11
Merci! ça a marché pour moi! – oachkatzlschwoaf
Questions connexes