URLが指定されるタグの属性


HTMLで書かれたコードの内、例えば`a`タグの`href`や、`img`タグの`src`など、一般的にURLが指定されるものを調べています。他にどんなものがあるでしょうか？




HTML4であれば[仕様がDTDで定義](https://www.w3.org/TR/html4/sgml/loosedtd.html)されています。`<A
href="">`の部分は

[code]

    <!ELEMENT A - - (%inline;)* -(A)       -- anchor -->
    <!ATTLIST A
      %attrs;                              -- %coreattrs, %i18n, %events --
      charset     %Charset;      #IMPLIED  -- char encoding of linked resource --
      type        %ContentType;  #IMPLIED  -- advisory content type --
      name        CDATA          #IMPLIED  -- named link end --
      href        %URI;          #IMPLIED  -- URI for linked resource --
      hreflang    %LanguageCode; #IMPLIED  -- language code --
      target      %FrameTarget;  #IMPLIED  -- render in this frame --
      rel         %LinkTypes;    #IMPLIED  -- forward link types --
      rev         %LinkTypes;    #IMPLIED  -- reverse link types --
      accesskey   %Character;    #IMPLIED  -- accessibility key character --
      shape       %Shape;        rect      -- for use with client-side image maps --
      coords      %Coords;       #IMPLIED  -- for use with client-side image maps --
      tabindex    NUMBER         #IMPLIED  -- position in tabbing order --
      onfocus     %Script;       #IMPLIED  -- the element got the focus --
      onblur      %Script;       #IMPLIED  -- the element lost the focus --
      >
    
[/code]

のように定義されていますから、この仕様のうち`%URI;`が記されている部分が該当します。ただし現行のHTML5は仕様の定義方法が変わってしまったため、このような調べ方はできなくなっています。

それとは別に、例えば[CSSの@import](https://developer.mozilla.org/ja/docs/Web/CSS/@import)のようにHTMLに埋め込まれる別言語まで考慮し始めると手が付けられなくなると思います。




HTML4であれば[仕様がDTDで定義](https://www.w3.org/TR/html4/sgml/loosedtd.html)されています。`<A
href="">`の部分は

[code]

    <!ELEMENT A - - (%inline;)* -(A)       -- anchor -->
    <!ATTLIST A
      %attrs;                              -- %coreattrs, %i18n, %events --
      charset     %Charset;      #IMPLIED  -- char encoding of linked resource --
      type        %ContentType;  #IMPLIED  -- advisory content type --
      name        CDATA          #IMPLIED  -- named link end --
      href        %URI;          #IMPLIED  -- URI for linked resource --
      hreflang    %LanguageCode; #IMPLIED  -- language code --
      target      %FrameTarget;  #IMPLIED  -- render in this frame --
      rel         %LinkTypes;    #IMPLIED  -- forward link types --
      rev         %LinkTypes;    #IMPLIED  -- reverse link types --
      accesskey   %Character;    #IMPLIED  -- accessibility key character --
      shape       %Shape;        rect      -- for use with client-side image maps --
      coords      %Coords;       #IMPLIED  -- for use with client-side image maps --
      tabindex    NUMBER         #IMPLIED  -- position in tabbing order --
      onfocus     %Script;       #IMPLIED  -- the element got the focus --
      onblur      %Script;       #IMPLIED  -- the element lost the focus --
      >
    
[/code]

のように定義されていますから、この仕様のうち`%URI;`が記されている部分が該当します。ただし現行のHTML5は仕様の定義方法が変わってしまったため、このような調べ方はできなくなっています。

それとは別に、例えば[CSSの@import](https://developer.mozilla.org/ja/docs/Web/CSS/@import)のようにHTMLに埋め込まれる別言語まで考慮し始めると手が付けられなくなると思います。

