Выражение XSLT, чтобы проверить, принадлежит ли переменная набору элементов

У меня сработало следующее решение:

$("#myDiv :input").change(function() { $("#myDiv").data("changed",true);});
}
  
if($("#myDiv").data("changed")) {
console.log('Form data changed hence proceed to submit');  
}
else {
console.log('No change detected!');
}

Спасибо

17
задан majkinetor 17 June 2009 в 13:28
поделиться

1 ответ

XSLT / XPath 1.0:

<!-- a space-separated list of valid values -->
<xsl:variable name="list" select="'7 8 9'" />

<xsl:if test="
  contains( 
    concat(' ', $list, ' '),
    concat(' ', $k, ' ')
  )
">
  <xsl:value-of select="concat('Item ', $k, ' is in the list.')" />
</xsl:if>

При необходимости можно использовать другие разделители.

В XSLT / XPath 2.0 вы могли бы сделать что-то вроде:

<xsl:variable name="list" select="fn:tokenize('7 8 9', '\s+')" />

<xsl:if test="fn:index-of($list, $k)">
  <xsl:value-of select="concat('Item ', $k, ' is in the list.')" />
</xsl:if>

Если вы можете использовать структуру документа для определения своего списка, вы можете сделать:

<!-- a node-set defining the list of currently valid items -->
<xsl:variable name="list" select="/some/items[1]/item" />

<xsl:template match="/">
  <xsl:variable name="k" select="'7'" />

  <!-- test if item $k is in the list of valid items -->
  <xsl:if test="count($list[@id = $k])">
    <xsl:value-of select="concat('Item ', $k, ' is in the list.')" />
  </xsl:if>
</xsl:template>
24
ответ дан 30 November 2019 в 12:36
поделиться
Другие вопросы по тегам:

Похожие вопросы: