2014-11-04 4 views
2

При написании большого руководства в DocBook 5 (который использует XSD, а не DTD), я должен упомянуть название версии во многих местах. Например, имя дистрибутива zip включает имя версии. Это имя версии постоянно меняется, поэтому я хотел бы использовать для этого переменную.

Как сделать замену переменных в DocBook 5 (в которой используется XSD, а не DTD)?

ответ

1

XML entity является видом макроса или заменяемой переменной, поэтому я предлагаю вам использовать один или несколько из них. Объекты могут быть объявлены и указаны в любом XML-документе, даже если DTD не используется для проверки.

Декларация version лица (внутренняя сущность):

<?xml version="1.0"?> 
<!DOCTYPE book [ 
<!ENTITY version "Version X"> 
]> 
<book xmlns="http://docbook.org/ns/docbook" version="5.0"> 
... 
</book> 

Ссылка на version лица:

<book xmlns="http://docbook.org/ns/docbook" version="5.0"> 
... 
<para>The current version is &version;</para> 
</book> 

Когда документ анализируется, синтаксический анализатор заменяет все вхождения &version; с Version X ,

Здесь есть более подробная информация и предложения: http://www.sagehill.net/docbookxsl/Db5Entities.html.