Windows Server 2008ではselectSingleNodeがサポートされておらず、ifステートメントがWS2008でよりサポートされている方法で記述されているため、このxslステートメントを変換しようとしています。
したがって、以下のコードでは、次のエラーが発生します。
「ABC」は有効なXSLTまたはXPath関数ではありません
変換される現在のコード:
<xsl:if expr='ContractAddress(selectSingleNode("AddressNo").text,selectSingleNode("/Object/Contract/ConAddrNo").text)'>...</xsl:if>
だから私が次の名前空間を使用している上記のコードを理解する方法を手伝ってください:
<xsl:stylesheet version="1.0" xmlns:xsl = "http://www.w3.org/1999/XSL/Transform" xmlns:msxsl = "urn:schemas-microsoft-com:xslt" xmlns:vbs = "urn:schemas-sqlxml-org:vbs" xml:space="preserve">
XMLの例:
<Address>
<ConAddrNo>123</ConAddrNo>
</Address> ... <Contract>
<AddressNo>123</AddressNo>
</Contract>
現在のXSLT:
<xsl:if expr='ContractAddress(selectSingleNode("AddressNo").text, selectSingleNode("/Object/Contract/ConAddrNo").text)'>
<xsl:eval> FormatAddress(selectSingleNode("Line1").text, selectSingleNode("Line2").text, selectSingleNode("Line3").text, selectSingleNode("Line4").text, selectSingleNode("PostalCode").text) </xsl:eval>
</xsl:if>