Schema命名空间示例

Schema命名空间示例

Schema在文档根节点中通过xmlns对文档中的命名空间进行声明。我们在上面的代码中定义了3个命名空间

  • 默认命名空间:它没有空间名,用于Spring Bean的定义;
  • xsi命名空间:这个命名空间用于为每个文档中命名空间指定相应的Schema样式文件,是标准组织定义的标准命名空间;
  • aop命名空间:这个命名空间是Spring配置AOP的命名空间,是用户自定义的命名空间。

命名空间的定义分为两个步骤:
1. 第一步指定命名空间的名称
2. 第二步指定命名空间的Schema文档样式文件的位置,用空格或回车换行进行分隔

在第一步中,需要指定命名空间的缩略名和全名,请看下面配置所定义的命名空间:

<xmlsn:aop="http://www.springframework.org/schema/aop"/>

aop为命名空间的别名,一般使用简洁易记的名称,文档后面的元素可通过命名空间别名加以区分,如<aop:config/>等。而http://www.springframework.org/schema/aop为空间的全限定名,习惯上用文档发布机构的官方网站和相关网站目录作为全限定名。这种命名方式既可以标识文档所属的机构,又可以很好地避免重名的问题。但从XML Schema语法来说,别名和全限定名都可以任意命名。

如果命名空间的别名为空,则表示该命名空间为文档默认命名空间,文档中无命名空间前缀的元素都属于默认命名空间,如<beans/>、<bean/>等都属于1处定义的默认命名空间。

在第二步中,为每个命名空间指定了对应的Schema文档格式定义文件,定义的语法是:

xsi:schemaLocation="namespace1 namespace1的schema文件位置 namespace2 namespace2的schema文件位置 ..."

命名空间使用全限定名,每个组织机构在发布Schema文件后,都会为该Schema文件提供一个引用的URL地址,一般使用这个URL地址指定命名空间对应的Schema文件。命名空间名称和对应的Schema文件地址之间使用空格或回车分隔,不同的命名空间之间也使用这种分隔方法。

指定命名空间的Schema文件地址有两个用途:
1. XML解析器可以获取Schema文件并对文档进行格式合法性验证
2. 在开发环境下,IDE可以引用Schema文件对文档编辑提供诱导功能。


参考

[1]: Spring 3.x企业应用开发实战-4.1.2 基于XML的配置

上一篇:图形数据库和NOSQL


下一篇:在C#中调用API获取网络信息和流量