>  기사  >  백엔드 개발  >  XML DTD 및 XML 스키마 샘플 코드(그림 및 텍스트)에 대한 자세한 소개

XML DTD 및 XML 스키마 샘플 코드(그림 및 텍스트)에 대한 자세한 소개

黄舟
黄舟원래의
2017-03-22 16:55:421301검색

 XML(eXtensible Markup Language) 확장 가능한 마크업 언어입니다. xml은 웹 서비스 프로그래밍에서 특히 중요합니다. 네트워크 전송에서 데이터를 전송하는 캐리어로 사용할 수 있습니다. xml은 메타언어로서 데이터를 표시하고 데이터 유형을 정의하는 데 사용할 수 있습니다. 사용자가 자신의 마크업 언어를 정의할 수 있는 메타언어입니다. 이는 네트워크 전송에 이상적으로 적합하며 애플리케이션이나 공급업체에 관계없이 구조화된 데이터를 설명하고 교환하는 통합된 접근 방식을 제공합니다. 이기종 언어와 이기종 플랫폼 간의 상호작용을 실현할 수 있습니다. XML 문서 정의 방법에는 DTD(문서 유형 정의) 및 XML 스키마가 포함됩니다. DTD(문서 유형 정의)는 문서의 전체 구조와 문서의 구문을 정의합니다(이해를 위해 아래에 해당 예가 있음). 널리 사용되며 풍부한 도구 지원을 제공합니다. XML 스키마는 더욱 강력하며 관리 정보와 같은 더욱 강력하고 풍부한 기능을 정의하는 데 사용됩니다. XML은 보다 세분화된 방식으로 콘텐츠를 선언하고 제약 조건을 정의하며 여러 플랫폼에서 보다 의미 있는 콘텐츠 전송을 촉진할 수 있습니다. 구조화된 데이터를 설명하기 위한 형식을 제공하고, 네트워크에서의 데이터 교환 및 표현을 단순화하며, 코드, 데이터 및 표현을 분리하고, 데이터 교환을 위한 표준 형식으로 사용되므로 지능형 데이터 문서라고도 합니다. DTD는 삽에 비유될 수 있는 반면, XML 스키마는 굴착기라고 할 수 있어 더욱 강력합니다. XML을 마크업 언어라고 부르기는 하지만 형식이 더 엄격하고 태그를 닫아야 하며 표시와 내용이 분리된다는 점에서 HTML(Hypertext Markup Language)과 다릅니다. XML은 문서의 내용과 의미를 설명하는 방식이 아닙니다. 문서가 표시되어야 합니다. HTML은 고정된 태그가 있고 표시와 내용이 함께 있어 자체 태그를 만들 수 없는 반면, XML은 확장 가능하고 내용과 표시가 분리되어 있으며 각 요소가 쌍으로 나타나며 XML 요소의 시작과 끝이 포함됩니다. 중첩 관계는 올바르게 유지되어야 합니다(중첩에서 나중에 시작하는 태그는 먼저 끝나야 하고, 먼저 시작하는 태그는 마지막에 끝나야 합니다). 각 XML 문서에는 루트 요소(루트 요소)가 하나만 있고 루트 요소가 있습니다. 다른 모든 요소를 ​​포함합니다. XML 구문을 준수하는 XML 문서는 DTD 또는 XML 스키마로 확인되지 않은 경우 Well-formed라고 합니다. Well-formed XML 문서가 DTD 또는 XML Schema로 확인되면 이러한 종류의 XML 문서를 유효하다고 합니다. (유효).

다음은 학생 명단의 xml을 예시로 보여줍니다

<?xml version="1.0" encoding="utf-8"?>
<学生名册>
    <学生 学号="A1">
        <姓名>CIACs</姓名>
        <性别>男</性别>
        <年龄>22</年龄>
    </学生>

    <学生 学号="A2">
        <姓名>zhihao</姓名>
        <性别>男</性别>
        <年龄>23</年龄>
    </学生>
</学生名册>

잘 구성된 xml 문서, XMLSpy의 출력 창에는 다음과 같은 결과가 출력됩니다

xml의 첫 번째 줄은 dc55d8f1b8d0d15e8e0c4fca7640a4b5 처리 명령이어야 하며, "864f1e984fe999532245f922449a8d1e

여기의 ID 값은 숫자로 시작하는 것 같습니다.

학생 정보의 성별은 엔터티로 정의한 후 엔터티를 통해 해당 값을 참조합니다. 엔터티 참조 구문은 "&엔터티 이름; ".

다음은 XML Schema 방식을 검증하는 데 사용됩니다

검증할 xml 문서

<?xml version="1.0" encoding="utf-8"?>
<学生名册 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="学生名册.xsd">
    <学生 学号="A1">
        <姓名>CIACs</姓名>
        <性别>男</性别>
        <年龄>22</年龄>
    </学生>

    <学生 学号="A2">
        <姓名>zhihao</姓名>
        <性别>男</性别>
        <年龄>23</年龄>
    </学生>
</学生名册>

XML Schema 검증 문서

<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" attributeFormDefault="unqualified">
    <xs:element name="学生名册">
        <xs:complexType>
            <xs:sequence minOccurs="1" maxOccurs="unbounded">
                <xs:element ref="学生"/>
            </xs:sequence>
        </xs:complexType>
    </xs:element>
    <xs:element name="学生">
        <xs:complexType>
            <xs:sequence>
                <xs:element name="姓名" type="xs:string"/>
                <xs:element name="性别">
                    <xs:simpleType>
                        <xs:restriction base="xs:string">
                            <xs:enumeration value="男"/>
                            <xs:enumeration value="女"/>
                        </xs:restriction>
                    </xs:simpleType>
                </xs:element>
                <xs:element name="年龄">
                    <xs:simpleType>
                        <xs:restriction base="xs:integer">
                            <xs:minExclusive value="0"/>
                            <xs:maxExclusive value="120"/>
                        </xs:restriction>
                    </xs:simpleType>
                </xs:element>
            </xs:sequence>
            <xs:attribute name="学号" type="xs:string" use="required"/>
        </xs:complexType>
    </xs:element>
</xs:schema>

의 출력 결과 XMLSpy 출력 창

확인할 xml 문서는 루트 요소 시작 태그
 1 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="学生名册.xsd"

위 문서는 모두 같은 경로에 있으므로 파일명을 직접 인용하시면 됩니다.


위의 두 가지 확인 방법에서 DTD와 XML 스키마 확인의 차이점을 명확하게 알 수 있습니다. 둘 다 XML 스키마는 DTD보다 더 강력한 기능을 제공합니다. >더 세분화된 데이터 유형

, 스키마는 데이터 유형을 사용자 정의할 수도 있습니다. xml 파일이지만 dtd의 구문은 xml의 구문과 다릅니다. 스키마는 코드 크기 측면에서 DTD보다 크지만 일단 스키마를 배우면 스키마를 사용하는 것이 더 좋습니다.

나중에 웹 서비스 프로그래밍을 배우려면 XML과 그 검증 방법을 잘 배우는 것이 매우 중요합니다.

위 내용은 XML DTD 및 XML 스키마 샘플 코드(그림 및 텍스트)에 대한 자세한 소개의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.