Теперь я перешел к последнему этапу моей таблицы стилей XSL, который требует, чтобы я вывел число, представляющее общее количество добавленных узлов.На самом деле, мне это не кажется таким простым:
Прежде всего, я не считаю узлы из исходного XML-документа, я собираюсь подсчитать некоторые узлы из полученного XML (исходный XML-документ может быть пустым).
Во-вторых, я не считаю все узлы.
Например, вот фрагмент моего кода XSLT:
<xsl:template name="Loop2000A">
<Loop2000A>
<HL>
<HL01>
<xsl:value-of select="'1'"/>
</HL01>
<HL03>
<xsl:value-of select="'20'"/>
</HL03>
</HL>
<xsl:if test="$recbat//provider_taxonomy_qual !='' ">
<PRV>
<PRV01>
<xsl:value-of select="'BI'"/>
</PRV01>
<PRV02>
<xsl:value-of select="$recbat//provider_taxonomy_qual"/>
</PRV02>
<PRV03>
<xsl:value-of select="$recbat//provider_taxonomy"/>
</PRV03>
</PRV>
</xsl:if>
<xsl:call-template name="Loop2010AA"/>
Так что для этого кода и называются сегменты, а эти $ recbat и т. Д. Являются источниками данных.Поэтому хочу, чтобы я действительно хотел посчитать количество этих сегментов, и это может быть в разных шаблонах (например, шаблон «Loop2010AA» выше, который является другим шаблоном), и эти сегменты могут иметь циклы, поэтому они могут создаваться 3 раза подряд,который наш счетчик должен увеличить на 3 соответственно, или, может быть, оператор «если» не выполнен, таким образом, такой сегмент не создается, тогда счетчик должен остаться прежним.
Я не уверен, что это правильный способ реализовать, так какБольшая часть учебника, который я нашел, посвящена подсчету узлов в исходных XML-документах.Теперь у меня есть идея использовать передачу параметров, но я не знаю, как сделать этот параметр глобальным?
В качестве альтернативы, я думаю о более прямом способе сделать это.Вместо использования переменной счетчика, есть ли какой-нибудь способ, которым я могу сначала сгенерировать выходной xml-документ, затем я подсчитываю нужные мне узлы в этом xml и затем генерирую TRUE-вывод с числом в нем.