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:
urlcharaus [RFC2396] importiert wirdtype,subtype,attributeundvaluedie 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.