`

XML头里standalone的作用

阅读更多
XML头里standalone的作用 

今天在看用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>
分享到:
评论

相关推荐

    matlab快速处理xml文件

    在MATLAB中处理XML文件是一项常见的任务,XML(Extensible Markup Language)是一种结构化数据存储格式,常用于数据交换和配置文件。MATLAB提供了内置的XML处理工具,使得在MATLAB环境中读取、修改和写入XML文件变得...

    C# XML介绍

    - XSD用于定义XML文档的结构和数据类型,起到验证XML文档是否合法的作用。 - 在C#中,可以用XmlSchema类读取和操作XSD,同时System.Xml.Schema命名空间提供了验证XML文档是否符合XSD的工具。 7. XML命名空间: -...

    standalone.xml

    挣点辛苦币下载东西,没办法 E:\code\keycloak-11.0.3\standalone\configuration\standalone.xml

    C# LinqXML添加声明到XML文件

    首先,让我们理解XML声明的作用。XML声明位于XML文档的开头,其基本格式是 `&lt;?xml version="版本号" encoding="字符编码" standalone="yes/no"?&gt;`。它提供了关于XML文档的一些基本信息,如版本、编码方式以及是否...

    XML.docx xml简介

    文档声明包括version、encoding和standalone三个属性,version指定文档版本,encoding指定字符编码,standalone指明文档是否依赖外部资源。 2. 元素:XML文档由元素构成,元素可以是普通元素(包含开始标签、元素体...

    xml与DTD,xml与DTD

    &lt;?xml version="1.0" standalone="yes"?&gt; &lt;!DOCTYPE root [ &lt;!ELEMENT root EMPTY&gt; ]&gt; ``` 对于外部DTD,需要将`standalone`属性设置为`no`,并使用`SYSTEM`或`PUBLIC`关键字来指定DTD的位置: ```xml &lt;?xml ...

    hadoop-2.10.1 standalone配置文件参考

    8. **hadoop-policy.xml**: 定义了Hadoop的安全策略,如权限控制,但在standalone模式下通常保持默认即可。 9. **masters**和**slaves**: 在standalone模式下,这两个文件通常为空或只包含localhost,因为所有服务...

    VMware Converter Standalone 6.1.1

    VMware Converter Standalone 6.1.1 是一款强大的工具,专为将物理服务器、物理台式机或第三方虚拟机转换为VMware虚拟机而设计。这个版本是针对Windows操作系统的独立安装程序,旨在帮助用户无缝迁移他们的IT基础...

    TinyXML入门教程

    &lt;?xml version="1.0" standalone="yes" encoding="utf-8"?&gt; &lt;!--comment注释--&gt; This is a text ``` 我们可以使用以下代码来演示TinyXML的基本功能: ```cpp #include "tinyxml.h" int main() { ...

    Java解析和生成XML

    Java是一种广泛使用的编程语言,尤其在企业级应用中,它提供了强大的XML处理能力。XML(eXtensible Markup Language)是一种结构化数据格式,常用于数据交换和存储。本篇文章将详细探讨Java如何解析和生成XML文档。 ...

    tyrus-standalone-client-1.13.1.jar

    tyrus-standalone-client-1.13.1.jar

    VMware vCenter Converter standalone 6.2 guide

    VMware vCenter Converter Standalone 是一款能够将物理服务器和虚拟机转换为VMware虚拟机格式的工具。VMware vCenter Converter Standalone 6.2为最新版本,通过这款工具可以进行数据克隆和系统配置,支持对运行中...

    XML简介-认识xml

    - **头部声明**:`&lt;?xml version="1.0" encoding="GB2312" standalone="no"?&gt;` - **根节点**:`&lt;addresslist&gt;` - **子节点**:`&lt;linkman&gt;` - **具体信息**:`我&lt;/name&gt;`, `&lt;id&gt;001&lt;/id&gt;`, `&lt;company&gt;niit&lt;/company&gt;`...

    格式正规的XML文档、XML文档的元素、属性、实体深度详解

    XML 声明是 XML 文档的起始部分,它告诉解析器这个文档是什么版本的 XML,并且定义了这个文档的 standalone 属性。XML 声明的格式如下所示: `&lt;?xml version="1.0" standalone="yes"?&gt;` 其中,`是处理指令的开始...

    XML简介+SOAP+XML-RPC

    &lt;?xml version="1.0" encoding="ISO-8859-1" standalone="yes"?&gt; ``` 文档由元素组成,元素可能带有属性。属性值必须用引号括起来。例如: ```xml &lt;HORSE name="fred" weight="800"&gt;&lt;/BOZO&gt; ``` 文档应有一个根...

    TSC Standalone Creator中文使用说明书.pdf

    软件通常会提供一个总览,帮助用户理解每个功能的作用和位置。 1.1 总览: 总览部分是用户首次接触软件时的引导,它概述了软件的主要功能和布局。例如,它可能会展示触控面板的各种元素,如按钮、文本框和图像,...

    XML轻松学习手册--XML语法之一

    &lt;?xml version="1.0" standalone="yes/no" encoding="UTF-8"?&gt; ``` 这里的`version`指XML规范的版本,`standalone`表示文档是否包含DTD(Document Type Definition),若设为"no",则表示文档依赖外部DTD。`encoding...

    jython-standalone-2.7.0.zip

    标题 "jython-standalone-2.7.0.zip" 提供了我们正在处理的是一个Jython的独立版本,具体是2.7.0的发行版。Jython是一种Python的实现,它允许Python代码在Java平台上运行。这个压缩包很可能包含了一个完整的Jython...

    mule-standalone-3.9.0.zip

    - **转换能力**:Mule ESB支持数据格式转换,如XML到JSON,使得不同系统间的数据交换更加简单。 - **流处理**:通过数据流,Mule可以定义处理逻辑,实现数据的接收、转换和发送。 - **安全集成**:Mule ESB提供了...

Global site tag (gtag.js) - Google Analytics