首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >配置XML名称空间

配置XML名称空间
EN

Stack Overflow用户
提问于 2012-06-06 15:32:25
回答 1查看 566关注 0票数 1

我用几个不同的选项制作了一个XML生成器,其中一个是样式选项,它定义了是否将属性或元素用于原始数据类型。

XML模式目前不受支持,但我需要允许设置,而且我一直在做一些研究。我的理解是XML名称空间可以有一个前缀,但它不必有前缀。它还需要一个惟一的字符串属性值,即(通常为),但不必是URI。

我有点困惑,因为我对XML名称空间并不熟悉,如果我们看一下xml文档示例,我会对此有几个问题。

代码语言:javascript
复制
<?xml version="1.0"?>
<root xmlns="some_identifier">
<oneKey>value</oneKey>
</root>

这是使用键值示例的元素样式,我将允许配置"some_identifier“。在本例中,XML命名空间下的"oneKey“元素是什么?还是我必须指定像xmlns:ns这样的前缀,然后用"ns“前缀"oneKey”呢?

另外,如果我们看一看属性样式:

代码语言:javascript
复制
<?xml version="1.0"?>
<root xmlns="some_identifier" oneKey="value" />

在这个例子中,我们需要在oneKey中定义类似的前缀吗?

如果我在这些问题上太离谱了,请告诉我,如果我说不通的话,请告诉我,

更新:

我发现了这个网站:http://www.rpbourret.com/xml/NamespacesFAQ.htm#exec_1

也就是说这两者是相同的:

代码语言:javascript
复制
<foo:A xmlns:foo="http://www.foo.org/">
     <foo:B>abcd</foo:B>
</foo:A>

代码语言:javascript
复制
<A xmlns="http://www.foo.org/">
     <B>abcd</B>
</A>

这是非常有用的,但关于属性样式。我需要在属性前加上前缀吗?或者xmlns默认也适用于这些?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-06-06 15:46:35

代码语言:javascript
复制
<root xmlns="some_identifier">

这声明了默认的名称空间,根和它的所有子空间都属于它,您不需要前缀。

代码语言:javascript
复制
<root xmlns="some_identifier" oneKey="value" />

默认名称空间不适用于属性。如果希望oneKey属于命名空间,则必须创建前缀并在属性上使用它。

代码语言:javascript
复制
<root xmlns="some_identifier" xmlns:myns="some_identifier" myns:oneKey="value"/>
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/10917416

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档