私は DocBook 5.0 で作業しており、執筆/編集/制作環境を作成しています。DB5 の RNG スキーマ バージョンに対して XML を検証します。
私の環境を使いやすくするために、私は自分の本を複数のファイルに分割し、xinclude を使用して本の中の章を本ファイルに取り込んでいます。私のXSLTでうまく機能します。
私はシステム エンティティを使用して、非技術ライター/編集者がいくつかの特殊文字を簡単に使用できるようにするのが好きです。いくつかの一般的な特殊文字 (例: &emDash; for —) の使いやすい名前でエンティティ ファイルを設定します。
同じ XML ファイルでエンティティと xinclude の両方を使用できないことをどこかで読んだと思いました。私はちょうどそれを試してみましたが、検証と変換はOKです。これでよろしいですか?ここに問題がありますか?本ファイルの先頭ですべてのものを宣言する方法は次のとおりです。
<?xml version="1.0" encoding="UTF-8"?>
<?oxygen RNGSchema="http://www.oasis-open.org/docbook/xml/5.0/rng/docbookxi.rng" type="xml"?>
<!DOCTYPE book [
<!ENTITY % entities SYSTEM "utilities/entities/entities.ent">
%entities;
]>
<book xmlns="http://docbook.org/ns/docbook" xmlns:xi="http://www.w3.org/2001/XInclude" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:opf="http://www.idpf.org/2007/opf" version="5.0" xml:id="book">
助けてくれてありがとう!