XMLのDTDを定義するときに、要素のサブパーツを指定することに関するクエリがあります。「Description」というタイトルの要素が必要です。この要素には、BookRefとPCDATAのインターリーブされたシーケンスが含まれている可能性があります。XMLDTDで次のステートメントを使用しています。
<!ELEMENT Description (#PCDATA|Courseref)* >
ただし、*よりも厳密な制約を適用したいと思います。+を使用したいのですが、少なくとも1つのPCDATAまたはCourserefが必要です。ただし、*の代わりに+を使用すると、xmllintを使用して解析エラーが発生します。
私はDTDを初めて使用しますが、XML DTD仕様に従って+演算子を指定することが違法であるかどうかを知りたいのですが、