<?xml version="1.0" encoding="utf-8"?>
<ConfigurationMappings>
<ConfigurationMap>
<Widget Type="All" Include="true" NeedsMandatoryEffectConfiguration="true"/>
<Trigger Type="Show" />
<ConfigurationEffects>
<Effect>1</Effect>
<Effect>2</Effect>
<Effect>3</Effect>
<Effect>9</Effect>
</ConfigurationEffects>
</ConfigurationMap>
<ConfigurationMap>
<Widget Type="All" Include="true" NeedsMandatoryEffectConfiguration="true"/>
<Trigger Type="Hide" />
<ConfigurationEffects>
<Effect>1</Effect>
<Effect>2</Effect>
<Effect>3</Effect>
<Effect>9</Effect>
</ConfigurationEffects>
</ConfigurationMap>
</ConfigurationMappings>
需要为上面的XML输入编写xsl。因为输出将以widget类型的形式显示all触发器类型show需要输出所有效果 需要有关如何编写xsl的帮助,因为我不知道xsl。我的项目需要这个
我从我自己的写下了xsl<tr>
<td><xsl:value-of select="ConfigurationMappings/ConfigurationMap/Widget/@Type"/></td>
<td><xsl:value-of select="ConfigurationMappings/ConfigurationMap/Trigger/@Type"/></td>
<td><xsl:value-of select="ConfigurationMappings/ConfigurationMap/ConfigurationEffects/Effect"/></td>
</tr>
以下列格式提供输出:
Widget Trigger Effects
----------------------------
All Show 1
但我希望以下格式输出 小工具触发效果
---------------------------
All Show 1
--------------------------
All Show 2
--------------------------
All Show 3
-------------------------
All Show 9
----------------------------
All Hide 1
---------------------------
All Hide 3
--------------------------
All Hide 6
----------------------------
All Hide 9
---------------------------------
请帮帮我 忽略添加的子标题(----)以发布问题
答案 0 :(得分:1)
因此,您希望每个包含效果编号的Effect
元素有一行以及相应的窗口小部件类型和触发器类型? <怎么样
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
<xsl:output method="html" />
<xsl:template match="/">
<html>
<body>
<table>
<tr><th>Widget</th><th>Trigger</th><th>Effects</th></tr>
<xsl:apply-templates select="
ConfigurationMappings/ConfigurationMap/ConfigurationEffects/Effect" />
</table>
</body>
</html>
</xsl:template>
<xsl:template match="Effect">
<tr>
<td><xsl:value-of select="../../Widget/@Type"/></td>
<td><xsl:value-of select="../../Trigger/@Type"/></td>
<td><xsl:value-of select="."/></td>
</tr>
</xsl:template>
</xsl:stylesheet>
这将为每个 Effect
元素触发第二个模板一次,然后我们从那里导航到属于该属性的Widget
和Trigger
元素相同的ConfigurationMap
。