Проблемы с XSLT и применением шаблонов - PullRequest
1 голос
/ 26 сентября 2011

Я собираюсь быть кратким.Я делаю XSLT на клиенте.Результатом является отчет / HTML с данными.Отчет состоит из нескольких блоков, то есть один блок является одним дочерним элементом корневого узла в файле xml.

В моем проекте n отчетов, находящихся в n разных xslt-файлах, и отчеты могут иметь одинаковыеблок.Это означает, что если есть проблема с одним блоком для одного отчета, и это в n отчетах, я должен обновлять каждый отчет n (файл xslt).

Поэтому я хочу поместить все свои блоки в шаблоны (kind-of-businesslayer), который я могу использовать для своих отчетов с помощью xsl: включить в шаблоны для этих отчетов.

Так что псевдо-что-то вроде этого:

<?xml version="1.0".....?>
<xsl:stylesheet version="1.0"....>
  <xsl:include href="../../Blocks/MyBlock.xslt"/>
  <xsl:template match='/'>
     <xsl:apply-templates />
  </xsl:template>
</xsl:stylesheet>


MyBlock.xslt:

<?xml version="1.0"....?>
<xsl:stylesheet version="1.0".....>
  <xsl:template match='/root/rating'>
     HTML OUTPUT
   </xsl:template>
</xsl:stylesheet>

Я надеюсь, что кто-то изтам понимает мой вопрос.Мне нужны указатели о том, как это сделать, если это один из способов сделать это.Но это не похоже на работу.

1 Ответ

0 голосов
/ 05 октября 2011

Ниже мой опыт, как с этим бороться.

Это пример, который я изменил ваш код.

<?xml version="1.0"?>
<xsl:stylesheet version="1.0">
    <xsl:include href="../../Blocks/MyBlock.xslt"/>
    <xsl:template match="/">
        <xsl:apply-templates select="node()" mode="callingNode1"/>
    </xsl:template>
</xsl:stylesheet>

MyBlock.xslt:

<?xml version="1.0"?>
<xsl:stylesheet version="1.0">
    <xsl:template mode="callingNode1" match="*">  
         HTML OUTPUT  
     </xsl:template>
     <xsl:template mode="callingNode2" match="/root/rating">  
         HTML OUTPUT  
     </xsl:template>
</xsl:stylesheet>

Здесь я вызываю узлы в режиме & match .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...