好的,我有这个文件:
<?xml version="1.0" encoding="utf-8"?>
<md:madcow xmlns:md="urn:Annotation"
xsi:schemaLocation="urn:Annotation D:\projects\DELOS\Annotation.xsd"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns ="urn:Annotation"
kind="withContent" media="text">
<md:metadata>
<md:author>ferro697702212</md:author>
<md:title> Eine weitere Annotation </md:title>
<md:creationDate>18/11/2009 10.26.09</md:creationDate>
<md:modificationDate>18/11/2015 10.26.09</md:modificationDate>
<md:sourceHttp>687474703a2f2f7777772e676f6f676c652e69742f</md:sourceHttp>
<md:type>example</md:type>
<md:public>true</md:public>
</md:metadata>
<annotationBody xmlns="urn:Annotation">
<contents id="1">
<textContent>Das ist ein Beispieltext für eine Annotation</textContent>
<attachments>
<attachedImage> file:://A/B/C</attachedImage>
</attachments>
</contents>
<contents id="2">
<md:textContent> Eine weitere Annotation </md:textContent>
<attachments>
<attachedAudio>http://www.h_da.de/xml/test.mp3</attachedAudio>
</attachments>
</contents>
<textSelection>
<path>BODY/CENTER/FORM/TABLE[2]/TBODY/TR[2]/TD/FONT/LABEL[3],23,6</path>
<contentRef>1</contentRef>
</textSelection>
</annotationBody>
</md:madcow>
这是我的问题:
本文档中有多少个不同的XML命名空间?
据我所知,首先是:
xmlns:md="urn:Annotation"
这意味着这是第一个。
然后我有:
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
这是第二个。
然后我们有:
xsi:schemaLocation="urn:Annotation D:\projects\DELOS\Annotation.xsd"
告诉我们在哪里定义了xsi名称空间的模式。
然后我们有:
xmlns="urn:Annotation"
告诉我们默认命名空间是什么。
最后我们有:
<annotationBody xmlns="urn:Annotation">
告诉我们这里我们覆盖这个特定元素的默认命名空间。这有什么让我最困惑的,因为为什么我们在这里需要命名空间声明,因为它的默认命名空间呢?
所以是啊......
我是否正确理解/阅读了代码,如果没有,请告诉我原因以及本文档中有多少个不同的命名空间?
感谢所有人提前。
答案 0 :(得分:1)
本文档中有两个不同的命名空间,分别是urn:Annotation
和http://www.w3.org/2001/XMLSchema-instance
。
urn:Annotation
被提及三次,它既是文档的默认命名空间,也与md
命名空间前缀相关联。命名空间前缀是任意的,只在它们定义的元素中有意义。
这意味着以下三个元素中的每一个都位于相同的命名空间中,并且具有完全相同的信息内容:
<Element xmlns="urn:example"/>
<a:Element xmlns:a="urn:example"/>
<b:Element xmlns:b="urn:example"/>
在您的特定文档中,存在一定数量的冗余,因为默认命名空间不需要 重新分配在{{ 1}}元素。我们也不是需要 annotationBody
前缀。
本文档包含完全相同的信息:
md
答案 1 :(得分:0)
本文档中有多少个不同的XML命名空间?
无。
正如@Damien_The_Unbeliever正确指出的那样,文档中出现了两个不同的名称空间URI:urn:Annotation
和http://www.w3.org/2001/XMLSchema-instance
。但是这些名称空间不是&#34;在&#34;该文件,它们在它之外。这是关于命名空间的全部观点,它们不是文档的本地。
如果我已经正确计算,该文档包含4个名称空间声明,表示3个不同的名称空间绑定到2个不同的名称空间。