Я создал вложенную группировку, используя XSLT v2.0 для каждой группы . В настоящее время он работает, но, похоже, на нашем сервере нет другого XSLT-процессора, кроме встроенного в Windows, и происходит сбой при создании файла HTML из-за неподдерживаемой для каждой группы, Так что в основном я связан с тем, какой сервер в настоящее время установлен (мне не разрешено устанавливать какие-либо другие автономные компоненты по любой причине).
Вот мой XML
<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="results.xsl"?>
<Results Date="" Title="" Mode="" >
<Result Type="Excel vs StoredProc+Formula" SubType="Report 1" GroupName="Sheet 1" ReferenceName="CTC" LeftSideValue="" RightSideValue="" Evaluation="Passed" />
<Result Type="Excel vs StoredProc+Formula" SubType="Report 1" GroupName="Sheet 1" ReferenceName="FTR" LeftSideValue="" RightSideValue="" Evaluation="Failed" />
<Result Type="Excel vs StoredProc+Formula" SubType="Report 2" GroupName="Sheet 2" ReferenceName="ABR" LeftSideValue="" RightSideValue="" Evaluation="Passed" />
<Result Type="Excel Schema vs Excel Schema" SubType="Report 1" GroupName="Sheet 3" ReferenceName="TWS" LeftSideValue="" RightSideValue="" Evaluation="Passed" />
<Result Type="Excel Schema vs Excel Schema" SubType="Report 1" GroupName="Sheet 3" ReferenceName="TOS" LeftSideValue="" RightSideValue="" Evaluation="Failed" />
<Result Type="SQLDB Schema vs SQLDB Schema" SubType="Report 2" GroupName="Sheet1" ReferenceName="LS" LeftSideValue="" RightSideValue="" Evaluation="Passed" />
</Results>
Рабочий XSLT:
<xsl:stylesheet version="2.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="xml" indent="yes"/>
<xsl:template match="Results">
<ul>
<xsl:for-each-group select="Result" group-by="@Type">
<li>
<xsl:value-of select="@Type"/>
<ul>
<xsl:for-each-group select="current-group()" group-by="@SubType">
<li>
<xsl:value-of select="@SubType"/>
<ul>
<xsl:for-each-group select="current-group()" group-by="@GroupName">
<li>
<xsl:value-of select="@GroupName"/>
<ul>
<xsl:for-each select="current-group()">
<li>
<xsl:value-of select="@ReferenceName"/>
</li>
</xsl:for-each>
</ul>
</li>
</xsl:for-each-group>
</ul>
</li>
</xsl:for-each-group>
</ul>
</li>
</xsl:for-each-group>
</ul>
</xsl:template>
</xsl:stylesheet>
Требуемый вывод в HTML:
<ul>
<li>Excel vs StoredProc+Formula<ul>
<li>Report 1<ul>
<li>Sheet 1<ul>
<li>CTC</li>
<li>FTR</li>
</ul>
</li>
</ul>
</li>
<li>Report 2<ul>
<li>Sheet 2<ul>
<li>ABR</li>
</ul>
</li>
</ul>
</li>
</ul>
</li>
<li>Excel Schema vs Excel Schema<ul>
<li>Report 1<ul>
<li>Sheet 3<ul>
<li>TWS</li>
<li>TOS</li>
</ul>
</li>
</ul>
</li>
</ul>
</li>
<li>SQLDB Schema vs SQLDB Schema<ul>
<li>Report 2<ul>
<li>Sheet1<ul>
<li>LS</li>
</ul>
</li>
</ul>
</li>
</ul>
</li>
</ul>
Я хочу преобразовать текущий сценарий XSLT, используя этот MUENCHIAN METHOD группировки.
Пожалуйста, сообщите.