A detailed introduction to XML processing of whitespace in code

黄舟
Release: 2017-03-10 19:40:33
Original
2059 people have browsed it

This article mainly introduces XML's processing of whitespace in the code. The article introduces the distinction between valid whitespace and invalid whitespace in XML writing. Friends in need can refer to the following

1. In the XML specification , whitespace includes spaces, tabs and blank lines. When editing XML documents, we often use whitespace to separate tags to obtain better readability. However, in interactive blank documents, these whitespaces are not needed, but sometimes they need to be retained. For example, whitespace in poetry and program code,
2. The XML processor always passes all characters in the document that are not tags to the application. An XML processor that performs validation will notify the application that any of these characters Which of the elements make up the white space that appears in the element's content.
3. In XML documents, you can use a special attribute xml:space in an element to notify the application to retain the blank space in this element.
4. In a valid document, this attribute, like any other attribute, must be declared when used. Xml: The space attribute must be declared as an Enumerated type, and its value must be one of "default" and "preserve", or both.
For example:

<!ATTLIST poem xml:space (default preserve)’preserve’>
Copy after login

means to declare the xml:space attribute on the poem element. Its type is an enumeration type and can take the values ​​"default" and "preserve", and this The default value of the attribute is preserve'

<!ATTLIST pre xml:space (preserve)#FIXED ‘preserve’>
Copy after login

, which means that the xml:space attribute is declared on the element pre. The type is also an enumeration type, but it has only one value "preserve", and uses The FIXED keyword declares this attribute by default. Declaring that it has an implicit default value of "default" indicates to use the application's default whitespace handling mode for this element, and "preserve" instructs the application to preserve all whitespace.
5. If an element uses the xml:space attribute, it will apply to all elements in the content of the element unless overridden by another instance of the xml:space attribute.

XML documents contain two types of whitespace (a) valid whitespace and (b) invalid whitespace. The following examples explain these two types of whitespace.

Valid whitespace
Valid whitespace usually occurs when an element contains both text and markup. For example:

<name>TanmayPatil</name>
Copy after login

and

<name>Tanmay Patil</name>
Copy after login

The two elements above are different because the space between Tanmay and Patil is different. Any program that reads such elements in an XML file must maintain their distinction.

Invalid whitespace
Invalid whitespace means that it is only allowed within the element content. For example:

<address.categoryaddress.category="residence">
Copy after login

or

<address....categoryaddress....category="..residence">
Copy after login

The above two examples are the same. Here, we use the period (.) to indicate white space. In the above example, the space between address and category is invalid.

We also attach a special attribute xml:space to the element. This means that the element's whitespace should not be removed by the application. We can set this attribute to default or preserve. As shown in the following example:

<!ATTLIST address xml:space (default|preserve) &#39;preserve&#39;>
Copy after login

Here:

The value default indicates that this element can accept the application's default whitespace handling mode.
The value preserve indicates that the application will protect all whitespace.

The above is the detailed content of A detailed introduction to XML processing of whitespace in code. For more information, please follow other related articles on the PHP Chinese website!

Related labels:
source:php.cn
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
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template
About us Disclaimer Sitemap
php.cn:Public welfare online PHP training,Help PHP learners grow quickly!