다음을 통해 공유


<xsd:attribute> 요소

특성을 선언합니다.

<attribute
  default = string
  fixed = string
  form = (qualified | unqualified) 
  id = ID
  name = NCName
  ref = QName
  type = QName
  use = (optional | prohibited | required): optional
  {any attributes with non-schema Namespace...}>
Content: (annotation?, (simpleType?))
</attribute>

특성

  • default
    특성은 기본값을 가지며 XML 문서 내에서 인스턴스에 특성을 지정하지 않으면 기본값이 사용됩니다. 인스턴스 문서에 특성이 없더라도 post-schema-validation infoset에는 특성이 표시되어야 합니다. 인스턴스 문서에 실제로 특성이 없더라도 스키마 프로세서는 특성이 기본값으로 지정된 것처럼 작동해야 합니다. Defaultfixed 특성을 둘 다 지정할 수 없습니다.

    선택적 항목입니다.

  • fixed
    특성은 고정 값을 가지며 인스턴스 문서에 특성이 있을 경우에는 그 값이 고정 값과 일치해야 하고 인스턴스 문서에 특성이 없을 경우에는 입력된 값을 사용하게 됩니다. Defaultfixed 특성을 둘 다 지정할 수 없습니다.

    선택적 항목입니다.

  • form
    특성의 형식입니다. 기본값은 특성을 포함하는 schema 요소의 attributeFormDefault 특성 값입니다. 값은 "qualified" 또는 "unqualified" 문자열 중 하나를 사용해야 합니다.

    값이 unqualified인 경우 이 특성을 네임스페이스 접두사로 한정할 필요가 없으며 로컬 이름인 특성의 NCName(No-Colon-Name)과 비교됩니다.

    값이 qualified인 경우 스키마의 targetNamespace와 특성의 NCName을 조합하여 이 특성을 한정해야 합니다.

    선택적 항목입니다.

  • id
    이 요소의 ID입니다. id 값은 ID 형식이어야 하며 이 요소를 포함하는 문서 내에서 고유한 값이어야 합니다.

    선택적 항목입니다.

  • name
    특성 이름입니다. 이 이름은 XML 네임스페이스 사양에 정의된 대로 NCName이어야 합니다. 포함하는 요소가 schema 요소이면 필요한 요소입니다. Nameref 특성을 둘 다 지정할 수 없습니다.

    스키마에 대해 XML 문서의 유효성을 검사하면 문서의 각 특성은 스키마에 있는 attribute 요소에 대해 유효성이 검사됩니다.

    선택적 항목입니다.

  • ref
    이 스키마 또는 지정된 네임스페이스에 나타난 다른 스키마에서 선언된 특성의 이름입니다. ref 값은 정규화된 이름(QName)이어야 합니다. 형식에는 네임스페이스 접두사가 포함될 수 있습니다. Nameref 특성을 둘 다 지정할 수 없습니다. ref 특성이 있으면 simpleType 요소, formtype을 지정할 수 없습니다.

    복합 형식 내에서 기존 특성 정의를 사용하여 특성을 선언하려면 ref 특성을 사용하여 기존 특성 정의를 지정합니다.

    <xs:attribute name="mybaseattribute">
      <xs:simpleType>
       <xs:restriction base="xs:integer">
          <xs:maxInclusive value="1000"/>
       </xs:restriction>
      </xs:simpleType>
    </xs:attribute>
    <xs:complexType name="myComplexType">
      <xs:attribute ref="mybaseattribute"/>
    </xs:complexType>
    

    선택적 항목입니다.

  • type
    이 스키마 또는 지정된 네임스페이스에 나타난 다른 스키마에 정의되어 있는 기본 제공 데이터 형식이나 단순 형식의 이름입니다. 형식은 QName이어야 합니다. 형식에는 네임스페이스 접두사가 포함될 수 있습니다. type 특성은 내용에 simpleType 요소가 없을 때만 사용할 수 있습니다.

    선택적 항목입니다.

  • use
    특성을 사용하는 방법을 나타내는 표시기입니다.

    이 특성에는 다음과 같은 값을 사용해야 합니다.

    optional

    특성은 선택적 요소이며 모든 값을 사용할 수 있습니다. 이것은 기본값입니다. 다음 두 줄은 동일한 의미를 갖습니다.

    <xs:attribute name="myattr" type="xs:string"/>
    <xs:attribute name="myattr" type="xs:string" use="optional"/>

    prohibited

    특성을 사용할 수 없습니다. 이 특성은 다른 복합 형식의 제한에서 사용되어 기존 특성을 사용할 수 없도록 합니다.

    <xs:complexType name="A">
      <xs:attribute name="x" type="xs:NCName"/>
      <xs:attribute name="y" type="xs:QName"/>
     </xs:complexType>
    

    <xs:complexType name="B"> <xs:complexContent> <xs:restriction base="xs:A"> <xs:attribute name="x" use="required" /> <xs:attribute name="y" use="prohibited"/> </xs:restriction> </xs:complexContent> </xs:complexType>

    required

    이 특성은 한 번만 표시해야 합니다.

    또한 필요한 특성이며 특성의 형식 정의에서 허용하는 모든 값을 포함할 수 있습니다.

    <xs:attribute name="myattr" type="xs:string" use="required"/>

    이 특성은 다른 복합 형식의 제한 또는 확장에서 사용되어 지정한 특성이 반드시 사용되도록 합니다.

    <xs:complexType name="A">
      <xs:attribute name="x" type="xs:NCName"/>
      <xs:attribute name="y" type="xs:QName"/>
     </xs:complexType>
    

    <xs:complexType name="B"> <xs:complexContent> <xs:restriction base="xs:A"> <xs:attribute name="x" use="required" /> <xs:attribute name="y" use="prohibited"/> </xs:restriction> </xs:complexContent> </xs:complexType>

    특성을 전역적으로 선언하면(부모 요소가 schema일 경우) 이 특성은 스키마에 있는 모든 요소의 필요한 요소가 됩니다.

    선택적 항목입니다.

요소 정보

발생 횟수

schema 요소에서 한 번 정의되고 복합 형식이나 특성 그룹에서는 여러 번 참조됩니다.

부모 요소

attributeGroup, schema, complexType, restriction (simpleContent), extension (simpleContent), restriction (complexContent), extension (complexContent)

내용

annotation, simpleType

주의

특성 선언은 이름을 형식 정의와 연결하며 가능한 형식 정의로는 기본 제공 데이터 형식 또는 단순 형식이 있습니다.

특성 선언은 전역 범위를 갖는 schema, complexTypeattributeGroup 요소의 자식 요소로 또는 복합 형식 정의 내에서 사용할 수 있습니다. 복합 형식의 경우 특성 선언은 로컬 선언이나 전역 범위를 갖는 특성에 대한 참조로 사용할 수 있습니다.

또한 attributeGroupcomplexType 요소 내에서 참조로 특성을 표시할 수 있습니다.

예제

다음 예제에서는 기본값 test를 가진 기본 제공 형식에 대한 참조로 특성을 선언하고 complexType 요소에서 이 특성을 사용합니다.

<xs:attribute name="mybaseattribute" type="xs:string" default="test" />
<xs:complexType name="myComplexType">
  <xs:attribute ref="mybaseattribute"/>
</xs:complexType>

다음 예제에서는 required 특성을 complexType 요소 내에서 직접 선언합니다.

<xs:complexType name="myComplexType">
  <xs:attribute name="mybaseattribute" type="xs:string" use="required"/>
</xs:complexType>

다음 예제에서는 특성을 선언할 때 제한된 기본 제공 정수 형식에서 파생시켜 값의 범위를 "60" 이상 "95" 이하로 제한합니다.

<xs:attribute name="myHolidayLocationTemperature">
  <xs:simpleType>
   <xs:restriction base="xs:integer">
    <xs:minInclusive value="60"/>
    <xs:maxInclusive value="95"/>
   </xs:restriction>
  </xs:simpleType>
</xs:attribute>

다음 예제에서는 10진수 값을 포함하는 목록으로 특성을 선언합니다. 따라서 shoeSizes="10.5 9 8 11"과 같은 특성에 10.5, 9, 8 및 11 등의 값 목록이 포함될 수 있습니다.

<xs:simpleType name="Sizes">
      <xs:restriction base="xs:decimal">
         <xs:enumeration value="10.5"/>
         <xs:enumeration value="9"/>
         <xs:enumeration value="8"/>
         <xs:enumeration value="11"/>
      </xs:restriction>
   </xs:simpleType>   

   <xs:attribute name="shoeSizes">
      <xs:simpleType>
         <xs:list itemType="Sizes"/>
      </xs:simpleType>
   </xs:attribute>

관련 자료

자세한 내용은 www.w3.org/TR/2001/REC-xmlschema-1-20010502/\#element-all에 있는 Structures Recommendation을 참조하십시오.

참고 항목

참조

XML 스키마(XSD) 참조
XML 스키마 요소