names=doctype
visibility=public
kind=defined

--- doctype(name, pub_sys, long_name, uri) -> ()
文書型宣言(DTD)をパースしたときに呼び出されるコールバックメソッドです。

pub_sys, long_name, uri はDTDが内部サブセットのみを
利用している場合には nil が渡されます。

@param name 宣言されているルート要素名が文字列で渡されます。
@param pub_sys "PUBLIC" もしくは "SYSTEM" が渡されます。nilが渡される場合もあります。
@param long_name "SYSTEM" の場合はシステム識別子が、"PUBLIC"の場合は公開識別子が
       文字列で渡されます
@param uri "SYSTEM" の場合は nil が、"PUBLIC" の場合はシステム識別子が渡されます

==== 例
  <!DOCTYPE me PUBLIC "foo" "bar">
というDTDに対しては
  name: "me"
  pub_sys: "PUBLIC"
  long_name: "foo"
  uri: "bar"
という引数が渡されます。
  <!DOCTYPE root [
     ...
というDTDに対しては
  name: "root"
  pub_sys: nil
  long_name: nil
  uri: nil
という引数が渡されます。

