ELEMENT

ELEMENT 문을 사용하면 DTD로 정의한 문서 형식 내에 사용된 각 요소를 선언할 수 있습니다. 이 문은 먼저 이름으로 요소를 선언한 다음 이 요소에 허용되는 내용을 지정합니다.

구문

<!ELEMENT  name  content >

매개 변수

  • name
    요소의 이름을 나타내며 대/소문자를 정확히 구분해야 합니다.

  • 내용
    요소에 대해 허용 가능한 내용 모델로 다음 중 하나여야 합니다.

    • ANY - 요소 내에서 모든 내용이 허용됩니다. 요소 선언에 사용할 경우 이 키워드는 요소 및 해당 자식 노드에 대해 제한이 없는 개방형 내용 모델을 허용합니다.

    • EMPTY - 요소에 내용을 포함할 수 없으며 비어 있어야 합니다.

    • 선언된 내용 규칙 - 이 옵션을 사용하려면 내용 규칙을 작성하고 괄호로 묶어야 합니다.

      다음 표에서는 요소 내용 규칙을 생성하기 위해 DTD 내에서 선언된 다른 요소의 이름과 함께 사용할 수 있는 예약된 키워드 또는 문장 부호를 보여 줍니다.

      기호

      설명

      #PCDATA

      구문 분석된 문자 데이터를 요소 내용의 일부로 허용합니다.

      name

      요소 이름입니다. 정의하고 있는 요소이거나 추가 ELEMENT 선언을 사용하여 DTD에서 이름으로 정의한 다른 요소일 수 있습니다.

      내용 규칙에 다른 문장 부호가 없을 경우 명명된 요소가 한 번만 발생할 수 있으며 한 번만 발생해야 합니다.

      ()

      요소에 대한 내용 모델을 선언할 때마다 괄호가 하나 이상 필요한 경우 추가 괄호를 중첩할 수 있습니다. 이 기법을 사용하면 요소에 대해 보다 복잡한 내용 모델을 정의할 수 있습니다.

      |

      세로 막대를 사용하여 명명된 두 요소를 구분할 수 있습니다. 세로 막대를 사용하면 세로 막대 앞의 요소와 세로 막대 뒤의 요소 중 하나가 자식 요소로 표시될 수 있음을 나타냅니다.

      ,

      쉼표를 사용하여 두 개의 명명된 요소나 중첩된 규칙을 구분할 수 있습니다. 쉼표를 사용하면 지정된 순서로 요소/규칙이 표시되어야 함을 나타냅니다.

      ?

      물음표를 접미사/피연산자로 사용할 수 있습니다. 물음표를 사용하면 물음표 앞의 요소/규칙이 선택적 항목임을 나타내지만 사용할 경우 XML 문서 구조의 이 지점에서 한 번만 사용할 수 있습니다.

      +

      더하기 기호를 접미사/피연산자로 사용할 수 있습니다. 더하기 기호를 사용하면 더하기 기호 앞의 요소/규칙이 필수 항목임을 나타내며 XML 문서 구조의 이 지점에서 두 번 이상 사용할 수 있습니다.

      *

      별표를 접미사/피연산자로 사용할 수 있습니다. 별표를 사용하면 별표 앞의 요소/규칙이 선택적 항목임을 나타내며 XML 문서 구조의 이 지점에서 두 번 이상 사용할 수 있습니다.

예제

  • 다음은 내용을 포함할 수 있는 <test> 요소를 선언합니다.

    <!ELEMENT  test  ANY  >
    
  • 다음은 내용을 포함할 수 없는 <Image> 요소를 선언합니다.

    <!ELEMENT  Image  EMPTY  >
    
  • 다음은 문자 데이터만 포함할 수 있고 다른 태그를 포함할 수 없는 <title> 요소를 선언합니다.

    <!ELEMENT  title  (#PCDATA)  >
    
  • 다음은 <apple> 요소 또는 <orange> 요소가 포함된 <fruit> 요소를 선언합니다.

    <!ELEMENT  fruit  (apple|orange)  >
    
  • 다음은 <author> 요소와 <title> 요소를 차례로 포함해야 하는 <book> 요소를 선언합니다.

    <!ELEMENT  book  (author,title)  >
    
  • 다음은 <body> 요소를 포함해야 하며 이 요소 뒤에 선택적으로 <postscript> 요소를 포함할 수 있는 <memo> 요소를 선언합니다.

    <!ELEMENT  memo  (body,postscript?)  >
    
  • 다음은 <book> 요소를 하나 이상 포함해야 하는 <catalog> 요소를 선언합니다.

    <!ELEMENT  catalog  (book+)  >
    
  • 다음은 <rowset> 요소를 포함하거나 비어 있을 수 있는 <table> 요소를 선언합니다.

    <!ELEMENT  table  (rowset*)  >
    

참고 항목

개념

ATTLIST(특성 목록)

ENTITY(XML)

NOTATION