xsd:all
복잡한 유형으로 사용 하고 있습니다. 유효성을 검사하는 동안 필수 요소를 놓친 경우 모든 요소가 표시됩니다. 누락 된 정확한 요소는 표시되지 않습니다.
그러나 내가 사용한다면 xsd:sequence
정확히 놓친 요소를 얻을 수 있습니다.
이 둘 사이에 차이점이 있습니까?
xsd:sequence
: XML 요소는 동일한 순서 여야합니다.
그러나 xsd:all
: XML 요소는 임의의 순서 일 수 있습니다.
답변
<xsd:all>
하위 요소가 임의의 순서로 나타날 수 있음을 지정합니다.
<xsd:sequence>
하위 요소가 언급 된 순서로만 나타날 수 있음을 지정합니다.
시퀀스 예 :
<xs:element name="compElement">
<xs:complexType>
<xs:sequence>
<xs:element name="ele1" type="xs:string"/>
<xs:element name="ele2" type="xs:string"/>
<xs:element name="ele3" type="xs:string"/>
<xs:element name="ele4" type="xs:string"/>
</xs:sequence>
</xs:complexType>
</xs:element>
이 xsd에서 XML을 생성하면 다음과 같이 보일 것입니다.
<compElement>
<ele1>First</ele1>
<ele2>Second</ele2>
<ele3>Third</ele3>
<ele4>Fourth</ele4>
</compElement>
모두를위한 예 :
<xs:element name="compElement">
<xs:complexType>
<xs:all>
<xs:element name="ele1" type="xs:string"/>
<xs:element name="ele2" type="xs:string"/>
<xs:element name="ele3" type="xs:string"/>
<xs:element name="ele4" type="xs:string"/>
</xs:all>
</xs:complexType>
</xs:element>
이 xsd에서 XML 파일을 생성하면 다음과 같이 보일 수 있습니다.
<compElement>
<ele2>Second</ele2>
<ele1>First</ele1>
<ele4>Fourth</ele4>
<ele3>Third</ele3>
</compElement>
더 많은 정보 XSD에 대한 모든
추가 정보 XSD에 : 순서
질문에 답했으면 좋겠습니다.
답변
차:
- xsd : all “자식 요소는 임의의 순서로 나타날 수 있으며 각 하위 요소는 0 또는 한 번 발생할 수 있습니다.”(즉, maxOccurs는 0 또는 1 일 수 있음)
- xsd : sequence- “하위 요소는 시퀀스에 나타나야합니다. 각 하위 요소는 0에서 여러 번 발생할 수 있습니다.”(즉, maxOccurs는 0 또는 임의의 숫자이거나 ‘제한되지 않음’일 수 있음)
답변
모든 표시기
<all>
자식 요소는 어떤 순서로 표시 할 수있는, 각각의 하위 요소가 한 번만 발생해야 함을 표시 지정 :
시퀀스 표시기
<sequence>
자식 요소가 특정 순서에 표시해야 함을 표시 지정 :
답변
스키마는 준수 문서를 구성하는 항목을 정의 할뿐입니다.
비준수보고 방법은 전적으로 검증 인에게 달려 있습니다. 유효성 검사기가 누락 된 필드를 정확히보고하는 것을 막을 수는 없지만 사용하는 필드는이 경우에 그렇지 않습니다.
그것이 버그이든 의도적 으로든 유효성 검사기 공급자와 논의해야합니다.
답변
간단한 XML 예 :
<school>
<firstname>John</firstname>
<lastname>Smith</lastname>
</school>
XML 위의 XSD (설명) :
<xs:element name="school">
<xs:complexType>
<xs:sequence>
<xs:element name="firstname" type="xs:string"/>
<xs:element name="lastname" type="xs:string"/>
</xs:sequence>
</xs:complexType>
</xs:element>
여기:
xs : 요소 정의합니다.
xs : all : 자식 요소가 임의의 순서로 나타날 수 있음을 나타냅니다.
xs : 시퀀스 : 언급 된 순서 대로만 자식 요소가 표시됨을 나타냅니다.
xs : complexType : 다른 요소가 포함되어 있음을 나타냅니다.
xs : simpleType : 다른 요소를 포함하지 않음을 나타냅니다.
유형 :
문자열, 십진수, 정수, 부울, 날짜, 시간,
- 간단히 말해서 xsd는 특정 유형으로 XML 데이터를 표현하고 유효성을 검사하는 또 다른 방법입니다.
-
추가 속성의 도움으로 여러 작업을 수행 할 수 있습니다.
-
xsd에서 모든 작업을 수행하는 것은 xml보다 간단합니다.
답변
under tag를 사용하면 해당 complexType에서 선언 된 모든 요소가 XML 문서에서 동일한 순서로 나타나야 함을 나타냅니다. 그렇지 않으면 오류가 발생합니다. 적절한 순서로 요소를 지정할 필요가 없기 때문입니다.
답변
