在我当前的项目中,我们有一个大型的内容存储库,最初是以书籍形式发布的。这些内容大多以英语和多种外语出版,主要使用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中保留了外语内容(用unique id标记),我可以查询没有唯一ID的元素,这样我就可以知道哪些项目需要翻译。
这个过程可以很好地工作,但是它是相当手工的,需要有人进入并手动点击段落。随着几十万页的内容需要浏览,我正在寻找进一步实现过程自动化的方法。是否有更好的方法来比较XML文档的结构,以便在较少的人工干预下完成上述目标?
当前进程使用C、ASP.NET、Linq to XML和JQuery等。但是语言和工具是无关的!我只想找到一个更自动化的解决方案。如果它使用数据库,没问题。如果我们需要交换平台,我不介意。它是一个实现问题,而不是语言问题。谢谢!