Nice programing

XSL "포함"지시문이 있습니까?

nicepro 2021. 1. 10. 19:56
반응형

XSL "포함"지시문이 있습니까?


다음과 같은 XSL 스 니펫이 있습니다.

  <xsl:for-each select="item">
    <xsl:variable name="hhref" select="link" />
    <xsl:variable name="pdate" select="pubDate" />
    <xsl:if test="hhref not contains '1234'">
      <li>
        <a href="{$hhref}" title="{$pdate}">
          <xsl:value-of select="title"/>
        </a>
      </li>
    </xsl:if>
  </xsl:for-each>

contains 구문을 해결할 수 없었기 때문에 if 문이 작동하지 않습니다. xsl : if를 올바르게 표현하려면 어떻게해야합니까?


물론입니다! 예를 들면 :

<xsl:if test="not(contains($hhref, '1234'))">
  <li>
    <a href="{$hhref}" title="{$pdate}">
      <xsl:value-of select="title"/>
    </a>
  </li>
</xsl:if>

구문은 다음과 같습니다. contains(stringToSearchWithin, stringToSearchFor)


표준 XPath 함수 contains ()를 사용하십시오 .

기능 : 부울 포함 (문자열, 문자열)

포함 첫 번째 인수 문자열이 두 번째 인수 문자열을 포함하는 경우는 true 함수가 리턴을하고, 그렇지 않은 경우는 false


실제로 xpath에는 다음과 같은 기능이 포함되어 있습니다.

<xsl:for-each select="item">
<xsl:variable name="hhref" select="link" />
<xsl:variable name="pdate" select="pubDate" />
<xsl:if test="not(contains(hhref,'1234'))">
  <li>
    <a href="{$hhref}" title="{$pdate}">
      <xsl:value-of select="title"/>
    </a>
  </li>
</xsl:if>


에서 Zvon.org XSLT 참조 :

XPath function: boolean contains (string, string) 

도움이 되었기를 바랍니다.


<xsl:if test="not contains(hhref,'1234')">

다음과 같아야합니다 ...

<xsl:if test="contains($hhref, '1234')">

(검증되지 않은)

See w3schools (always a good reference BTW)

ReferenceURL : https://stackoverflow.com/questions/569908/is-there-an-xsl-contains-directive

반응형