Table of Contents
Basic knowledge you should have" >Basic knowledge you should have
#What is XML Schema? " >#What is XML Schema?
XML Schema:" >XML Schema:
XML Schema protects data communication" >XML Schema protects data communication
XML Schema is extensible" >XML Schema is extensible
With extensible schema definitions, you can: " >With extensible schema definitions, you can:
Good form is not enough" >Good form is not enough
" >DTD file
" >XML Schema
Home Backend Development XML/RSS Tutorial Crazy XML study notes (7) -----------XML Schema

Crazy XML study notes (7) -----------XML Schema

Feb 21, 2017 pm 02:34 PM


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).

Basic knowledge you should have

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 首页.

#What is XML Schema?

The role of XML Schema is to define the legal building blocks of XML documents, similar to DTD.

XML Schema:

  • 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 types

The most important capabilities of XML Schema One is support for data types.

Make it easier to describe allowed document content

# through support for data types:

  • ## makes it easier to verify the correctness of data
  • makes it easier to interact with data from a database Working together
  • makes it easier to define data facets
  • Make it easier to define data models (or data formats)
  • # Make it easier to convert data between different data types
  • Editor's note: Data constraints, or facets, are a term in the XML Schema prototype. They can be translated as "faces" in Chinese and are used to constrain the allowed values ​​of data types.

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:

    No need to learn a new language
  • You can use the XML editor to edit the Schema file
  • You can use the XML parser to parse the Schema file
  • Schema can be processed through XML DOM
  • Schema can be converted through XSLT
  • XML Schema protects data communication

    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: 2004-03-11, can ensure consistent content Understand, this is because the XML data type "date" requires the format "YYYY-MM-DD".

    XML Schema is extensible

    XML Schema is extensible because they are XML writing.

    With extensible schema definitions, you can:

    • Reuse your schema in other schemas

    • Create your own data types derived from standard types

    • In the same Documents referencing multiple Schemas

    Good form is not enough

    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.

    A simple XML document:

    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&#39;t forget the meeting!</body>
    </note>
    Copy after login

    DTD file

    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)>
    Copy after login

    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 Schema

    ##The following example is a file named "note.xsd" XML Schema file, which defines the elements of the above XML document:

    <?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>
    Copy after login

    note element is a composite type because it contains other child elements. Other elements (to, from, heading, body) are simple types because they contain no other elements. You'll learn more about compound and simple types in the following chapters.

    Reference to DTD

    This file contains a reference to the 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&#39;t forget the meeting!</body>
    </note>
    Copy after login

    Reference to XML Schema

    This file contains a reference to XML Schema:

    <?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&#39;t forget the meeting!</body>
    </note>
    Copy after login

    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!

Statement of this Website
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

Hot AI Tools

Undresser.AI Undress

Undresser.AI Undress

AI-powered app for creating realistic nude photos

AI Clothes Remover

AI Clothes Remover

Online AI tool for removing clothes from photos.

Undress AI Tool

Undress AI Tool

Undress images for free

Clothoff.io

Clothoff.io

AI clothes remover

Video Face Swap

Video Face Swap

Swap faces in any video effortlessly with our completely free AI face swap tool!

Hot Tools

Notepad++7.3.1

Notepad++7.3.1

Easy-to-use and free code editor

SublimeText3 Chinese version

SublimeText3 Chinese version

Chinese version, very easy to use

Zend Studio 13.0.1

Zend Studio 13.0.1

Powerful PHP integrated development environment

Dreamweaver CS6

Dreamweaver CS6

Visual web development tools

SublimeText3 Mac version

SublimeText3 Mac version

God-level code editing software (SublimeText3)

Can I open an XML file using PowerPoint? Can I open an XML file using PowerPoint? Feb 19, 2024 pm 09:06 PM

Can XML files be opened with PPT? XML, Extensible Markup Language (Extensible Markup Language), is a universal markup language that is widely used in data exchange and data storage. Compared with HTML, XML is more flexible and can define its own tags and data structures, making the storage and exchange of data more convenient and unified. PPT, or PowerPoint, is a software developed by Microsoft for creating presentations. It provides a comprehensive way of

Using Python to merge and deduplicate XML data Using Python to merge and deduplicate XML data Aug 07, 2023 am 11:33 AM

Using Python to merge and deduplicate XML data XML (eXtensibleMarkupLanguage) is a markup language used to store and transmit data. When processing XML data, sometimes we need to merge multiple XML files into one, or remove duplicate data. This article will introduce how to use Python to implement XML data merging and deduplication, and give corresponding code examples. 1. XML data merging When we have multiple XML files, we need to merge them

Convert XML data to CSV format in Python Convert XML data to CSV format in Python Aug 11, 2023 pm 07:41 PM

Convert XML data in Python to CSV format XML (ExtensibleMarkupLanguage) is an extensible markup language commonly used for data storage and transmission. CSV (CommaSeparatedValues) is a comma-delimited text file format commonly used for data import and export. When processing data, sometimes it is necessary to convert XML data to CSV format for easy analysis and processing. Python is a powerful

Filtering and sorting XML data using Python Filtering and sorting XML data using Python Aug 07, 2023 pm 04:17 PM

Implementing filtering and sorting of XML data using Python Introduction: XML is a commonly used data exchange format that stores data in the form of tags and attributes. When processing XML data, we often need to filter and sort the data. Python provides many useful tools and libraries to process XML data. This article will introduce how to use Python to filter and sort XML data. Reading the XML file Before we begin, we need to read the XML file. Python has many XML processing libraries,

Python implements conversion between XML and JSON Python implements conversion between XML and JSON Aug 07, 2023 pm 07:10 PM

Python implements conversion between XML and JSON Introduction: In the daily development process, we often need to convert data between different formats. XML and JSON are common data exchange formats. In Python, we can use various libraries to convert between XML and JSON. This article will introduce several commonly used methods, with code examples. 1. To convert XML to JSON in Python, we can use the xml.etree.ElementTree module

Handling errors and exceptions in XML using Python Handling errors and exceptions in XML using Python Aug 08, 2023 pm 12:25 PM

Handling Errors and Exceptions in XML Using Python XML is a commonly used data format used to store and represent structured data. When we use Python to process XML, sometimes we may encounter some errors and exceptions. In this article, I will introduce how to use Python to handle errors and exceptions in XML, and provide some sample code for reference. Use try-except statement to catch XML parsing errors When we use Python to parse XML, sometimes we may encounter some

Python parsing special characters and escape sequences in XML Python parsing special characters and escape sequences in XML Aug 08, 2023 pm 12:46 PM

Python parses special characters and escape sequences in XML XML (eXtensibleMarkupLanguage) is a commonly used data exchange format used to transfer and store data between different systems. When processing XML files, you often encounter situations that contain special characters and escape sequences, which may cause parsing errors or misinterpretation of the data. Therefore, when parsing XML files using Python, we need to understand how to handle these special characters and escape sequences. 1. Special characters and

How to handle XML and JSON data formats in C# development How to handle XML and JSON data formats in C# development Oct 09, 2023 pm 06:15 PM

How to handle XML and JSON data formats in C# development requires specific code examples. In modern software development, XML and JSON are two widely used data formats. XML (Extensible Markup Language) is a markup language used to store and transmit data, while JSON (JavaScript Object Notation) is a lightweight data exchange format. In C# development, we often need to process and operate XML and JSON data. This article will focus on how to use C# to process these two data formats, and attach

See all articles