Unzulässige Werte für deklarierte Attribute
Da den einzelnen deklarierten Attributen ein Typ (NAME, NUMBER usw.) zugeordnet ist, kann es vorkommen, dass ein Attributwert für einen bestimmten Attributtyp nicht zulässig ist.
Arbortext Editor behält die meisten dieser Typen von ungültigen Werten bei. Aufgrund der Komplexität der rund 15 verschiedenen Attributtypen lassen sich keine umfassenden Kategorien aller möglichen Typen von unzulässigen Werten aufstellen. Dennoch wird im Folgenden versucht, eine mögliche grundlegende Unterteilung vorzunehmen. Gehen Sie bei diesen Beispielen davon aus, dass es sich bei <tag> um ein zulässiges Tag handelt, für das Attribute aller Typen definiert sind.
• Verweis auf nicht definierte ENTITY. Dies gilt nur für die Attributtypen ENTITY bzw. ENTITIES, wenn eine angegebene Entity nicht vorhanden ist.
Der Attributwert der nicht definierten Entity bleibt in Arbortext Editor erhalten.
...
<tag isent="notdef" isents"notdef1 notdef2">
...
• Unzulässige Anzahl von Zeichen in Wert oder Liste. Dies gilt für die meisten Typen. In Arbortext Editor werden diese unzulässigen Attributwerte beibehalten.
...
<!-- 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">
...
• Attributwerte, die nicht der Syntax des Attributtyps entsprechen. Dies gilt für die meisten Typen. In Arbortext Editor bleiben diese unzulässigen Werte erhalten, wenn sie in einer Literal-Zeichenfolge eingeschlossen sind. Im Folgenden sind einige Beispiele aufgeführt:
...
<!-- 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">
|
|
In Arbortext Editor werden unzulässige Werte unter Umständen nicht richtig verarbeitet, wenn sie nicht in einer Literal-Zeichenfolge eingeschlossen sind.
... <!-- 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>
|
• Der Wert ist nicht in einer NAME GROUP (Namensgruppe) definiert. In Arbortext Editor bleiben syntaktisch korrekte Werte, die nicht zur definierten GROUP (Gruppe) gehören, erhalten.
<!-- 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">
• Attributwert, der in einem Start-Tag mehrmals definiert wird. Dies kann bei jedem Attributtyp auftreten.
Der erste Wert wird als wirklicher Attributwert betrachtet. In Arbortext Editor bleiben alle folgenden Duplikate erhalten, die im Dialogfenster Attribute ändern bearbeitet werden können.
<!-- isname value specified multiple times -->
<tag isname="Fred" isname="Bob">
• Attributwert, der nicht dem erforderlichen Wert #FIXED entspricht. Dies kann bei den meisten Attributtypen auftreten. Arbortext Editor behält diese ungültigen Werte bei.
<!-- assume "color" is a CDATA attribute #FIXED to be "red" -->
<tag color="blue">
• Ein IDREF-Wert verweist auf einen nicht definierten ID-Wert. Dies bezieht sich nur auf die Typen IDREF und IDREFS. Arbortext Editor behält diese ungültigen Werte bei.
<!-- assume refid is of type IDREF and "A123" is never defined -->
<tag refid="A123">
• Doppelte ID-Werte bei verschiedenen Tags des gleichen Typs. Dies gilt nur für den ID-Typ. Arbortext Editor behält diese ungültigen Werte bei.
<!-- initial declaration of ID value "B124" -->
<tag id="B124">
...
<!-- duplicate ID value is ILLEGAL -->
<tag id= "B124">