Zum Hauptinhalt springen

3. Syntax

Die formale Syntax für das "data"-URL-Schema ist wie folgt definiert:

dataurl    := "data:" [ mediatype ] [ ";base64" ] "," data
mediatype := [ type "/" subtype ] *( ";" parameter )
data := *urlchar
parameter := attribute "=" value

Wobei:

  • urlchar aus [RFC2396] importiert wird
  • type, subtype, attribute und value die entsprechenden Token aus [RFC2045] sind, die bei Bedarf unter Verwendung der URL-Escaped-Kodierung (URL Escaped Encoding) von [RFC2396] dargestellt werden

Attributwerte in [RFC2045] können entweder als Token oder als Zeichenketten in Anführungszeichen (Quoted Strings) dargestellt werden. Innerhalb einer "data"-URL wäre die Darstellung "quoted-string" jedoch unpraktisch, da das Anführungszeichen selbst kein gültiges urlchar ist. Aus diesem Grund sollten (SHOULD) Parameterwerte die URL-Escaped-Kodierung anstelle von Zeichenketten in Anführungszeichen verwenden, wenn die Parameterwerte "tspecial" enthalten.

Die ";base64"-Erweiterung ist von einem Inhaltstypparameter (Content-Type Parameter) dadurch zu unterscheiden, dass sie kein folgendes "="-Zeichen hat.