今天在看用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,该元素属于名称空间http://www.w3.org/2001/XMLSchema。schema 元素可以包含可选的属性。比如:
<xs:schema xmlns:xs=http://www.w3.org/2001/XMLSchema
elementFormDefault="qualified" attributeFormDefault="unqualified">
这表示模式中使用的元素来自http://www.w3.org/2001/XMLSchema名称空间。
XML 文件使用 schema 名称空间中的 schemaLocation 属性链接到对应的模式。使用 schemaLocation 属性必须定义 schema 名称空间。所有这些定义都出现在 XML 文档的根元素中。语法如下:
<root_element schema_namespace_definition schema_location_definition>
下面是一个例子:
<Books xmlns:xs="http://www.w3.org/2001/XMLSchema-instance"
xs:schemaLocation="http://www.example.com 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="http://www.example.com 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="http://www.example.com" 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://lyjgs.168.blog.163.com/blog/static/7650077820084763435588/
分享到:
相关推荐
挣点辛苦币下载东西,没办法 E:\code\keycloak-11.0.3\standalone\configuration\standalone.xml
一个将Python代码转换成Java代码的编译器,能够将自己用Python代码写的类库用...Jython环境安装包: http://search.maven.org/remotecontent?filepath=org/python/jython-standalone/2.7.0/jython-standalone-2.7.0.jar
Kendryte Boy for RISCV Simulation
jython官方正版资源 为了省去大家找Jython安装包的时间,附上此Jython版本。 Jython是一种完整的语言,而不是一个Java翻译器或仅仅是一个Python编译器,它是一个Python语言在Java中的完全实现。
1. 解压Spark安装包 2. 配置Spark环境变量 2. 修改 spark-env.sh 文件,完成以下设置: 1. 设置运行master进程的节点, e
如:<?xml version="1.0" encoding="gb2312" standalone="yes"?> 文档类型声明 规定元素的结构和属性列表的取值 如:<!DOCTYPE studinfo SYSTEM "studinfo.dtd"> 2)元素 空元素 <空元素标签名 属性=...
C#XML介绍
HBase-代码-示例在 HBase 上使用 HBase 和 Phoenix 的一系列演示使用 HBase 代码示例有四个包支持示例我倾向于从我的 IDE 运行代码,但您可以将这些包打包或从其他工具调用HBase 包HBaseEngine 调用多线程加载器。...
Spark standalone 分布式集群搭建,Spark standalone运行模式,Spark Standalone运行架构解析---Spark基本工作流程,Spark Standalone运行架构解析---Spark local cluster模式
python库。 资源全名:protorpc_standalone-0.12.0a2-py3-none-any.whl
WireMock是一个基于http api开源的测试工具,支持HTTP/HTTPS响应存根、请求验证、代理/拦截、记录和回放,可以用于快速构建...java -jar wiremock-jre8-standalone-2.28.0.jar --port 9999 --verbose(指定端口号运行)
xml version = " 1.0 " encoding = " UTF-8 " standalone = " no " ?> <! DOCTYPE score-partwise PUBLIC "-//Recordare//DTD MusicXML 3.1 Partwise//EN" "http://www.musicxml.org/dtds/partwise.dtd">
jfinal-sqlinxml jfinal sqlinxml 插件,查看其他插件-> maven 引用 ${jfinal-sqlinxml.version} 替换为相应的版本如:0.1 < dependency> < groupId>... xml version = " 1.0 " encoding = " utf-8 " standalone =
VMware vCenter Converter Standalone Installer for Windows
jython-standalone-2.7.2.jar,java应用调用Python。
b, 说出 XML 语言的作用 c, 说出 XML 语言的应用场景 2,能够使用 XML 文档的文档声明 a, 写出文档声明的 version 属性 b, 写出文档声明的 encoding 属性 c, 说出文档声明的 standalone 属性 3,能够写出正确...
TinyXML是一个简单小巧,可以很容易集成到其它程序中的C++ XML解析器。 它能做些什么 简单地说,TinyXML解析一个XML文档并由此生成一个...<?xml version="1.0" standalone=no> <!– Our to do list data –> <ToDo>...
tyrus-standalone-client-1.13.1.jar
VMware vCenter Converter standalone 6.2 guide 的最新英文版