如何验证xslt我想只验证三个标签?

时间:2015-06-23 07:03:16

标签: html xml validation xslt xslt-1.0

您好我有XSLT文件,我想验证它。

我在xml文件"sell", "rent", "Buy", "n/a", "NA", ""

中有更多标记

但我想只显示我有三个标签,如

"sell", "rent" and "buy"比显示此标记。

xml文件

     <cd>
        <title>Rohit</title>
        <recomondation>buy</recomondation>
        <year>1985</year>
    </cd>
<cd>
        <title>Raj</title>
        <recomondation>n/a</recomondation>
        <year>2090</year>
    </cd>
<cd>
        <title>amit</title>
        <recomondation>rent</recomondation>
        <year>1990</year>
    </cd>
<cd>
        <title>kavi</title>
        <recomondation>sell</recomondation>
        <year>2012</year>
    </cd>
<cd>
        <title>jokesh</title>
        <recomondation>NA</recomondation>
        <year>1990</year>
    </cd>
<cd>
        <title>james</title>
        <recomondation>Rent</recomondation>
        <year>1890</year>
    </cd>

如果重组标签"sell", "rent" and "buy"比重组数据显示否则不显示。

我在stackoverflown找到了一个链接,但我不明白。

请帮帮我

1 个答案:

答案 0 :(得分:0)

您可以尝试这样的事情

  <xsl:for-each select="cd[recomondation='sell' or recomondation='rent' or recomondation='buy']">
    <xsl:copy-of select="."/>
  </xsl:for-each>

这将导致其子推荐节点包含您提到的数据的所有cd节点上的迭代。使用您的样本数据,目前只会过滤掉三个节点。如果您只查找推荐节点,那么您可以尝试这个

  <xsl:for-each select="cd//recomondation[.='sell' or .='rent' or .='buy']">
    <xsl:value-of select="."/>
  </xsl:for-each>