www.wikidata.de-de.nina.az
XML Namensraume englisch XML namespaces werden benutzt um Elemente und Attribute in einem XML Dokument eindeutig zu identifizieren und um in einem einzelnen Dokument mehrere XML Sprachen mischen zu konnen Ihre Funktionsweise ist mit Vorwahlen bei Telefonnummern zu vergleichen Zum Beispiel beschreibt das lt p gt Element in XHTML einen Absatz in einer XML Sprache fur eine Personendatenbank konnte lt p gt ein Element fur eine Person darstellen Namensraume erlauben diese Elemente eindeutig zu unterscheiden Der Namensraum Mechanismus fur XML Daten wurde vom W3 Konsortium entwickelt und liegt seit dem 8 Dezember 2009 in der dritten Auflage sowohl fur XML 1 0 als auch fur XML 1 1 vor Die erste Version der Spezifikation datiert auf den 14 Januar 1999 also etwa ein Jahr nachdem die XML Spezifikation verabschiedet wurde Aus diesem Grund findet man z B in der Empfehlung zu MathML 1 0 noch keine Namensraumangabe Die zweite Version wurde am 16 August 2006 veroffentlicht Inhaltsverzeichnis 1 Struktur von XML Namensraumen 2 Namensraume verwenden 2 1 Prafixe 2 1 1 Das Prafix xmlns 2 1 2 Das Prafix xml 2 2 Attribute 2 3 Beispiel 3 Namensraum Notation nach James Clark 4 Schwierigkeiten mit XML Namensraumen 4 1 Doppelpunkte in Elementnamen 4 2 URLs als Namensraume 4 3 Dokumenttyp Definitionen und Namensraume 5 Siehe auch 6 Einzelnachweise 7 WeblinksStruktur von XML Namensraumen BearbeitenNamensraume werden durch URIs dargestellt meistens also durch normale Webadressen Dabei ist zu beachten dass die entsprechende Adresse nicht existieren muss Sie kann beliebig definiert werden Wichtig ist zudem dass bei Namensraumangaben auf Gross und Kleinschreibung auch im Host Teil sowie eine eventuelle URL Kodierung z B C3 A4 statt a geachtet werden muss Wenn eine URL als Namensraum verwendet wird ist es jedoch meistens sinnvoll unter dieser Adresse zusatzliche Informationen zu der XML Sprache anzubieten z B eine Dokumenttypdefinition DTD oder ein XML Schema Namensraume verwenden BearbeitenFur Namensraume wird das Attribut xmlns fur engl XML Namespace verwendet lt html xmlns http www w3 org 1999 xhtml gt restliche HTML Datei lt html gt Das lt html gt Element sowie alle seine Kindelemente also Elemente innerhalb von lt html gt lt html gt gehoren hier zum Namensraum W3C XHTML namespace 1 Namensraume konnen auch verschachtelt werden lt html xmlns http www w3 org 1999 xhtml gt XHTML Elemente lt math xmlns http www w3 org 1998 Math MathML gt MathML Elemente lt math gt XHTML Elemente lt html gt Prafixe Bearbeiten Zusatzlich zur oben beschriebenen Methode existiert ein Prafix Mechanismus Elemente konnen durch eine Zeichenkette die durch einen Doppelpunkt vom Elementnamen getrennt wird in einen beliebigen Namensraum gesetzt werden Das Prafix muss keinerlei Beziehung zum Namensraum haben jedoch zuerst an den Namensraum gebunden werden lt html xmlns http www w3 org 1999 xhtml xmlns m http www w3 org 1998 Math MathML gt XHTML Elemente lt m math gt MathML Elemente mit m Prafix lt m math gt XHTML Elemente lt html gt In diesem Beispiel wird im lt html gt Element mit der Angabe xmlns m das Prafix m an den MathML Namensraum gebunden Danach konnen Elemente durch die Angabe lt m Elementname gt lt m Elementname gt in den entsprechenden Namensraum gesetzt werden Den eigentlichen Elementnamen also den Teil ohne fuhrendes Prafix und Doppelpunkt nennt man den lokalen Namen des Elements Der vollstandige oder qualifizierte Name des Elementes kurz QName besteht aus Namespace URI und lokalem Namen das Prafix kann somit beliebig gewahlt werden Das Prafix xmlns Bearbeiten Technisch gesehen ist ein Konstrukt der Art xmlns m ein Attribut mit einem Namensraumprafix Es existiert in dem Fall der Verwendung von Prafixen also ein zusatzlicher Namensraum xmlns xmlns http www w3 org 2000 xmlns im Dokument Dieser wird jedoch nicht explizit angegeben sondern von XML verarbeitenden Programmen vorausgesetzt Wie das folgende xml ist auch dieses Prafix fest mit dem oben angegebenen Namensraum verknupft Das Prafix xml Bearbeiten XML Elemente durfen nicht mit der Zeichenkette xml anfangen Daraus folgt dass auch XML Namensraum Prafixe nicht mit xml anfangen durfen Tatsachlich ist an xml ein Namensraum fur Elemente und Attribute gebunden den das W3 Konsortium fur Erweiterungen von XML reserviert Der URI dieses Namensraums ist a href http www w3 org XML 1998 namespace http www w3 org XML 1998 namespace a 2 Er muss nicht explizit angegeben werden sondern wird von den verarbeitenden Programmen selbst eingefugt Derzeit existieren folgende Attribute mit Prafix xml Stand April 2010 Attribut Bedeutung Beispielxml lang Sprachangaben zum Inhalt Durch ISO 3166 und ISO 639 definiert Werte 2 stelliger Sprachcode optional gefolgt von Bindestrich sowie grossgeschriebenem 2 stelligen Landercode Ausnahme nicht standardisierte Lander und Sprachcodes lt p xml lang de gt Inhalt in deutscher Sprache Land undefiniert lt p gt lt p xml lang en US gt Inhalt in englischer Sprache Land Vereinigte Staaten lt p gt lt p xml lang sindarin MITTELERDE gt Inhalt in grauelbisch Land Mittelerde lt p gt xml space Darf die zwei Werte preserve und default annehmen preserve bedeutet dass Leerzeichen und Zeilenumbruche genau so angezeigt werden wie sie im Quelltext der Datei stehen wie beim lt pre gt Element in HTML default heisst dass mehrere Leerzeichen und Zeilenumbruche zu einem einzigen Leerzeichen zusammengefasst werden Voreinstellung lt div xml space default gt ASCII Art lt p xml space preserve gt 4 fL lt p gt lt div gt xml base Basis URL von der aus alle relativen Links in dem Element ausgewertet werden lt h3 gt Wikipedia Links lt h3 gt lt ul xml base http de wikipedia org wiki gt lt li gt lt a href XML gt XML lt a gt lt li gt lt li gt lt a href SGML gt SGML lt a gt lt li gt lt ul gt xml id Dokumentweit eindeutiger Bezeichner fur das Element lt p xml id Kapitel 1 gt Ein Absatz lt p gt lt p gt lt a href Kapitel 1 gt Link zum obigen Absatz lt a gt lt p gt Attribute Bearbeiten Attribute in XML sind sogenannte assoziierte Knoten Sie werden nicht wie normale Kindelemente eines Elements behandelt Bei Namensraumen heisst das dass Attribute nicht im Namensraum des Elements stehen in dem sie notiert sind sondern vorgabemassig im Null Namensraum Es gibt Falle in denen man dies explizit andern will Beispielsweise werden Links in SVG von der Sprache XLink ubernommen die ein Set von Attributen bereitstellt mit denen Links beschrieben werden konnen In diesem Fall mussen die einzelnen Attribute mit einem Prafix versehen werden lt svg xmlns http www w3 org 2000 svg xmlns xlink http www w3 org 1999 xlink gt lt a xlink href grafik2 svg gt Link zu Grafik 2 lt a gt lt svg gt Es gibt fur Attribute keine Moglichkeit sie ohne Prafix in einen bestimmten Namensraum zu setzen Beispiel Bearbeiten Im folgenden Beispiel werden Elemente beziehungsweise Attribute aus den XML Sprachen XHTML blau MathML rot SVG grun und ohne Namensraum schwarz gemischt Insbesondere ist zu beachten dass das Attribut xmlns selbst in keinem Namensraum liegt sein Wert ist lediglich eingefarbt um anzuzeigen welche Elemente von ihm betroffen sind lt html xmlns http www w3 org 1999 xhtml xmlns svg http www w3 org 2000 svg gt lt head gt lt title gt Beispiel Datei mit mehreren Namensraumen lt title gt lt head gt lt body gt lt h1 gt Eine Mathe Formel lt h1 gt lt math xmlns http www w3 org 1998 Math MathML gt lt mi gt x lt mi gt lt mo gt lt mo gt lt mn gt 2 lt mn gt lt math gt lt p gt Und noch ein kleines Bild dazu lt p gt lt svg svg gt lt svg rect x 0 y 0 width 10 height 10 gt lt svg text gt lt svg tspan gt Eine Formel in der Grafik lt svg tspan gt lt svg tspan gt lt math xmlns http www w3 org 1998 Math MathML gt lt mi gt y lt mi gt lt mo gt lt mo gt lt mn gt 1 lt mn gt lt math gt lt svg tspan gt lt svg text gt lt svg svg gt lt p gt Eine SVG Grafik kann auch ohne Prafix verwendet werden lt p gt lt svg xmlns http www w3 org 2000 svg gt lt circle svg cx 10 svg cy 10 svg r 5 svg fill red gt lt svg gt lt body gt lt html gt Namensraum Notation nach James Clark BearbeitenNamensraum Prafixe konnen frei gewahlt werden In manchen Kontexten z B wenn man nur einen kleinen Ausschnitt eines komplexeren XML Dokuments sieht kann diese Beliebigkeit zu Missverstandnissen fuhren James Clark hat deshalb in seinem Artikel XML Namespaces 3 eine andere Notation fur Elementnamen eingefuhrt die sich in der Dokumentation von XML Daten steigender Beliebtheit erfreut Ein einfaches Beispiel konnte demnach so aussehen lt http www w3 org 1999 xhtml html gt lt http www w3 org 2000 svg svg gt lt http www w3 org 2000 svg svg gt lt http www w3 org 1999 xhtml html gt Elemente im Fliesstext werden dann z B als http www w3 org 1999 xhtml html notiert Der URI eines Namensraums wird dabei bei jedem Element in geschweiften Klammern davor gesetzt Dadurch wird das Element mit seinem Namensraum eindeutig charakterisiert Dies ist der grosse Vorteil dieser auf den ersten Blick etwas umstandlich erscheinenden Methode Zu beachten ist dass diese Notation kein gultiges XML darstellt Sie dient ausschliesslich zur Veranschaulichung und Dokumentation von Namensraumen Schwierigkeiten mit XML Namensraumen BearbeitenDoppelpunkte in Elementnamen Bearbeiten XML verarbeitende Programme werden in zwei Gruppen eingeteilt Programme die Namensraume beachten und verarbeiten Programme die Namensraume nicht beachtenDer wichtigste Unterschied ist der Umgang mit Doppelpunkten in Elementnamen Wird das Dokument von einem Namensraum sensiblen Programm verarbeitet mussen alle Doppelpunkte als Trenner von Prafixen und Elementnamen interpretiert werden anderenfalls erzeugt das Programm einen Fehler Programme die nicht nach Namensraumen unterscheiden fuhren diese Uberprufung nicht durch In XML selbst ist es erlaubt Elemente zu definieren die den Doppelpunkt bereits im Elementnamen tragen Dies wird jedoch ausdrucklich nicht empfohlen Dateien die Namensraume verwenden sind dadurch jedoch wohlgeformte XML Dokumente URLs als Namensraume Bearbeiten Es ist eine regelmassige Frage in entsprechenden Foren was man denn nun unter der URL hinterlegen soll die als Namensraum Definition verwendet wird Die einfache Antwort ist dass dort nichts existieren muss URLs und allgemeiner URIs werden als Definition verwendet weil sie gewisse Hinweise liefern konnen von wem die Sprache entwickelt wurde und weil die entsprechenden Personen oder Organisationen eine gewisse zumindest symbolische Kontrolle uber einen bestimmten URL Bereich z B http www w3 org fur das W3 Konsortium besitzen Dokumenttyp Definitionen und Namensraume Bearbeiten XML Sprachen werden heute noch haufig mit sogenannten Dokumenttyp Definitionen definiert Diese DTDs die noch aus der SGML Zeit stammen waren nie dazu bestimmt Namensraume zu beachten DTDs wurden in den 1980ern entwickelt Es ist sehr umstandlich und zum Teil unmoglich z B bei beliebigen Prafixen oder in XSLT eine allgemein gultige DTD fur eine XML Sprache oder ein Dokument aufzustellen Ein Versuch dies fur XHTML MathML und SVG in einer Datei dennoch zu tun findet man beim W3 Konsortium 4 Dort wird mittels im Nachhinein definierbarer Entitaten die Moglichkeit geschaffen Prafixe fur jedes Dokument neu zu bestimmen Siehe auch BearbeitenNamensraum Extensible Markup Language XML Liste der XML NamensraumeEinzelnachweise Bearbeiten W3C XHTML namespace englisch W3C XML namespace englisch XML Namespaces nach James Clark englisch An XHTML MathML SVG Profile englisch Weblinks BearbeitenW3C Spezifikation zu Namensraumen englisch Deutsche Ubersetzung der Spezifikation Erlauterung von XML Namensraumen deutsch Namensraum Tutorial bei zvon org englisch XML Namespaces FAQ englisch Understanding Namespaces bei MSDN englisch V DStandards des World Wide Web Consortiums W3C Empfehlungen ActivityPub ARIA Canonical XML CDF CSS DOM Geolocation API HTML HTML5 InkML ITS JSON LD MathML OWL P3P PLS PNG RDF RDF Schema RIF SCXML SISR SKOS SMIL SOAP SRGS SSML SVG SPARQL Timed Text Turtle VoiceXML WSDL XForms XHTML XHTML RDFa XInclude XLink XML XML Base XML Encryption XML Events XML Information Set XML Namespace XML Schema XML Signature XPath XPointer XProc XQuery XSL XSL FO XSLT Elemente nbsp Arbeitsentwurfeund Kandidaten CCXML CURIE SMIL Timesheets sXBL WICD XFrames XBL XHTML MathML SVG XMLHttpRequestAnmerkungen XAdES XFDL XHTML SMIL XUPRichtlinien Web Content Accessibility Guidelines Multimodal Interaction Activity Markup Validation ServiceInitiativen Web Accessibility Initiative Abgerufen von https de wikipedia org w index php title Namensraum XML amp oldid 198035670