浅谈XML Schema中的elementFormDefault属性

来源:脚本之家  责任编辑:小易  

有抑郁症的倾向,和确认是抑郁症之间差距还是蛮大的,因为有这方面倾向的人很多,即便是普通人也可能会在一段时间内有抑郁情绪,而此刻去看心理医生,也有可能会被确诊为有抑郁症的倾向,但这其实并非是真正的抑郁症,并不需要去吃药,只要学会自我调整就可以了。所以你暂时可以先不用吃药,说实话看目前你的状态,并不太严重的抑郁状态,而吃药一般会有一定的副作用,盲目的吃药,虽然可以暂时让你的症状有所缓解,但其实是掩盖了你自身真正的问题,让你没办法去寻找你内心深处真正抑郁的原因。抑郁情绪其实有时候是一种信号,提醒你自身出现了一点问题,而这些问题导致了你的心情时好时坏,所以你要做的就是去找到你生活中发生了什么事导致了你

elementFormDefault属性与命名空间相关,其值可设置为qualified或unqualified

拿到驾驶证后,相信驾驶员都会看一下相关信息及有效期。而首次拿到驾驶证后,有效期都是6年,也就以为着6年后就必须要去办理换证业务了。那么,如何才能将自己的驾驶证升级到终身有效呢?其实很简单,就两步:1,在首次拿到驾驶证后,有效期为6年,只有你连续6个记分周期内都没有被记满12分的,当有效期满后去办理换证业务获得的新驾驶证,6年有效期就升级为10年有效期了。2,在你拿到10年有效期的驾驶证后,只有你连续10个记分周期内都没有被记满12分的,当有效期满后去办理换证业务获得的新驾驶证,10年有效期就升级为终身有效驾驶证了。也就是说,假设你21岁考到C1驾驶证,为了不让被扣分,一直都不开车,6年后,27

如果设置为qualified:

首先,注意性卫生。虽然日本的性开放程度很高,AV行业也十分发达。但性开放程度高并不意味着日本人不注意卫生,不注意防护。众所周知,日本是一个爱干净的民族,在性方面也不例外。在与陌生人发生性关系时,日本女性一般会要求男方“戴上安全套”,以保护自己的健康。由于艾滋病病毒个体较大,很难穿越安全套,因此,艾滋病很难在异性之间传播。其次,日本男同性恋较少。与中国男同性恋人群不断增多不同,日本男同人数较少。由于日本大男子主义根深蒂固;男女比例正常,男生不愁找不到女朋友,因此,男性同性恋者较少。这就使艾滋病很难在男同圈子里扩大与蔓延。再次,输血严格。在艾滋病传播过程中,血液传播也是不可忽略的原因之一。日本有专

在XML文档中使用局部元素时,必须使用限定短名作为前缀

让一个人后悔,好像成了很多被分手人,或者不被珍惜的一方的共同梦想。要么是有尊严的离开,让对方瞬间感觉不能失去;要么是在将来的偶然相见,让对方感觉当年犯傻;要么是因为不服,来自内心身处的执念和倔强;要么是不想离开,利用对方后悔的心理,达到挽回的目的。有趣的是前几天的凌晨,我接到女性朋友的一个电话,言语之间透着一股子戾气。大致的原因,是她感觉被一个男生骗了,相处没几天的时间已经察觉到不对,而现在联系不上人,整个人情绪处于崩溃边缘,想哭但是哭不出来的感觉,很是纠结痛苦。她问我:“怎么才能让他后悔。”当时我的回应非常坚决,我说:“你凭什么让别人后悔,你又有什么资格让别人后悔,你是谁?”当然,我的语气可

sean.xsd:

<?xml version="1.0" encoding="UTF-8"?> <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:sean="http://sean.com" targetNamespace="http://sean.com" elementFormDefault="qualified"> <xs:element name="book_list"> <xs:complexType> <xs:sequence> <xs:element name="book" type="xs:string"/> </xs:sequence> </xs:complexType> </xs:element> </xs:schema>

sean.xml:

<?xml version="1.0" encoding="UTF-8"?> <sean:book_list xmlns:sean="http://sean.com" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://sean.com sean.xsd"> <sean:book>test</sean:book> </sean:book_list>

如果设置为unqualified:

在XML文档中使用局部元素时,可以省略限定短名

sean.xsd:

<?xml version="1.0" encoding="UTF-8"?> <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:sean="http://sean.com" targetNamespace="http://sean.com" elementFormDefault="unqualified"> <xs:element name="book_list"> <xs:complexType> <xs:sequence> <xs:element name="book" type="xs:string"/> </xs:sequence> </xs:complexType> </xs:element> </xs:schema>

sean.xml:

<?xml version="1.0" encoding="UTF-8"?> <sean:book_list xmlns:sean="http://sean.com" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://sean.com sean.xsd"> <book>test</book> </sean:book_list>

虽然会间接很多,但是由于去掉了命名空间,所以不是很好理解

类似的属性还有attributeFormDefault,其规则与elementFormDefault是一样的

以上这篇浅谈XML Schema中的elementFormDefault属性就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持脚本之家。

扩展阅读,根据您访问的内容系统为您准备了以下内容,希望对您有帮助。

xml中的命名空间

1.什么是defaultNamespace? 就是xmlns属性的值。defaultNamespace的作用就是它下面的没有prefix的element的Namespace就是defaultNamespace.示例如下: <?xmlversion="1.0"encoding="UTF-8"?> <!--defaultNamespace为http://schema ,a的namespace为http://schema 1--> <axmlns="http://schema 1"xmlns:edi="http://ccc.cc "> <!--b由于没有前缀,所以会自动采用defaultNamespace,即http://schema 1--> <bedi:attr1="123"attr2="1.112">qwe</b> <edi:axmlns=http://xxx.xxx > <!--d的namespace不再是http://schema 1,而是http://xxx.xxx ,因为d的父节点也定义了一个defaultNamespace:http://xxx.xxx --> <d>false</d> </edi:a> <edi:a> <!--注意,虽然e的父节点Namespace为http://ccc.cc c,但是e的namespace并不是http://ccc.cc ,而是http://schema 1--> <e>false</e> </edi:a> </a> 2.如果一个element定义了xmlns="xxx"属性,那么直接具有xxx的Namespace,除非这个element自己包含一个前缀。 ... <!--a具有xxx命名空间--> <!--属性d不具有xxx命名空间--> <axmlns="xxx"d="ddd"> <!--b也具有xxx命名空间--> <b> ... </b> <!--c不具有xxx的命名空间--> <edi:c> ... <edi:c> </a> ... <!--a不具有xxx命名空间,因为它使用着edi的命名空间--> ... <edi:axmlns="xxx"> <b> ... </b> </edi:a> ... 5.3UniquenessofAttributes InXMLdocumentsconformingtothisspecification,notagmaycontaintwoattributeswhich: haveidenticalnames,or havequalifiednameswiththesamelocalpartandwithprefixeswhichhavebeenboundtonamespacenamesthatareidentical. Forexample,eachofthebadstart-tagsisillegalinthefollowing: <!--http://www.w3.org isboundton1andn2--> <!--没有prefix的attribute不具有任何命名空间--> <xxmlns:n1="http://www.w3.org " xmlns:n2="http://www.w3.org "> <bada="1"a="2"/> <!--n1:a和n2:a的命名空间和属性名均相同,不允许出现在同一个element中--> <badn1:a="1"n2:a="2"/> </x> However,eachofthefollowingislegal,thesecondbecausethedefaultnamespacedoesnotapplytoattributenames: <!--http://www.w3.org isboundton1andisthedefault--> <xxmlns:n1="http://www.w3.org " xmlns="http://www.w3.org "> <gooda="1"b="2"/> <!--属性a的命名空间为空,而n1:a的命名空间为http://www.w3.org --> <gooda="1"n1:a="2"/> </x> targetNamespace 在Schema中targetNamespace定义了Schema定义出的新元素与属性的名称空间。也就是它是对所定义的XML模型进行*:*定义出的元素,或者属性的名称空间。与targetNamespace相关的还有两个属性:elementFormDefault,attributeFormDefault,这两个属性的缺省值都是unqualified。如果定义为unqualified表示定义的元素的名称空间可以缺省,此时直接引用父元素的名称空间。如果是qualified则表示,必需要指明名称空间,不能直接引用其父元素的,要指明。(如果Schema限定的文档,刚好定义了”空的名称空间“并且刚好与targetNamespace一至,可以缺省)。 在WSDL中也有一个targetNamespace,但是没有Schema中的两个属性。但其它这两个属性在WSDL中其实并不需要,不管这两个属性取值,对文档其实没有什么影响,所以也就不用定义这两个属性。 不失一般性,下面我假定WSDL与SOAP绑定。WSDL是用来定义的是服务的一些属性,targetNamespace定义的服务“收到的请求”与“发出响应”的一些属性(也许有其它的,但我没发现,如果有知道的,请指教),定义了请求与响应对应的XML元素应该使用的名称空间。从SOAP协议中,我们可以看到,响应与请求元素的父元素是<env:Body>,它的名称空间是SOAP标准指定了的,根据不同的SOPA协议版本不同,比如Soap1.1为http://schema s.xmlsoap.org/soap/envelope/,而Soap1.2为http://www.w3.org /2001/06/soap-envelope。 这样导致了响应与请求元素也就无法使用其父元素的名称空间,要使响应与请求的名称空间与targetNamespace一至,元素也就不能使用缺省的父元素的名称空间,必需显示的使用完整的名称空间。这样在Schema中出现的elementFormDefault,attributeFormDefault两个属性,也就在WSDL中没有存在的必要了。 也就是WSDL与Schema中的targetNamespace基本上是一至,你完全可以相互参考起来理解。 参考文献: http://xml.org.cn/dispbbs.asp?BoardID=23&id=25672&replyID=17053&star=1&skin=0 http://www.w3.org /TR/xmlschema-0/#UnqualLocals(Schema的官方文档) http://www.w3.org /TR/wsdl#_Toc492291093(WSDL的官方文档) schemaLocation是用来指定XMLSchema文档路径的 新的XMLSchema系统即将成为W3C推荐标准,目的是为了克服DTD的局限性(请参阅侧栏,DTD的局限性),为XML文档提供丰富的语法结构。本文展示了模式的灵活性,说明如何使用XMLSchema系统来定义最基本的XML文档构造块——元素。 XMLSchema比DTD更强大。为了说明XMLSchema机制的强大功能,下面三个程序清单简要比较了表示元素的不同方式。清单1给出了一个XML文档片段,清单2用DTD语法声明了这两个元素,清单3则是相应的XMLSchema语法形式。要注意,清单3中所用的是相同的XML语法。通过模式,验证解析器可以检查元素InvoiceNo是否是正整数,元素ProductID的首字符是否为A到Z之间的字母,后面为六个阿拉伯数字。相反,引用DTD的验证解析器只能检查这些元素是否用字符串表示。

xml的schema的错误

你的 xsd:element节点(哪怕是一个)在 xsd:complexType 下也不能直接出现。

需要作为<xsd:sequence>或者<xsd:choice>中的一个子节点出现在复杂类型元素(xsd:complexType)中。

***你的Schema中的错误***:

1. <xsd:element name="class">直接作为<xsd:complexType>的子节点了。

2. <xsd:element name="student">同样也是直接作为<xsd:complexType>的子节点了。

3.你希望class中可以出现多个student的问题,那么你需要将你对应的element节点加入 maxOccurs="unbounded" 的属性及其值。

例如:

<xsd:element name="student">

改为:

<xsd:element name="student" maxOccurs="unbounded">

(按照语境来说,grade下同样可以有多个class)

4.在复杂类型中<xsd:attribute>节点放在最后。

最终的正确Schema(*对你的稍加修改)

<?xml version="1.0"?>

<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema">

<xsd:element name="grade">

<xsd:complexType>

<xsd:sequence>

<xsd:element name="class" maxOccurs="unbounded">

<xsd:complexType>

<xsd:sequence>

<xsd:element name="student" maxOccurs="unbounded">

<xsd:complexType>

<xsd:sequence>

<xsd:element name="number" type="xsd:string"/>

<xsd:element name="name" type="xsd:string"/>

<xsd:element name="email" type="xsd:string"/>

<xsd:element name="qq" type="xsd:string"/>

<xsd:element name="address">

<xsd:complexType>

<xsd:sequence>

<xsd:element name="province" type="xsd:string"/>

<xsd:element name="city" type="xsd:string"/>

<xsd:element name="street" type="xsd:string"/>

<xsd:element name="mailcode" type="xsd:string"/>

</xsd:sequence>

</xsd:complexType>

</xsd:element>

</xsd:sequence>

</xsd:complexType>

</xsd:element>

</xsd:sequence>

<xsd:attribute name="number" type="xsd:string"/>

</xsd:complexType>

</xsd:element>

</xsd:sequence>

<xsd:attribute name="year" type="xsd:string"/>

</xsd:complexType>

</xsd:element>

</xsd:schema>

xsd 后缀文件用什么软件打开

可以用Visual Studio打开。

XSD即 XML Schema Definition,做excel的xml导入导出需要XSD文件,xsd文件就是schema定义文件。XML Schema是一个基于XML的语法或schema规范,用来定义XML文档的标记方式。

XML Schema是一个由Microsoft建议的schema规范,它与文档类型定义(DTD)相比具有很大的优势,而DTD是最初用来定义XML模型的schema规范。

扩展资料

XSD格式详细解析:

第一行表示xml版本

第二行表示整个文件是一个元素,它的属性有:

- xmlns:xs="http://www.w3.org/2001/XMLSchema",表示用xs来简写了一个命名空间,来自于该命名空间的元素前需要写xs:前缀。

- xmlns表示默认的命名空间。

- xmlns:traml表示用traml表示一个命名空间。

- elementFormDefault表示外部文档使用该schema定义的元素是否必须被命名空间限定。

- targetNamespace表示该文档定义的元素的命名空间。

第三行表示定义了一个元素note。

第四行表示该元素是一个复合类型。

第五行到第八行表示定义一个元素,作为note的子元素。

参考资料来源:百度百科-xsd格式


  • 本文相关:
  • 一个简单的xml schema的例子
  • spring中xml schema扩展机制的深入讲解
  • 把html表单提交的数据转化成xml文件
  • xml轻松学习手册(二):xml概念
  • 了解web页面工具语言xml(三)支持工具
  • 给你的asp+ac站点加rss功能
  • xml轻松学习手册(四):xml语法
  • xml和jsp的联手
  • 基于xml的桌面应用
  • xml轻松学习手册(一):xml快速入门
  • xslt轻松入门第一章:xslt的概念
  • 了解web页面工具语言xml(六)展望
  • xml中的命名空间
  • xml的schema的错误
  • xsd 后缀文件用什么软件打开
  • 免责声明 - 关于我们 - 联系我们 - 广告联系 - 友情链接 - 帮助中心 - 频道导航
    Copyright © 2017 www.zgxue.com All Rights Reserved