XML 스키마의 간단한 예

黄舟
풀어 주다: 2017-03-28 16:26:01
원래의
1663명이 탐색했습니다.

DTD의 구문이 상당히 복잡하고 XML 파일의 표준을 따르지 않고 자체 시스템을 형성하고 있음을 알 수 있습니다. 즉, DTD 문서 자체는 잘 구성된 XML 문서가 아닙니다. 위의 DTD 소개는 단지 소개일 뿐입니다. 이는 모든 사람이 DTD 파일을 이해하고 필요할 때 간단한 DTD를 만들 수 있도록 돕는 것입니다. 현재 많은 XML 응용프로그램이 DTD를 기반으로 구축되어 있기 때문입니다.
DTD의 또 다른 대안은 W3C에서 정의한 스키마입니다. 스키마는 문자 그대로 패턴, 개요, 계획, 계획 등으로 번역될 수 있습니다. 기본 의미는 XML 문서의 스키마를 개발하는 것입니다.

DTD에 비해 스키마의 확실한 장점은 DTD와 같은 자체 포함 구문을 사용하는 대신 XML 스키마 문서 자체도 XML 문서라는 것입니다. 이는 스키마 전용 도구를 특별히 사용하지 않고도 동일한 도구를 사용하여 XML 스키마 및 기타 XML 정보를 처리할 수 있기 때문에 사용자와 개발자에게 편리합니다. 스키마는 간단하고 이해하기 쉬우며 XML 구문과 규칙을 이해하는 사람이라면 누구나 즉시 이해할 수 있습니다. 스키마(Schema)라는 개념은 오래전부터 제안되어 왔지만 W3C 표준은 최근에야 나왔고, 해당 애플리케이션 지원도 아직 완성되지 않았습니다. 그러나 XML 개발에서는 스키마를 채택하는 것이 하나의 추세가 되었습니다.

먼저 Schema의 문법 구조를 배우기 위해 가장 간단한 예부터 시작해 보겠습니다.

예를 들어 간단한 XML 문서는 다음과 같습니다.

<书本>
  <名称>天涯明月刀
  <作者>古龙
로그인 후 복사

DTD 형식으로 정의됩니다. XML 문서 구조는 다음과 같습니다.

<!ELEMENT 书本 (名称, 作者)>
  <!ELEMENT 名称 (#PCDATA)>
  <!ELEMENT 作者 (#PCDATA)>
로그인 후 복사

그렇다면 이를 Schema 형식으로 정의하려면 어떻게 해야 할까요? 아래 코드를 보세요:

  <element name=&#39;书本&#39; type=&#39;书本类型&#39;/>
  <complexType name=&#39;书本类型&#39;>
  <element name=&#39;名称&#39; type=&#39;string&#39;/>
  <element name=&#39;作者&#39; type=&#39;string&#39;/>
  </complexType>
로그인 후 복사

한 가지 주목할 점은 Schema에서는 요소 정의와 요소 관계 정의를 통해 전체 문서의 성격과 내용에 대한 정의도 이루어진다는 것입니다. 동시에, 스키마에서 요소는 이름과 콘텐츠모델에 의해 결정됩니다. 이름은 누구나 이해할 수 있는 요소의 이름이며 콘텐츠 모델은 실제로 이를 나타냅니다. 요소 유형. C++에서와 마찬가지로 변수를 임의로 정의할 수 있지만 변수의 유형을 정의해야 합니다. 변수(예: C++에서 내부적으로 지정된 유형, bool, int, double, char 등) 또는 매우 복잡한 유형(예: 구조체 또는 class)일 수도 있습니다. 스키마에서 유형(type)은 두 가지 형태로 나눌 수 있는데, 하나는 단순(simple)이라고 하는 매우 단순한 유형이고, 다른 하나는 복합(complex)이라고 하는 복합 유형입니다. 단순 유형은 요소와 속성을 포함할 수 없습니다(스키마와 DTD에는 동일한 요소와 속성이 있음). 복합 유형은 속성을 포함할 수 있을 뿐만 아니라 그 안에 다른 요소가 중첩되거나 다른 요소의 속성과 연관될 수도 있습니다.

위 내용은 XML 스키마의 간단한 예의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿