xml命名空间解惑

预备知识,右转w3school看命名空间:http://www.w3school.com.cn/xml/xml_namespaces.asp



1.所以说标签定义在不同命名空间有啥用?
比如两个人A、B对标签<Hello>有不同理解,现在你要对包含这个标签的xml进行解析(比如在java中),A要求你要解析到<Hello>时输出字符'A',B则要求你输出'B',所以遇到该标签时你要怎么处理?
解决方法就是命名空间。大家做个约定,当<a:Hello>时按A的要求输出'A',当<b:Hello>时按B的要求输出'B'。

2.xmlns的值为什么多数是url格式?
约定俗成。

3.为什么很多平台上xmlns的值有些是固定统一的?比如wpf的xaml和android的xml文件中?
事实上值是随便你取的,但是总有一个确定值要使用。难讲清,看下面例子吧。
假定全世界的人都知道遇到http://my/url命名空间中的<Hello>标签时,要输出"Hello"。现在你遇到了陌生人的写在http://gaoshi/aa命名空间中的<Hello>标签,那么要不要输出"Hello"呢?你不知道。

4.所以命名空间跟这个xml文件里可以有什么标签是没有关系的,对吗?
是的,在没有xsd(xml scheme definition)下和指定环境下,xml文件只要满足基本格式规范,就是合法的,跟命名空间没有关系。

5.怎么限定xml文件的规范呢?比如说要求这个xml文件只能有某些标签和某些属性值?
右转xsd:http://www.w3school.com.cn/schema/schema_intro.asp
在xml文件中对xsd进行引用,即可按要求规范你的xml文件。

6.为什么在xhtml(or android的xml)开发时,我没有引用xsd文件,编辑器(or IDE)依然能提示我语法错误呢?
因为它有内置处理。相当于在你没引用xsd时,隐式把相应的xsd文件套进来。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 136,179评论 19 139
  • XML文件我经常使用,头部信息一般都是直接粘贴过来,而不知道那些属性的意义。通过查阅资料,我通过自己的理解解释一下...
    dejunz阅读 12,122评论 1 8
  • 1. XML简介 以下内容来自于http://www.w3school.com.cn/xml 基本知识 XML 和...
    WebSSO阅读 6,096评论 1 7
  • Spring Web MVC Spring Web MVC 是包含在 Spring 框架中的 Web 框架,建立于...
    Hsinwong阅读 22,781评论 1 92
  • RT这个产品在Facebook ins 推特 以及官网上联动,打破单一路径 《档案》主持人作为虚构和非虚构的衔接,...
    陈小婷Molly阅读 3,122评论 0 0

友情链接更多精彩内容