如何获取网址的namspace

时间:2016-04-06 13:07:45

标签: python web-services soap-client

以下网址的命名空间是什么。

http://slhepp0034.ctsslou.visteon.com/login/login.htm#v37632/p10454

什么是wsdl格式,如果我们用soap WSDL格式编写

1 个答案:

答案 0 :(得分:2)

了解基础知识优先。什么是XML命名空间? XML命名空间用于在XML文档中提供唯一命名的元素和属性。它们在W3C建议中定义。 XML实例可以包含来自多个XML词汇表的元素或属性名称。如果为每个词汇表指定了命名空间,则可以解析名称相同的元素或属性之间的歧义

一个简单的例子是考虑一个包含对客户和订购产品的引用的XML实例。 customer元素和product元素都可以有一个名为id的子元素。因此,对id元素的引用将是模糊的;将它们放在不同的名称空间中可以消除歧义。

使用保留的XML属性xmlns或xmlns:prefix声明XML命名空间,其值必须是有效的命名空间名称。

例如,以下声明映射" xhtml:" XHTML命名空间的前缀:

例如。的xmlns:XHTML =" HTTP://www.w3.org/1999/xhtml"

任何名称以前缀" xhtml开头的元素或属性:"如果它或祖先具有上述名称空间声明,则被认为是在XHTML名称空间中。

也可以声明默认命名空间。例如:xmlns =" http://www.w3.org/1999/xhtml" 在这种情况下,任何没有名称空间前缀的元素都被认为是在XHTML名称空间中,如果它或祖先具有上述默认名称空间声明。

属性永远不受默认命名空间的约束。没有显式名称空间前缀的属性被认为不在任何名称空间中。

XML Namespaces 1.1还引入了取消声明其他命名空间的选项。

不同的规范对名称空间信息如何呈现给应用程序采取了不同的方法。

几乎所有编程模型都允许元素或属性节点的名称作为三部分名称检索:本地名称,名称空间前缀和名称空间URI。应用程序应避免对前缀的选择附加任何重要性,但提供的信息是因为它可能对人类读者有所帮助。如果名称空间URI和本地名称匹配,则名称被视为相等。

此外,大多数模型提供了一些方法来确定为给定元素声明了哪些名称空间。需要此信息是因为某些XML词汇表允许限定名称(包含名称空间前缀)出现在元素或属性的内容中,以及名称中。提供这些信息有三种主要方式:

As attribute nodes named "xmlns" or "xmlns:xxx", exactly as the namespaces are written in the source XML document. This is the model presented by DOM.
As namespace declarations: distinguished from attributes, but corresponding one-to-one with the relevant attributes in the source XML document. This is the model presented by JDOM.
As in-scope namespace bindings: in this model, the application is able to determine which namespaces are in scope for any given element, but is not able to determine which elements contain the actual declarations. This is the model used in XPath, XSLT, and XQuery.

如果您了解这些基础知识,我希望您的问题已经得到解答。