если предположить, что в моей базе данных есть три записи строк, извлекая эти данные, которые я преобразовываю в данные XML, как показано ниже:
Вот мой XML:
<NewDataSet>
<Table>
<RECORD_TYPE_CODE>CTD</RECORD_TYPE_CODE>
<MSG_TYPE_CODE>O103N</MSG_TYPE_CODE>
<CTD_SEQ_NUM>000086</CTD_SEQ_NUM>
<CTD_CTD_PKG_ID>2</CTD_CTD_PKG_ID>
</Table>
<Table>
<RECORD_TYPE_CODE>CTO</RECORD_TYPE_CODE>
<MSG_TYPE_CODE>O203N</MSG_TYPE_CODE>
<CTD_SEQ_NUM>000087</CTD_SEQ_NUM>
<CTD_CTD_PKG_ID>2</CTD_CTD_PKG_ID>
</Table>
<Table>
<RECORD_TYPE_CODE>CTH</RECORD_TYPE_CODE>
<MSG_TYPE_CODE>O303N</MSG_TYPE_CODE>
<CTD_SEQ_NUM>000088</CTD_SEQ_NUM>
<CTD_CTD_PKG_ID>2</CTD_CTD_PKG_ID>
</Table>
</NewDataSet>
через c точный код позадииспользуя для цикла im отправка идентификатора пакета (CTD_CTD_PKG_ID) и Sequencenum (CTD_SEQ_NUM) через параметры аргумента xslt, он правильно проходил в последовательном порядке, таком как 000086,000087,000088, но в первый раз, когда в цикле я передаю 000086, он выбирался следующим образомкогда я передал 000087, он генерировал данные в таблице 000086, только потому, что это происходило, передавая значение параметра хорошо в последовательном порядке
вот мой XSLT:
<xsl:param name="PackageId" />
<xsl:param name="SequenceNum" />
<xsl:template match="/">
<xsl:apply-templates mode="SequenceB" select="(NewDataSet/Table[CTD_CTD_PKG_ID =$PackageId] | NewDataSet/Table[CTD_SEQ_NUM =$SequenceNum])[1]"/>
</xsl:template>