Fragmentbezeichner

aus Wikipedia, der freien Enzyklopädie
Zur Navigation springen Zur Suche springen

Als Fragmentbezeichner (englisch fragment identifier) wird eine Zeichenkette bezeichnet, mit welcher eine Untereinheit einer Ressource adressiert werden kann.

Beispiele[Bearbeiten | Quelltext bearbeiten]

Fragmentbezeichner werden üblicherweise einer URI (also auch einer URL) hinzugefügt, um Teile eines Dokuments zu adressieren. Der Fragmentbezeichner wird in diesem Fall mit dem Doppelkreuz (#) in der URI gekennzeichnet. Er steht optional am Ende einer URI.

Die Interpretation des Fragmentbezeichners ist abhängig von der Art der Ressource und dem Parser. Beispiele:

  • In HTML verweist http://example.com/document.html#anker1 auf das HTML-Element in document.html, das das Anker-Attribut name="anker1" (oder id="anker1") enthält.
  • In XML sollte sich mit http://example.com/document.xml#xpointer(//Kamel) ein XPointer einsetzen lassen, der alle XML-Elemente mit Namen „Kamel“ aus der Datei document.xml als Ergebnis liefert.
  • Für PDF-Dokumente beschreibt http://example.com/document.pdf#page=123 die Seite 123 in document.pdf.
  • Für Webvideos und andere audiovisuelle Medien kann ein Zeitpunkt, Ausschnitt oder Kapitel bestimmt werden. Es gibt unterschiedliche Paarungen Schlüsselwort=Wert, wobei das Schlüsselwort beispielsweise track oder t oder auch id heißen könnte.[1] Das erforderliche Schlüsselwort wie auch die Interpretation des zugewiesenen Wertes hängt von der Art des Mediums ab. So soll http://example.com/video.mp4#t=40 zur 40. Sekunde des Videos auf video.mp4 springen.

Die Scalable-Vector-Graphics-Spezifikation (SVG) erlaubt den Zugriff auf verschiedene Elemente innerhalb derselben Vektorgrafik über Fragmentbezeichner. Dadurch ist es beispielsweise möglich, verschiedene Icons einer grafischen Benutzeroberfläche in einer gemeinsamen SVG-Datei vorzuhalten und bei Bedarf nur das gewünschte Icon zu referenzieren[2]. Der Fragmentbezeichner wird auch in diesem Fall mit einem Doppelkreuz vom Namen der Ressource abgetrennt, muss aber kein Teil einer URI sein.

Verwendung[Bearbeiten | Quelltext bearbeiten]

Traditionell übermitteln Browser bei der Abfrage an den Server einen Fragmentbezeichner nicht mit, sondern fordern das gesamte Dokument an und laden es herunter. Sie stellen es vollständig dar und springen dann zur gewünschten Stelle.

Es gibt hiervon jedoch Ausnahmen, wo es sinnvoll ist, den Fragmentbezeichner an den Server mitzuliefern. Bei fragmentierten Medien, bei denen der Fragmentbezeichner ein Gleichheitszeichen enthält, wird dieser an den Server gesandt, so dass der Server nur mit einer einzelnen aus Tausenden von Seiten oder nur der gewünschten Sequenz antworten kann, falls er für eine derartige Abfragesyntax eingerichtet wurde. Andernfalls wird die Ressource in voller Länge zurückgeliefert, und es obliegt der Software beim Benutzer, daraus den Ausschnitt zu präsentieren.

Syntax[Bearbeiten | Quelltext bearbeiten]

Das Doppelkreuz selbst gehört nicht zum Fragmentbezeichner, sondern nur der Teil danach.

Gemäß RFC 2396 Abschnitt 4.1 in Verbindung mit Abschnitt 2 unterliegen Fragmentbezeichner einer Reihe von Einschränkungen. So dürfen sie weder Leerzeichen noch Prozentzeichen enthalten; hinsichtlich reservierter Zeichen sind sie jedoch nicht ganz so eingeschränkt wie URL, da keine Aktivitäten auf dem Server mehr zu steuern sind. Ein weiteres # sollte nicht enthalten sein; & ist wegen Uneindeutigkeit zu Zeichenentitäten unerwünscht; " und ' als typische Zeichenketten-Begrenzer ebenso.

Regelmäßig wird auch eingefordert, dass Fragmentbezeichner den XML-Regeln für Knoten-Namen genügen sollen; damit müssen sie mit einem Buchstaben beginnen.

Die Bezeichner müssen innerhalb eines Dokuments eindeutig vergeben sein. Sie müssen zweifelsfrei identifizieren, welches Element gemeint ist, und können nicht mehrfach mit gleichwertigem Bezeichner vorkommen.

Siehe auch[Bearbeiten | Quelltext bearbeiten]

Weblinks[Bearbeiten | Quelltext bearbeiten]

Einzelnachweise[Bearbeiten | Quelltext bearbeiten]

  1. w3.org
  2. How SVG Fragment Identifiers Work. 3. November 2014, abgerufen am 16. Januar 2019 (englisch).