【问题标题】:How to do validate xslt i want to only validate three tag?如何验证 xslt 我只想验证三个标签?
【发布时间】:2015-09-08 20:24:05
【问题描述】:

您好,我有 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 找到了一个链接,但我不明白。

请帮帮我

【问题讨论】:

    标签: html xml validation xslt xslt-1.0


    【解决方案1】:

    你可以试试这样的

      <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>
    

    【讨论】:

      猜你喜欢
      • 2023-03-12
      • 2010-10-03
      • 2014-05-29
      • 2011-10-18
      • 2020-03-11
      • 2013-02-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多