태그(Tag), 요소(Element). 속성(Attribute). 텍스트(PCDATA). 주석(Comment). 선언문(Declaration). 엔티티(Entity). 외부 요소 등.
태그(Tag) / 요소(Element)
<>로 둘러싼 표현 단위다. 문서의 골격(레이아웃)을 만들거나 데이터를 화면에 출력한다. 태그마다 역할이 달라서 출력 결과나 기능, 의미가 달라진다.
HTML 태그 표현 방식
내용이 있는 태그는 <태그명>내용물</태그명> 형태의 쌍태그다(시작 태그와 끝 태그). 내용이 없는 태그는 <태그명>, <태그명 />, <태그명></태그명>처럼 단독/빈 태그로 표현한다.
태그 내용물의 형식(Content Type)
자식 태그만 올 수 있는 형태가 있다(문자열 불가). PCDATA는 문자열만 올 수 있다(자식 태그 불가). Empty는 아무것도 가지지 않는다. Mixed는 태그와 문자열을 함께 가질 수 있으며 대부분의 HTML 태그가 혼합형에 가깝다.
속성(Attribute)
태그가 가지는 데이터로, 태그의 성질을 표현한다. 표기는 <시작태그 속성명="값"></끝태그>, <단독태그 속성명="값">처럼 쓴다. 속성은 여러 개를 가질 수 있고 속성 간 순서는 의미가 없다. 값은 큰따옴표나 작은따옴표로 감싸는 방식이 일반적으로 허용된다.
텍스트(PCDATA)
태그가 가지는 문자열 데이터로 화면에 출력된다. 텍스트는 파싱 대상이라 문법 규칙의 영향을 받는다.