search
HomeBackend DevelopmentXML/RSS TutorialCrazy 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).

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 (www.php.cn) for more related content!

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
RSS in XML: Unveiling the Core of Content SyndicationRSS in XML: Unveiling the Core of Content SyndicationApr 22, 2025 am 12:08 AM

The implementation of RSS in XML is to organize content through a structured XML format. 1) RSS uses XML as the data exchange format, including elements such as channel information and project list. 2) When generating RSS files, content must be organized according to specifications and published to the server for subscription. 3) RSS files can be subscribed through a reader or plug-in to automatically update the content.

Beyond the Basics: Advanced RSS Document FeaturesBeyond the Basics: Advanced RSS Document FeaturesApr 21, 2025 am 12:03 AM

Advanced features of RSS include content namespaces, extension modules, and conditional subscriptions. 1) Content namespace extends RSS functionality, 2) Extended modules such as DublinCore or iTunes to add metadata, 3) Conditional subscription filters entries based on specific conditions. These functions are implemented by adding XML elements and attributes to improve information acquisition efficiency.

The XML Backbone: How RSS Feeds are StructuredThe XML Backbone: How RSS Feeds are StructuredApr 20, 2025 am 12:02 AM

RSSfeedsuseXMLtostructurecontentupdates.1)XMLprovidesahierarchicalstructurefordata.2)Theelementdefinesthefeed'sidentityandcontainselements.3)elementsrepresentindividualcontentpieces.4)RSSisextensible,allowingcustomelements.5)Bestpracticesincludeusing

RSS & XML: Understanding the Dynamic Duo of Web ContentRSS & XML: Understanding the Dynamic Duo of Web ContentApr 19, 2025 am 12:03 AM

RSS and XML are tools for web content management. RSS is used to publish and subscribe to content, and XML is used to store and transfer data. They work with content publishing, subscriptions, and update push. Examples of usage include RSS publishing blog posts and XML storing book information.

RSS Documents: The Foundation of Web SyndicationRSS Documents: The Foundation of Web SyndicationApr 18, 2025 am 12:04 AM

RSS documents are XML-based structured files used to publish and subscribe to frequently updated content. Its main functions include: 1) automated content updates, 2) content aggregation, and 3) improving browsing efficiency. Through RSSfeed, users can subscribe and get the latest information from different sources in a timely manner.

Decoding RSS: The XML Structure of Content FeedsDecoding RSS: The XML Structure of Content FeedsApr 17, 2025 am 12:09 AM

The XML structure of RSS includes: 1. XML declaration and RSS version, 2. Channel (Channel), 3. Item. These parts form the basis of RSS files, allowing users to obtain and process content information by parsing XML data.

How to Parse and Utilize XML-Based RSS FeedsHow to Parse and Utilize XML-Based RSS FeedsApr 16, 2025 am 12:05 AM

RSSfeedsuseXMLtosyndicatecontent;parsingtheminvolvesloadingXML,navigatingitsstructure,andextractingdata.Applicationsincludebuildingnewsaggregatorsandtrackingpodcastepisodes.

RSS Documents: How They Deliver Your Favorite ContentRSS Documents: How They Deliver Your Favorite ContentApr 15, 2025 am 12:01 AM

RSS documents work by publishing content updates through XML files, and users subscribe and receive notifications through RSS readers. 1. Content publisher creates and updates RSS documents. 2. The RSS reader regularly accesses and parses XML files. 3. Users browse and read updated content. Example of usage: Subscribe to TechCrunch's RSS feed, just copy the link to the RSS reader.

See all articles

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

SublimeText3 English version

SublimeText3 English version

Recommended: Win version, supports code prompts!

mPDF

mPDF

mPDF is a PHP library that can generate PDF files from UTF-8 encoded HTML. The original author, Ian Back, wrote mPDF to output PDF files "on the fly" from his website and handle different languages. It is slower than original scripts like HTML2FPDF and produces larger files when using Unicode fonts, but supports CSS styles etc. and has a lot of enhancements. Supports almost all languages, including RTL (Arabic and Hebrew) and CJK (Chinese, Japanese and Korean). Supports nested block-level elements (such as P, DIV),

SublimeText3 Mac version

SublimeText3 Mac version

God-level code editing software (SublimeText3)

MinGW - Minimalist GNU for Windows

MinGW - Minimalist GNU for Windows

This project is in the process of being migrated to osdn.net/projects/mingw, you can continue to follow us there. MinGW: A native Windows port of the GNU Compiler Collection (GCC), freely distributable import libraries and header files for building native Windows applications; includes extensions to the MSVC runtime to support C99 functionality. All MinGW software can run on 64-bit Windows platforms.

Atom editor mac version download

Atom editor mac version download

The most popular open source editor