msxsl : node-set() 함수를 사용하여 변수에 저장된 노드 집합에서 노드를 가져 오려고 시도했지만 아무 것도 얻지 못했습니다. 내 XML은 다음과 같습니다 : 내 XSLT에서msxsl : node-set()을 인식하지 못했습니다.
<Root>
<Items olditemnumber="100" newitemnumber="200">
<Item ItemNumber="100" ItemAliasCode="1001" ItemCode="X" />
<Item ItemNumber="100" ItemAliasCode="1002" ItemCode="X" />
<Item ItemNumber="200" ItemAliasCode="2001" ItemCode="X" />
<Item ItemNumber="200" ItemAliasCode="2003" ItemCode="X" />
<Item ItemNumber="100" ItemAliasCode="1003" ItemCode="P" />
<Item ItemNumber="100" ItemAliasCode="1004" ItemCode="P" />
<Item ItemNumber="200" ItemAliasCode="2002" ItemCode="P" />
</Items>
</Root>
내가 노드의 부분 집합으로 변수를 채우기 위해 노력하고 msxsl 사용하여 호출 노드 집합() 함수를. 그러나 아무 것도 반환하지 않습니다. XSLT는 다음과 같습니다
<?xml version="1.0"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:msxsl="urn:schemas-microsoft-com:xslt">
<xsl:template match="//Root">
<xsl:variable name="OldItemNumber" select="/Items/@olditemnumber"/>
<xsl:variable name="NewItemNumber" select="/Items/@newitemnumber"/>
<xsl:variable name="OldItems">
<xsl:value-of select="//Item[@ItemNumber = $OldItemNumber]"/>
</xsl:variable>
<xsl:variable name="NewItems">
<xsl:value-of select="//Item[@ItemNumber = $NewItemNumber]"/>
</xsl:variable>
<xsl:for-each select="msxsl:node-set($OldItems)/Item">
...work
</xsl:for-each>
</xsl:template>
</xsl:stylesheet>
XSLT는 이상 건너 뛰고를위한 각 루프, 나는 XPath 쿼리는 변수를 할당 할 권리 노드를 잡고 시계에서 볼 수 있지만. 이 시계는 msxsl : node-set() 함수가 정의되지 않았 음을 알려줍니다. 어떤 도움을 주시면 감사하겠습니다. 내가 뭘 놓치고 있니?
완벽하게 작동합니다. 고맙습니다! 나는 xsl : value-of가 그 방식으로 사용될 수 없다는 것을 깨닫지 못했다. – DevNoob