„Entität (Auszeichnungssprache)“ – Versionsunterschied
[ungesichtete Version] | [gesichtete Version] |
Inhalt gelöscht Inhalt hinzugefügt
SEUME (Diskussion | Beiträge) Ebenenanordnung geändert |
K wp ist immer heute Markierungen: Mobile Bearbeitung Bearbeitung von einer mobilen Anwendung Bearbeitung mit Android-App |
||
(25 dazwischenliegende Versionen von 19 Benutzern werden nicht angezeigt) | |||
Zeile 1:
'''Entitäten''' (
== {{Anker|Zeichen-Entitäten}} Benannte Entität ==▼
:''Namen (benannte Zeichenentitäten) sind für Menschen da, Zahlen für Maschinen.''
Computer können problemlos fünfstellige Zeichencodierungen verarbeiten – nur Menschen haben ihre Schwierigkeiten damit. Benannte Entitäten verbessern die Lesbarkeit von Dokumenten durch den Benutzer. Mittels einer [[Dokumenttypdefinition]] (DTD) wird eine benannte Entität mit Name (Entitätsname) und Inhalt (Entitätsinhalt) deklariert. Wird im Dokumententext auf den Entitätsnamen referenziert, dann ersetzt der Parser die Referenz durch den Entitätsinhalt.<ref>Goldfarb u. a.: ''XML in Office 2003'', [[Mediengruppe Pearson|Pearson]], 2004, S.
▲== Benannte Entität==
▲''Namen (benannte Zeichenentitäten) sind für Menschen da, Zahlen für Maschinen.'' Computer können problemlos fünfstellige Zeichencodierungen verarbeiten – nur Menschen haben ihre Schwierigkeiten damit.
▲Mittels einer [[Dokumenttypdefinition]] (DTD) wird eine benannte Entität mit Name (Entitätsname) und Inhalt (Entitätsinhalt) deklariert. Wird im Dokumententext auf den Entitätsnamen referenziert, dann ersetzt der Parser die Referenz durch den Entitätsinhalt.<ref>Goldfarb u.a.: ''XML in Office 2003'', [[Mediengruppe Pearson|Pearson]], 2004, S. 320-322</ref>
: ''Beispiele:''
:* Hier wird vereinbart, alle ''&amp;'' durch das Zeichen ''dezimal 38'' zu ersetzen:
Zeile 45 ⟶ 39:
== Zeichenverweis (Numerische Entität) ==
In der [[SGML]]-Norm wurden ''numerische Entitäten'' als ''Zeichenverweise'' (engl. Character Reference) eingeführt.<ref>{{Internetquelle |url=http://www.din.de/en/getting-involved/standards-committees/nia/standards/wdc-beuth:din21:736498 |titel=ISO 8879:1986-10 |werk=www.din.de |zugriff=2016-12-04}}</ref> Auch in [[XML]] werden numerische Entitäten als Zeichenverweise definiert.<ref>{{Internetquelle |url=https://www.w3.org/TR/2008/PER-xml-20080205/#NT-Name |titel=Extensible Markup Language (XML) 1.0 (Fifth Edition) |werk=www.w3.org |zugriff=2016-12-04}}</ref> Bei der ''numerischen Entität'' wird der Zeichencode als Entität in das Dokument eingetragen als
* <code>&#''nnn'';</code>, wobei ''nnn'' die dezimale
* <code>&#
Der Parser ersetzt den Zeichencode durch das
== Ersetzung von Entitäten durch Schriftzeichen ==
Der Ersatz einer Zeichenentität im Quelltext muss nicht zwingend 1:1 durch ein anderes Zeichen erfolgen.
In europäisch
: ''Beispiel:''
: Das Zeichen »é« kann wahlweise definiert sein als
:# <
:# <
:# <
:# <
:# <
: In den ersten beiden Definitionen wird das benannte durch eine numerische Entität ersetzt, im dritten durch ein einzelnes Unicode/ANSI-Zeichen und im vierten durch eine Kombination zweier Zeichen: ein [[Akut]] mit dem Grundbuchstaben
Es muss aber nicht immer
In außereuropäischen Schriftsystemen existieren außerdem vielfältige [[Ligatur (Typografie)|Ligaturen]], also unterschiedlichste Kombinationen zusammentreffender Einzelbuchstaben
In anderen Fällen (beispielsweise im [[Arabische Schrift|Arabischen]]) hängt die Gestalt des sich ergebenden Schriftzeichens vom Kontext, von der sprachlichen Bedeutung ab
Im Deutschen wäre als entsprechendes Beispiel die korrekte Verwendung des [[Langes s|langen ''s'' und runden ''s'']] zu nennen oder das Verbot von ''ff''-, ''fi''-, ''fl''-Ligaturen über Silbengrenzen hinweg.
Zeile 80 ⟶ 73:
:# <code><!ENTITY ko_37 "¤Å"></code><br /><code><!ENTITY Encoding "EUC-KR"></code> — ''[[Extended UNIX Coding|EUC]]-KR''
:# <code><!ENTITY ko_37 "&#60;img src='ko_37.png'&#62;"></code><br /><code><!ENTITY Encoding "graphic glyphs"></code> — ''Ersatzgrafik''
: In den vielen Nutztexten werden dann die Zeichen mittels der <
:: This document view is shown in <
: Damit werden die Leser informiert, welches DTD zurzeit eingebunden wird und können bei Darstellungsproblemen Abhilfe schaffen.
== Zukunft der Zeichenentitäten ==
Mit der allmählichen Verbreitung von [[Unicode Transformation Format|UTF]]-8, UTF-16, [[Universal Coded Character Set|UCS]]-2 und UCS-4 in internationalen [[Informationstechnik|IT]]-Anwendungen nimmt die Notwendigkeit einer
Es wird aber noch viele Jahre dauern, bis weltweit das letzte Kommunikationsprotokoll und die letzte Software-Anwendung Multi-Byte-Zeichen fehlerfrei handhaben kann.
Daher bleibt die Notwendigkeit bestehen, für den '''Austausch''' mittels numerischer Entitäten selbst noch auf die Stufe <
Die Konvertierung ist aber in beiden Richtungen verlustfrei möglich, sofern die ''general entities'' dabei nicht angetastet werden und sofern überhaupt eine spezifische
Bedeutung wird die Darstellung als benannte Entity wohldefinierter Einzelzeichen langfristig nur für das Lesen und Schreiben von XML-Quelltext durch menschliche Bearbeiter behalten, wenn Zeichen außerhalb der jeweiligen Sprachwelt vorkommen (seien sie nun fremdsprachlich oder auch mathematisch).
Zeile 101 ⟶ 94:
Bei HTML – der häufigsten Anwendung – ist das der Fall.
== {{Anker|named }} ISO-genormte
; {{Anker|SGML.1986}} SGML (1986)
:: Latin Letters
::: <
::: <
::: <
:: Graphics and Symbols
::: <
::: <
::: <
::: <
:: Added Mathematical Symbols
::: <
::: <
::: <
::: <
::: <
::: <
:: Greek Characters
::: <
::: <
::: <
::: <
:: Cyrillic Characters
::: <
::: <
: ''Dabei wurden nur die Namen und eine Beschreibung des Zeichens festgelegt; die Zuordnung von Codierungen konnte erst später mit [[Unicode]] erfolgen.''
:* Definition unter [https://www.w3.org/2003/entities/iso8879doc www.w3.org/2003/entities/iso8879doc]
; HTML 2 (1995)
:* Ersatzzeichen für die HTML-Syntax: <
:* Benannte Zeichen für [[ISO 8859]]-1 (also Codierungen 160…255)
:: Deren Definition ist identisch mit SGML:isolat1
; HTML 4 (1999)
: Wie HTML 2, aber Definition 152 weiterer Codierungen >255
: Definitionen erhältlich<ref>Eine bequemer lesbare Ressource unter [https://www.w3.org/TR/html401/sgml/entities.html Character entity references in HTML 4] (ebenfalls [[W3C]]).</ref> unter
:* [http://www.w3.org/TR/REC-html40/HTMLlat1.ent www.w3.org/TR/REC-html40/HTMLlat1.ent]
:* [http://www.w3.org/TR/REC-html40/HTMLsymbol.ent www.w3.org/TR/REC-html40/HTMLsymbol.ent]
Zeile 150 ⟶ 143:
: Definiert sind Hunderte von Sonderzeichen, wie sie für mathematische Formeln benötigt werden. Überwiegend werden eigene Namen verwendet, die fast immer länger als die bei HTML und SGML sind.
; XML (2010)
: 2007–2010 wurden alle gebräuchlichen Namen zusammengetragen und in einem Entwurf vereinigt.<ref>Zuletzt: 10. April 2014, [https://www.w3.org/TR/xml-entity-names/#changes20100401 W3C Recommendation.] Das Dokument hatte also den Status einer Empfehlung.</ref> In einer DTD sind 2237 Namen auf
:* [https://www.w3.org/2003/entities/2007/w3centities-f.ent www.w3.org/2003/entities/2007/w3centities-f.ent]
: Insbesondere [[#SGML.1986|SGML (1986)]] und [[#MathML|MathML]] sind abgedeckt; damit ist auch HTML vollständig enthalten. Im Einzelfall wurde auch auf die praktikabelste Variante standardisiert, wo für den gleichen Zweck unterschiedliche Abbildungen auf mehrere Zeichencodes existierten.
Zeile 162 ⟶ 155:
|-
|rowspan="3" align="center" | 168<br />¨<br />U+00A8
| "<
| SGML:isodia
|-
| "<
| SGML:isotech
|-
| "<
| HTML.2, SGML:isodia
|-
|rowspan="2" align="center" | 913<br />Α<br />U+0391
| "<
| SGML:isogrk1
|-
| "<
| HTML.4
|-
|rowspan="4" align="center" | 8598<br />↖<br />U+2196
| "<
| SGML:isoamsa ''north west arrow''
|-
| <
| HTML
|-
| "<
| MathML
|-
| "<
| MathML
|}
Zeile 194 ⟶ 187:
Dem Zeichen »Α« ist dabei nicht anzusehen, ob es ein griechisches großes Alpha oder ein lateinisches A ist.
Gelegentlich erfolgt der Einwand, mnemonische Entitäten würden die Arbeit unnötig kompliziert machen, weil die entsprechenden DTDs vereinbart und bereitgestellt werden müssten und man solle doch gleich die richtigen Zeichen tippen bzw. nur mit den numerischen Entitäten arbeiten.
Dazu einfach ein Beispiel in <
: □ □ □ □ □ □ □ <!-- ;-) please do not edit -->
: <
: = ''Russkij''
: = <
: = <
: = Русский
Es kann durchaus sinnvoll sein, nach dem Editieren die benannten Entitäten automatisch in die numerische Form umzuwandeln, in diesem Format an Andere weiterzugeben
Die Darstellung als Entitäten hat weiterhin den Vorteil, dass unterschiedliche Zeichen mit unterschiedlicher Bedeutung, die sich bei der grafischen Darstellung sehr ähneln (z. B.: Hochkomma, Akzent, Apostroph, Anführungszeichen), eindeutig unterschieden werden können.
XHTML enthält exakt alle Definitionen aus HTML 4.0, und in jeder Implementierung müssen alle benannten Entitäten bekannt sein (und sind es auch, üblicherweise hard-coded).
Diese Weiterentwicklung betrifft inneres Format und Struktur der Elemente
Weiterhin gibt es XML-Anwendungen, die mit Textpassagen arbeiten und die dazu die vergleichbaren und bekannten HTML-Elemente nachempfunden haben. Aktuelles und häufigstes Beispiel sind schriftliche [[RSS (Web-Feed)|RSS]]-[[Web-Feed]]s ''(News)''. Sie enthalten wie HTML <span style="font-family:monospace;"><p></span>, <span style="font-family:monospace;"><span></span>, <span style="font-family:monospace;"><div></span> und auch <span style="font-family:monospace;"><head></span> / <span style="font-family:monospace;"><body></span>. Der Quelltext sieht daher aus, ''als ob'' es sich um HTML handeln würde. Da dieses aber gar kein HTML-Dokument ist, können benannte Entitäten nicht benutzt werden – sofern die entsprechenden DTD nicht eingebunden wurden oder die Darstellungssoftware (meist der [[Webbrowser]]) die wohlbekannten Definitionen nicht von sich aus anwendet.
== Parameter-Entitäten ==
Ein Sonderfall in [[SGML]], [[Extensible Markup Language|XML]] usw. sind ''parameter entities''. Sie dürfen nicht in Dokumenten, sondern nur innerhalb der [[Dokumenttypdefinition|DTD]] benutzt werden. Ansonsten haben sie die identische Syntax, jedoch steht statt <code>&</code> ein <code>%</code> am Beginn.
<syntaxhighlight lang="xml">
▲Syntax der Deklaration:<syntaxhighlight lang="xml">
<!ENTITY % Name SYSTEM "externe.datei" >
</syntaxhighlight>
Syntax der Referenz (Aufruf der Entität): <syntaxhighlight lang="xml"> %Name;
</syntaxhighlight>
== Literatur ==
* [[Charles Goldfarb]], Priscilla Walmsley: ''XML in Office 2003: Daten managen mit Word, Excel, FrontPage und InfoPath'', [[Mediengruppe Pearson|Pearson]], 2004, ISBN
== Weblinks ==
Zeile 250 ⟶ 234:
<references />
[[Kategorie:
[[Kategorie:XML]]
|