Предположим, у нас есть:
<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" href="class.xsl"?>
<class>
<student>Jack</student>
<student>Harry</student>
<student>Rebecca</student>
<teacher>Mr. Bean</teacher>
</class>
Этот файл будет хорошо отображаться в браузере с правильным class.xsl
:
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:template match="/">
<html><body>
<ol>
<xsl:for-each select="class/student">
<li><xsl:value-of select="."/></li>
</xsl:for-each>
</ol>
</body></html>
</xsl:template>
</xsl:stylesheet>
Есть ли способ включить содержимое class.xsl
в тот же XML-файл, чтобы файл class.xsl
не существовал?
Я знаю, что это возможно с таблицей стилей CSS, обычно называемой <link>
, которая также может быть вложена в
.
Редактировать : я экспериментировал со ссылкой на тот же XML-файл, что и таблица стилей, однако XSLT <stylesheet>
не работает, если не используется в качестве корневого элемента.
Можно ли разрешить class.xsl
получать какой-либо сегмент XSLT, определенный в файле XML, и использовать его в качестве XSLT? Это позволило бы определить общий файл XSLT для загрузки правил XSLT из каждого отдельного файла XML.