programing

XML 스키마 minOccurs / maxOccurs 기본값

yellowcard 2023. 10. 7. 09:46
반응형

XML 스키마 minOccurs / maxOccurs 기본값

XML 스키마 사양에서 다음과 같은 경우를 어떻게 처리하는지 궁금합니다.

<xsd:element minOccurs="1" name="asdf"/>

maxOccurs가 주어지지 않음 -> 이것이 카디널리티 [1..1]입니까?

<xsd:element minOccurs="5" maxOccurs="2" name="asdf"/>

이건 그냥 무효라고 생각해요?

<xsd:element maxOccurs="2" name="asdf"/>

이것이 카디널리티 [0..2] 아니면 [1..2]?

XML 스키마 사양이 이러한 경우를 처리하는 방법에 대한 "공식" 정의가 있습니까?

에 대한 기본값minOccurs그리고.maxOccurs1. 따라서:

<xsd:element minOccurs="1" name="asdf"/>

카디널리티는 [1-1] 참고: minOccurs 특성만 지정하면 maxOccurs의 기본값이 1이므로 1보다 클 수 없습니다.

<xsd:element minOccurs="5" maxOccurs="2" name="asdf"/>

무효한

<xsd:element maxOccurs="2" name="asdf"/>

카디널리티는 [1-2] 참고: maxOccurs 특성만 지정하면 minOccurs의 기본값이 1이므로 1보다 작을 수 없습니다.

<xsd:element minOccurs="0" maxOccurs="0"/>

는 요소를 금지하는 유효한 조합입니다.

자세한 내용은 http://www.w3.org/TR/xmlschema-0/ #OccurenceContracts를 참조하십시오.

오래된 질문에 대한 새롭고 확장된 답변...

기본값

  • 발생제약minOccurs그리고.maxOccurs 기본값으로 …

일반적인 사례 설명

<xsd:element name="A"/>

수단A필수이며 한 만 나타나야 합니다.


<xsd:element name="A" minOccurs="0"/>

수단A선택 사항이며 최대까지 나타날 수 있습니다.


 <xsd:element name="A" maxOccurs="unbounded"/>

수단A필수이며 횟수 제한 없이 반복할 수 있습니다.


 <xsd:element name="A" minOccurs="0" maxOccurs="unbounded"/>

수단A선택 사항이며 횟수 제한 없이 반복할 수 있습니다.


참고 항목

  • W3C XML 스키마 Part 0: 프라이머

    일반적으로 minOcurs의 값이 1 이상일 때 요소가 나타나야 합니다.요소가 나타날 수 있는 최대 횟수는 선언에 있는 maxOccurs 속성의 값에 따라 결정됩니다.이 값은 41과 같은 양의 정수이거나, 최대 발생 횟수가 없음을 나타내기 위해 제한되지 않은 항일 수 있습니다.minOcurs 및 maxOcurs 특성의 기본값은 모두 1입니다.따라서 maxOccurs 속성 없이 comment와 같은 요소가 선언되면 요소가 두 번 이상 발생하지 않을 수 있습니다.minOccurs 특성에만 값을 지정할 경우 maxOccurs의 기본값보다 작거나 같으며, 즉 0 또는 1이어야 합니다.마찬가지로 maxOccurs 특성에 대해서만 값을 지정하는 경우에는 minOccurs의 기본값 이상, 즉 1 이상이어야 합니다.두 특성이 모두 생략된 경우 요소가 정확히 한 번 나타나야 합니다.

  • IMT2000 3GPP - W3C XML 스키마 Part 1 : Structures Second Edition

    <element
      maxOccurs = (nonNegativeInteger | unbounded)  : 1
      minOccurs = nonNegativeInteger : 1
      >
    
    </element>
    

단답형:

xsd로 작성된 경우:

<xs:attribute name="minOccurs" type="xs:nonNegativeInteger" use="optional" default="1"/>
<xs:attribute name="maxOccurs" type="xs:allNNI" use="optional" default="1"/>

속성에 숫자를 지정하면 숫자는 경계가 됩니다.그렇지 않으면 속성이 정확히번만 나타납니다.

언급URL : https://stackoverflow.com/questions/4821477/xml-schema-minoccurs-maxoccurs-default-values

반응형