Xslt-强制@attribute唯一性
我很少使用xslt,所以我不是最擅长的,但是,我想知道如何着手解决这个问题:Xslt-强制@attribute唯一性,xslt,attributes,unique,Xslt,Attributes,Unique,我很少使用xslt,所以我不是最擅长的,但是,我想知道如何着手解决这个问题: <Element> <childElement type="type1">Bob</childElement> <childElement type="type1">Smith</childElement> <childElement type="type2">Bob</childElement> </Eleme
<Element>
<childElement type="type1">Bob</childElement>
<childElement type="type1">Smith</childElement>
<childElement type="type2">Bob</childElement>
</Element>"
上下快速移动
史密斯
上下快速移动
"
我想强制@type唯一性,如果它们具有相同的@type,我将只获取其中一个childelement。不同的@type可以具有相同的值(在本例中,两个bob就可以了)。关于如何在xslt中解决此问题,有什么帮助吗?这里有一个XPath,可以仅获取唯一的@type值
//childElement[not(@type=preceding::childElement/@type)]
…您的示例的结果是
Location: 3:5
Description: /Element[1]/childElement[1] - Bob
Location: 5:5
Description: /Element[1]/childElement[3] - Bob
下面是一个XPath,它只获取唯一的@type值
//childElement[not(@type=preceding::childElement/@type)]
…您的示例的结果是
Location: 3:5
Description: /Element[1]/childElement[1] - Bob
Location: 5:5
Description: /Element[1]/childElement[3] - Bob
虽然可以在XSLT中执行一些验证,但这通常是通过xml模式(xsd)完成的。请看xs:unique和xs:key/xs:keyref虽然可以在XSLT中执行一些验证,但这通常是通过xml模式(xsd)完成的。看看xs:unique和xs:key/xs:keyrefBrilliant!我以前从未使用过xpath,只是非常基本的xslt转换。感谢大家的回答!非常棒!我以前从未使用过xpath,只是非常基本的xslt转换。感谢大家的回答!