`
codermouse
  • 浏览: 50634 次
  • 性别: Icon_minigender_1
  • 来自: 西柏利亚
社区版块
存档分类
最新评论

转载: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>


来源:http://lyjgs.168.blog.163.com/blog/static/7650077820084763435588/
分享到:
评论

相关推荐

    jython官方jython-standalone-2.7.0版本(版本缺失)

    jython官方正版资源 为了省去大家找Jython安装包的时间,附上此Jython版本。 Jython是一种完整的语言,而不是一个Java翻译器或仅仅是一个Python编译器,它是一个Python语言在Java中的完全实现。

    04、第三部分:XML实践.pdf

    &lt;?xml version="1.0" standalone="yes"?&gt; Hello XML ``` 这个文档虽然简单,但是包含了XML文档的基本结构。 - **保存XML文档**: 完成文档编写后,需要保存为`.xml`文件格式,确保使用纯文本格式保存,而不是...

    kendryte-standalone-sdk-develop_kendryte_boy_

    Kendryte Standalone SDK是专为Kendryte RISC-V处理器设计的一套开发工具集,主要用于嵌入式系统和物联网设备的软件开发。RISCV(RISC-V International)是一种开放源代码指令集架构(ISA),以其精简、高效和模块化...

    jython-standalone-2.7.0(最新版本)

    一个将Python代码转换成Java代码的编译器,能够将自己用Python代码写的类库用...Jython环境安装包: http://search.maven.org/remotecontent?filepath=org/python/jython-standalone/2.7.0/jython-standalone-2.7.0.jar

    XML 期末考试复习题与考试试题

    **属性**:XML 声明中包含三个属性:`version`、`encoding` 和 `standalone`。 - **version 属性**:指明 XML 文件使用的版本,通常为 1.0。 - **encoding 属性**:规定 XML 文件所采用的字符集,如 UTF-8、GB2312 ...

    tyrus-standalone-client-1.13.1.jar

    tyrus-standalone-client-1.13.1.jar

    jython-standalone-2.7.2.jar

    jython-standalone-2.7.2.jar,java应用调用Python。

    1.XML.pdf,学习学习笔记

    - **文档声明**:XML文档的第一行必须是文档声明,它包含了XML的版本号(version)、编码格式(encoding)以及是否独立声明(standalone)。 - **根元素**:XML文档必须有一个且仅有一个根元素,它包含了文档中的...

    xml与DTD,xml与DTD

    - **自定义标签**:XML允许开发者根据需要自定义标签,这意味着可以在XML文档中使用任何符合命名规则的标签,甚至可以使用中文标签。 - **严格的语法要求**:XML遵循严格的语法规则,所有标签必须正确地嵌套并闭合;...

    Spark实验:Standalone模式安装部署(带答案)1

    2. Spark Standalone安装配置:理解Spark在Standalone模式下的配置项和作用。 **三、知识点** 1. Linux常用命令:如tar解压、vi/vim编辑、source使配置生效、jps查看Java进程等。 2. `.bash_profile`配置:通过...

    C# XML介绍

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

    tinyxml2 操作xml

    5. **XMLComment**:XML注释可以通过XMLComment类进行操作,可以创建、读取和删除注释。 6. **XMLDeclaration**:XML声明(如`&lt;?xml version="1.0" encoding="UTF-8"?&gt;`)由XMLDeclaration类表示,提供了对版本、...

    Wrox - Beginning XML,3rd Edition

    2. **XML语法**:XML文档必须遵循一定的规则,如元素、属性、命名空间、实体引用等。每个XML文档都有一个根元素,元素之间有嵌套关系,且元素标签必须成对出现。 3. **XML声明**:文档开头的`&lt;?xml version="1.0"?&gt;`...

    xml学习笔记.pdf

    - **根元素**:XML文档必须有一个根元素,这是顶级元素,没有父标签,且文档中的所有其他元素都是它的子元素。 XML解析库如Dom4j等,可以帮助开发者读取、解析和操作XML文档。通过这些库,可以方便地将XML数据转换...

    matlab快速处理xml文件

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

    数据库系统概论课件:第16章 XML数据库.ppt

    - XML声明:文档的第一行通常包含XML声明,例如`&lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;`,用于指定文档的版本、字符编码和是否独立。 - 元素:元素是XML文档的基本构建块,分为起始标记和终止标记...

    2020-2021上半学期XML期末考题1

    1. XML 文档声明:XML 文档以 &lt;?xml version="1.0" encoding="utf-8" standalone="no" ?&gt; 开头,声明了 XML 文件的版本、编码和独立性。 2. DTD 介绍:DTD(Document Type Definition)是用于定义 XML 文档结构的...

Global site tag (gtag.js) - Google Analytics