XML是可扩展标记语言(eXtensible Markup Language)的缩写,它是一种用于存储和传输数据的标记语言。XML使用标签来定义数据的结构和内容。 XSD模式(XML Schema Definition)是一种用于定义XML文档结构的描述语言。它提供了一种验证XML文档的方法,可以确保文档符合特定的结构和规范。 根元素是XML文档中的最外层元素,它包含了文档中的所有其他元素。根元素是XML文档的起点,所有其他元素都是它的子元素或后代元素。 命名空间是一种用于解决元素和属性名称冲突的机

22 浏览
0 Comments

XML是可扩展标记语言(eXtensible Markup Language)的缩写,它是一种用于存储和传输数据的标记语言。XML使用标签来定义数据的结构和内容。 XSD模式(XML Schema Definition)是一种用于定义XML文档结构的描述语言。它提供了一种验证XML文档的方法,可以确保文档符合特定的结构和规范。 根元素是XML文档中的最外层元素,它包含了文档中的所有其他元素。根元素是XML文档的起点,所有其他元素都是它的子元素或后代元素。 命名空间是一种用于解决元素和属性名称冲突的机

我试图理解xml和xsd文件的根元素是如何工作的。我已经通过谷歌阅读了一些文章,也看了一些stackoverflow上的文章,但仍然不明白以下内容是如何工作的。以下是我已经阅读过的一些文章:

[链接1] targetNamespace和xmlns

[链接2] XML中的"xmlns"是什么意思?

[链接3] 我们为什么需要XML命名空间的URI?

对于我的问题,我使用了w3school的示例(他们也无法以我能理解的方式解释它的工作原理)。

XML文件

文件名:note.xml

URL:???


  [XML 3]
Tove
Jani
Reminder
Don't forget me this weekend!

XSD文件

文件名:note.xsd

URL:https://www.w3schools.com note.xsd ??????




  
    
      
      
      
      
    
  


据我理解,我们有以下内容:

a) 一种类似于"语法"的东西,解释了XML的结构,这些内容写在xsd中。例如,我们有一个复杂类型或具有属性的元素。这个"语法"是由w3在这个URL上指定的:http://www.w3.org/2001/XMLSchema,并且我们使用来自w3的"语法"。

b) 除了这个"语法"之外,我们还定义了一些元素的名称,例如to元素或from元素。只有具有这些名称的元素才能在由note.xsd验证/定义的XML中使用。

我的问题是,每个代码在XML1-3和XSD1-3行的含义是什么,以及如何使用这些部分。我将写下我目前所理解的内容。请用简单的话(不要像w3school或其他网站那样太复杂)向我解释每个绿色和蓝色部分的作用,如何使用它以及它指向哪里。对于这个例子,note.xml和note.xsd的URL应该是什么?

[URL note.xml]

[URL note.xsd]

[XML 1]xmlns="https://www.w3schools.com"

[XML 2]xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

[XML 3]xsi:schemaLocation="https://www.w3schools.com note.xsd"

[XSD 1]xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"

[XSD 2]targetNamespace="https://www.w3schools.com"

[XSD 3]xmlns="https://www.w3schools.com"

[URL note.xml和note.xsd]两个文件的URL都是https://www.w3schools.com ??

[XML1-3]我感到困惑,它们的含义是什么?

[XSD 1]xmlns表示XML命名空间,并指向我使用的语法的URL。我们还声明,只有所有标有xs的"语法"/元素使用在http://www.w3.org/2001/XMLSchema上编写的"语法"。

[XSD 2]targetNamespace是用于什么目的?它指向哪里?

[XSD 3]xmlns没有xs,它与XSD1做的事情一样吗?只是它会声明没有xs的元素从哪里获取它们的"语法"?这很令人困惑,因为它又是http://www.w3.org/2001/XMLSchema吗?

0