Я пытаюсь добавить уникальные значения элемента XML-элемента в список выбора. Вот то, что я до сих порДобавить уникальные значения XML-элемента в список выбора
XML:
<Student>
<record>
<Name>Jack</Name>
</record>
<record>
<Name>Jack</Name>
</record>
<record>
<Name>John</Name>
</record>
<record>
<Name>John</Name>
</record>
<record>
<Name>John</Name>
</record>
<record>
<Name>Jill</Name>
</record>
<record>
<Name>Jill</Name>
</record>
<record>
<Name>James</Name>
</record>
</Student>
XSLT:
<xsl:key name="NameKey" match="Name" use="."/>
<xsl:template match="Student">
<table>
<tr>
<th>Name</th>
<td>
<select>
<xsl:for-each select="record">
<option>
<xsl:element name="Name">
<xsl:value-of select="Name[generate-id() = generate-id(key('NameKey',.)[1])]" />
</xsl:element>
</option>
</xsl:for-each>
</select>
</td>
</tr>
<xsl:apply-templates select="/record" />
</table>
</xsl:template>
</xsl:stylesheet>
Я успешно получать уникальные значения в списке, но список также отображает пустую строку не уникальные значения в списке. Так что мой список имеет следующие значения:
Jack
John
Jill
James
Есть ли способ, чтобы избавиться от этих пустых значений строк в списке?
Пожалуйста, покажите нам пример ввода XML, чтобы мы могли воспроизвести проблему. - P.S. Я не вижу, что вы собираете ** атрибут ** значений; слово * attribute * имеет очень точное значение в XML. –
@ michael.hor257k Я обновил свой вопрос. Извините за пропущенный тип, я имел в виду значения элементов – user793468