У меня есть несколько xsl файлов. Каждый из них содержит блок кода, который приведен ниже в | Код | <xsl:template match="/"> |
Кроме этого, каждый файл содержит темплейт "data" который вызывается из основного шаблона. Темплейт "data" в каждом из файлов разный.
| Код | <?xml version="1.0"?> <xsl:stylesheet version="2.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns="http://www.w3.org/1999/xhtml"> <xsl:output name="indent" method="html" indent="yes" omit-xml-declaration="yes"/> <xsl:output name="no_indent" method="html" indent="no" omit-xml-declaration="yes"/>
<xsl:template match="/"> <xsl:variable name="indent" select="//page/view-data/html-indent"/> <xsl:if test="$indent='yes'"> <xsl:result-document format="indent" > <xsl:call-template name="data"/> </xsl:result-document> </xsl:if> <xsl:if test="$indent='no'"> <xsl:result-document format="no_indent" > <xsl:call-template name="data"/> </xsl:result-document> </xsl:if> </xsl:template>
<xsl:template name="data"> <!-- The content is different from file to file --> </xsl:template> </xsl:stylesheet>[quote]
[/quote]
|
Я хочу централизованно контролировать indent путем вынесения общей части содержимого | Код | <xsl:template match="/"> |
в отдельный xsl файл. Затем каким-либообразом либо импортировать либо инклудить. Проблема заключается в том, что если я пробую это делать, то вызвать шаблон "data" из общего файла приводит к ошибке. Использую xsl2.0 и saxon.
Кто сталкивался с подобным подскажите подходящее решение. |