簡體   English   中英

比較XML文檔的更好方法?

[英]A better way to compare XML docs?

在我當前的項目中,我們有一個龐大的內容存儲庫,最初以書本形式發布。 這些內容大部分以英文和多種外文發布,主要使用Quark Express和后來的InDesign。 此內容已導出到自定義XML結構中,以供存儲和將來使用。 問題在於,英語XML已被編輯人員導出,然后隨着時間的推移在結構和元數據上得到了增強,這使外語XML的結構與英語版本有所不同。 例如:

英文XML:

<chapter meta="meta data added">
    <section meta="some meta about the section">
        <paragraph>some english paragraph</paragraph>
        <list>
            <li>some english list item</li>
        </list>
    </section>
</chapter>

外部XML:

<chapter>
    <section>
        <paragraph>some original foreign language paragraph</paragraph>
    </section>
</chapter>

如您所見,有時會缺少元素以及屬性 問題在於,此時我們要將外語結構與英語進行比較,添加缺少的元數據屬性和元素,然后報告XML的未翻譯部分。

當前完成此過程的過程包括剝離元素數據並將其放入Web應用程序。 從那里,我允許用戶進入並使其外文段落與其英文對應項匹配(使用Jquery允許他們只需單擊該項目然后進行匹配),然后將此數據另存為屬性(通過唯一ID)。 到那時,我知道了兩種語言文檔中哪些元素匹配,然后可以將外語內容傳遞到英語結構化的XML中。 這給我留下了英語結構化XML內的外語內容(由uniqueID標記),我可以查詢沒有唯一ID的元素,以便知道哪些項目需要翻譯。

此過程可以正常工作,但是這是相當手動的,需要有人進入並手動單擊段落。 隨着成千上萬個內容頁面的瀏覽,我正在尋找進一步實現流程自動化的方法。 是否有更好的方法比較XML文檔的結構,從而可以在較少的人工干預下完成上述目標?

當前過程使用C#,ASP.Net,Linq to XML和Jquery等。 但是語言和工具無關緊要! 我只想找到一個更自動化的解決方案。 如果使用數據庫,則沒有問題。 如果我們需要切換平台,我不在乎。 這是實現問題,而不是語言問題。 謝謝!

過去,我曾使用XSLT將兩段XML轉換為一種通用格式,然后再與文本diff工具( Beyond Compare進行比較

即使您需要外部數據進行轉換,這也可以為您工作-您可以使用.NET XslCompiledTransform類將外部數據傳遞到XSL Transform,在該類中可以將其作為轉換參數進行訪問。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM