【发布时间】:2012-10-11 04:45:12
【问题描述】:
基本上这是我从莎士比亚戏剧中摘录的 XML:
<PLAY>
<PERSONA>BENEDICK, a young lord of Padua.</PERSONA>
<PERSONA>LEONATO, governor of Messina.</PERSONA>
<PERSONA>ANTONIO, his brother.</PERSONA>
<PERSONA>BALTHASAR, attendant on Don Pedro.</PERSONA>
<PGROUP>
<PERSONA>CONRADE</PERSONA>
<PERSONA>BORACHIO</PERSONA>
<GRPDESCR>followers of Don John.</GRPDESCR>
</PGROUP>
<PERSONA>FRIAR FRANCIS</PERSONA>
</PLAY>
这是 XSL:
<xsl:template match="PLAY">
<html>
<body>
<xsl:for-each select="PERSONAE">
<xsl:apply-templates select="PERSONA" />
<xsl:apply-templates select="PGROUP/PERSONA" />
</xsl:for-each>
</body>
</html>
</xsl:template>
<xsl:template match="PERSONA">
<p><xsl:value-of select="." /></p>
</xsl:template>
<xsl:template match="PGROUP/PERSONA">
<xsl:for-each select=".">
<p><xsl:value-of select="." />, </p>
</xsl:for-each>
<xsl:for-each select="..">
<p><xsl:value-of select="GRPDESCR" /></p>
</xsl:for-each>
</xsl:template>
当前的 HTML 输出:
BENEDICK, a young lord of Padua.
LEONATO, governor of Messina.
ANTONIO, his brother.
BALTHASAR, attendant on Don Pedro.
FRIAR FRANCIS
CONRADE,
followers of Don John.
BORACHIO,
followers of Don John.
这就是我希望我的 HTML 输出的样子:
BENEDICK, a young lord of Padua.
LEONATO, governor of Messina.
ANTONIO, his brother.
BALTHASAR, attendant on Don Pedro.
FRIAR FRANCIS
CONRADE, BORACHIO, followers of Don John.
我已经为此花费了数小时,所以任何帮助都会非常棒!
【问题讨论】:
标签: xml xslt loops xpath foreach