Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/xml/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Xml 为什么是targetNamespaces?_Xml_Xsd_Xml Namespaces_Xsd Validation - Fatal编程技术网

Xml 为什么是targetNamespaces?

Xml 为什么是targetNamespaces?,xml,xsd,xml-namespaces,xsd-validation,Xml,Xsd,Xml Namespaces,Xsd Validation,首先,我知道有一条类似的线索试图回答同一个问题。但不幸的是,这并不能消除困惑 问题又来了: 为什么我们需要在xml模式文档中指定targetNamespace? 我们可以在instanceDocument中定义多个名称空间,并将这些名称空间与相应的架构文档相关联。targetNamespace的需求从何而来?targetNamespace是将分配给您正在创建的架构的名称空间。它是实例用来访问它声明的类型的名称空间。在下面的代码中,模式将被分配到名称空间http://www.somewebsite

首先,我知道有一条类似的线索试图回答同一个问题。但不幸的是,这并不能消除困惑

问题又来了:

为什么我们需要在xml模式文档中指定targetNamespace?
我们可以在instanceDocument中定义多个名称空间,并将这些名称空间与相应的架构文档相关联。targetNamespace的需求从何而来?

targetNamespace是将分配给您正在创建的架构的名称空间。它是实例用来访问它声明的类型的名称空间。在下面的代码中,模式将被分配到名称空间http://www.somewebsite.com/Something

在XML文档实例中,通过xmlns属性声明要使用的名称空间。例如:

<purchaseOrder xmlns="http://www.somewebsite.com/Something/Foo"  
xmlns:addr="http://www.somewebsite.com/Something/Foo/addr">  
  <accountName>Shanita</accountName>  
  <accountNumber>123456</accountNumber>  
  <addr:street>20 King St</addr:street>  
</purchaseOrder>  

这里的默认名称空间是http://www.somewebsite.com/Something/Foo,它引用以前创建的架构。此命名空间应用于声明它的元素及其子元素,除非它们带有前缀。在本例中,除了addr:street之外,所有元素都属于默认名称空间。由于它带有前缀,因此它属于addr名称空间xmlns:addr=http://www.somewebsite.com/Something/Foo/addr

targetNamespace是将要分配给正在创建的架构的命名空间。它是实例用来访问它声明的类型的名称空间。在下面的代码中,模式将被分配到名称空间http://www.somewebsite.com/Something

在XML文档实例中,通过xmlns属性声明要使用的名称空间。例如:

<purchaseOrder xmlns="http://www.somewebsite.com/Something/Foo"  
xmlns:addr="http://www.somewebsite.com/Something/Foo/addr">  
  <accountName>Shanita</accountName>  
  <accountNumber>123456</accountNumber>  
  <addr:street>20 King St</addr:street>  
</purchaseOrder>  

这里的默认名称空间是http://www.somewebsite.com/Something/Foo,它引用以前创建的架构。此命名空间应用于声明它的元素及其子元素,除非它们带有前缀。在本例中,除了addr:street之外,所有元素都属于默认名称空间。由于它带有前缀,因此它属于addr名称空间xmlns:addr=http://www.somewebsite.com/Something/Foo/addr

如果您知道类似的帖子,为什么不链接到它,而不是让我们先搜索它,然后再知道是否发布您可能会忽略的答案?我的错。这里有一个相似的线索:如果你知道一个相似的线索,为什么不链接到它,而不是让我们在知道是否发布一个你可能会忽略的答案之前搜索它?我的错。以下是类似的线索: