ATTLIST(특성 목록)

ATTLIST 문을 사용하여 한 요소에 속할 수 있는 각 특성을 나열하고 선언할 수 있습니다. 이 문은 먼저 특성 목록을 적용할 요소 이름을 지정합니다. 그런 다음 각 특성을 이름별로 나열하고 필요 여부를 나타낸 후 값으로 사용할 수 있는 문자 데이터를 지정합니다.

구문

<!ATTLIST  elementName  attributeName  dataType  default >

매개 변수

  • elementName
    특성 목록을 적용하는 요소 이름입니다.

  • attributeName
    특성 이름입니다. 이 매개 변수는 elementName에 사용할 수 있는 모든 특성을 나열하는 데 필요한 수만큼 반복할 수 있습니다.

  • dataType
    attributeName 매개 변수에 이름이 지정된 특성의 데이터 형식으로, 다음 중 하나여야 합니다.

    • CDATA - 이 특성에는 문자 데이터만 포함됩니다.

    • ID - 특성 값은 고유해야 하며 문서에 사용된 다른 요소나 특성에서 반복할 수 없습니다.

    • IDREF - 이 특성은 문서에서 다른 특성의 값(ID 형식)을 참조합니다.

    • ENTITY - 특성 값은 구문 분석되지 않은 외부 ENTITY의 이름과 같아야 합니다. 이 ENTITY도 같은 DTD에서 선언됩니다.

    • ENTITIES - 특성 값에 DTD에서 선언된 구문 분석되지 않은 외부 엔터티의 여러 이름이 포함됩니다.

    • NMTOKEN - 특성 값은 이름 토큰이어야 합니다. 이름 토큰은 문자 데이터 값을 허용하지만 CDATA보다 제한 사항이 많습니다. 이름 토큰에는 문자, 숫자 또는 마침표, 대시, 밑줄, 콜론 등 일부 문장 부호가 포함될 수 있습니다. 그러나 이름 토큰 값에 공백 문자는 포함될 수 없습니다.

    • NMTOKENS - 특성 값에 여러 이름 토큰이 포함됩니다. 자세한 내용은 NMTOKEN 및 열거형에 대한 설명을 참조하십시오.

    • Enumerated - 특성 값은 열거된 목록에 있는 값으로 제한됩니다. 나열된 값과 일치하는 값만 유효하게 구문 분석됩니다. 모든 열거형 데이터 형식은 괄호로 묶이며 각 값은 세로 막대("|")로 구분됩니다.

  • default
    attributeName에 이름이 지정된 특성의 기본값입니다. 다음 표에서는 가능한 기본값을 설명합니다.

    기본값

    설명

    #REQUIRED

    이 특성은 XML 문서에 나타나야 합니다. 그렇지 않으면 구문 분석 오류가 발생합니다. 일부 경우에 구문 분석 오류를 방지하려면 이 키워드 바로 다음에 defaultValue 필드를 선택적으로 사용합니다.

    #IMPLIED

    이 특성은 XML 문서에 나타날 수 있지만 생략하더라도 구문 분석 오류가 발생하지 않습니다. 일부 경우에 이 키워드 바로 다음에 defaultValue 필드를 선택적으로 사용할 수도 있습니다.

    #FIXED

    DTD에서 특성 값은 고정되어 있으며 XML 문서에서 변경하거나 재정의할 수 없습니다. 이 키워드를 사용할 경우 이 키워드 바로 다음의 defaultValue 필드를 사용하여 고정된 특성 값을 선언해야 합니다.

    defaultValue

    기본값 또는 고정 값입니다. XML 문서에 이 특성이 사용되지 않거나 없는 경우 파서는 이 값을 XML 문서에 삽입합니다. 모든 값은 큰따옴표나 작은따옴표로 묶어야 합니다.

참고

DTD에서 선언한 각 ATTLIST에 대해 elementName을 한 번만 사용해야 합니다.attributeName, dataType 및 default 매개 변수는 목록에 있는 각 특성을 정의하며 elementName에 사용할 수 있는 모든 특성을 나열하고 정의할 때까지 필요한 수만큼 반복할 수 있습니다.

예제

이 예제에서는 <book> 요소에 대해 다음을 선언합니다.

  • 문자 데이터만 포함할 수 있는 선택적 publisher 특성

  • 해당 값이 "MyStore".로 설정되어 있는 고정된 reseller 특성

  • XML 문서에서 각 <book> 요소에 대한 고유 식별 값을 포함해야 하는 필요한 ISBN 특성

  • "yes" 또는 "no" 값을 포함해야 하는 필요한 InPrint 특성. XML 문서에서 값이 명시적으로 설정되지 않은 경우 기본값으로 "yes" 값을 적용합니다.

<!ATTLIST book
    publisher  CDATA     #IMPLIED
    reseller   CDATA     #FIXED    "MyStore"
    ISBN       ID        #REQUIRED
    inPrint    (yes|no)  "yes"
>

참고 항목

개념

ELEMENT

ENTITY(XML)

NOTATION