xml_02_xml基础

喻聪      2022-02-15     713

关键词:

最基本的三个概念
XML语言-描述事物本身
XSL语言-展现事物表现形式
DTD(Schema)-定义XML语言的语法

XML基本概念

XML(eXtensible Markup Language,可扩展标记语言)是SGML(标准通用标记语言)针对特定应用领域的一个子集,是SGML的一种受限形式。XML描述了一类称为XML 文件的数据对象,同时也部分地描述了处理这些数据对象的计算机程序的动作。XML是W3C的推荐标准之一,目前广泛使用的是XML 1.0版,于1998年2月发布,2004年2月W3C发布了XML 1.1版

XML设计目标

XML应该可以直接用于因特网(Internet)。
XML应该支持大量不同的应用。
XML应该与SGML兼容。
处理XML文件的程序应该容易编写。
XML中的可选项应无条件地保持最少,理想状况下应该为0个。
XML文件应该是人可以直接阅读的,应该是条理清楚的。
XML的设计应快速完成。
XML的设计应该是形式化的,简洁的。
XML文件应易于创建。
XML标记的简洁性是最后考虑的目标。

XML文件的设计原则

1、尽量应用现有的标准DTD(schema)
省力、易于交换,应用现有软件
2、属性/子标签
属性里还有属性就用子标签
多行用子标签
出现过好多次,子标签
经常改变,子标签
比较重要的元素用子元素,说明性的或者辅助性的用属性
需要用DTA做严格检查的用子标签
应用最关键,细节上要尽量少花费精力,不必刻意追求每一步细节的尽善尽美

XML的特点

XML是元语言,可以创建其他语言
允许通过标记定制,标识、交换或处理数据,实现数据信息的规范化、多样化
基于文本格式,便于创建、处理XML文件
具有层次化、结构化特征,易于数据结构的描述

XML的应用

设计XML的目的不是展示数据,而是存储和交换数据
XML文档按结构方式可分为:
    叙述型文档:用于表达语义
    数据记录型文档:用于数据传递
用于表达语义的XML文档 常用于电子出版,如新闻、论文等。 结构复杂、层次嵌套
作为数据载体,可描述为数据表结构 一般结构较简单,层次分明
用作应用程序的配置文件,如面向对象中对象的持久化
用于异构系统间的数据交换,如DOM、XSLT等

XML语法概要

格式良好(well-formed)的XML文档:
元素和属性的命名要规范,要区分大小写
每个XML文档有且仅有一个根元素
每个XML元素必须有开始标签和结束标签(或为空元素)
元素之间不允许交叉嵌套
所有属性都必须有属性值(可以为空串)
在文本、属性值中不允许出现 “<”、“>”和“&”符号
XML文档结构通常从XML声明开始
通过XML元素来组织数据
为了使数据更加清晰并且具有自身的格式可以引入CDATA区数据块
可以在文档中加入注释
如果需要给XML处理程序提供一些信息,可以包含处理指示

标签的命名

以字母、下划线或汉字开头,不能有空格
区分大小写
不能以任何形式的“xml”3个字母开头

标签的含义

结构表达:xml文档的结构描述
结构相同:
<公司><职员 姓名=“张三”/></公司>
<班级><学生 姓名=“张三”/></班级>
语义表达:领域描述
同一“术语”在不同语境下表达不同语义
样式表达:呈现方式描述
常通过样式表CSS表达

元素element和属性attribute

元素标记:起始标签+数据+结束标签
<CPU>Intel酷睿2</CPU>
<分区><名称>C</名称></分区>
<分区><名称>C</名称>盘为系统盘</分区>
<nil></nil>
属性
<CPU 工作频率=“3.0GHz”>Intel酷睿2</CPU>
空元素
<CPU 厂商=“Intel” 工作频率=“3.0GHz” />
<nil/>

名称空间namespace

XML中引入名称空间以解决不同信息域的命名冲突问题
名称空间的声明:
xmlns:名称空间前缀=“URI”
默认名称空间:xmlns=“URI”
URI的表示形式
http://127.0.01/myns
myurn:myns,如xmlns:it=“myurn:it”

文本和分文本数据

文本数据
<文本>可以使用中文或英文符号</文本>
字符引用
<符号>可用字符引用表示:&lt;、&gt;和&amp; </符号>
CDATA段所有的标记、实体引用都被忽略,而被XML处理程序一视同仁地当做字符数据看待

空白

空白是指空格、制表符、回车换行符
空白不能出现在
  <?xml声明之前
  元素的起始标签的<和元素标签之间
XML内容中的连续空白常被当作一个换行或空格处理,标签间的空白常被剔出或规范化
如果内容中的空白是重要的,可以为该元素添加“xml:space”属性(或使用CDATA段)

注意事项

1、首行为XML声明
2、可以链接相应XSL
3、注释为<!---->和HTML里一样
4、属性必须包引号
5、<![CDATA[```]]>CDATA区用来表示格式数据,例如C++代码等,十分的方便。(区中不能出现"]]>"标志,需要用]]&gt;替代)
6、空格
<name>jgoeirhgoe</name>
<name>  jgoeirhgoe  </name>
空白默认不会被保留,包括space,tab,CR(MAC)LF(UNIX)CR/LF(Microsoft)
<poem xml:space="preserve">
       ajal
    gajgafj
  jgoejgor
</poem>
不推荐,推荐用CDATA区
7、<?.......?>PI Process Instruction 处理指示
<?xml-stylesheet href="typical.xsl" type="text/xsl"?>
<?xml-stylesheet href="typical.css" type="text/css"?>
XML声明不是PI,传递给下游程序
8、namespace命名空间,指明标签是来自哪个DTD或者Schema
9、特殊字符 > &gt < &lt; & &amp; " &quot ‘ &apos;
20、编码
Unicode世界上所有文字的编码utf-16 utf-8

python---基础知识回顾(模块sys,os,random,hashlib,re,json,xml,shutil,configparser,logging,datetime,time,集合,(代码

前提:dir,__all__,help,__doc__,__file__dir:可以用来查看模块中的所有特性(函数,类,变量等)>>>importcopy>>>dir(copy)[‘Error‘,‘PyStringMap‘,‘_EmptyClass‘,‘__all__‘,‘__builtins__‘,‘__cached__‘,‘__doc__‘,‘__file_ 查看详情

xml_解析_解析方式和xml_常见的解析器

xml_解析_解析方式解析:操作xml文档,将文档中的数据读取到内存中操作xml文档1.解析(读取):将文档中的数据读取到内存中2.写入:将内存中的数据保存到xml文档中。持久化的存储解析xml的方式:1.DOM:将标记语言文档一次性加... 查看详情

org.scala-xml _2.12.4 ;1.0.6 未找到

】org.scala-xml_2.12.4;1.0.6未找到【英文标题】:org.scala-xml_2.12.4;1.0.6notfound【发布时间】:2018-08-1513:22:02【问题描述】:我在尝试编译sbt项目时收到“UnresolvedDependencies”警告和“org.scala-lang.modules#scala-xml_2.12.4;1.0.6:”未找到.有谁知道... 查看详情

ssm_基础配置(代码片段)

ssm_web.xml配置ViewCodessm_config.xml配置1<?xmlversion="1.0"encoding="UTF-8"?>2<beansxmlns="http://www.springframework.org/schema/beans"3xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"4xmln 查看详情

自动化__持续集成___java___xml__dom添

一、代码如下packagecom.wujianbo.five;importjava.io.File;importjava.security.cert.TrustAnchor;importjavax.xml.parsers.DocumentBuilder;importjavax.xml.parsers.DocumentBuilderFactory;importjavax.xml.transform. 查看详情

自动化__持续集成___java___xml___dom读

一、代码如下packagecom.wujianbo.five;importjavax.sound.midi.Sequence;importjavax.xml.bind.Element;importjavax.xml.parsers.DocumentBuilder;importjavax.xml.parsers.DocumentBuilderFactory;importorg.w3c.dom.Doc 查看详情

04_xml_03_xmldtd约束与校验

【什么是XML约束】在XML技术里,可以编写一个文档来约束一个XML文档的书写规范,称之为XML约束。常见的XML约束技术有:XMLDTD和XMLSchemaDTD(DocumentTypeDefinition):文档类型定义【DTD简单案例】 【book.dtd】注意:DTD文件应该使用... 查看详情

java示例代码_使用xml模式验证xml

java示例代码_使用xml模式验证xml 查看详情

spring_总结_03_装配bean之xml配置(代码片段)

...置上一节说到,当需要显示配置时,首选类型安全并且比XML更强大Java配置。那什么时候使用XML配置呢?(1)维护已有XML配置(2)想使用便利的XML命名空间,并且在JavaConfig中没有同样的实现。 二、引入schema<?xmlversion="1.0"en... 查看详情

hibernate_04_hbm.xml介绍

先贴上类文件Students.hbm.xml1<?xmlversion="1.0"?>2<!DOCTYPEhibernate-mappingPUBLIC"-//Hibernate/HibernateMappingDTD3.0//EN"3"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">4<!--G 查看详情

actionscriptxml加载(类)

__xml=newXML();__xml.ignoreWhite=true;__xml.onLoad=Delegate.create(this,onXMLLoad);__xml.load(__xmlPath); 查看详情

我的学习之路_第十六章_xml

【XML】可扩展的标记语言作用:存放数据、配置文件【XML的语法】xml的文件扩展名必须为:xmlxml的内容必须满足以下要求:1.固定的文档声明 2.合格的元素和属性 3.正确的注释 4.符合要求的特殊字符编写规则●文档声明(<?xmlversion="1... 查看详情

01_xml

一、XML概述 1、XML可扩展标记语言 2、XML被设计的宗旨是描述数据 3、遵循的是W3C组织于2000年发布的XML1.0规范 4、XML在企业开发中的主要应用场景:配置文件 二、XML的语法 1、声明:<?xmlversion="1.0"encoding="utf-8"?> 2、XML文档必须... 查看详情

xml学习_上篇

xml简介:XML指可扩展标记语言(eXtensible Markup Language)。XML被设计用来传输和存储数据。xml小示例:/*******************************************/<?xmlversion="1.0"encoding="UTF-8"?><note><to>Tove</to& 查看详情

[javaweb-xml]xml_解析_解析方式(代码片段)

解析:操作xml文档,将文档中的数据读取到内存中 *操作xml文档 1.解析(读取):将文档中的数据读取到内存中 2.写入:将内存中的数据保存到xml文档中。持久化的存储 *解析xml的方式: 1.DOM:将标记语言文... 查看详情

actionscript文档类xml加载模板

...egate;dynamicclassclasses.MainControllerextendsMovieClip{ privatevar__xml:XML; publicvarxmlPath:String="xml/settings.xml";  privatevar__tiles:Array=newArray(); /**----------------------------------------------------------- *Constructor *-------------------------... 查看详情

04_xml_04_xmldtd语法

...体定义 【1.元素定义】在DTD文档中使用ELEMENT声明一个XML元素,语法格式如下所示:<!ELEMENT 元素名称 元素类型>元素类型可以是元素内容、或类型1.若是元素内容,需要使用()括起来,如下:      ... 查看详情

java示例代码_解析XML文档

java示例代码_解析XML文档 查看详情