3. Syntax (構文)
「data」URLスキームの正式な構文は次のように定義されます:
dataurl := "data:" [ mediatype ] [ ";base64" ] "," data
mediatype := [ type "/" subtype ] *( ";" parameter )
data := *urlchar
parameter := attribute "=" value
ここで:
urlcharは [RFC2396] からインポートされますtype、subtype、attribute、valueは [RFC2045] からの対応するトークンであり、必要に応じて [RFC2396] のURLエスケープエンコーディング (URL Escaped Encoding) を使用して表現されます
[RFC2045] の属性値は、トークンまたは引用符付き文字列 (Quoted Strings) として表現できます。ただし、「data」URL内では、引用符自体が有効な urlchar ではないため、「quoted-string」表現は不便です。このため、パラメータ値に「tspecial」が含まれている場合は、引用符付き文字列の代わりにURLエスケープエンコーディングを使用する必要があります。
「;base64」拡張は、後続の「=」記号がないことにより、コンテンツタイプパラメータ (Content-Type Parameter) と区別できます。