Как определить, действителен ли мой файл docbook? - PullRequest
0 голосов
/ 23 мая 2018

У меня есть файл документации me.xml.Я продолжаю получать ошибки, когда пытаюсь преобразовать его в pdf, и я не уверен, является ли проблема конвертером или моим файлом.

Существует ли быстрый и надежный способ проверить, является ли мой файлдокумент в правильном формате?

1 Ответ

0 голосов
/ 23 мая 2018

Сначала вам нужно узнать, является ли это Docbook 5.x или DocBook 4.5.

Образец заголовка Docbook 4.5:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE article PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd">
<article>
  <articleinfo>
    <title/>

    <author>
      <firstname/>

      <surname/>

      <affiliation>
        <orgname/>
      </affiliation>
    </author>

    <pubdate/>
  </articleinfo>

  <section>
    <title/>

    <para/>
  </section>
</article>

Образец заголовка DocBook 5.1:

<?xml version="1.0" encoding="UTF-8"?>
<chapter version="5.1"
  xmlns="http://docbook.org/ns/docbook"
  xmlns:xlink="http://www.w3.org/1999/xlink"
  xmlns:xila="http://www.w3.org/2001/XInclude/local-attributes"
  xmlns:xi="http://www.w3.org/2001/XInclude"
  xmlns:trans="http://docbook.org/ns/transclusion"
  xmlns:svg="http://www.w3.org/2000/svg"
  xmlns:m="http://www.w3.org/1998/Math/MathML"
  xmlns:html="http://www.w3.org/1999/xhtml"
  xmlns:db="http://docbook.org/ns/docbook">
  <info>
    <title>Introduction</title>
  </info>
  <section>
    <info>
      <title>Chapter title</title>
    </info>
    <para>
    You can see an example:
    </para>
    <example>
    <title>main example</title>
      <programlisting language="c">
      </programlisting>
    </example>
  </section>
</chapter>

Как проверить:

  1. В случае, если вы используете редактор для создания / редактирования файлов DocBook (например, XMLMind XML Editor или Oxygen Author ) - редактор несет полную ответственность за проверку и сообщение о наличии ошибки в документе DocBook.Более того, редактор просто не позволяет вам делать неправильные вставки элементов.

  2. В случае, если у вас просто есть файл xml и / или создание в любом текстовом редакторе - вам нужны инструменты дляпроверьте его по схеме в командной строке.

    • для DocBook 4.5 вы можете проверить по DocBook DTD, используя xmllint

    • для DocBook 5.х вы можете проверить, используя некоторые другие инструменты.См. https://tdg.docbook.org/tdg/5.0/ch03.html

ПРИМЕЧАНИЕ 1 : если вы используете DocBook 5.x и пытаетесь проверить по схемам RelaxNG AND Schematron, примите во внимание эту информацию: https://superuser.com/questions/741957/validating-docbook-5-documents-against-both-relaxng-and-schematron

ПРИМЕЧАНИЕ 2 : не забывайте, что существует две формы правильности файлов xml: правильность (корректность в соответствии со спецификацией XML) и достоверность (корректность в отношенииспецифический словарь XML).

...