XML の DTD を理解した後、私はその概念が本当に好きで、次のようなことをしたいと考えています: 属性を宣言するかどうかを選択できるオプションが必要です。 ,z であり、宣言されていない場合は、値 m であると見なされます。私は次のことを試しました:
type (x|y|z) "m"
しかし、代わりに(ファイルを読み取るJavaを使用して)取得しました:
The enumerated type list must end with ')' in the "type" attribute declaration.
xml ファイル全体:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE root [
<!ATTLIST item
name ID #REQUIRED
type (type a|type b) "type a"
>]>
<root>
<item name="name1" type="type a" />
<item name="name2" />
</root>
2 番目の項目として型を指定しないと、エラーが発生します。xml で指定しなかった場合、デフォルト値は a 型であることを暗示したいと思います。また、別の (ビット) 無関係な問題は、ATTLIST ですべての属性を宣言する必要があることです。そうしないと、エラーが発生します。それをバイパスする方法はありますか?現在私がしていることは、#IMPLIED でそれらすべてを宣言することですが、おそらく正しい方法ではありません