我已经制作了一个带有几个不同选项的 XML 生成器,其中一个是样式选项,它定义是对原始数据类型使用属性还是元素。
目前不支持 XML 模式,但我需要允许设置 XML 命名空间,并且我一直在做一些研究。我的理解是 XML 命名空间可以有前缀,但不是必须的。它还需要一个唯一的字符串属性值,该值通常是 URI,但并非必须如此。
我有点困惑,因为我是 XML 命名空间的新手,如果我们看一下示例 xml 文档,我对此有一些疑问
<?xml version="1.0"?>
<root xmlns="some_identifier">
<oneKey>value</oneKey>
</root>
这是使用键值示例的元素样式,我将允许配置“some_identifier”。在这个例子中是 XML 命名空间下的“oneKey”元素吗?还是我必须指定一个前缀xmlns:ns
,然后在“oneKey”前面加上“ns”?
另外,如果我们看一下属性样式:
<?xml version="1.0"?>
<root xmlns="some_identifier" oneKey="value" />
在这个例子中,我们是否需要在 oneKey 中定义类似的前缀?
如果我在这些问题上偏离了标准,我深表歉意,如果我没有意义,请告诉我,
更新:
我找到了这个网站:http ://www.rpbourret.com/xml/NamespacesFAQ.htm#exec_1
也就是说这两个是相同的:
<foo:A xmlns:foo="http://www.foo.org/">
<foo:B>abcd</foo:B>
</foo:A>
和
<A xmlns="http://www.foo.org/">
<B>abcd</B>
</A>
这非常有用,但关于属性样式。我需要为属性添加前缀吗?或者 xmlns 默认也适用于这些?