</SCRIPT>
</HEAD>
<BODY>
<CENTER>
<DIV id='targetDIV'></DIV>
</CENTER>
</BODY>
</HTML>
Вот и все. Заметьте, что по умолчанию Internet Explorer 5.5 и младше использует устаревший процессор XSLT, как обсуждалось в главе 2 (если специально не установить процессор MSXML3 в режиме замены или IE 6.0, о чем также говорилось в главе 2). Если вы работаете с IE 5.5 или младше, у вас в распоряжении таблица стилей Internet Explorer прежнего образца, в которой нет правил по умолчанию и в которой вам придется использовать старое пространство имен XSL, как в этом примере (листинг 10 5).
<?xml version='1.0'?>
<xsl:stylesheet version='1.1' xmlns:xsl='http://www.w3.org/TR/WD-xsl'>
<xsl:template match='/'>
<HTML>
<HEAD>
<TITLE>
The Planets Table
</TITLE>
</HEAD>
<BODY>
<H1>
The Planets Table
</H1>
<TABLE BORDER='2'>
<TR>
<TD>Name</TD>
<TD>Mass</TD>
<TD>Radius</TD>
<TD>Day</TD>
</TR>
<xsl:apply-templates/>
</TABLE>
</BODY>
</HTML>
</xsl:template>
<xsl:template match='PLANETS'>
<xsl:apply-templates/>
</xsl:template>
<xsl:template match='PLANET'>
<TR>
<TD><xsl:value-of select='NAME'/></TD>
<TD><xsl:value-of select='MASS'/></TD>
<TD><xsl:value-of select='RADIUS'/></TD>
<TD><xsl:value-of select='DAY'/></TD>
</TR>
</xsl:template>
</xsl:stylesheet>
Как видите, при помощи JavaScript и XSLT в Internet Explorer можно сделать весьма многое. Дополнительную информацию можно подучить из руководства разработчика XSLT фирмы Microsoft, которое сейчас расположено по адресу http://msdn.microsoft.com/library/default.asp? URL=/library/psdk/xmlsdk/xslp8tlx.htm.
Пришло время рассмотреть взаимодействие XSLT с Java, начав с обращения к Java непосредственно из процессоров XSLT.
Вызов Java непосредственно из процессоров XSLT
Как мы говорили в главе 5, до недавнего времени процессоры XSLT могли реализовывать функции расширения любым способом, и один из этих способов включал прямой вызов функций Java. Например, в Saxon и Xalan можно выполнять код Java, если определить пространство имен, указывающее класс Java как последнюю часть своего URI — как в следующем примере, где я определил пространство имен Date
, соответствующее классу Java Date
:
<?xml version='1.0'?>
<xsl:stylesheet version='1.1'
xmlns:xsl='http://www.w3.org/1999/XSL/Transform'
xmlns:Date='http://www.saxon.com/java/java.util.Date'>
.
.
.
Как вы видели в главе 5, это означает, что теперь вы можете применять такие функции Java, как toString
и new, для встраивания текущей даты в заголовок HTML <Н1>
, — например, так (листинг 10.6).
<?xml version='1.0'?>
<xsl:stylesheet version='1.1'
xmlns:xsl='http://www.w3.org/1999/XSL/Transform'
xmlns:Date='http://www.saxon.com/java/java.util.Date'>
<xsl:template match='/PLANETS'>
<HTML>
<HEAD>
<TITLE>
The Planets Table
</TITLE>
</HEAD>
<BODY>
<H1>
The Planets Table
</H1>
<BR/>
<H1>
<xsl:value-of select='Date:toString(Date:new())'/>
</H1>