XML 스키마는 DTD(DTD 구문 개요)와 동일하며 XML 문서 유형을 제한하며 해당 구조, 요소, 속성을 결정합니다. 및 데이터 유형. 그리고 XML 문서에서 사용되는 요소, 엔터티, 요소의 속성, 요소와 엔터티 간의 관계에 대한 제약 조건입니다. XML 스키마는 Microsoft에서 처음 제안되었으며 W3C에서 표준으로 채택되었습니다. DTD와 달리 XML 스키마 파일은 XML 구문을 사용합니다. 디자인 목적은 DTD와 유사하지만 기능 및 확장성 측면에서 DTD를 능가합니다. 이들 간의 몇 가지 차이점에 대해 이야기해 보겠습니다.
1. XML 스키마는 고유한 구문을 갖는 DTD와 달리 XML 문서입니다. 개발자의 경우 올바른 형식의 XML 문서를 작성하기 위해 두 구문을 모두 알 필요는 없습니다. XML 파서 개발의 경우 XML 스키마도 XML 구문이므로 구현 및 지원이 더 편리합니다. 동시에 XML 스키마는 XML의 확장 가능한 이점을 상속합니다.
2. 데이터 유형을 정의합니다. DTD 파일에서 데이터는 문자열 유형 또는 PCDATA, CDATA, ID 등과 같은 문자열 유형의 하위 요소로만 선언될 수 있습니다. XML 스키마에서는 정수, 부동 소수점 유형, 부울 유형, 날짜 유형 등 프로그래밍 언어와 동일한 풍부한 데이터 유형을 정의할 수 있습니다. 이것의 장점은 정수 데이터를 사용하는 프로그램을 작성할 때 DTD로 정의하면 문자형에서 정수형으로 변환해야 하며 XML Schema는 다음과 같이 직접 정의할 수 있습니다. 정수 유형.
3. XML 스키마는 개방형 모델입니다. 예를 들어 다음 XML 문서의 경우:
<item> <name>TG/DTLatte</name> <quantity>1</quantity> <price>2.00</price> </item>
다음은 해당 DTD 및 스키마 설명입니다.
DTD:
<!ELEMENT name (#PCDATA)> <!ELEMENT quantity (#PCDATA)> <!ELEMENT price (#PCDATA)> <!ELEMENT item (name,quantity,price)>
schema
<ElementType name="name"/> <ElementType name="quantity" dt:type="int"/>> <ElementType name="price" dt:type="fixed.14.4"/> <ElementType name="item" model="open"> <element type="name"/> <element type="quantity"/> <element type="price"/> </ElementType>
위의 경우 XML 문서에
<item xmlns:myItm="urn:myItems"> <name>TG/DT Latte</name> <quantity>1</quantity> <price>2.00</price> <myItem:time>10:21 PDT</myItem:time> </item>
위의 DTD는 유효성 검사 오류를 일으키지만 스키마는 그렇지 않습니다.
4. 네임스페이스 통합. XML 문서는 하나의 DTD 문서로만 설명할 수 있지만 여러 XML 스키마 문서로는 설명할 수 있습니다. 후자는 네임스페이스를 완벽하게 지원합니다.
위 내용은 XML 스키마에 대한 간략한 소개의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!