1

我有 WSDL,可用于验证完整的 XML 和部分 XML

我的 XML :

<Request>
     <Part> .. </part>
     <Part> .. </part>
     <Part> .. </part>
     <Part> .. </part>
     <Part> .. </part>
     <Part> .. </part>
     <Part> .. </part>
</Request>

我已经配置了验证操作,该操作验证完成并在一个或多个部分具有无效数据时抛出。

要求是: 我必须只验证上述请求中的部分,并在发送到后端之前删除无效部分。

有什么帮助吗??

4

1 回答 1

1

这可以通过使用 XSLT 中的扩展元素/函数来完成。

骨骼:

<xsl:template match=Request>
<xsl:copy>
<xsl:for-each select="Part">
 <xsl:if test="dp:schema-validate($schema,.) !=''">
   <xsl:copy-of select="."/> 
 </xsl:if>
</xsl:for-each>

schema-validate() :执行模式验证。
命名空间声明:xmlns:dp="http://www.datapower.com/extensions"

语法 :dp:schema-validate(schema, nodeset)

参数: schema : (xs:string) 标识 XSD 架构以执行验证。nodeset:(xs:node-set) 标识包含要验证的 XML 内容的节点集。所有参数都作为 XPath 表达式传递。

结果:经过验证的节点集。

有关扩展元素和功能的更多信息,请参阅此链接

于 2014-07-07T16:05:21.290 回答