說明 > 編寫 > 使用標示 > 使用無效標示 > 無效標示範例 > 已宣告屬性的不合法值
  
已宣告屬性的不合法值
因為每個已宣告屬性都有與其相關聯的類型 (NAME、NUMBER 等),所以可根據屬性的特定類型,而擁有不合法的屬性值。
Arbortext Editor 會保留不合法值的大部份類型。由於有 15 個左右的不同屬性類型,在這樣複雜情形下,無法對不合法值的所有可能類型進行分類。請記住這一點,以下是每個類型的可能分類。對於這些範例,假設 <tag> 是合法標籤,且已定義所有類型的屬性。
未定義的 ENTITY 參照。只有當指定的實體不存在時,才會將此應用於 ENTITY 或 ENTITIES 屬性類型。
Arbortext Editor 會保留未定義的實體屬性值。
...
<tag isent="notdef" isents"notdef1 notdef2">
...
值或清單中的不合法字元數。這將應用於大部份類型。Arbortext Editor 保留這些不合法的屬性值。
...
<!-- NAME value of more than 8 characters -->
<tag isname="thisnameisreallytoolongtobelegal">
...
<!-- NAMES list containing more entries than the declared limit -->
<tag isnames="a b c d e f g ... x y z aa ab ac .. az">
...
根據特定屬性類型規則導致的語法錯誤屬性值。這將應用於大部份類型。如果這些不合法的值括在斜體字串中,Arbortext Editor 就會加以保留。下列清單提供某些範例:
...
<!-- NAME value that starts with a digit -->
<tag isname="8badval">
...
<! NAME value that looks like a list (would be suitable for a NAMES attribute) -->
<tag isname="one two three four">
...
<!-- NUMBER value which contains non-numeric characters -->
<tag isnum="7a4">...<tag isnum="abc">
* 
如果這些不合法的值不在斜體字串內,Arbortext Editor 可能就無法正確處理它們。
...
<!-- NAME non-literal value that starts with a digit -->
<tag isname=8badval>
...
<!-- NAME non-literal value that contains the illegal character '$' -->
<tag isname=bad$val>
未在 NAME GROUP 中定義的值。Arbortext Editor 會保留不屬於已定義 GROUP 的語法錯誤的值。
<!-- in the DTD -->
<!ATTLIST tag material (straw|sticks|brick) straw>
<!-- in the instance -->
<!-- material value NOT in the allowed list of values -->
<tag material="adobe">
在相同開始標籤中多次定義的屬性值。可能是任何屬性值。
會將第一個值視為真正的屬性值。Arbortext Editor 會保留任何後續的重覆值,可使用修改屬性對話方塊編輯這些值。
<!-- isname value specified multiple times -->
<tag isname="Fred" isname="Bob">
與 #FIXED 必要值不相符的屬性值。可能是大部份的屬性值。Arbortext Editor 會保留這些不合法值。
<!-- assume "color" is a CDATA attribute #FIXED to be "red" -->
<tag color="blue">
參照未定義 ID 值的 IDREF 值。這只會應用於 IDREF 和 IDREFS 類型。Arbortext Editor 會保留這些不合法值。
<!-- assume refid is of type IDREF and "A123" is never defined -->
<tag refid="A123">
相同類型之不同標籤的重覆 ID 值。這只會應用於 ID 類型。Arbortext Editor 會保留這些不合法值。
<!-- initial declaration of ID value "B124" -->
<tag id="B124">
...
<!-- duplicate ID value is ILLEGAL -->
<tag id= "B124">