[참고 http://www.w3.org/TR/1999/REC-html401-19991224/sgml/loosedtd.html]
HTML has two basic content models:
%inline; character level elements and text strings
%block; block-like elements e.g. paragraphs and lists
<!ENTITY % block
"P | %heading; | %list; | %preformatted; | DL | DIV | CENTER | NOSCRIPT | NOFRAMES | BLOCKQUOTE | FORM | ISINDEX | HR | TABLE | FIELDSET | ADDRESS">
<!ENTITY % heading "H1|H2|H3|H4|H5|H6">
<!ENTITY % list "UL | OL | DIR | MENU">
<!ENTITY % preformatted "PRE">
<!ENTITY % inline
"#PCDATA | %fontstyle; | %phrase; | %special; | %formctrl;">
<!ELEMENT (SUB|SUP) - - (%inline;)* -- subscript, superscript -->
<!ELEMENT SPAN - - (%inline;)* -- generic language/style container -->
<!ELEMENT BDO - - (%inline;)* -- I18N BiDi over-ride -->
<!ELEMENT BR - O EMPTY -- forced line break -->
<!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">
- <body>, <blockquote> 엘리먼트 안에는 반드시 블록 엘리먼트만을 사용한다.
- 블록 엘리먼트들은 문단 엘리먼트 <p> 바깥에 두어야 한다.
- 인라인 엘리먼트는 <p>등의 블록 엘리먼트로 감싸 구성하며 독립적으로 사용하지 않는다.
- 인라인 엘리먼트 내부에는 블록 엘리먼트가 들어갈 수 없다.
- 리스트 엘리먼트 <ul>과 <ol>의 내부에는 오직 리스트 아이템 엘리먼트인 <li>만이 들어갈 수 있다.
- 정의 엘리먼트 <dl>의 내부에는 오직 <dt>와 <dd>만이 들어갈 수 있다.
- <li>, <dd>엘리먼트 안에는 텍스트, 인라인, 블록 엘리먼트 모두를 넣을 수 있다.
- button, map, object, iframe, applet!, ins, del 은 <span>의 자식도 될 수 있고, <div>의 부모도 될 수 있다고 한다.
HTML has two basic content models:
%inline; character level elements and text strings
%block; block-like elements e.g. paragraphs and lists
<!ENTITY % block
"P | %heading; | %list; | %preformatted; | DL | DIV | CENTER | NOSCRIPT | NOFRAMES | BLOCKQUOTE | FORM | ISINDEX | HR | TABLE | FIELDSET | ADDRESS">
<!ENTITY % heading "H1|H2|H3|H4|H5|H6">
<!ENTITY % list "UL | OL | DIR | MENU">
<!ENTITY % preformatted "PRE">
<!ENTITY % inline
"#PCDATA | %fontstyle; | %phrase; | %special; | %formctrl;">
<!ELEMENT (SUB|SUP) - - (%inline;)* -- subscript, superscript -->
<!ELEMENT SPAN - - (%inline;)* -- generic language/style container -->
<!ELEMENT BDO - - (%inline;)* -- I18N BiDi over-ride -->
<!ELEMENT BR - O EMPTY -- forced line break -->
<!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">
- <body>, <blockquote> 엘리먼트 안에는 반드시 블록 엘리먼트만을 사용한다.
- 블록 엘리먼트들은 문단 엘리먼트 <p> 바깥에 두어야 한다.
- 인라인 엘리먼트는 <p>등의 블록 엘리먼트로 감싸 구성하며 독립적으로 사용하지 않는다.
- 인라인 엘리먼트 내부에는 블록 엘리먼트가 들어갈 수 없다.
- 리스트 엘리먼트 <ul>과 <ol>의 내부에는 오직 리스트 아이템 엘리먼트인 <li>만이 들어갈 수 있다.
- 정의 엘리먼트 <dl>의 내부에는 오직 <dt>와 <dd>만이 들어갈 수 있다.
- <li>, <dd>엘리먼트 안에는 텍스트, 인라인, 블록 엘리먼트 모두를 넣을 수 있다.
- button, map, object, iframe, applet!, ins, del 은 <span>의 자식도 될 수 있고, <div>의 부모도 될 수 있다고 한다.
'all' 카테고리의 다른 글
웹 표준 핵심 가이드 (0) | 2011.10.25 |
---|---|
xhtml / flash 바로 삽입 코드 (0) | 2010.04.30 |
html markeup guideline (0) | 2010.03.19 |
frameset (0) | 2010.03.19 |
font, generic font families (0) | 2010.03.19 |