У меня есть следующий XML (частичный) документ:
<export>
<table name="CLIENT">
<row>
<col name="CODE_CLIENT" type="System.String">1000010026</col>
<col name="LIBELLE" type="System.String">Test|</col>
<col name="PROSPECT" type="System.Decimal">1</col>
</row>
<row>
<col name="CODE_CLIENT" type="System.String">1000010025</col>
<col name="LIBELLE" type="System.String">Rue de la 2eme ad|</col>
<col name="PROSPECT" type="System.Decimal">0</col>
</row>
<row>
<col name="CODE_CLIENT" type="System.String">1000010125</col>
<col name="LIBELLE" type="System.String">Test4</col>
<col name="PROSPECT" type="System.Decimal">0</col>
</row>
<row>
<col name="CODE_CLIENT" type="System.String">1000010035</col>
<col name="LIBELLE" type="System.String">Rue</col>
<col name="PROSPECT" type="System.Decimal">1</col>
</row>
</table></export>
и следующий XSL:
<xsl:stylesheet version="1.1" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="text" indent="yes"/>
<xsl:template match="/">
<xsl:apply-templates select="export/table[@name='CLIENT']"/>
</xsl:template>
<xsl:template match="row">
SOME TEMPLATE CODE
</xsl:template>
</xsl:stylesheet>
Я хотел бы применить первый шаблон (match = "/") только к "строкам", которые имеют значение перспективы в 1. В моем примере это преобразовало бы только первую и последнюю строки.
Я пытался
<xsl:apply-templates select="export/table[@name='CLIENT']/row[col[@name='PROSPECT']=1]"/>
но это дало мне синтаксическую ошибку.
Кто-нибудь знает, как поступить?