1

完全な XML と XML の一部を検証するために使用できる WSDL があります。

私の XML :

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

1 つ以上のパーツに無効なデータがあるため、完全に検証してスローする検証アクションを構成しました。

要件: バックエンドに送信する前に、上記のリクエストの一部のみを検証し、無効な部分を削除する必要があります。

何か助けて??

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 : (xs:string) 検証を実行する XSD スキーマを識別します。nodeset:(xs:node-set) 検証する XML コンテンツを含むノード セットを識別します。すべての引数は XPath 式として渡されます。

結果 : 検証済みのノード セット。

拡張要素と関数の詳細については、このリンクを参照してください。

于 2014-07-07T16:05:21.290 に答える