我用几个不同的选项制作了一个XML生成器,其中一个是样式选项,它定义了是否将属性或元素用于原始数据类型。
XML模式目前不受支持,但我需要允许设置,而且我一直在做一些研究。我的理解是XML名称空间可以有一个前缀,但它不必有前缀。它还需要一个惟一的字符串属性值,即(通常为),但不必是URI。
我有点困惑,因为我对XML名称空间并不熟悉,如果我们看一下xml文档示例,我会对此有几个问题。
<?xml version="1.0"?>
<root xmlns="some_identifier">
<oneKey>value</oneKey>
</root>这是使用键值示例的元素样式,我将允许配置"some_identifier“。在本例中,XML命名空间下的"oneKey“元素是什么?还是我必须指定像xmlns:ns这样的前缀,然后用"ns“前缀"oneKey”呢?
另外,如果我们看一看属性样式:
<?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默认也适用于这些?
发布于 2012-06-06 15:46:35
<root xmlns="some_identifier">这声明了默认的名称空间,根和它的所有子空间都属于它,您不需要前缀。
<root xmlns="some_identifier" oneKey="value" />默认名称空间不适用于属性。如果希望oneKey属于命名空间,则必须创建前缀并在属性上使用它。
<root xmlns="some_identifier" xmlns:myns="some_identifier" myns:oneKey="value"/>https://stackoverflow.com/questions/10917416
复制相似问题