집 >백엔드 개발 >XML/RSS 튜토리얼 >미친 XML 연구 노트(7) -----------XML 스키마
XML 스키마는 XML 기반 DTD를 대체합니다.
XML 스키마는 XML 문서의 구조를 설명합니다.
XML Schema 언어는 XSD(XML Schema Definition)로도 참조할 수 있습니다.
계속하기 전, 다음에 대한 기본적인 이해가 있어야 합니다.
HTML / XHTML
XML 및 XML 네임스페이스
DTD에 대한 기본 이해
먼저 알아보려면 프로젝트를 보려면 홈페이지에서 이 튜토리얼을 방문하세요.
XML 스키마의 역할은 DTD와 유사하게 XML 문서의 법적 구성 요소를 정의하는 것입니다.
문서에 나타날 수 있는 요소 정의
문서에 나타날 수 있는 속성 정의
어떤 요소가 하위 요소인지 정의
하위 요소의 순서 정의
하위 요소의 개수 정의
요소가 비어 있는지 또는 텍스트를 포함할 수 있는지 정의
요소 및 속성의 데이터 유형을 정의
요소 및 속성에 대한 기본 및 고정 값 정의
XML 스키마는 DTD
우리는 XML 스키마가 곧 대부분의 웹 애플리케이션에서 DTD를 대체할 것이라고 믿습니다.
이유는 다음과 같습니다.
향후 필요에 따라 XML 스키마 확장 가능
더 완벽하고 강력한 XML 스키마
XML 스키마는 XML을 기반으로 작성됩니다
XML 스키마는 데이터 유형을 지원합니다
XML 스키마는 네임스페이스를 지원합니다
XML 스키마를 사용하는 이유는 무엇입니까?
XML 스키마는 DTD보다 강력합니다.
XML Schema의 가장 중요한 기능 하나 데이터 유형을 지원합니다.
을 사용하면 데이터의 정확성을 더 쉽게 확인할 수 있습니다.
을 사용하면 데이터베이스의 데이터와 더 쉽게 상호 작용할 수 있습니다.
데이터 측면 정의를 더 쉽게 만듭니다.
데이터 모델 정의를 더 쉽게 만듭니다( 또는 데이터 형식)
다른 데이터 유형 간의 데이터 변환을 더 쉽게 만듭니다
편집자 주: 데이터 제약조건 또는 패싯은 XML 스키마 프로토타입의 용어로 중국어로 "얼굴"로 번역될 수 있으며 데이터 유형의 허용되는 값을 제한하는 데 사용됩니다.
XML 스키마의 또 다른 중요한 기능은 XML로 작성됩니다.
새로운 언어를 배울 필요가 없습니다
XML 편집기를 사용하여 스키마 파일을 편집할 수 있습니다
XML 파서를 사용하여 다음을 수행할 수 있습니다. 스키마 파일 구문 분석
스키마는 XML DOM을 통해 처리할 수 있습니다.
스키마는 XSLT를 통해 변환됨
데이터가 발신자에서 수신자로 전송될 때 중요한 점은 양측 모두에 동일한 "기대 값"의 내용을 명확하게 이해합니다.
XML 스키마를 사용하면 송신자가 수신자가 이해할 수 있는 방식으로 데이터를 설명할 수 있습니다.
"03-11-2004"와 같은 데이터 유형은 일부 국가에서는 11월 3일로 해석되지만 다른 국가에서는 3월 11일로 해석됩니다.
그러나 349a8bdc82a4be11e111653760fb49d72004-03-11fa78126cab04dbaa4bc5e7d79b5cd99e와 같은 데이터 유형을 가진 XML 요소는 일관된 콘텐츠를 보장합니다. 이는 XML 데이터 유형 "date"에 "YYYY-MM-DD" 형식이 필요하기 때문입니다.
XML 스키마는 XML 작성이므로 확장 가능합니다.
다른 스키마에서 스키마 재사용
여러 스키마를 참조하는 동일한 문서에서 표준 유형
에서 파생된 고유한 데이터 유형 만들기
XML 선언으로 시작해야 합니다
고유한 루트 요소가 있어야 합니다
시작 태그는 종료 태그와 일치해야 합니다
요소는 대소문자를 구분합니다
모든 요소는 닫아야 합니다
모든 요소는 적절하게 중첩되어야 합니다
엔터티는 특수 문자에 사용해야 합니다
문서의 형식이 양호하더라도 오류가 없다는 보장은 없으며 이러한 오류는 심각한 결과를 초래할 수 있습니다.
다음 시나리오를 고려해 보세요. 5다스가 아닌 5다스의 레이저 프린터를 주문했습니다. XML 스키마를 사용하면 이러한 오류의 대부분이 유효성 검사 소프트웨어에 의해 포착됩니다.
XML 스키마 사용 방법
XML 문서는 DTD 또는 XML 스키마를 참조할 수 있습니다.
이 XML 문서를 참조하세요. "note.xml":
<?xml version="1.0"?> <note> <to>George</to> <from>John</from> <heading>Reminder</heading> <body>Don't forget the meeting!</body> </note>
다음 중 하나 예는 위 XML 문서의 요소를 정의하는 "note.dtd"라는 DTD 파일입니다.
<!ELEMENT note (to, from, heading, body)> <!ELEMENT to (#PCDATA)> <!ELEMENT from (#PCDATA)> <!ELEMENT heading (#PCDATA)> <!ELEMENT body (#PCDATA)>
1행은 note 요소에 4개의 하위 요소가 있음을 정의합니다. from, 제목, 본문".
2-5행에서는 to, from,heading,body 요소의 유형을 "#PCDATA"로 정의합니다.
다음 예는 "note.xsd"라는 파일입니다. 위 XML 문서의 요소를 정의하는 XML 스키마 파일:
<?xml version="1.0"?> <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" targetNamespace="http://www.w3school.com.cn" xmlns="http://www.w3school.com.cn" elementFormDefault="qualified"> <xs:element name="note"> <xs:complexType> <xs:sequence> <xs:element name="to" type="xs:string"/> <xs:element name="from" type="xs:string"/> <xs:element name="heading" type="xs:string"/> <xs:element name="body" type="xs:string"/> </xs:sequence> </xs:complexType> </xs:element> </xs:schema>
note 요소는 다른 하위 요소를 포함하므로 복합 유형입니다. 다른 요소(to, from,heading,body)는 다른 요소를 포함하지 않으므로 단순 유형입니다. 다음 장에서는 복합 유형과 단순 유형에 대해 자세히 알아봅니다.
이 파일에는 DTD에 대한 참조가 포함되어 있습니다.
<?xml version="1.0"?><!DOCTYPE note SYSTEM "http://www.w3school.com.cn/dtd/note.dtd"><note> <to>George</to> <from>John</from> <heading>Reminder</heading> <body>Don't forget the meeting!</body> </note>
이 파일에는 XML 스키마에 대한 참조가 포함되어 있습니다.
<?xml version="1.0"?> <note xmlns="http://www.w3school.com.cn" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://www.w3school.com.cn note.xsd"> <to>George</to> <from>John</from> <heading>Reminder</heading> <body>Don't forget the meeting!</body> </note>
위는 미친 XML 학습 노트입니다(7)--------- ---XML 스키마 내용, 더 많은 관련 내용을 보려면 PHP 중국어 웹사이트(www.php.cn)를 참고하세요!