Aller au contenu principal

3. Syntaxe (Syntax)

La syntaxe formelle du schéma d'URL « data » est définie comme suit :

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

Où :

  • urlchar est importé de [RFC2396]
  • type, subtype, attribute et value sont les jetons correspondants de [RFC2045], représentés en utilisant l'encodage échappé d'URL (URL Escaped Encoding) de [RFC2396] si nécessaire

Les valeurs d'attribut dans [RFC2045] peuvent être représentées soit comme des jetons, soit comme des chaînes entre guillemets (Quoted Strings). Cependant, dans une URL « data », la représentation « quoted-string » serait maladroite, car le guillemet lui-même n'est pas un urlchar valide. Pour cette raison, les valeurs de paramètre devraient (SHOULD) utiliser l'encodage échappé d'URL au lieu de chaînes entre guillemets si les valeurs de paramètre contiennent des « tspecial ».

L'extension « ;base64 » se distingue d'un paramètre de type de contenu (Content-Type Parameter) par le fait qu'elle n'a pas de signe « = » suivant.