W3C21 문서 타입 정의(Strict DTD)Trio 홈페이지
<!--
 이것은 HTML 4 엄격(strict) DTD로, 스타일쉬트(style sheet)의 지원이 성숙 됨에
 따라, W3C가 제거 할 것으로 예상되는 표현 애트리뷰트들과 엘레멘트들을
 제외 한 것이다.
 제작자는 가능한 한 이 엄격(strict) DTD를 사용하여야 한다.
 그러나 표현 애트리뷰트와 엘레멘트의 지원이 필요할 때는 변이(transitional)
 DTD를 사용 할 수 있다.

 HTML 4에는 스타일쉬트, 스크립트(script), 깔린(embed) 오브젝트,  개선 된
 왼쪽에서 오른쪽으로와 혼합 된 텍스트 방향, 및 장애자의 접속성을 향상시키는
 양식들의 보완, 등의 기능을 포함하고 있다.

   초안: $일자 1999/12/24 22:40:35 $

   제작자:   Dave Raggett <dsr@w3.org>
             Arnaud Le Hors <lehors@w3.org>
             Ian Jacobs <ij@w3.org>

   HTML 4.01 추가 정보는: 
	영문 http://www.w3.org/TR/1999/REC-html401-19991224에 있다.

   HTML 4.01 규격은 이 DTD들에 표시되지 않은 추가적인 체계 정보가
   포함되어 있다.

전형적인 용법:

   <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"
           "http://www.w3.org/TR/html4/strict.dtd">
   <html>
   <head>    ...    </head>
   <body>
     ...
   </body>
   </html>

시스템 인식자(identifier)로 사용되는 URI는, 공통(public) 인식자와 함께,
사용도구가 필요 한 DTD를 다운로드(download)하고 엔티티(entity)를 설정
할 수 있게 한다.

   HTML 4.01 변이(transitional) DTD를 위한 FPI는:
       "-//W3C//DTD HTML 4.01 Transitional//EN"

   변이(transitional) DTD 버전은:
       http://www.w3.org/TR/1999/REC-html401-19991224/loose.dtd

   프레임을 포함하는 문서를 작성 할 때는 다음 FPI를 사용한다.
       "-//W3C//DTD HTML 4.01 Frameset//EN"

   엄격(strict) DTD 버전은:
       http://www.w3.org/TR/1999/REC-html401-19991224/frameset.dtd

   다음 URI들은 HTML 4 DTD와 글자세트에 관련하여 지원된다.
    설명 "strict.dtd: 현재의 문서에서 HTML로"	(원문 "strict.dtd")
    설명 "loose.dtd를 HTML에서 설명"		(원문 "loose.dtd")
    설명 "frameset.dtd를 HTML에서 설명"		(원문 "frameset.dtd")

    설명 "HTMLlat1.ent를 HTML에서 설명"		(원문 "HTMLlat1.ent")
    설명 "HTMLsymbol.ent를 HTML에서 설명"	(원문 "HTMLsymbol.ent")
    설명 "HTMLspecial.ent를 HTML에서 설명"	(원문 "HTMLspecial.ent")
-->

<!--================== 수입 된(imported) 이름들 ===================-->
<!ENTITY % ContentType "CDATA" -- 메디아 타입, [RFC2045]에 따라 -->

<!ENTITY % ContentTypes "CDATA"
	-- 컴마로 분리 된 메디아 타입들의 목록, [RFC2045]에 따라 -->

<!ENTITY % Charset  "CDATA"    -- 글자 엔코딩, [RFC2045]에 따라 -->

<!ENTITY % Charsets "CDATA"
	-- 공간으로 분리 된 글자 엔코딩들의 목록, [RFC2045]에 따라 -->

<!ENTITY % LanguageCode "NAME" -- 언어 코드, [RFC1766]에 따라 -->

<!ENTITY % Character "CDATA"   -- [ISO10646]로 부터의 한 글자 -->

<!ENTITY % LinkTypes "CDATA"
	-- 공간으로 분리 된 연결(link) 타입(type)의 목록 -->

<!ENTITY % MediaDesc  "CDATA"
	-- 하나 또는 컴마로 분리 된 메디아 지정자(media descriptor)들의 목록 -->

<!ENTITY % URI "CDATA"
	-- 통일 자원 지정자(Uniform Resource Identifier), [URI] 참조 -->

<!ENTITY % Datetime "CDATA"   -- 일자와 시간 정보, ISO 일자 양식 -->

<!ENTITY % Script "CDATA"     -- 스크립트 표현 -->

<!ENTITY % stylesheet "CDATA" -- 스타일쉬트(style sheet) 데이터 -->

<!ENTITY % Text  "CDATA">
<!-- 파라메터(parameter) 엔티티(entities) -->
<!ENTITY % head.misc "SCRIPT | STYLE | META | LINK | OBJECT"
	-- 반복 될 수 있는 헤드 엘레멘트 -->
<!ENTITY % heading "H1 | H2 | H3 | H4 | H5 | H6">
<!ENTITY % list "UL | OL">
<!ENTITY % preformatted "PRE">


<!--============ 글자 언어(mnemonic) 엔티티(entities) =============== -->
<!ENTITY % HTMLlat1 PUBLIC
  "-//W3C//ENTITIES Latin1//EN//HTML"
  "HTMLlat1.ent">
%HTMLlat1;

<!ENTITY % HTMLsymbol PUBLIC
  "-//W3C//ENTITIES Symbols//EN//HTML"
  "HTMLsymbol.ent">
%HTMLsymbol;

<!ENTITY % HTMLspecial PUBLIC
  "-//W3C//ENTITIES Special//EN//HTML"
  "HTMLspecial.ent">
%HTMLspecial;


<!--============= 일반(generic) 애트리뷰트(attribute)  =============== -->
<!ENTITY % coreattrs
"id          ID           #IMPLIED -- 전 문서를 통 한 유일 한 id --
 class       CDATA        #IMPLIED -- 공간으로 분리 된 클라스(class)들의 목록 --
 style       %stylesheet; #IMPLIED -- 연관 된 스타일 정보 --
 title       %Text;       #IMPLIED -- 참고 제목/소리정도(amplification) --"
>

<!ENTITY % i18n
"lang        %LanguageCode; #IMPLIED  -- 언어 코드 --
 dir         (ltr | rtl)    #IMPLIED  -- 언어 텍스트의 방향 --"
>

<!ENTITY % events
"onclick     %Script;       #IMPLIED  -- 지시 단추가 클릭되었슴 --
 ondblclick  %Script;       #IMPLIED  -- 지시 단추가 두번 클릭되었슴 --
 onmousedown %Script;       #IMPLIED  -- 지시 단추가 눌려 내려 갔슴 --
 onmouseup   %Script;       #IMPLIED  -- 지시 단추가 해제되었슴 --
 onmouseover %Script;       #IMPLIED  -- 포인터가 위에 왔슴 --
 onmousemove %Script;       #IMPLIED  -- 포인터가 위에서 움직임 --
 onmouseout  %Script;       #IMPLIED  -- 포인터가 위에서 벋어남 --
 onkeypress  %Script;       #IMPLIED  -- 키가 눌렸다 놓임 --
 onkeydown   %Script;       #IMPLIED  -- 키가 아래로 눌렸슴 --
 onkeyup     %Script;       #IMPLIED  -- 키의 눌림이 해제됨 --"
>

<!-- 예약 기능 스위치 -->
<!ENTITY % HTML.Reserved "IGNORE">

<!-- 다음 애트리뷰트(attribute)들은 향후 사용을 위하여 예약되어 있다. -->
<![ %HTML.Reserved; [
<!ENTITY % reserved
"datasrc     %URI;         #IMPLIED  -- 단일 또는 표로 된 데이터 자원 --
 datafld     CDATA         #IMPLIED  -- 특성(property) 또는 컬럼(column) 이름--
 dataformatas (plaintext | html) plaintext -- 텍스트 또는 HTML --"
>
]]>

<!ENTITY % reserved "">
<!ENTITY % attrs "%coreattrs; %i18n; %events;">


<!--================= 텍스트 작성(markup) ==================-->
<!ENTITY % fontstyle "TT | I | B | BIG | SMALL">

<!ENTITY % phrase
	"EM | STRONG | DFN | CODE | SAMP | KBD | VAR | CITE | ABBR | ACRONYM">

<!ENTITY % special
	"A | IMG | OBJECT | BR | SCRIPT | MAP | Q | SUB | SUP | SPAN | BDO">

<!ENTITY % formctrl
	"INPUT | SELECT | TEXTAREA | LABEL | BUTTON">

<!-- %inline;은 인라인 또는 텍스트 수준 엘레멘트를 취급 -->
<!ENTITY % inline "#PCDATA | %fontstyle; | %phrase; | %special; | %formctrl;">

<!ELEMENT (%fontstyle; | %phrase;) - - (%inline;)*>
<!ATTLIST (%fontstyle; | %phrase;)
 %attrs;                              -- %coreattrs, %i18n, %events --
>

<!ELEMENT (SUB | SUP) - - (%inline;)*
	-- 아래첨자(subscript), 위첨자(superscript) -->
<!ATTLIST (SUB | SUP)
 %attrs;                              -- %coreattrs, %i18n, %events --
>

<!ELEMENT SPAN - - (%inline;)*
	-- 일반(generic) 언어/스타일 용기(container) -->
<!ATTLIST SPAN
 %attrs;                              -- %coreattrs, %i18n, %events --
 %reserved;		              -- 향 후 사용을 위 한 예약 --
>

<!ELEMENT BDO - - (%inline;)*         -- I18N BiDi 덮어 씌움(over-ride) -->
<!ATTLIST BDO
 %coreattrs;                          -- id, class, style, title --
 lang        %LanguageCode; #IMPLIED  -- 언어 코드 --
 dir       (ltr | rtl)      #REQUIRED -- 텍스트 방향성 --
>

<!ELEMENT BR - O EMPTY                -- 강제 열(line) 바꿈 -->
<!ATTLIST BR
 %coreattrs;                          -- id, class, style, title --
>


<!--================= HTML 컨텐트(content) 모델 ===================-->
<!-- HTML은 두 기본 컨텐트 모델을 갖는다.
 %inline;     글자 수준 엘레멘트와 텍스트 문자열
 %block;      블럭 엘레멘트, 예를 들어 문단과 목록
-->

<!ENTITY % block "P | %heading; | %list; | %preformatted; | DL | DIV |
  NOSCRIPT | BLOCKQUOTE | FORM | HR | TABLE | FIELDSET | ADDRESS">

<!ENTITY % flow  "%block; | %inline;">


<!--====================== 문서 본체(body) =======================-->
<!ELEMENT BODY O O (%block; | SCRIPT)+ +(INS | DEL) -- 문서 본체(body) -->
<!ATTLIST BODY
 %attrs;                              -- %coreattrs, %i18n, %events --
 onload          %Script;   #IMPLIED  -- 문서가 로드되었슴 --
 onunload        %Script;   #IMPLIED  -- 문서가 제거되었슴 --
>

<!ELEMENT ADDRESS - - (%inline;)*     -- 제작자에 대한 정보 -->
<!ATTLIST ADDRESS
 %attrs;                              -- %coreattrs, %i18n, %events --
>

<!ELEMENT DIV - - (%flow;)*
	-- 일반(generic) 언어/스타일 용기(container) -->
<!ATTLIST DIV
 %attrs;                              -- %coreattrs, %i18n, %events --
 %reserved;                           -- 향 후 사용을 위 한 예약 --
>


<!--=================== 앤커(anchor) 엘레멘트 ====================-->
<!ENTITY % Shape "(rect | circle | poly | default)">

<!ENTITY % Coords "CDATA"	      -- 컴마로 분리 된 길이등의 목록 -->

<!ELEMENT A - - (%inline;)* -(A)      -- 앤커(anchor) -->
<!ATTLIST A
 %attrs;                              -- %coreattrs, %i18n, %events --
 charset     %Charset;      #IMPLIED  -- 연결 된 자원의 글자 엔코딩 --
 type        %ContentType;  #IMPLIED  -- 참고 컨텐트 타입(content type) --
 name        CDATA          #IMPLIED  -- 이름 지워진 연결 --
 href        %URI;          #IMPLIED  -- 자원 연결 URI --
 hreflang    %LanguageCode; #IMPLIED  -- 언어 코드 --
 rel         %LinkTypes;    #IMPLIED  -- 앞으로(forward) 연결 타입(link type) --
 rev         %LinkTypes;    #IMPLIED  -- 뒤로(reverse) 연결 타입 --
 accesskey   %Character;    #IMPLIED  -- 접속키 글자 --
 shape       %Shape;        rect      -- 사용자측(client-side) 이미지맵에 사용--
 coords      %Coords;       #IMPLIED  -- 사용자측 이미지맵에 사용 --
 tabindex    NUMBER         #IMPLIED  -- 탭 순서에서의 위치 --
 onfocus     %Script;       #IMPLIED  -- 엘레멘트에 초점(focus)을 줌 --
 onblur      %Script;       #IMPLIED  -- 엘레멘트에서 초점 이탈 --
>


<!--================ 사용자측(client-side) 이미지맵 ==================-->
<!-- 널리 지원되지는 않으나, 이들은 같은 문서 또는 구룹 지워 진
	다른 문서에 위치 할 수 있다. -->
<!ELEMENT MAP - - ((%block;)+ | AREA+) -- 사용자 이미지맵 -->
<!ATTLIST MAP
 %attrs;                               -- %coreattrs, %i18n, %events --
 name        CDATA          #REQUIRED  -- 맵 사용(usemap)의 참조 이름 --
>

<!ELEMENT AREA - O EMPTY               -- 시용자 이미지맵 지역 -->
<!ATTLIST AREA
 %attrs;                               -- %coreattrs, %i18n, %events --
 shape       %Shape;        rect       -- 좌표를 해석하는 제어(control) --
 coords      %Coords;       #IMPLIED   -- 컴마로 분리 된 길이들의 목록 --
 href        %URI;          #IMPLIED   -- 지원 연결 URI --
 nohref      (nohref)       #IMPLIED   -- 이 지역(region)은 작용하지 않음 --
 alt         %Text;         #REQUIRED  -- 짧은 설명 --
 tabindex    NUMBER         #IMPLIED   -- 탭 순서에서의 위치 --
 accesskey   %Character;    #IMPLIED   -- 접속키 글자 --
 onfocus     %Script;       #IMPLIED   -- 엘레멘트에 초점(focus)을 줌 --
 onblur      %Script;       #IMPLIED   -- 엘레멘트에서 초점 이탈 --
>


<!--===================  LINK 엘레멘트(element) ===================-->
<!-- 원칙적으로 관계값이 사용된다.
  a) 문서의 헤드(head) 안에서 LINK 엘레멘트와 함께 사용되면,
     문서의 특정 툴바(toolbar)/메뉴에서, 예를 들어 start(시작), contents(목차),
     previous(이전), next(다음), index(색인), end(끝), help(도움말)에
  b) 다른 스타일쉬트에 연결 하기 위하여(rel=stylesheet)
  c) 스크립트에 연결을 만들기 위하여(rel=script)
  d) 수집 된 HTML 반응을 인쇄 문서로 표현하는 방법을 제어하기 
	위하여 스타일쉬트에
  e) 문서의 인쇄 버전에 연결 시키기 위하여,
    예:  포스트스크립트(postscript) 또는 pdf 버전(rel=alternate media=print)
-->
<!ELEMENT LINK - O EMPTY              -- 메디아에 영향을 받지 않는 연결 -->
<!ATTLIST LINK
 %attrs;                              -- %coreattrs, %i18n, %events --
 charset     %Charset;      #IMPLIED  -- 연결 된 자원의 글자 엔코딩 --
 href        %URI;          #IMPLIED  -- 자원 연결 URI --
 hreflang    %LanguageCode; #IMPLIED  -- 언어 코드 --
 type        %ContentType;  #IMPLIED  -- 참고 컨텐트 타입(content type) --
 rel         %LinkTypes;    #IMPLIED  -- 앞으로(forward) 연결 타입(link type) --
 rev         %LinkTypes;    #IMPLIED  -- 뒤로(reverse) 연결 타입 --
 media       %MediaDesc;    #IMPLIED  -- 이들 메디아로 표현하기 위하여 --
>


<!--========================== 이미지 ==========================-->
<!-- cellpadding/cellspacing을 위하여 엄격(strict) DTD에 길이가 정의되었다.-->
<!ENTITY % Length "CDATA"       -- nn 픽셀(pixel) 또는 nn% 길이 백분율 -->

<!ENTITY % MultiLength "CDATA"  -- 픽셀, 백분율, 또는 상대적 길이 -->

<!ENTITY % MultiLengths "CDATA" -- 컴마로 분리 된 복수 길이(MultiLength) 목록-->

<!ENTITY % Pixels "CDATA"       -- 정수는 길이의 픽셀 갯수임 -->

<! --텍스트 만 사용하는 사용도구에서 문제를 피하고, 보이지 않는(non-visual)
 사용도구가 이미지 내용을 이해하고 항해 할 수 있게 하기 위하여, ALT로 설명을
 제공 할 필요가 있고, 서버측(server-side) 이미지맵의 사용을 피하여야 한다. -->
<!ELEMENT IMG - O EMPTY               -- 깔린(embedded) 이미지 -->
<!ATTLIST IMG
 %attrs;                              -- %coreattrs, %i18n, %events --
 src         %URI;          #REQUIRED -- 깔린 이미지의 URI --
 alt         %Text;         #REQUIRED -- 짧은 설명 --
 longdesc    %URI;          #IMPLIED  -- 긴설명에 연결 (alt를 보완) --
 name        CDATA          #IMPLIED  -- 스크립팅을 위한 이미지 이름 --
 height      %Length;       #IMPLIED  -- 높이 덮어 씌움(override) --
 width       %Length;       #IMPLIED  -- 너비 덮어 씌움 --
 usemap      %URI;          #IMPLIED  -- 사용자측(client-side) 이미지맵에 사용--
 ismap       (ismap)        #IMPLIED  -- 서버측(server-side) 이미지맵에 사용 --
>
<!-- USEMAP은 문서 안에나 외부 문서에 있을 수 있는 MAP 엘레멘트를 지시한다.
  그러나 후자는 널리 지원되지 않는다. -->


<!--=========================== OBJECT =========================-->
<!-- HTML 페이지에 PARAM 엘레멘트의 부분으로 오브젝트들를 깔기(embed) 위하여
 사용 된 OBJECT는 다른 내용보다 우선적으로 적용된다.   SGML 혼합 내용 모델은
 기술적으로 이 양식으로 지정 한 것보다 우선적으로 적용된다. -->
<!ELEMENT OBJECT - - (PARAM | %flow;)* -- 일반 깔린(embedded) 오브젝트 -->
<!ATTLIST OBJECT
 %attrs;                             -- %coreattrs, %i18n, %events --
 declare     (declare)      #IMPLIED -- 선언하나 즉시 수행되지 않음--
 classid     %URI;          #IMPLIED -- 적용(implementation)을 인식함 --
 codebase    %URI;          #IMPLIED -- classid, data, archive를 위한 기준 URI--
 data        %URI;          #IMPLIED -- 오브젝트 데이터 참조 --
 type        %ContentType;  #IMPLIED -- 데이터 컨텐트 타입(content type) --
 codetype    %ContentType;  #IMPLIED -- 코드 컨텐트 타입 --
 archive     %URI;          #IMPLIED -- 공간으로 분리 된 archive 목록 --
 standby     %Text;         #IMPLIED -- 로딩 중 메세지 방법 --
 height      %Length;       #IMPLIED -- 높이 덮어 씌움(override) --
 width       %Length;       #IMPLIED -- 너비 덮어 씌움 --
 usemap      %URI;          #IMPLIED  -- 사용자측(client-side) 이미지맵에 사용--
 name        CDATA          #IMPLIED -- 폼의 부분으로 송신(submit) --
 tabindex    NUMBER         #IMPLIED -- 탭 순서에서의 위치 --
 %reserved;                          -- 향 후 사용을 위 한 예약 --
>

<!ELEMENT PARAM - O EMPTY             -- 이름 지워진 특성(property) 값 -->
<!ATTLIST PARAM
 id          ID             #IMPLIED  -- 전 문서를 통 한 유일 한 id --
 name        CDATA          #REQUIRED -- 특성 이름 --
 value       CDATA          #IMPLIED  -- 특성 값 --
 valuetype   (DATA | REF | OBJECT) DATA   -- 값의 해석 방법  --
 type        %ContentType; #IMPLIED   -- valuetype=ref 일 때, 컨텐트 타입의 값--
>


<!--================== 수평 줄 =================-->
<!ELEMENT HR - O EMPTY -- 수평 줄(horizontal rule) -->
<!ATTLIST HR
 %coreattrs;                          -- id, class, style, title --
 %events;
>


<!--======================= 문단 ======================-->
<!ELEMENT P - O (%inline;)*            -- 문단(paragraph) -->
<!ATTLIST P
 %attrs;                               -- %coreattrs, %i18n, %events --
>


<!--========================= 헤딩=====================-->
<!-- H1(가장 중요)부터 H6까지 6 단계 헤딩이 있다. -->
<!ELEMENT (%heading;)  - - (%inline;)* -- 헤딩(heading)  -->
<!ATTLIST (%heading;)
 %attrs;                               -- %coreattrs, %i18n, %events --
>


<!--============ 사전 양식화 된 텍스트 =============== -->
<!-- 이미지 작성(markup)을 위 한 것과 폰트 크기의 변경을 제외 -->
<!ENTITY % pre.exclusion "IMG | OBJECT | BIG | SMALL | SUB | SUP">

<!ELEMENT PRE - - (%inline;)* -(%pre.exclusion;)
	-- 사전 양식화 된(preformatted) 텍스트 -->
<!ATTLIST PRE
 %attrs;                              -- %coreattrs, %i18n, %events --
>


<!--=============== 인라인(inline) 따옴 ===================-->
<!ELEMENT Q - - (%inline;)*           -- 짧은 인라인 따옴(quotation) -->
<!ATTLIST Q
 %attrs;                              -- %coreattrs, %i18n, %events --
 cite        %URI;          #IMPLIED  -- 문서 또는 메세지 자원의 URI --
>


<!--================= 블럭(block) 따옴(quotation) ===================-->
<!ELEMENT BLOCKQUOTE - - (%block; | SCRIPT)+ -- 긴 따옴 -->
<!ATTLIST BLOCKQUOTE
 %attrs;                              -- %coreattrs, %i18n, %events --
 cite        %URI;          #IMPLIED  -- 문서 또는 메세지(msg) 자원의 URI --
>


<!--===================== 텍스트의 삽입/삭제( ====================-->
<!-- INS/DEL 는 BODY에 삽입 함으로서 처리된다. -->
<!ELEMENT (INS | DEL) - - (%flow;)*
	-- 삽입/삭제(inserted)/deleted) 된 텍스트-->
<!ATTLIST (INS | DEL)
 %attrs;                              -- %coreattrs, %i18n, %events --
 cite        %URI;          #IMPLIED  -- 변경 이유 정보 --
 datetime    %Datetime;     #IMPLIED  -- 변경의 일자와 시간 --
>


<!--========================== 목록(list) =========================-->
<!-- 정의 목록 - DT는 제목, DD는 정의 설명-->
<!ELEMENT DL - - (DT | DD)+           -- 정의 목록(definition list) -->
<!ATTLIST DL
 %attrs;                              -- %coreattrs, %i18n, %events --
>

<!ELEMENT DT - O (%inline;)*          -- 정의 제목(definition term) -->
<!ELEMENT DD - O (%flow;)*            -- 정의 설명(definition description) -->
<!ATTLIST (DT | DD)
 %attrs;                              -- %coreattrs, %i18n, %events --
>

<!ELEMENT OL - - (LI)+                -- 번호있는 목록(ordered list) -->
<!ATTLIST OL
 %attrs;                              -- %coreattrs, %i18n, %events --
>

<!-- 번호없는 목록 (UL)의 점(bullet) 형태 -->
<!ELEMENT UL - - (LI)+                -- 번호없는 목록(unordered list) -->
<!ATTLIST UL
 %attrs;                              -- %coreattrs, %i18n, %events --
>

<!ELEMENT LI - O (%flow;)*            -- 목록 항목(list item) -->
<!ATTLIST LI
 %attrs;                              -- %coreattrs, %i18n, %events --
>


<!--========================== 폼(form) =========================-->
<!ELEMENT FORM - - (%block; | SCRIPT)+ -(FORM) -- 소통하는 폼 -->
<!ATTLIST FORM
 %attrs;                          -- %coreattrs, %i18n, %events --
 action   %URI;         #REQUIRED -- 서버(server-side) 폼 처리자(handler) --
 method   (GET | POST)  GET       -- 폼을 송신(submit)하는 HTTP 방식(method) --
 enctype %ContentType;  "application/x-www-form-urlencoded"
 accept  %ContentTypes; #IMPLIED -- 화일 업로드(upload)를 위한 MIME 타입 목록 --
 name    CDATA          #IMPLIED -- 스크립팅(scripting)을 위한 입력 폼의 이름 --
 onsubmit    %Script;       #IMPLIED  -- 폼이 송신(submit)되었슴 --
 onreset     %Script;       #IMPLIED  -- 폼이 재설정(reset)되었슴 --
 accept-charset %Charsets;  #IMPLIED  -- 지원 글자 세트(charset)들의 목록 --
>

<!-- 각 라벨 한(ONE) 필드 이상을 가질 수 없다. -->
<!ELEMENT LABEL - - (%inline;)* -(LABEL) -- 폼 필드 라벨(label) 텍스트 -->
<!ATTLIST LABELfield
 %attrs;                              -- %coreattrs, %i18n, %events --
 for         IDREF          #IMPLIED  -- 필드(field) ID 값과 맞춘다. --
 accesskey   %Character;    #IMPLIED  -- 접속키 글자 --
 onfocus     %Script;       #IMPLIED  -- 엘레멘트에 초점(focus)을 줌 --
 onblur      %Script;       #IMPLIED  -- 엘레멘트에서 초점 이탈 --
>

<!ENTITY % InputType "(TEXT | PASSWORD | CHECKBOX | RADIO | SUBMIT | RESET |
   FILE | HIDDEN | IMAGE | BUTTON)"
>

<!-- 송신(submit)과 재설정(reset)이외의 
	모든 애트리뷰트는 이름(name)이 필요함. -->
<!ELEMENT INPUT - O EMPTY             -- 폼 제어(control) -->
<!ATTLIST INPUT
 %attrs;                              -- %coreattrs, %i18n, %events --
 type        %InputType;    TEXT      -- 어느 종류가 필요한가 --
 name        CDATA          #IMPLIED  -- 폼의 부분으로 송신(submit) --
 value       CDATA          #IMPLIED  -- 레디오 단추와 체크박스에 필요 --
 checked     (checked)      #IMPLIED  -- 레디오 단추와 체크박스를 위하여 --
 disabled    (disabled)     #IMPLIED  -- 이 내용을 불활성화 --
 readonly    (readonly)     #IMPLIED  -- 텍스트와 암호를 위하여 --
 size        CDATA          #IMPLIED  -- 각 필드의 타입을 지정 --
 maxlength   NUMBER         #IMPLIED  -- 텍스트 필드의 최대 글자수 --
 src         %URI;          #IMPLIED  -- 이미지 필드를 위하여 --
 alt         CDATA          #IMPLIED  -- 짧은 설명 --
 usemap      %URI;          #IMPLIED  -- 사용자측(client-side) 이미지맵에 사용--
 ismap       (ismap)        #IMPLIED  -- 서버측(server-side) 이미지멥에 사용 --
 tabindex    NUMBER         #IMPLIED  -- 탭 순서에서의 위치 --
 accesskey   %Character;    #IMPLIED  -- 접속키 글자 --
 onfocus     %Script;       #IMPLIED  -- 엘레멘트에 초점(focus)을 줌 --
 onblur      %Script;       #IMPLIED  -- 엘레멘트에서 초점 이탈 --
 onselect    %Script;       #IMPLIED  -- 텍스트가 선택(selected) 됨 --
 onchange    %Script;       #IMPLIED  -- 엘레멘트 값이 변경되었슴 --
 accept      %ContentTypes; #IMPLIED  -- 화일 로드를 위 한 MIME 타입의 목록 --
 %reserved;                           -- 향 후 사용을 위 한 예약 --
>

<!ELEMENT SELECT - - (OPTGROUP | OPTION)+ -- 선택 사항 선택자(selector) -->
<!ATTLIST SELECT
 %attrs;                              -- %coreattrs, %i18n, %events --
 name        CDATA          #IMPLIED  -- 필드(field) 이름 --
 size        NUMBER         #IMPLIED  -- 보이는 열(row) 갯수 --
 multiple    (multiple)     #IMPLIED  -- 디폴트는 단일 선택임 --
 disabled    (disabled)     #IMPLIED  -- 이 내용을 불활성화 --
 tabindex    NUMBER         #IMPLIED  -- 탭 순서에서의 위치 --
 onfocus     %Script;       #IMPLIED  -- 엘레멘트에 초점(focus)을 줌 --
 onblur      %Script;       #IMPLIED  -- 엘레멘트에서 초점 이탈 --
 onchange    %Script;       #IMPLIED  -- 엘레멘트 값이 변경되었슴 --
 %reserved;                           -- 향 후 사용을 위 한 예약 --
>

<!ELEMENT OPTGROUP - - (OPTION)+      -- 구룹 선택 사항 -->
<!ATTLIST OPTGROUP
 %attrs;                              -- %coreattrs, %i18n, %events --
 disabled    (disabled)     #IMPLIED  -- 이 내용을 불활성화 --
 label       %Text;         #REQUIRED -- 계통(hierarchical) 메뉴를 위하여 --
>

<!ELEMENT OPTION - O (#PCDATA)        -- 선택 할 수 있는 사항 -->
<!ATTLIST OPTION
 %attrs;                              -- %coreattrs, %i18n, %events --
 selected    (selected)     #IMPLIED
 disabled    (disabled)     #IMPLIED  -- 이 내용을 불활성화 --
 label       %Text;         #IMPLIED  -- 계통(hierarchical) 메뉴를 위하여 --
 value       CDATA          #IMPLIED  -- 엘레멘트 내용의 디폴트를 지정 --
>

<!ELEMENT TEXTAREA - - (#PCDATA)      -- 복수 열 텍스트 필드 -->
<!ATTLIST TEXTAREA
 %attrs;                              -- %coreattrs, %i18n, %events --
 name        CDATA          #IMPLIED
 rows        NUMBER         #REQUIRED
 cols        NUMBER         #REQUIRED
 disabled    (disabled)     #IMPLIED  -- 이 내용을 불활성화 --
 readonly    (readonly)     #IMPLIED
 tabindex    NUMBER         #IMPLIED  -- 탭 순서에서의 위치 --
 accesskey   %Character;    #IMPLIED  -- 접속키 글자 --
 onfocus     %Script;       #IMPLIED  -- 엘레멘트에 초점(focus)을 줌 --
 onblur      %Script;       #IMPLIED  -- 엘레멘트에서 초점 이탈 --
 onselect    %Script;       #IMPLIED  -- 텍스트가 선택 됨 --
 onchange    %Script;       #IMPLIED  -- 엘레멘트 값이 변경되었슴 --
 %reserved;                           -- 향 후 사용을 위 한 예약 --
>

<!-- #PCDATA는 혼합 된 내용 문제을 해결하기 위한 것으로,
	규격에 따라 그 곳에 공간 만 허용된다! -->
<!ELEMENT FIELDSET - - (#PCDATA,LEGEND,(%flow;)*) -- 폼  제어 구룹 -->
<!ATTLIST FIELDSET
 %attrs;                              -- %coreattrs, %i18n, %events --
>

<!ELEMENT LEGEND - - (%inline;)*      -- 필드세트(fieldset) 범례 -->
<!ENTITY % LAlign "(top | bottom | left | right)">

<!ATTLIST LEGEND
 %attrs;                              -- %coreattrs, %i18n, %events --
 accesskey   %Character;    #IMPLIED  -- 접속키 글자 --
>

<!ELEMENT BUTTON - -      (%flow;)* -(A | %formctrl; | FORM | FIELDSET)
     -- 누름(push)단추 -->

<!ATTLIST BUTTON
 %attrs;                              -- %coreattrs, %i18n, %events --
 name        CDATA          #IMPLIED
 value       CDATA          #IMPLIED  -- 송신되면 서버에 보내진다. --
 type        (button | submit | reset) submit -- 폼 단추로 사용 --
 disabled    (disabled)     #IMPLIED  -- 이 내용을 불활성화 --
 tabindex    NUMBER         #IMPLIED  -- 탭 순서에서의 위치 --
 accesskey   %Character;    #IMPLIED  -- 접속키 글자 --
 onfocus     %Script;       #IMPLIED  -- 엘레멘트에 초점(focus)을 줌 --
 onblur      %Script;       #IMPLIED  -- 엘레멘트에서 초점 이탈 --
 %reserved;                           -- 향 후 사용을 위 한 예약 --
>


<!--========================= 표(table) ==========================-->
<!-- IETF HTML 표(table) 표준, [RFC1942] 참조 -->

<!-- BORDER 애트리뷰트는 표(table)의 주위의 테두리 두께를 지정한다.
	디폴트 단위는 스크린 픽셀이다.

	FRAME 애트리뷰트는 표 프레임의 어느 부분들이 표현되야 하는가를
   지정한다.
	그 값들은 VALIGN 애트리뷰트와 충돌하는 이름을 피해야 하기
	때문에 CALS와는 다르다.

	"border"의 값은 <TABLE BORDER>에서 frame=border와
	border=implied로 과거 버전에도 부합한다.
	<TABLE BORDER=1>를 위하여 border=1와 frame=implied를 얻는다.
	이 경우, 이전 버전에 부합하는 브라우저에서 frame=border로
	처리하는 것이 적당하다. -->

<!ENTITY % TFrame
	"(void | above | below | hsides | lhs | rhs | vsides | box | border)">
<!-- RULES 애트리뷰트는 어떤 셀(cell)들 사이에 줄(rule)을 넣을
	것인가를 정의한다. 만일 RULES가 없으면, BORDER가 있거나
	BORDER=0 이면 줄이 없는 것이고, 아니면 '전부' 줄을 갖는다. -->

<!ENTITY % TRules "(none | groups | rows | cols | all)">

<!--  문서에 상대적인 표(table)의 수평 위치 -->
<!ENTITY % TAlign "(left | center | right)">

<!-- 셀(cell)의 내용을 위한 수평 정렬 애트리뷰트 -->
<!ENTITY % cellhalign
 "align      (left | center | right | justify | char) #IMPLIED
  char       %Character;    #IMPLIED  -- 글자의 정렬, 예를 들어 char=':' --
  charoff    %Length;       #IMPLIED  -- 글자 정렬의 해제(offset) --"
>

<!-- 셀(cell)의 내용을 위한 수직 정렬 애트리뷰트 -->
<!ENTITY % cellvalign  "valign	(top | middle | bottom | baseline) #IMPLIED">
<!ELEMENT TABLE    - - (CAPTION?, (COL* | COLGROUP*), THEAD?, TFOOT?, TBODY+)>
<!ELEMENT CAPTION  - - (%inline;)*     -- 표(table)의 제목(caption) -->
<!ELEMENT THEAD    - O (TR)+           -- 표의 머리글(header) -->
<!ELEMENT TFOOT    - O (TR)+           -- 표의 바닥글(footer) -->
<!ELEMENT TBODY    O O (TR)+           -- 표의 본체(body) -->
<!ELEMENT COLGROUP - O (col)*          -- 표의 컬럼 구룹 -->
<!ELEMENT COL      - O EMPTY           -- 표의 컬럼(column) -->
<!ELEMENT TR       - O (TH | TD)+      -- 표의 열(table row) -->
<!ELEMENT (TH | TD)  - O (%flow;)*
	-- 표의 머리글(table header)과 데이터(table data) 셀 -->

<!ATTLIST TABLE                       -- 표의 엘레멘트(element) --
 %attrs;                              -- %coreattrs, %i18n, %events --
 summary     %Text;         #IMPLIED  -- 목적/음성 출력을 위한 구조(structure)--
 width       %Length;       #IMPLIED  -- 표의 너비 --
 border      %Pixels;       #IMPLIED  --  표 주위의 테두리 두께 --
 frame       %TFrame;       #IMPLIED  -- 어느 프레임 부분을 표현 할 것인가 --
 rules       %TRules;       #IMPLIED  -- 열과 컬럼들 사이의 줄(rule) 넣기 --
 cellspacing %Length;       #IMPLIED  -- 셀(cell)들 사이의 공간 --
 cellpadding %Length;       #IMPLIED  -- 셀들 안 공간 --
 %reserved;                           -- 향 후 사용을 위 한 예약 --
 datapagesize CDATA         #IMPLIED  -- 향 후 사용을 위 한 예약 --
>

<!ENTITY % CAlign "(top | bottom | left | right)">

<!ATTLIST CAPTION
 %attrs;                              -- %coreattrs, %i18n, %events --
>

<!-- COLGROUP은 여러개의 COL 엘레멘트들을 구룹지운다.
 서로 관계있는 여러개의 컬럼(column)들을 구룹 지우는 것이다. -->
<!ATTLIST COLGROUP
 %attrs;                              -- %coreattrs, %i18n, %events --
 span        NUMBER         1         -- 구룹 안의 디폴트 컬럼(column) 갯수 --
 width       %MultiLength;  #IMPLIED  -- 컬럼(COL)의 디폴트 너비 --
 %cellhalign;                         -- 셀(cell)들 안에서 수평 정렬 --
 %cellvalign;                         -- 셀들 안에서 수직 정렬 --
>

<!-- COL 엘레멘트는 한개 이상의 컬럼들 안의 셀(cell)들에서 정렬 특성을 정의한다.
 WIDTH 애트리뷰트는 그 컬럼들의 너비를 지정한다. 예를 들면
    width=64: 픽셀(pixel) 너비,     	width=0.5*: 상대적인 너비
 SPAN 애트리뷰트는 한개 이상의 컬럼들을 한 COL 엘레멘트에 적용되게한다. -->
<!ATTLIST COL                         -- 컬럼 구룹과 특성들 --
 %attrs;                              -- %coreattrs, %i18n, %events --
 span        NUMBER         1         -- N 컬럼에 영향을 주는 COL 애트리뷰트 --
 width       %MultiLength;  #IMPLIED  -- 컬럼(column)의 너비 --
 %cellhalign;                         -- 셀(cell)들 안에서 수평 정렬 --
 %cellvalign;                         -- 셀들 안에서 수직 정렬 --
>

<!-- THEAD는 표(table)가 페이지 범위로 잘릴 때, 헤더의 복사로, 또는
 TBODY 항목들이 굴리는(scroll) 판에서 표현 될 때, 고정 된 헤더로 사용된다.
 TFOOT는 표가 페이지 범위로 잘릴 때, 바닥글의 복사로, 또는
 TBODY 항목들이 굴리는 판에서 표현 될 때, 고정 된 바닥글로 사용된다.
 표의 열 구룹들 사이에 줄(rule)이 필요 할 때, 복수 TBODY 항목이 사용된다.-->
<!ATTLIST (THEAD | TBODY | TFOOT)     -- 표 항목들 --
 %attrs;                              -- %coreattrs, %i18n, %events --
 %cellhalign;                         -- 셀(cell)들 안에서 수평 정렬 --
 %cellvalign;                         -- 셀들 안에서 수직 정렬 --
>

<!ATTLIST TR                          -- 표의 열(table row) --
 %attrs;                              -- %coreattrs, %i18n, %events --
 %cellhalign;                         -- 셀(cell)들 안에서 수평 정렬 --
 %cellvalign;                         -- 셀들 안에서 수직 정렬 --
>

<!-- 보통 표(table)에서 Scope는 axes 애트리뷰트보다 간단하다. -->
<!ENTITY % Scope "(row | col | rowgroup | colgroup)">

<!-- TH는 헤더를 위하여, TD는 데이터를 위하여 사용되나,
	셀들에서는 둘 다 TD를 사용한다. -->
<!ATTLIST (TH | TD)
	-- 헤더(table header) 또는 데이터 셀(table data) --
 %attrs;                              -- %coreattrs, %i18n, %events --
 abbr        %Text;         #IMPLIED  -- 헤더 셀의 약자 --
 axis        CDATA          #IMPLIED  -- 헤더들과 관계된 이름 구룹들 --
 headers     IDREFS         #IMPLIED  -- 헤더 셀들의 id의 목록 --
 scope       %Scope;        #IMPLIED  -- 헤더 셀들이 커버하는 범위(scope) --
 rowspan     NUMBER         1         -- 셀이 확장(span)되는 열(row)의 수 --
 colspan     NUMBER         1         -- 셀이 확장되는 컬럼(col)의 수  --
 %cellhalign;                         -- 셀(cell)들 안에서 수평 정렬 --
 %cellvalign;                         -- 셀들 안에서 수직 정렬 --
>


<!--======================= 문서 헤드(head) =====================-->
<!-- %head.misc;는 위 "SCRIPT | STYLE | META | LINK | OBJECT"에 정의되었다.-->
<!ENTITY % head.content "TITLE & BASE?">

<!ELEMENT HEAD O O (%head.content;) +(%head.misc;) -- 문서 헤드 -->
<!ATTLIST HEAD
 %i18n;                               -- 언어(lang), 방향(dir) --
 profile     %URI;          #IMPLIED  -- 메타 정보의 이름 지워진 사전  --
>

<!-- TITLE 엘레멘트는 텍스트의 흐름으로 고려되지 않는다.
	이것은 예를 들어 페이지의 헤더나 창의 제목으로
	디스플레이되어야 한다.  각 문서에 꼭 한개의 제목이 필요하다. -->
<!ELEMENT TITLE - - (#PCDATA) -(%head.misc;) -- 문서 제목 -->
<!ATTLIST TITLE %i18n>

<!ELEMENT BASE - O EMPTY              -- 문서 기준 URI -->
<!ATTLIST BASE
 href        %URI;          #REQUIRED -- 기준 URI로 작용하는 URI --
>

<!ELEMENT META - O EMPTY              -- 일반(generic) 메타(meta) 정보 -->
<!ATTLIST META
 %i18n;                               -- 내용을 위한 언어(lang), 방향(dir) --
 http-equiv  NAME           #IMPLIED  -- HTTP에 반응하는 헤더 이름 --
 name        NAME           #IMPLIED  -- 메타 정보 이름 --
 content     CDATA          #REQUIRED -- 관련 정보 --
 scheme      CDATA          #IMPLIED  -- 폼 내용 선택 방식--
>

<!ELEMENT STYLE - - %stylesheet       -- 스타일 정보 -->
<!ATTLIST STYLE
 %i18n;                               -- 제목을 위한 언어(lang), 방향(dir) --
 type       %ContentType; #REQUIRED -- 스타일 언어의 컨텐트 타입(content type)--
 media       %MediaDesc;    #IMPLIED  -- 이들 메디아의 사용을 위한 --
 title       %Text;         #IMPLIED  -- 참고 제목 --
>

<!ELEMENT SCRIPT - - %Script;         -- 스트립트(script) 지정 -->
<!ATTLIST SCRIPT
 charset     %Charset;      #IMPLIED  -- 연결 된 자원의 글자 엔코딩 --
 type        %ContentType;  #REQUIRED -- 스크립트 언어의 컨텐트 타입 --
 src         %URI;          #IMPLIED  -- 외부 스크립트의 URI --
 defer       (defer)        #IMPLIED
	-- 사용도구에 따라 스크립트 수행이 다를 수 있슴 --
 event       CDATA          #IMPLIED  -- 향 후 사용을 위 한 예약 --
 for         %URI;          #IMPLIED  -- 향 후 사용을 위 한 예약 --
>

<!ELEMENT NOSCRIPT - - (%block;)+
	-- 스크립트를 기초로 하지 않는 표현에서 대체(alternate) 내용 용기 -->
<!ATTLIST NOSCRIPT
 %attrs;                              -- %coreattrs, %i18n, %events --
>


<!--===================== 문서 구조(structure) ====================-->
<!ENTITY % html.content  "HEAD, BODY">

<!ELEMENT HTML O O (%html.content;)   -- 문서 기본(root) 엘레멘트(element) -->
<!ATTLIST HTML
 %i18n;                               -- 언어(lang), 방향(dir) --
>

Trio 홈페이지 문서(http://trio.co.kr/webrefer/html/sgml/dtd.html)는 자유로이 연결 사용이 가능함.