standalone在XML里的作用
standalone在XML里的作用
今天在看用TdataSet生成的XML中第一行里有个standalone,不知道是什么意思,查了一下资料才知道它的作用,下面就把我了解的写下来。
standalone 用来表示该文件是否呼叫其它外部的文件。若值是 ”yes” 表示没有呼叫外部文件,若值是 ”no” 则表示有呼叫外部文件。默认值是 “yes”。
这里所指的外部文件其实就是查检XML是不是有效的约束文件,或是DTD或是Schema,那这两者又有什么区别呢?
尽管XML1.0提供了一种机制,即文档类型定义(DTD)来规范XML的格式规则。但是它天生存在一些缺点,比如,它采用了非XML的语法规则、不支持更多的数据类型、扩展性差等,为了克服这些缺点,XML Schema 出现了。W3C推荐在XML中使用XML Schema来代替DTD。
XML Schema(模式) 跟DTD一样,也用于定义 XML 文档的约束。但它与DTD明显不同的是,XML Schema遵循XML语法规则,更好地支持数据类型以及命名空间。W3C称:XML Schema is an XML based alternative to DTD。模式在单独的文件中定义,通常扩展名为 .xsd。每个模式定义都有一个根元素 schema,该元素属于名称空间。schema 元素可以包含可选的属性。
比如:
<xs:schema xmlns:xs=http://www.w3.org/2001/XMLSchema
elementFormDefault="qualified" attributeFormDefault="unqualified">
这表示模式中使用的元素来自名称空间。
XML 文件使用 schema 名称空间中的 schemaLocation 属性链接到对应的模式。使用 schemaLocation 属性必须定义 schema 名称空间。所有这些定义都出现在 XML 文档的根元素中。
语法如下:
<root_element schema_namespace_definition schema_location_definition>
下面是一个例子:
<Books xmlns:xs=" Books.xsd">
先来看看一个XML文件示例(message.xml),分别用DTD和XML Schema 描述这个文件,看看它们之间的区别:
1、使用DTD:
<?xml version="1.0" standalone="yes"?>
<!DOCTYPE message[
<!ELEMENT message (to,from,body)>
<!ELEMENT to (#PCDATA)>
<!ELEMENT from (#PCDATA)>
<!ELEMENT body (#PCDATA)>
]>
<message>
<to>rose</to>
<from>alex</from>
<body>Hi,My Girl!</body>
</message>
2、使用XML Schema :
message.xml:
<?xml version="1.0" standalone="no"? >
<message xmlns=http://www.example.com
xmlns:xsi=http://www.w3.org/2001/XMLSchema-instance
xsi:schemaLocation=" message.xsd">
<to>Rose</to>
<from>Alex</from>
<body>Hi,My Girl!</body>
</message>
message.xsd:
<?xml version="1.0"?>
<xs:schema xmlns:xs=http://www.w3.org/2001/XMLSchema
targetNamespace=http://www.example.com
xmlns="" elementFormDefault="qualified">
<xs:element name="message">
<xs:complexType>
<xs:sequence>
<xs:element name="to" type="xs:string"/>
<xs:element name="from" type="xs:string"/>
<xs:element name="body" type="xs:string"/>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:schema>
转自:http://www.houxue.com/news-34339/
standalone在XML里的作用相关推荐
- Maven - settings.xml里的offline节点的作用
场景 某天我在本地修改了某个子项目的代码,并进行了打包:mvn clean install -DskipTests,接着我运行父项目却发现自己刚刚的改动并没有生效,或者说,我刚刚打包好的子项目变回了打 ...
- android主要文件的作用是什么,androidmanifest.xml文件的作用是什么
androidmanifest.xml文件的作用:1.是每个android程序中必须的文件,它位于整个项目的根目录:2.配置程序运行所必要的组件,权限,以及一些相关信息:3.是整个应用的入口,所以有助 ...
- web.xml的contextConfigLocation作用及自动加载applicationContext.xml
web.xml的contextConfigLocation作用及自动加载applicationContext.xml 转自:http://blog.csdn.net/sapphire_aling/ar ...
- Java Spring Beans.xml里的Bean定义是如何被解析出来的
ClassPathXmlApplicationContext的构造函数里,一部分逻辑是给各个成员变量赋上初始值: 然后是执行refresh操作. 获取ConfigurableListableBeanF ...
- oracle xml中cdata,XML CDATA的作用
XML CDATA的作用 更新时间:2009年09月01日 00:52:36 作者: 当你用FLASH和xml结合做网站应用程序时,例如你做在我研究游戏排行榜中,当让人自由输入姓名时,人们可以输入 ...
- pom.xml里发布和下载包
1.下载包 在<project>标签中 <repositories><repository><id>nexus</id><url> ...
- web.xml里,classpath使用范围
比如说在web.xml里,配置spring监听. 在标签<param-value>里,classpath指向的配置文件路径应该是在config资源文件夹下的applicationConte ...
- android 重复申请权限,去除AndroidManifest.xml里重复申请的权限(uses-permission)
2017年的第一篇文章,新的起点,不忘初心 花了点时间,解决了最近遇到的一个问题: 在引用第三方的服务时都会在Manifest中添加权限,一般都是无脑的复制粘贴,久而久之,项目里重复的权限越来越多 在 ...
- xml里写sql语句大于、小于的正确方法
今天把原来的xml里的选择时间段内的方法改了一下,原来写的是在两个时间之间,用between - and -,这样做的话,两个参数,起始日期和终止日期必须都要输入,不能满足查询某个时间之前,或者之后的 ...
最新文章
- 【Ubuntu】解决问题:tcp :8080: bind: address already in use
- 在NVIDIA Jetson Xavier NX上安装llvmlite报错:No such file or directory: ‘llvm-config‘: ‘llvm-config‘
- 如何开始学习以太坊及区块链
- Nokia BH-700及三星wep250这两款蓝牙耳机和电脑配对的方法
- android json mysql_Android通过json向MySQL中读写数据的方法详解【读取篇】
- 8个前沿的 HTML5 CSS3 效果【附源码下载】
- 基于Kafka+Flink+Redis的电商大屏实时计算案例
- mysql over rank_SQL学习笔记 - 窗口函数OVER
- mysql unique count_MySQL - Count Number of Unique Values
- Python 生成账号密码算法
- LeetCode 74. 搜索二维矩阵(二分查找)
- es6 proxy、handler.get()
- ZABBIX 4.0 安装
- python比较文件的修改时间,如何比较python中两个文件的修改日期?
- linux连接mysql_主机Navicat连接linux(虚拟机)的mysql数据库
- 安装cx_Oracle 遇到的杂项问题
- CodeForces - 1610B Kalindrome Array
- python - TXT章节文转为epub和mobi格式
- win10查看正版还是盗版
- 创建一个三维空间形状,算立方体,球体,正三棱锥表面积体积
热门文章
- 控制算法学习 一、卡尔曼滤波(1)以小车为例
- python商城购物系统
- JAVA毕业设计Web精品课程网站设计与实现计算机源码+lw文档+系统+调试部署+数据库
- java后台将html转换为图片
- U盘格式化提示卷标无效
- WINDOWS-API:关于线程 GetCurrentThread、GetCurrentThreadId、GetCurrentProcess、GetCurrentProcessId...
- Android小项目———— hh小计算器
- 服务器系统版本,2018 年 4 月 17 日 - KB4093120(操作系统内部版本 14393.2214)
- 全程图解 手把手教你做RAID磁盘阵列
- C#,入门教程(27)——应用程序(Application)的基础知识