XSLT:如果属性设置为false,则忽略并跳过元素及其子元素的整个分支的数据?
我有一个XML文档,其中包含Document > Sections > Sub Sections > Items > Sub Items > Super Subs
等等。
现在我将一个常见的'布尔'属性或属性集设置为每个级别的所有元素的公共属性,“V”表示可见性或可见,即允许我隐藏/跳过或使文档的整个部分不可见。
因为它是布尔值,所以它可以保持1或0,即True / False。
如果我需要隐藏/未处理,我希望能够{em} 任何元素及其整个子元素分支的IGNORE
和SKIP
处理和输出只需将一个布尔属性更改为标志即可忽略。
这会是一个好的,干净的,有效的方式吗?
是否有一个通用的Xpath表达式允许它全局应用于XML文档中所有级别的整个元素集?
我欢迎所有建议和替代方法来实施和解决这个问题。
e.g。 XML:
<Document>
<Section v="1">Data
<SubSection v="1">SS1..</SubSection>
<SubSection v="0">SS2..</SubSection>
</Section>
<Section v="0"></Section>
<Section v="1"></Section>
</Document>
答案 0 :(得分:2)
如果您使用输入树上的正常<xsl:appy-templates/>
递归遍历处理文档,那么您只需要
<xsl:template match="*[@V='0']" priority="10"/>
表示不输出任何内容,也不处理V="0"