Я новичок в форуме и даже (немного) новичок в xsl;Мне нужна помощь, чтобы решить небольшую проблему с XML-кодом: пожалуйста, посмотрите на структуру ниже.
*********************************
<ProductRevision id="id45" **************>
<ApplicationRef **************/>
<UserData *********>
<UserValue title="title1" value="11111 000 000"/>
<UserValue title="object_name" value="test name1"/>
</UserData>
</ProductRevision>
<ProductRevision id="id50" ***********>
<ApplicationRef **************/>
<UserData id="id46">
<UserValue title="title1" value="22222 000 000"/>
<UserValue title="object_name" value="test name2"/>
</UserData>
</ProductRevision>
*******************************************
<GeneralRelation id="id49" subType="TestType" relatedRefs="#id2 #id45">
<ApplicationRef **************/>
<UserData ********>
<UserValue title="ds5_amont" type="int" value="3"/>
<UserValue title="ds5_cavities" type="int" value="2"/>
</UserData>
</GeneralRelation>
<GeneralRelation id="id49" subType="TestType" relatedRefs="#id2 #id50">
<ApplicationRef ***********/>
<UserData **********>
<UserValue title="ds5_amont" type="int" value="2"/>
<UserValue title="ds5_cavities" type="int" value="3"/>
</UserData>
</GeneralRelation>
Как видите, узлы ProductRevision содержат значение id;это значение определяет два соответствующих узла GeneralRelation, которые содержат значения UserValues ds5_amont и ds5_cavities .Я использую следующий фрагмент кода .xsl для отображения значений title1 и object_name всех узлов ProductRevision:
<xsl:for-each select="//plm:ProductRevision[@subType = 'XXXXX']">
<xsl:variable name="part" select="./plm:UserData/plm:UserValue[@title='object_name']/@value" />
<xsl:variable name="identnr" select="./plm:UserData/plm:UserValue[@title='title1']/@value" />
<Row>
<Cell ss:StyleID="s73">
<Data ss:Type="String">
<xsl:value-of select="$part"/>
</Data>
</Cell>
<Cell ss:StyleID="s73">
<Data ss:Type="String">
<xsl:value-of select="$identnr"/>
</Data>
</Cell>
</Row>
Теперь для каждого ProductRevision мне нужно отобразить соответствующий ds5_amont и ds5_cavities значения, содержащиеся в соответствующих узлах, идентифицированных значениями id45 и id50 .Эти свойства должны быть напечатаны рядом с ячейками, в которых отображаются переменные $ part и $ identnr.До сих пор я не смог найти решение, любая помощь будет высоко оценена!Спасибо!
РЕДАКТИРОВАТЬ
Извините, ребята, я не могу за 2 секунды узнать, как воспроизвести таблицу Excel на вашем форуме.Результат должен быть просто таким: для каждой редакции Продукта должна быть одна строка, показывающая имя_объекта **** title1 **** ds5_amont **** ds5_cavities Извините еще раз, надеюсь, это достаточно ясно;-)