2013-07-26 53 views
0

老闆告訴我比較收到的XML格式的消息與xml給定的文件,其中包含有關數據庫的信息。我需要使用xslt映射在Biztalk中執行此操作。我可以做這個任務的聲明部分。我甚至發現xslt that compare 2 xml files.但我不知道如何在biztalk中做到這一點。Biztalk。比較給定的XML和消息

我需要的是一個Biztalk兼容的xslt,它只需要輸入消息並將位於解決方案框中的給定XML文件與上面的方法進行比較,或者您認爲更適合我的情況。請出示位置插入文件名或messagenames在需要的格式

該文件只包含這類信息

<?xml version="1.0" standalone="yes"?> 
<DocumentElement> 
    <Columns> 
    <OWNER>APEX_030200</OWNER> 
    <TABLE_NAME>APEX_APPLICATION_ALL_AUTH</TABLE_NAME> 
    <COLUMN_NAME>WORKSPACE</COLUMN_NAME> 
    <ID>1</ID> 
    <DATATYPE>VARCHAR2</DATATYPE> 
    <LENGTH>255</LENGTH> 
    <NULLABLE>Y</NULLABLE> 
    <CHAR_USED>B</CHAR_USED> 
    <LENGTHINCHARS>255</LENGTHINCHARS> 
    </Columns> 
    <Columns> 
    <OWNER>APEX_030200</OWNER> 
    <TABLE_NAME>APEX_APPLICATION_ALL_AUTH</TABLE_NAME> 
    <COLUMN_NAME>APPLICATION_ID</COLUMN_NAME> 
    <ID>2</ID> 
    <DATATYPE>NUMBER</DATATYPE> 
    <LENGTH>22</LENGTH> 
    <NULLABLE>Y</NULLABLE> 
    <LENGTHINCHARS>0</LENGTHINCHARS> 
    </Columns> 
</DocumentElement> 
+2

我知道你需要將輸入xml與其他xml進行比較。但是你想要什麼輸出?應該是什麼樣子? – schellack

回答

0

如果您正在檢查對沒有變化的值,這可以很容易地在一個BizTalk完成地圖。 您只需使用functoid「Logical equal」,然後輸入您正在檢查的值。從這裏你可以得到一個布爾值,它可以和一個「值映射」functoid一起用來創建一個輸出消息。 因爲您也可以使用「邏輯與」functoid添加多個值檢查。

如果您需要檢查對現有的文件,我可以看到兩種可能的方式:

  1. 在引用類創建驗證功能,並從BizTalk映射(functoid的「腳本」調用此 功能)。
  2. 創建執行估價的自定義管道。