【发布时间】:2013-01-22 10:07:31
【问题描述】:
看不到完成这个,理论上比较简单的任务:
查找节点文档,其中字段具有包含特定文本的属性名称和子节点选项具有值的位置。
XML:
<?xml version="1.0" encoding="utf-8"?>
<root>
...
<Documents>
<Document Id="35330">
<Name>The Name 1</Name>
<DocumentEdition>
<Fields>
<Field Name="Børn-Andet Godt" FieldType="CheckBoxGroup">
<Option Name="Billedkunst"></Option>
</Field>
<Field Name="Børn-Fritidsklub" FieldType="CheckBoxGroup">
<Option Name="Fritidshjem"></Option>
<Option Name="Fritidsklub"></Option>
<Option Name="Ungdomsklubber"></Option>
</Field>
<Field Name="Børn-Fritidsliv" FieldType="CheckBoxGroup">
<Option Name="Natur- og fritidsforeninger"></Option>
<Option Name="Rollespil"></Option>
<Option Name="Spejder">B-Spejder</Option>
</Field>
</Fields>
</DocumentEdition>
</Document>
<Document Id="35332">
<Name>The Name 2</Name>
<DocumentEdition>
<Fields>
<Field Name="Børn-Andet Godt" FieldType="CheckBoxGroup">
<Option Name="Billedkunst"></Option>
</Field>
<Field Name="Børn-Fritidsklub" FieldType="CheckBoxGroup">
<Option Name="Fritidshjem">Fritidshjem</Option>
<Option Name="Fritidsklub"></Option>
<Option Name="Ungdomsklubber"></Option>
</Field>
<Field Name="Børn-Fritidsliv" FieldType="CheckBoxGroup">
<Option Name="Natur- og fritidsforeninger"></Option>
<Option Name="Rollespil"></Option>
<Option Name="Spejder"></Option>
</Field>
</Fields>
</DocumentEdition>
</Document>
</Documents>
..
</root>
所以我希望能够将模板应用于类似的文档
<xsl:apply-templates select="//Document[/DocumentEdition/Fields/Field[contains(@Name,'Børn-Fritid')]/Option/text()>'']"/>
但那行不通。
只是为了指定:文档必须在选项中包含文本,该选项是 @Name 包含特定文本的字段的子节点。
在 xml 中,使用输入值:
1 : Børn-Fritidsliv => 选择第一个文档
2 : Børn-Fritidsklub => 选择第二个文档
3 : Børn-Fritid => 选择两个文档
请指点我正确的方向。
【问题讨论】: