마크업 언어는 기초요소(element), 속성(attribute), 실체요소(entity)로 구성됩니다.
기초요소는 글의 전체 구조와 세부적인 특성들을 묘사합니다. 대부분의 기초요소들은 그 해당 영역을 열고 닫는 한 쌍의 태그를 필요로 합니다.
<para> 그리고 "우리는 ...을 안다(we know ...)"란 말을 함부로 하여서는 안된다. 왜냐하면, 당연히 우리는 모르기 때문이다. 그러나 우리는 아는 것처럼 행동해야 하는 것이다. </para> |
그러나 기초요소들 중에는 여는 태그만 사용하는 것도 있습니다. 참조를 위해 사용되는 xref 같은 경우가 이에 해당됩니다.
<para> 이렇기 때문에, 컴퓨터를 끄기 전엔 반드시 적절한 셧다운 절차를 밟아야만 하는 것이고( <xref linkend="boots-and-shutdowns"> 참조 ), 마운트한 플로피를 빼기 전엔 꼭 언마운트를 해야하는 것이다. </para> |
기초요소들은 속성을 가질 수 있습니다. 예를 들어, 기초요소 xref는 linkend라는 속성을 가집니다. 위의 예에서는 이 값이 boots-and-shutdowns로 지정되어 있습니다.
<chapter id="boots-and-shutdowns"> <title>부팅과 셧다운</title> <para> 여기서는 리눅스 시스템이 시작될 때와 멈춰질 때 어떤 일이 진행되는지를 설명할 것이며, 또한 그것이 제대로 진행되려면 어찌 해야하는지에 대해서도 알아볼 것이다. 만일, 이 때 적절한 과정이 수행되지 못한다면, 파일들이 손상을 입거나 지워질 수도 있다. </para> </chapter> |
실체요소는 어떤 특정한 데이터 덩어리에 이름을 붙여주기 위해 사용됩니다. 실체요소는 내부 실체요소와 외부 실체요소로 나눌 수 있습니다.[1]
내부 실체요소는 다음과 같이 선언합니다.
<!ENTITY ora "O'Reilly & Associates"> |
외부 실체요소는 다음과 같이 선언합니다.
<!ENTITY ch01 SYSTEM "ch01.sgm"> |
또한 외부 실체요소에는 특수 문자를 위한 실체요소가 있습니다. 방금 위에서 사용된 &가 바로 특수 문자 실체요소입니다. 이 밖에도 무척 많은 수의 특수 문자 실체요소들이 정의되어 있으므로 DocBook: The Definitive Guide의 DocBook Character Entity Reference를 꼭 살펴보시기 바랍니다.
DocBook의 기초요소와 속성은 대소문자를 가리지 않습니다. 따라서 <para>와 <pArA>는 같은 것으로 간주됩니다. 그러나 실체요소는 대소문자를 가리므로 주의하여야 합니다.
그러나 XML과의 호환성을 고려한다면, 모든 기초요소와 속성들을 소문자로 일관되도록 하는 것이 좋습니다. 또한 닫는 태그를 사용할 때 생략형을 사용하지 않도록 하고[3] 속성은 꼭 큰 따옴표로 묶도록 합니다.
참고: 이 내용은 DocBook: The Definitive Guide의 'Elements and Attributes'를 많이 참고하였습니다.
[1] | 이 밖에 매개변수 실체요소라는 것이 있습니다. 이에 대해서는 예 C-2에서 간략히 설명합니다. |
[2] | 이에 대해서는 B.1절에서 자세히 설명합니다. |
[3] | <para>...</> - 이런 생략은 SGML에선 가능하지만 XML에선 허용되지 않습니다. |