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>

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

    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>

    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>

    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>

    The above are the crazy XML study notes (7)-------- ---XML Schema content, please pay attention to the PHP Chinese website (m.sbmmt.com) 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

Undress AI Tool

Undress AI Tool

Undress images for free

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.

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

How do you parse and process HTML/XML in PHP? How do you parse and process HTML/XML in PHP? Feb 07, 2025 am 11:57 AM

This tutorial demonstrates how to efficiently process XML documents using PHP. XML (eXtensible Markup Language) is a versatile text-based markup language designed for both human readability and machine parsing. It's commonly used for data storage an

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

How to use PHP functions to process XML data? How to use PHP functions to process XML data? May 05, 2024 am 09:15 AM

Use PHPXML functions to process XML data: Parse XML data: simplexml_load_file() and simplexml_load_string() load XML files or strings. Access XML data: Use the properties and methods of the SimpleXML object to obtain element names, attribute values, and subelements. Modify XML data: add new elements and attributes using the addChild() and addAttribute() methods. Serialized XML data: The asXML() method converts a SimpleXML object into an XML string. Practical example: parse product feed XML, extract product information, transform and store it into a database.

PHP study notes: data structures and algorithms PHP study notes: data structures and algorithms Oct 09, 2023 pm 11:54 PM

PHP study notes: Overview of data structures and algorithms: Data structures and algorithms are two very important concepts in computer science. They are the key to solving problems and optimizing code performance. In PHP programming, we often need to use various data structures to store and operate data, and we also need to use algorithms to implement various functions. This article will introduce some commonly used data structures and algorithms, and provide corresponding PHP code examples. 1. Linear structure array (Array) Array is one of the most commonly used data structures and can be used to store ordered data.

Convert POJO to XML using Jackson library in Java? Convert POJO to XML using Jackson library in Java? Sep 18, 2023 pm 02:21 PM

Jackson is a Java-based library that is useful for converting Java objects to JSON and JSON to Java objects. JacksonAPI is faster than other APIs, requires less memory area, and is suitable for large objects. We use the writeValueAsString() method of the XmlMapper class to convert the POJO to XML format, and the corresponding POJO instance needs to be passed as a parameter to this method. Syntax publicStringwriteValueAsString(Objectvalue)throwsJsonProcessingExceptionExampleimp

C   and XML: Exploring the Relationship and Support C and XML: Exploring the Relationship and Support Apr 21, 2025 am 12:02 AM

C interacts with XML through third-party libraries (such as TinyXML, Pugixml, Xerces-C). 1) Use the library to parse XML files and convert them into C-processable data structures. 2) When generating XML, convert the C data structure to XML format. 3) In practical applications, XML is often used for configuration files and data exchange to improve development efficiency.

Introduction and usage of HTML/XML parser in PHP Introduction and usage of HTML/XML parser in PHP Sep 10, 2023 pm 08:49 PM

Introduction and usage of HTML/XML parser in PHP Introduction When developing web applications, you often need to process HTML or XML documents. As a popular server-side scripting language, PHP provides a powerful HTML/XML parser, making processing these documents easier and more efficient. This article will introduce commonly used HTML/XML parsers in PHP and their usage. HTML parser in PHP: DOMDocumentDOMDocument is a built-in class of PHP.

See all articles