小编Ang*_*ito的帖子

XSD:命名空间和默认命名空间之间的区别是什么

也许问题的标题是误导性的,那是因为我无法用一句话来解释我的问题.

w3school教程中,有这个例子:

<?xml version="1.0"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
           targetNamespace="http://www.w3schools.com"
           xmlns="http://www.w3schools.com"
           elementFormDefault="qualified">
    ...
    ...
</xs:schema>
Run Code Online (Sandbox Code Playgroud)

提交人称:xmlns:xs="http://www.w3.org/2001/XMLSchema"意味着:

模式中使用的元素和数据类型来自" http://www.w3.org/2001/XMLSchema "命名空间.它还指定来自" http://www.w3.org/2001/XMLSchema "命名空间的元素和数据类型应以xs为前缀.

但是,提交人还说,这targetNamespace="http://www.w3schools.com"意味着:

此架构定义的元素(注释,to,from,heading,body.)来自" http://www.w3schools.com "命名空间.

我在理解前面的段落时遇到了问题.第一个声明元素来自http://www.w3.org/2001/XMLSchema命名空间,尽管第二个段落声明元素来自http://www.w3schools.com命名空间.

在我看来,这两句话相互冲突.

你能告诉我哪一个是正确的吗?每个人的真正含义是什么?

我很感激你的时间.

问候,

xml xsd namespaces xml-namespaces

4
推荐指数
1
解决办法
3948
查看次数

具有混合内容的xsd复杂类型

我正在阅读本教程,它指出要获得这样的xml:

<letter>
  Dear Mr.<name>John Smith</name>.
  Your order <orderid>1032</orderid>
  will be shipped on <shipdate>2001-07-13</shipdate>.
</letter> 
Run Code Online (Sandbox Code Playgroud)

您需要以下xml模式定义:

<xs:element name="letter">
  <xs:complexType mixed="true">
    <xs:sequence>
      <xs:element name="name" type="xs:string"/>
      <xs:element name="orderid" type="xs:positiveInteger"/>
      <xs:element name="shipdate" type="xs:date"/>
    </xs:sequence>
  </xs:complexType>
</xs:element> 
Run Code Online (Sandbox Code Playgroud)

但是我看到这并不完全正确。它定义了名称,订单ID和shiptdate元素,但它并没有定义纯文本一样Dear Mr.Your orderwill be shipped on

唯一的xs:string类型已分配给name元素。

您能帮我理解吗?

非常感谢

xml xsd

3
推荐指数
1
解决办法
1014
查看次数

标签 统计

xml ×2

xsd ×2

namespaces ×1

xml-namespaces ×1