HTML에서 부등호라는 문자는 특별한 힘을 갖는다. <는 **엘리먼트(Element)**를 시작한다.
태그는 브라우저가 마크업 엘리먼트를 어떻게 해석할지를 결정한다. 예를 들어 <title>태그는 태그 안의 내용(여는 태그와 닫는 태그 사이에 들어있는 내용)을 브라우저의 제목 막대에 표시한다.
<에 특별한 능력을 부여했기 때문에, 정말 문자 그대로의 <를 사용하고 싶을 때는 어떻게 표시할 수 있을지 궁금할 것이다. HTML에는 <의 특별한 능력을 빼앗을 수 있는 기술이 있다. 바로 엔티티 참조(Entity reference)이다.
HTML에서는 <
라는 문자 시퀀스를 사용해 문자 그대로의 <를 표현할 수 있다.
물론 이로인해 &문자에 특별한 능력이 부여되었다. 문자 그대로의 &를 입력하고 싶으면, &
라는 엔티티참조로 표현하면 된다.
HTML엘리먼트는 attribute라는 요소에도 신경을 써야 한다. 태그에는 애트리뷰트가 포함될 수 있는데, 이들은 이름과 값을 =로 연결한 쌍이다.
애트리뷰트 이름에 따라 미리 정의된 동작이 있는 경우도 있다. 하지만 이런 동작이 미리 정의되지 않은 이름이라면, 아무 이름이나 애트리뷰트에 사용할 수 있다.
class 애트리뷰트를 제외하면 모든 애트리뷰트 값은 똑같이 문자열처럼 취급된다. 다만 class애트리뷰트의 값은 공백으로 서로 분리된 값의 리스트로 취급된다.
웹 브라우저는 문서를 문서 객체 모델에 따라 처리한다. 이를 인간의 관점에서는, 일련의 엘리먼트들이 다른 엘리먼트를 둘러싸고 있는 것으로 하나의 웹 페이지를 생각할 수 있다. 이런 그림이다.
또는 이를 파스트리 구조로 더 명확하게 표현하면
와 같아진다.