从WordML中删除Word校对错误和合并的节点(Remove word proofing erro

2019-10-16 13:32发布

我是新来的XML。 我有一个WML文件。 我需要从文件中删除文字校对错误和合并拆分节点。 EG的WML文件(与字校对错误)如下(我已删除的为了方便几行代码):

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<?mso-application progid="Word.Document"?>
<w:wordDocument xmlns:aml=...
..
..
</wsp:rsids></w:docPr><w:body>

<w:p wsp:rsidR="00FD5EDD" wsp:rsidRDefault="00FD5EDD" wsp:rsidP="00FD5EDD">
<w:r><w:t>It are </w:t></w:r>
<w:proofErr w:type="spellStart"/>
<w:proofErr w:type="gramStart"/>
<w:r><w:t>dcoument</w:t></w:r>
   <w:proofErr w:type="spellEnd"/>
   <w:r><w:t> .</w:t></w:r>
   <w:proofErr w:type="gramEnd"/>
   </w:p>
   <w:p wsp:rsidR="00B67D59" wsp:rsidRDefault="0071345A"/>

   <w:sectPr wsp:rsidR...
   ...
   </w:sectPr></w:body></w:wordDocument>

我的输出应该像(一个我们用字错误打样关获得):

   ....
   <w:p wsp:rsidR="00FD5EDD" wsp:rsidRDefault="00FD5EDD" wsp:rsidP="00FD5EDD">
   <w:r><w:t>It are dcoument .</w:t></w:r>
   </w:p>
   <w:p wsp:rsidR="00B67D59" wsp:rsidRDefault="003B7608"/>
   ...

在WML文件(一个字校对错误,关闭和其他与文字校对错误)应该是完全一样的。 我的要求是比较XML文件,所以我必须消除由于这些打样错误引入的差异。

任何建议都欢迎。

Answer 1:

尝试这个:

<xsl:template match="w:p[w:proofErr]/w:r[1]">
    <w:r>
        <w:t>
        <xsl:value-of select=".."/>
        </w:t>
    </w:r>
</xsl:template>

<xsl:template match="w:p[w:proofErr]/w:r[position() > 1]"/>

产量

  <w:p wsp:rsidR="00FD5EDD" wsp:rsidRDefault="00FD5EDD" wsp:rsidP="00FD5EDD">
      <w:r>
         <w:t>It are dcoument .</w:t>
      </w:r>
   </w:p>
   <w:p wsp:rsidR="00B67D59" wsp:rsidRDefault="0071345A"/>


文章来源: Remove word proofing errors from WordML and merge the nodes
标签: xslt