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의 첫 번째 줄은 처리 명령이어야 하며, " 사이에는 공백이 있어서는 안 됩니다. xml", xml 요소는 엄격합니다. 대소문자를 구분합니다 . 문서 인코딩 형식은 기본적으로 "UTF-8"이며 버전은 1.0입니다. 위의 xml 문서는 유효한(Vaild) xml 문서가 아닌 잘 구성된 xml 문서라고 할 수 있습니다. 아래에서는 두 가지 방법을 사용하여 이를 확인합니다.
먼저 DTD를 통해 검증
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE 学生名册 [ <!ELEMENT 学生名册 (学生+)> <!ELEMENT 学生 (名字,性别,年龄)> <!ELEMENT 名字 (#PCDATA)> <!ELEMENT 性别 (#PCDATA)> <!ELEMENT 年龄 (#PCDATA)> <!ATTLIST 学生 学号 ID #REQUIRED> <!ENTITY sex "男"> ]> <学生名册> <学生 学号="A1"> <名字>CIACs</名字> <性别>&sex;</性别> <年龄>22</年龄> </学生> <学生 学号="A2"> <名字>zhihao</名字> <性别>&sex;</性别> <年龄>23</年龄> </学生> </学生名册>
검증에 성공하면 XMLSpy 출력 창에 다음과 같은 결과가 표시됩니다
그렇지 않으면, 한 칸 더 있어도 검증을 통과하지 못합니다. 여기서는 DTD 확인을 XML로 작성합니다. 물론 다른 파일에 작성할 수도 있습니다. 파일의 접미사는 ".dtd"이며 이를 확인하려는 XML 문서와 연결합니다.
1 DOCTYPE 루트 요소 이름 SYSTEM "*.dtd">
여기의 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 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>
1 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="学生名册.xsd"
위 문서는 모두 같은 경로에 있으므로 파일명을 직접 인용하시면 됩니다.
위의 두 가지 확인 방법에서 DTD와 XML 스키마 확인의 차이점을 명확하게 알 수 있습니다. 둘 다 XML 스키마는 DTD보다 더 강력한 기능을 제공합니다. >더 세분화된 데이터 유형
나중에 웹 서비스 프로그래밍을 배우려면 XML과 그 검증 방법을 잘 배우는 것이 매우 중요합니다.
위 내용은 XML DTD 및 XML 스키마 샘플 코드(그림 및 텍스트)에 대한 자세한 소개의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!