一位朋友向我展示了以下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是什么?
谢谢!
答案 0 :(得分:2)
product
位于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重置默认命名空间:
<detail xmlns="urn:example.com:products">
这意味着detail
和子元素(例如name
)也位于命名空间urn:example.com:products