Хочу предварить это, сказав, что у меня 0 опыта работы с XML / XSL, и я не знаком с терминологией, которую я должен использовать.
Я работаю над кодом, который использует файл xml. Файл xml (я полагаю, важные части) отформатирован примерно так:
<All>
<Cases>
<Case>
<extension-fields>
<extension-field display-text="whatever">
<value>X</value>
</extension-field>
</extension-fields>
</Case>
<Case>
<extension-fields>
<extension-field display-text="whatever">
<value>Y</value>
</extension-field>
</extension-fields>
</Case>
</Cases>
</All>
Каждый случай имеет свой собственный набор полей расширения.
Я пытаюсь получить значение отдельного поля расширения, где display-text = 'what' для каждого из моих дел. Я написал следующее:
<xsl:for-each select="All/Cases/Case">
<w:tc>
<w:tcPr>
<w:tcW w:w="{$Col2}" w:type="dxa"/>
<w:vAlign w:val="top"/>
</w:tcPr>
<w:p>
<w:pPr>
<w:jc w:val="right"/>
</w:pPr>
<w:r>
<w:t>
<xsl:value-of select="/All/Cases/Case/extension-fields/extension-field[@display-text = 'whatever']/value"/>
</w:t>
</w:r>
</w:p>
</w:tc>
</xsl:for-each>
(это где-то в таблице, и я не был уверен, все ли это актуально, поэтому я просто показал всю часть, которая у меня есть). проблема с)
Я ожидаю увидеть индивидуальные значения каждого дела в выходных данных (поэтому у каждого номера дела будут свои значения X и Y), но вместо этого я вижу, что у каждого дела есть оба значения XY рядом с ним. Теперь, я думаю, что происходит для каждого случая по делу, каждый вопрос проходит по всей части, а не по отдельному случаю, но мне сложно понять, почему.