Inhaltliche Strukturierung von Ressourcen

Eine Einführung in XML

5. XML Attribute


von Margarete Payer und Alois Payer

mailto: payer@hdm-stuttgart.de


Zitierweise / cite as:

Payer, Margarete <1942 - > ; Payer, Alois <1944 - >: Inhaltliche Strukturierung von Ressourcen : eine Einführung in XML. -- 4. XML Attribute. -- Fassung vom 2002-11-19. -- URL: http://www.payer.de/xml/xml05.htm. -- [Stichwort].

Erstmals publiziert: 2002-10-29

Überarbeitungen:

Anlass: Lehrveranstaltung an der HdM Stuttgart, SS 2002

Unterrichtsmaterialien (gemäß § 46 (1) UrhG)

©opyright: Dieser Text steht der Allgemeinheit zur Verfügung. Eine Verwertung in Publikationen, die über übliche Zitate hinausgeht, bedarf der ausdrücklichen Genehmigung der Herausgeberin.

Dieser Teil ist ein Kapitel von: 

Payer, Margarete <1942 - > ; Payer, Alois <1944 - >: Inhaltliche Strukturierung von Ressourcen : eine Einführung in XML. -- 0.Übersicht. -- URL: http://www.payer.de/xml/xml00.htm

Dieser Text ist Teil der Abteilung Informationswesen, Bibliothekswesen, Dokumentationswesen  von Tüpfli's Global Village Library.


0. Übersicht



Zum Zeitpunkt der Abfassung dieses Kapitels gilt

Deutsche Übersetzung:


1. Attribute


Man kann Elementen Attribute zuordnen. Dies geschieht in der DTD über ATTLIST.

In ATTLIST definiert man:

So könnte man z.B. im Beispiel aus Kapitel 3 dem Element Para zwei Stufen der Zugänglichkeit zuordnen: topsecret und public:

<!ATTLIST para secrecy (topsec | public) "public">

"public" definiert public als default value: Alle Paragraphen, die nicht ausdrücklich als topsecret gekennzeichnet werden, sind public.

Unser Beispiel könnte dann z.B. so aussehen:

<Kapitel>

<KapTit>Katzenweisheit</KapTit>

<Para>Katzen sind &auml;u&szlig;erst kluge Tiere. Sie tun nichts, wovon sie keinen Nutzen f&uuml;r sich einsehen .... </Para>

<Zwischentit>T&uuml;pfli zum Beispiel</Zwischentit>

<Para secrecy=topsec>T&uuml;pfli ist ein Kater. Sein Vater oder Gro&szlig;vater war vermutlich ein sexuell frustrierter Wildkater, der seine sexuellen Bed&uuml;rfnisse bei einer Hauskatze befriedigte ... </Para>

</Kapitel>

In diesem Falle würde die Abstammung Tüpflis nur berechtigten Geheimnisträgern zugänglich gemacht.

Im Folgenden wird das mit diesem Beispiel Illustrierte systematisch dargestellt.


2. ATTLIST declaration


Neben Inhalt können Elemente auch Attribute und Werte haben. Attribute sind Meta-data für Elemente. In der DTD werden die Attribute und ihre zulässigen Werte in einer attribute list declaration definiert:

Syntax der attribute list declaration Beispiel
<!ATTLIST element_name
attribute_definition
attribute_definition
.....
>
<!ATTLIST Beispiel
id ID #IMPLIED
n CDATA #REQUIRED
status (Entwurf | endgültig) "endgültig">

Erklärung der attribute list declaration:


2.1. element name


Erklärung: element_name Beispiel
Name des Elements oder der Elemente, die mit dieser attribute list verknüpft werden sollen para

2.2. attribute definition


Syntax der attribute_definition Beispiel
attribute_name attribute_type default_value <!ATTLIST para 
secrecy (topsec | public) "public">

Erklärung der attribute definition:


2.2.1. attribute name


Erklärung: attribute_name Beispiel
Name für die Attribute, die mit dem Element verknüpft werden secrecy

2.2.2. attribute type


Attribute type gibt den Datentyp des Attributs an.

Arten von attribute_types Unterarten Beispiele
String Type CDATA null oder mehr Zeichen, wobei auch die reservierten Zeichen (mit Ausnahme von <) als normale Zeichen gelten <!ATTLIST Dissertation Rückentitel CDATA #REQUIRED>

<Dissertation Rückentitel = "Billy  K. Koala"> ... </Dissertation>

Tokenized Types ENTITY eine externe binäre entity, die in der DTD definiert ist <!ENTITY Abbildung1 SYSTEM "tuepfli.gif" NDATA gif>
<!ELEMENT Abbildung EMPTY>
<!ATTLIST Abbildung File ENTITY #REQUIRED>

<Abbildung File = "Abbildung1"/>

(ENTITY als Platzhalter für Abbildung)

ENTITIES dasselbe wie ENTITY, aber mehrere Werte, durch Spatien getrennt   
ID ein einmaliger Identifikator für das Element, auf den mit IDREF verweiesenwerden kann (wird immer als ID angegeben) <!ATTLIST Kapitelüberschrift ID ID #REQUIRED>

<Kapitelüberschrift ID = "Kap 3"> ... </Kapitelüberschrift>

IDREF Referenz zu einer ID, die wo anders im Dokument definiert ist <!ATTLIST Verweisung Vw IDREF #REQUIRED>

<Verweisung Vw = "Kap. 3"> ... </Verweisung>

IDREFS Liste von IDREFs, getrennt durch Spatien  
NMTOKEN eine Verbindung alphanumerischer Zeichen <!ATTLIST Formular Druckformat NMTOKEN #IMPLIED>

<Formular Druckformat = "A4"> ...  </Formular> 

NMTOKENS Liste von NMTOKEN-Werten, getrennt durch Spatien <!ATTLIST Abbildung Abbildungsrand NMTOKENS #IMPLIED>

<Abbildung Abbildungsrand = "5 12 35 55"> ... </Abbildung>

Enumerated Types: der Nutzer der DTD muss oder kann aus einer Aufzählung von Möglichkeiten wählen  Name token group <!ATTLIST Norm
status (Entwurf | zurKorrektur | endgültig) #REQUIRED>

<Norm status = "Entwurf"> ... </Norm>

NOTATION attribute type <!ATTLIST mathFormel
format NOTATION (tex | troff) #REQUIRED>

<mathFormel format = "tex"> ... </mathFormel>


2.2.3. default value


Mögliche Werte des default_value eines Attribute Erklärung Beispiel
literal value eine konkrete Zeichenfolge <!ATTLIST para 
secrecy (topsec | public) "public">
#FIXED {fixedvalue} das Attribut muss den Wert {fixedvalue} haben; wenn das Attribut nicht angegeben wird, wird trotzdem der Wert {fixedvalue} angenommen; der Anwender kann den Wert nicht ändern <!ATTLIST para 
secrecy (topsec | public) #FIXED "public">
#REQUIRED Es gibt keinen default value: für jedes Element, das dieses Attribut enthält, muss der Nutzer einen Wert spezifizieren.; sonst gibt es eine Error-Meldung <!ATTLIST Norm
status (Entwurf | zurKorrektur | endgültig) #REQUIRED>
#IMPLIED das Attribut ist optional, wenn kein Wert angegeben ist, übergeht es die Software oder fügt einen softwarespezifischen default value ein. Ist in den meisten DTDs der häufigste default value <!ATTLIST Paragraph
Schrifttype CDATA #IMPLIED>

Zu Kapitel 6: XML ENTITY