Шрифт:
<xsl:text> equals </xsl:text>
<xsl:value-of select="MASS"/>
<xsl:text> Earth masses.'</xsl:text>
}
</xsl:for-each>
</SCRIPT>
</HEAD>
<BODY>
<CENTER>
<H1>The Mass Page</H1>
</CENTER>
<xsl:for-each select="PLANET">
<P/>
<xsl:element name="input" use-attribute-sets="attribs"/>
</xsl:for-each>
<P/>
<P/>
<DIV ID='display'></DIV>
</BODY>
</HTML>
</xsl:template>
<xsl:attribute-set name="attribs">
<xsl:attribute name="type">BUTTON</xsl:attribute>
<xsl:attribute name="value"><xsl:value-of select="NAME"/></xsl:attribute>
<xsl:attribute name="onclick><xsl:value-of select="NAME"/></xsl:attribute>
</xsl:attribute-set>
</xsl:stylesheet>
Результат, включая элемент
<SCRIPT>
для нового кода JavaScript (листинг 6.2). Листинг 6.2. Результирующий документ с JavaScript
<HTML>
<HEAD>
<TITLE>
The Mass Page
</TITLE>
<SCRIPT LANGUAGE="javascript">
function Mercury {
display.innerHTML =
'The mass of Mercury equals .0553 Earth masses.'
}
function Venus {
display.innerHTML = 'The mass of Venus equals .815 Earth masses.'
}
function Earth {
display.innerHTML = 'The mass of Earth equals 1 Earth masses.'
}
</SCRIPT>
</HEAD>
<BODY>
<CENTER>
<H1>The Mass Page</H1>
</CENTER>
<input type="BUTTON" value="Mercury" onclick="Mercury">
<input type="BUTTON" value="Venus" onclick="Venus">
<input type="BUTTON" value="Earth" onclick="Earth">
<DIV ID="display"></DIV>
</BODY>
</HTML>
Как видите, при помощи XSLT я написал код JavaScript для прохода в цикле по планетам. Этот документ HTML показан на рис. 6.1. При щелчке на кнопку выводится масса соответствующей планеты.
Рис. 6.1. Преобразование XML в HTML при помощи JavaScript
Метод вывода: XML
Формально при использовании метода вывода XML процессор XSLT создает хорошо сформированный внешний объект XML, который можно разобрать на общих условиях. Если корневой узел результирующего дерева имеет единственный дочерний узел-элемент и не имеет текстовых дочерних узлов. Тогда объект будет также хорошо сформированным документом XML.