Удалите ошибки проверки правописания из WordML и объедините узлы - PullRequest
1 голос
/ 02 июня 2009

Я новичок в XML. У меня есть файл WML. Мне нужно удалить ошибки проверки правописания из файла и объединить разделенные узлы. Например, файл 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, поэтому мне нужно устранить несоответствия, возникшие из-за этих ошибок проверки.

Любые предложения приветствуются.

1 Ответ

0 голосов
/ 14 декабря 2017

Попробуйте это:

<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"/>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...