mathml-qname.module
最初の行は、値" "で名前が付けられたパラメータエンティティを宣言していますINCLUDE
。
<!ENTITY % mathml-qname.module "INCLUDE">
次のビットは、いくつかの行に分割します。
<![%mathml-qname.module; [
<!ENTITY % mathml-qname.mod PUBLIC
"-//W3C//ENTITIES MathML 3.0 Qualified Names 1.0//EN"
"mathml3-qname.mod">
%mathml-qname.mod;
]]>
最初と最後の行(<![%mathml-qname.module;[
... ]]>
)は条件付きセクションです。つまり、キーワードの値に応じて、通常どおりに読み取られて処理されるか、スキップされるセクションです。キーワードは、2つの左角かっこで囲まれています。ここでは、パラメータエンティティへの参照によって指定されていますmathml-qname.module
。パラメータエンティティ参照を展開すると、条件付きセクションは次のようになります。
<![INCLUDE [
...
]]>
ご想像のとおり、キーワードの意味は次のINCLUDE
とおりです。このセクションを含め、読み、処理します。(他の可能な値はIGNORE
です。)
マークされたセクション内には、という名前のパラメータエンティティ用の別のパラメータエンティティ宣言がありますmathml-qname.mod
。PUBLIC
キーワードは、エンティティのパブリック識別子とシステム識別子を提供します。簡単に言うと、問題のエンティティはMathML 3.0修飾名のエンティティのコレクションであり、相対URI(このパラメータエンティティ宣言を含むリソースに対して)がであるリソースにありますmathml3-qname.mod
。
のパラメータエンティティ宣言に続いてmathml-qname.mod
、同じパラメータエンティティ(%mathml-qname.mod;
)への参照があります。これにより、エンティティが読み取られて処理されます。
非公式に言うと、このコードブロックは、デフォルトで外部リソースmathml3-qname.mod
を参照する必要があることを指定しています。ただし、ユーザーは、構成内の適切な場所に次の形式のパラメーターエンティティ宣言を含めることで、そのデフォルトをオーバーライドできます。
<!ENTITY % mathml-qname.module "IGNORE">
MathML 3.0の修飾名エンティティに対して異なる宣言のセットがある場合は、これを行うことができます。