一位 friend 向我展示了以下 XML 文档并问了我一些问题。我想和你核对一下
对于 XML 文档
<?xml version="1.0"?>
<product xmlns:m="urn:example.com:catalog">
<m:productInfo>
<detail xmlns="urn:example.com:products">
<name>Hello World!</name>
</detail>
</m:productInfo>
</product>
顶级 <product>
所在的命名空间的 URI 是什么?元素所属?
<productInfo>
所指向的命名空间的 URI 是什么?元素所属?
谢谢!
最佳答案
产品
位于no namespace
中(有时非正式地称为全局命名空间),因为尽管它定义了命名空间别名xmlns:m="urn:example.com:catalog"
,product
本身不在此命名空间中。
产品只有在声明为以下任一情况时才会位于命名空间 urn:example.com:catalog
中:
<m:product xmlns:m="urn:example.com:catalog">
或者如果它重置默认命名空间:
<product xmlns="urn:example.com:catalog">
由于上述原因,productInfo
位于命名空间 urn:example.com:catalog
中。
详细信息重置默认命名空间:
<detail xmlns="urn:example.com:products">
这意味着 detail
和子元素(例如 name
)也位于命名空间 urn:example.com:products
关于XML 文档默认命名空间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23883390/