Home  >  Article  >  Backend Development  >  The difference between DTD and XSD in XML and their application details

The difference between DTD and XSD in XML and their application details

黄舟
黄舟Original
2017-05-07 14:01:132050browse

1.DTD (Documnet Type Definition)
DTD is document type definition. It is an XML constraint pattern language. It is the verification mechanism of XML files and belongs to XML files. part of the composition.
DTD is an effective method to ensure that the XML document is in the correct format. You can compare the XML document and the DTD file to see whether the document conforms to the specification and whether the elements and tags are used correctly.
A DTD document contains:
definition rules for elements, definition rules for relationships between elements, attributes that can be used by elements, and rules for entities or symbols that can be used. DTD compared to XSD: DTD is written using non-XML syntax. DTD is not extensible, does not support namespaces, and only provides very limited data types.

There is no in-depth understanding of the differences between 1.0 and 2.0

<!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN //EN" 
"http://www.springframework.org/dtd/spring-beans.dtd">
<!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN 2.0//EN"
"http://www.springframework.org/dtd/spring-beans-2.0.dtd">

2.XSD (XML Schemas Definition)
XML Schema language is XSD. XML Schema describes the structure of an XML document. You can use a specified XML Schema to validate an XML document to check whether the XML document meets its requirements. Document designers can specify the allowed structure and content of an XML document through XML Schema, and can check whether an XML document is valid based on this. XML Schema itself is an XML document, which conforms to the XML syntax structure. It can be parsed with a common XML parser. An XML Schema will define: elements that appear in the document, attributes that appear in the document, sub-elements, the number of sub-elements, the order of sub-elements, whether the element is empty, the data type of elements and attributes, the default and fixed elements or attributes value.

The reasons why XSD is a replacement for DTD are: first, it is extensible according to future conditions; second, it is richer and more useful than DTD; third, it is written in XML; fourth, it supports data types; and fifth, it supports namespaces.

Advantages of XML Schema:
1) XML Schema is based on XML and has no special syntax
2) XML Schema can be parsed and processed like other XML files
3) XML Schema is better than DTD Provides richer data types.
4) XML Schema provides scalable datamodel.
5) XML Schema supports comprehensive namespace
6) XML Schema supports attribute groups.

<beans xmlns="http://www.springframework.org/schema/beans"  
        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"   
    xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-2.5.xsd>

I used DTD here, see the blog for details

The above is the detailed content of The difference between DTD and XSD in XML and their application details. For more information, please follow other related articles on the PHP Chinese website!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn