Home > Article > Backend Development > Crazy XML study notes (7) -----------XML Schema
XML Schema is an XML-based replacement for DTD.
XML Schema describes the structure of an XML document.
The XML Schema language can also be referenced as XSD (XML Schema Definition).
Before you continue, You will need a basic understanding of:
HTML / XHTML
XML and XML namespaces
Basic understanding of DTD
If you want to first To learn about these projects, please visit these tutorials at 首页.
The role of XML Schema is to define the legal building blocks of XML documents, similar to DTD.
Define the elements that can appear in the document
Define the attributes that can appear in the document
Define which element is a child element
Define the order of sub-elements
Define the number of sub-elements
Define whether the element is empty, or whether it can contain text
Define the data type of elements and attributes
Define default and fixed values for elements and attributes
XML Schema is the successor of DTD
We believe that XML Schema will soon replace DTD in most web applications.
The reasons are as follows:
XML Schema can be extended for future needs
XML Schema is more complete and more powerful
##XML Schema is written based on XML
XML Schema supports data types
XML Schema supports namespaces
Why use XML Schema?
##XML Schema is more powerful than DTD.
XML Schema supports data typesMake it easier to describe allowed document content
XML Schema Using XML syntax
Another important feature about XML Schema is , they are written in XML.
Writing XML Schema from XML has many benefits:
When data is sent from the sender to the recipient, the main point is that both parties should know about the content the same "expected value".
With XML Schema, the sender can describe the data in a way that the recipient can understand.
A type of data, such as "03-11-2004", is interpreted as November 3rd in some countries, and as March 11th in other countries.
But an XML element with a data type, such as: 349a8bdc82a4be11e111653760fb49d72004-03-11fa78126cab04dbaa4bc5e7d79b5cd99e, can ensure consistent content Understand, this is because the XML data type "date" requires the format "YYYY-MM-DD".
XML Schema is extensible because they are XML writing.
Reuse your schema in other schemas
Create your own data types derived from standard types
In the same Documents referencing multiple Schemas
We call a document that conforms to XML syntax a well-formed XML document, such as:
It must start with an XML declaration
It must have a unique root element
##The opening tag must match the closing tag
Elements are case sensitive
All elements must be closed
All elements must be nested correctly
Entities must be used for special characters
Even if documents are in good form, there is no guarantee that they will not contain errors, and these errors can have serious consequences.
Consider the following scenario: You ordered 5 dozen laser printers, not 5 units. With XML Schema, most of these errors will be caught by your validation software.
How to use XML Schema
XML documents can reference DTD or XML Schema.
Please see this file named XML document of "note.xml":
<?xml version="1.0"?> <note> <to>George</to> <from>John</from> <heading>Reminder</heading> <body>Don't forget the meeting!</body> </note>
The following one The example is a DTD file named "note.dtd", which defines the elements of the XML document above:
<!ELEMENT note (to, from, heading, body)> <!ELEMENT to (#PCDATA)> <!ELEMENT from (#PCDATA)> <!ELEMENT heading (#PCDATA)> <!ELEMENT body (#PCDATA)>
Line 1 defines that the note element has four child elements: " to, from, heading, body".
Lines 2-5 define the type of to, from, heading, body elements as "#PCDATA".
<?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>
Reference to 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 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>
The above are the crazy XML study notes (7)-------- ---XML Schema content, please pay attention to the PHP Chinese website (www.php.cn) for more related content!