| DTD | |||||
|
Die Document Type Definition (DTD) ist ein Regelwerk bzw. Formatvorlage für SGML-Dokumente (Standard Generalized Markup Language), z. B. XML-, HTML- oder XHTML-Dokumente. Die DTD wird durch die SGML- und XML-Spezifikationen beschrieben. Ein XML Dokument mit einer korrekten DTD wird als gültig (valid) bezeichnet. Es ist nicht unbedingt notwendig eine DTD einem XML Dokument hinzuzufügen. Ein XML Dokument ohne DTD wird als wohlgeformt bezeichnet. In der DTD werden die Tags und deren Attribute definiert. |
|||||
| Siehe auch: XML DDL SGML HTML | |||||
| HTML | |||||
|
Hypertext Markup Language. HTML ist eine beschreibende Sprache, mit der man Webseiten für das Internet erstellen kann. Es können beispielsweise Texte, Typos, Grafiken oder Hyperlinks dargestellt werden. Auch Multimedia-Elemente wie Musik-Files, Videos oder Animationen lassen sich einbinden. HTML wird clientseitig vom Browser interpretiert. Für den Browser gibt es auch Plug-Ins, um bestimmte Musik - oder Videosequenzen darzustellen, wie beispielsweise Flash (Adobe, ehemals Macromedia) oder Silverlight (Microsoft: Windows Presentation Foundation/Everywhere). Aufbau eines HTML-Dokumentes Ein HTML-Dokument gliedert sich in einen Kopfbereich (Head) und den eigentlichen Inhalt (Body). Im Kopfteil (Head) von HTML-Dokumenten befinden sich u.a. ein Tag für den Titel der Seite (welches für das Ranking von modernen Suchmaschinen ausgewertet wird) sowie Metainformationen für die Suchmaschinen (Meta Tags: für z. B. Beschreibung des Inhalts der Seite, Angabe von Keywords, unter denen die Seite bei Suchmaschinen gefunden werden soll, Herausgeber der Seite (Publisher), Sprache oder wann die Robots der Suchmaschinen die Seite wieder besuchen sollen um sie zu indexieren), Verweise auf ein CSS-Stylesheet oder Angaben über den verwendeten HTML bzw. XML Standard des W3C (World Wide Web Consortium). Die Meta-Tags haben jedoch bei den modernen und grösseren Suchmaschinen an Bedeutung verloren. Google z. B. ermittelt das Ranking von Webseiten mehr nach dem PageRank-Algorithmus. Auch JavaScript kann im Kopfteil eines HTML-Dokumentes eingebettet werden, entweder als Datei oder Code. Kleinere JavaScript-Elemente kann man auch im Body-Bereich direkt einbinden. Das W3C-Konsortium hat HTML bis zur Version 4.01 entwickelt und will es durch XHTML (eXtensible HyperText Markup Language) ersetzen. DTD Dem HTML-Dokument kann eine Dokumenttyp-Deklaration (Document Type Definition, DTD) vorangestellt werden. Beispiel für eine HTML-DTD: <!DOCTYPE HTML PUBLIC "- // W3C// DTD HTML 4.01 Transitional//EN" "http://www.w3.org/ TR/ html4/ loose.dtd">. Die DTD ist optional und wird eingesetzt um bestimmte HTML-Standards einzubinden. HTML-Dokumenttypen Es gibt 3 Sorten von HTML-Dokumenten: Strict, Transitional und Frameset. Bei Strict werden nur bestimmte Grundelemente und -attribute festgelegt. Viele Elemente zur grafischen Aufbereitung fehlen, diese sollen per Stylesheet eingebunden werden. Bei Transitional-Dokumenten soll es möglich sein, standardkonforme HTML-Dokumente zu verwenden, die noch keine Trennung von Strukturierung und Design aufweisen. Ältere Elemente zur Darstellung von Text und Typo werden verwendet. Bei Frameset-Dokumenten werden Elemente und Attribute zur Darstellung von Frames deklariert. XHTML 1.0 und XHTML 2.0 Dokumente führen die Strict-Variante weiter. Elemente der Transitional und Frameset Varianten entfallen und sollen durch CSS oder JavaScript ersetzt werden. XFrames wurde vom W3C vorgschlagen um Frames zu ersetzen. XFrames besitzen eine eindeutige URI-Deklaration, so dass das Problem der Nicht-Adressierbarkeit von Framesets gelöst werden soll. Weitere Probleme von Framesets, die durch XFrames gelöst werden sollen, sind: 1. Der Zurück-Button führt nicht immer zum gewünschten Ergebnis 2. Die Aktualisieren-Funktion arbeitet nicht immer korrekt (man erhält manchmal ein anderes Ergebnis als vorher) 3. Problem der Deep-Links (findet man einen Teil eines Framesets, z. B. den Hauptframe über eine Suchmaschine, so stellt der Browser oft nur diesen Hauptframe dar, ohne z. B. den Navigationsframe oder andere Teile des Framesets) 4. Sicherheitsprobleme treten auf, wenn nicht ersichtlich ist, das unterschiedliche Frames von unterschiedlichen Quellen stammen u.a. XFrames werden noch nicht in XHTML 2.0 aufgenommen. HTML-Technologien HTML kann neben CSS und JavaScript durch weitere Technologien wie Dynamic HTML (DHTML) oder Ajax ergänzt werden. Eine Weiterentwicklung von HTML und XHTML ist XML. |
|||||
| Siehe auch: HTML-Spezifikation DHTML XML XHTML HTML5 Hyperlink Hypertext Windows-Presentation-Foundation Memex W3C | |||||
| HTML-Spezifikation | |||||
|
Die HTML 4.01-Spezifikation ist die offizielle Spezifikation für HTML des World Wide Web Konsortium (W3C). Sie stammt von 1999 und es werden Elemente und Attribute von HTML 4.01 definiert. Oberbegriffe für Elemente sind Texte, Tabellen, Frames, Listen, Formulare, Objekte, Scripts, Stylesheets, Grafische Darstellung, Bilder oder Applets. Beispiele für Elemente sind: Body, Blockquote, BR, DIV, Frame, Frameset, H1, Label, Link, Meta, Noframes, P, Object, Option, Script, Select, Style Table, TH, TR, TD, VAR. Beispiele für Attribute sind: align, alink, alt, bgcolor, cellpadding, cellspacing, char, cheked, frameborder, enctype, height, h ref, id, language, multiple, name, onchange, onmousedown, onclick, marginwidth, rows, rowspam size, span, src, type, value oder width. Die Attribute sind bestimmten Typen zugeordent, beispielsweise gehört das Attribut class zum Typ CDATA oder das Attribut bgcolor zum Typ %Color;, char gehört zum Typ %Character; oder codebase zum Typ %Uri;, height zum Typ %Lenght, label zum Typ %Text; oder onfocus zum Typ %Script;. Die Attribute und Elemente sind auch den HTML-Datentypdeklarationen zugeordnet: Scrict, Transitional oder Frameset. Auch die aus SGML abgeleitete formale Definition, die SGML Declaration sowie die Document Type Definition (DTD) und die Transitional-DTD sowie die Frameset-DTD befinden sich dort. Weiterhin findet man die Zeichen-Entity-Referenzen in HTML 4. Die deutsche Übersetzung ist zu finden unter: http://edition-w3.de/TR/1999/REC-html401-19991224/. |
|||||
| Siehe auch: HTML XML DHTML XHTML XML XML-Schema Internet-Media-Type HTML5 | |||||
| Link: http://edition-w3.de/TR/1999/REC-html401-19991224 | |||||
| SGML | |||||
|
Die Standard Generalized Markup Language (SGML) ist die Obermenge von XML, HTML oder XHTML. Es handelt sich um ein Regelwerk für die Definition von Vorschriften zur Formatierung von Dokumenten. SGML ist eine Metasprache mit der man Auszeichnungssprachen (Markup Language) wie HTML oder XML definieren kann. Um ein gültiges Dokument zu erhalten (das Dokument ist "valid") bedarf es einer DTD (Document Type Definition, Dokumenttyp-Deklaration). Inhalt und Design sind bei SGML voneinander getrennt. Der Inhalt wird durch SGML-Elemente dargestellt und strukturiert. Zur Darstellung der SGML-Elemente wird die Transformations- und Formatierungssprache DSSSL (Document Style Semantics and Specification Language) verwendet. DSSSL wird auch bei XML eingesetzt und verwendet eine Teilmenge eines ISO-Dialektes von Scheme, einen LISP-Dialekt. Scheme setzt weniger auf das Prinzip, Features anzuhäufen, sondern mehr auf das Weglassen nicht benötigter Einschränkungen. So sind keine OOP-Elemente von Beginn an integriert; diese können aber durch Makros und λ-Ausdrücke in die Sprache integriert werden: Scheme ist also eine programmierbare Programmiersprache. DSSSL wurde von James Clark (Informatiker, geb. 1964 in London, beteiligt am SGML-/XML-Standard und an der Entwicklung von XSLT und XPath) entwickelt. Clark hat auch den Parser nsgmls entwickelt, der die Gültigkeit eines SGML-Dokumentes (SGML-Deklaration und DTD) überprüft. |
|||||
| Siehe auch: XML HTML DTD DDL PHP XHTML LISP Objektorientierte-Programmierung | |||||
| XHTML | |||||
|
XHTML (eXtensible HyperText Markup Language) ist eine Weiterentwicklung des HTML 4.0 Standards des World Wide Web Consortiums (W3C). Dabei wurde HTML 4.0 in XML 1.0 neu formuliert: XHTML wurde also nicht auf Basis von SGML definiert, wie das bei HTML der Fall war, sondern auf Basis von XML. Bei XML handelt es sich um eine leichter zu parsende Teilmenge von SGML, denn XML ist strenger definiert als SGML. Der XHTML 1.0-Standard enthält alle Bestandteile von HTML 4.01. Dadurch ist eine gewisse Kompatibilität zu HTML 4.01 gegeben, da eine Umformung leicht möglich ist und auch Browser, die kein XHTML implementiert haben, solche Dokumente darstellen können. Mit XHTML soll jedoch der Datenaustausch verbessert werden und die automatisierte Datenverarbeitung ermöglicht werden. XHTML-Parser sind daher gegenüber Syntaxfehlern weniger tolerant als HTML-Parser. HTML Parser trugen noch der Tatsache Rechnung, dass viele HTML-Dokumente im Internet nicht fehlerfrei waren und trotzdem einigermassen korrekt dargestellt werden sollten. Dokumenttypen XHTML hat wie HTML verschiedene Dokumenttypen wie z. B. XHTML Transitional 1.0 oder XHTML Strict 1.0. XHTML wird in Zukunft keine Präsentationselemente mehr enthalten. XHTML Transitional 1.0 enthält noch grafische Elemente wie das font-Element oder das strong-Element. XHTML Scrict 1.0 enthält diese Präsentationselemente nur noch zu Zwecken der Rückwärtskompatibilität zu XHTML Transitional. Bei XHTML Basic und XHTML 2.0 werden Präsentationselemente durch Stylesheets (CSS) eingebunden. Auf der Grundlage der XHTML-DTDs und den im XML-Schema definierten Modulen sind XHTML-Dokumenttypen modularisierbar, d.h. man kann XHTML-Dokumenttypen mit anderen DTDs von XML-basierten Sprachen mischen und zusammenbauen. Beispiele sind XHTML Basic, MathML, SVG (Scalable Vector Graphics) oder SMIL (Synchronized Multimedia Integration Language). XHTML 2.0 und Unterschiede zu HTML Der neuerer Standard XHTML 2.0 wird nicht mehr kompatibel sein zu HTML 1.1. Wichtige Änderungen sind das vereinfachte Einbinden multimedialer Inhalte sowie das Auslagern von HTML und XML Funktionen in andere XML-Sprachen: XForms (Formulare), XML Events (Scripte einbinden) oder XFrames (für Framesets, Frames). XFrames wurde vom W3C-Konsortium vorgeschlagen, jedoch noch nicht in den XHTML 2.0 Standard integriert. Unterschiede zu HTML sind ausserdem: Start- und End-Tag müssen immer beide angegeben werden, Attributwerte müssen immer mit Anführungszeichen angegeben werden, bei Booleschen Attributen muss der Attributname als Attributwert angegeben werden (Bsp: <input type="checkbox" checked="checked"/>), Elemente und Attribute dürfen nur klein geschrieben werden, das <html> Wurzel-Element muss immer die Deklaration des Namensraumes für XHTML enthalten: <html xmlns="http://www.w3.org/1999/xhtml">. Beispiel für eine XHTML Dokumenttyp-Deklaration: <! DOCTYPE html PUBLIC "- //W3C // DTD XHTML 1.0 Transitional// EN" "http://www.w3.org/ TR / xhtml1 /DTD/xhtml1- transitional.dtd">. MIME-Type Der MIME-Type (Multipurpose Internet Mail Extensions) spielt eine Rolle bei der HTML-Kompatibilität und bei der Verarbeitung des Dokumentes vom Browser. XHTML Dokumente sollen nach Empfehlung des RFC 3236 den MIME-Type application/xhtml+xml aufweisen. Wenn das XHTML-Dokument rückwärtskompatibel ist kann es gemäss RFC 2854 und dem XHTML 1.0 Standard mit dem HTML MIME-Type text/html gesendet werden. Ab XHTML 1.1 ist keine vollständige Kompatibilität zu HTML mehr vorgesehen, so dass das W3C-Konsortium empfiehlt, den MIME-Type application/xhtml+xml zu verwenden. |
|||||
| Siehe auch: HTML XML SGML MIME DTD Browser Parser Script W3C | |||||
| XML | |||||
|
Extensible Markup Language. XML ist wie HTML eine Teilmenge von SGML. XML ist eine Auszeichnungssprache und ist geeignet zum automatischen Datenaustausch zwischen IT-Systemen. Das World Wide Web Consortium hat in seinen XML-Spezifikationen eine Metasprache definiert mit deren Hilfe XML-Sprachen definiert werden können, die auf bestimmte Anwendungen spezialisiert sind. Dies geschieht durch Spezifikationen struktureller und inhaltlicher Art und wird deklariert in der Document Type Definition (DTD) und dem XML-Schema. Beispiele für XML-Sprachen sind MathML, XHTML, SVG, SMIL oder XML-Schema. Im Gegensatz zu HTML kann man in XML den Anforderungen entsprechende Tags selber definieren. Dabei wird streng zwischen Struktur und Layout getrennt. Es ist möglich (aber nicht zwingend notwendig), eine DTD (Document Type Definition) hinzuzufügen. Die DTD ist ein Regelwerk, in welchem Tags (und deren Namen, Verschachtelung und Reihenfolge) sowie deren Attribute definiert werden. Man unterscheidet XML Dokumente in wohlgeformte Dokumente (ohne DTD) und gültige Dokumente (valid), wenn es über eine korrekte DTD verfügt. XML wird u.a. auch oft bei RSS-Feeds eingesetzt. |
|||||
| Siehe auch: HTML DTD DDL RSS HTML5 SGML SOAP CORBA XHTML XAML | |||||
| XML-Schema | |||||
| Siehe auch: XML XHTML DTD SGML | |||||
| RDF | |||||
|
Das Resource Description Framework (RDF) ist eine standardisierte Sammlung von Spezifikationen zur Darstellung von Metadaten (Metadaten-Modell) im Internet. RDF wird vom W3C (World Wide Web Consortium) gepflegt und weiterentwickelt und bildet mit der Web Ontology Language die Basis für das Semantische Web. Im RDF-Metadaten-Modell werden Aussagen über Web-Ressourcen in Form eines Subjekt-Prädikat-Objekt-Ausdrucks (RDF-Triple) repräsentiert. Dabei ist die Ressource, welche beschrieben werden soll, das Subjekt, die Eigenschaften der Ressource sind das Prädikat, welches oft eine Beziehung zwischen dem Subjekt und dem Objekt ausdrückt, und das Objekt ist das Objekt dieser Beziehung. Objekte können Literale oder auch Ressourcen oder leere Ressourcen sein. Ressourcen können Verweise auf weitere Ressourcen haben (um z. B. Redundanzen zu vermeiden). Eine noch nicht existierende Ressource oder eine namenlose Ressource wird durch einen leeren Knoten repräsentiert. Durch RDF beschriebene Internet-Ressourcen sind damit durch Computer lesbar und auswertbar. RDF-Modell, RDF-Graph, RDF-Syntax Diese Ressourcen Beschreibungen können als RDF-Graph (RDF-Metadaten-Modell) oder als XML-Hypertext (RDF-Syntax) existieren. Im RDF-Modell können Aussagen über Properties (als Prädikat verwendete Ressourcen) gemacht werden. Diese Properties sind wiederum in RDF spezifizierbar und können als Metadatenformat verwendet werden. Das so definierte Vokabular kann durch andere RDF-Elemente durch Referenzierung weiterverwendet werden. Die RDF-Aussagen spezifizieren wiederum selber Ressourcen. Auf diese Ressourcen kann mit weiteren RDF-Aussagen referenziert werden. Dieses Konzept der Aussagen über Aussagen heisst Reification. RDF-Schema Im RDF-Schema (RDFS) werden Beziehungen zwischen den Ressourcen dargestellt. Das RDFS benötigt eine Dokumenttyp-Deklaration (z. B. eine Document Type Definition (DTD)) und legt die Syntax für den gemeinsamen Datenaustausch fest. Dafür ist ein gemeinsames Vokabular notwendig, wie z. B. Dublin Core. Wenn dieses Vokabular auch eine Syntax zur korrekten Verwendung der darin definierten Ressourcen enthält, wird es auch Ontologie genannt. In RDFS wird die Ontologie oder das Vokabular für eine bestimmte Domäne festgelegt, sowie die darin enthaltenen Ressourcen und deren Eigenschaften und Beziehungen untereinander. Durch RDFS wird der Ansatz eines mengentheoretischen Konzeptes verfolgt, in dem Klassen und Eigenschaften getrennt modelliert werden. Dies ermöglicht eine formale Beschreibung der Semantik der RDF-Elemente. Es werden XML-Namensräume festgelegt, relative und absolute Referenzen angegeben und Klassen instanziiert (Instanzen sind eine Kategorie (Klasse) von zugeordneten Ressourcen). Instanzen können auch mehreren Klassen gleichzeitig zugeordnet sein. Klassen können vererbt werden. Die Eigenschaften der Kategorien werden beschrieben. Diese sind unabhängig von Klassen. Die Datentypen beschreiben eine Klasse, zu der Objekte des Property (Basisklasse für Eigenschaften) zugeordnet sind. Sie werden mit Prädikaten definiert. Die Eigenschaften werden den Klassen zugewiesen und sind vererbbar. RDFS ist von Menschen lesbar und ähnelt im Konzept den Sprachen der OOP. Es findet jedoch keine Objekt-Beschreibung statt (Trennung von Klassen und Eigenschaften), es existieren feste Datentypen (Eigenschaften haben immer denselben Datentyp). Die Eigenschaften sind keine Constraints, verfügen also über keine Einschränkungen des Wertebereichs (Eigenschaften können leer sein oder mit falschen Objekten belegt sein). RDF-Ontologie Mit RDF ist es möglich, ein Konzept zur Typisierung des type-Elements zu erstellen. Weiterhin kann eine Taxonomie von Begriffen erstellt werden durch die Definition von Klassen und Eigenschaften. Eine einfache Ontologie kann erzeugt werden durch folgendes Vokabular: Klassen (Class, Property, Resource, Literal). Class: Klassenkonzept, ein abstraktes Objekt wird definiert und Instanzen gebildet (rdf:type). Resource: jede Entität ist eine Instanz dieser Klasse. Literal: Klasse für Literalwerte. Eigenschaften (subClassOf, subPropertyOf, domain, range): subClassOf: ist eine transitive Eigenschaft die die Vererbungshierarchien in den Klassen spezifiziert. subPropertyOf: diese transitive Eigenschaft spezifiziert die Vererbungshierarchien von Eigenschaften. domain: spezifiziert den Anwendungsbereich einer Eigenschaft bezüglich der Klassen. range: spezifiziert den Wertebereich einer Eigenschaft. RDFS ist interpretierbar von jeder RDF-Software, jedoch nicht ausreichend für komplexe Ressourcen. DAML+OIL, Web Ontology Language Dies können andere Ontologie-Beschreibungssprachen leisten: DAML+OIL oder OWL. DAML+OIL besteht aus DAML-ONT (DARPA Agent Markup Language-Ontology) und OIL (Ontology Inference Layer). Der Nachfolger von DAML+OIL ist die Web Ontology Language (OWL). Der Buchstabendreher von WOL zu OWL soll in Anspielung an das englische Wort für Eule (Owl) zustande gekommen sein. Auch ein Bezug zur Wissensrepräsentationssprache One World Language vom MIT soll bestehen. OWL basiert auf der RDF-Syntax und ging aus DAML-OIL hervor. OWL erweitert die Möglichkeiten von RDF und RDF-Schema um weitere Sprachbestandteile, die es erlauben, Ausdrücke ähnlich wie in der Prädikatenlogik zu spezifizieren. OWL gibt es in den Ausführungen OWL Lite, OWL DL (Description Logic) und OWL Full. In OWL gibt es Klassen, Eigenschaften und Instanzen. |
|||||
| Siehe auch: XML Metadaten RSS Semantik Semantische-Suchmachine Web-Ontology-Language Objektorientierte-Programmierung | |||||