编辑24.1. XML编辑与验证
(Available in 1.0)
如果您习惯于用自己钟爱的XML编辑器编写XML文档,那么应该会对本章的大部分内容感兴趣。在运行期,Spring.NET使用对象定义schema验证XML数据。对象定义的XML数据可以保存在任何IResource接口所支持的位置(可以参考6.1,简介)。如果要用独立的XML文件保存对象定义,在.NET应用程序配置中,应该这样配置<context>节点:
<spring>
<context>
<resource uri="file://objects.xml"/>
</context>
</spring>
VS.NET 2005的XML编辑器能利用xsi:schemaLocation属性来关联一个schema文件,用它来为正在编辑的XML文档进行代码提示。 VS.NET 2002/2003不能识别该属性。如果用下面代码中的方法引用Spring.NET的XML schema,在VS.NET 2005中编辑配置文件时就能看到代码提示,也可对文档进行验证。如果想在VS.NET 2002/2003中使用这些功能,则需要在VS.NET中注册这个schema,或者将它包含到当前的项目当中。
<?xml version="1.0" encoding="UTF-8"?>
<objects xmlns="http://www.springframework.net"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.springframework.net http://www.springframework.net/xsd/spring-objects.xsd">
<object id="..." type="...">
...
</object>
<object id="..." type="...">
...
</object>
...
</objects>
将schema文件安装进VS.NET会更为方便,对于VS.NET 2005来说也是如此,因为这可以避免Xml文件过于冗长,也不用每创建一个项目就需要复制schema的路径。要将schema文件安装到VS.NET中,可以将它们复制到以下目录:
VS2003:C:\Program Files\Microsoft Visual Studio .NET 2003\Common7\Packages\schemas\xml
或
VS2002:C:\Program Files\Microsoft Visual Studio .NET\Common7\Packages\schemas\xml
对VS.NET 2005来说,则是:
C:\Program Files\Microsoft Visual Studio 8\Xml\Schemas
还可以利用Spring.NET的doc/schema目录下的NAnt脚本文件来安装这些Schema。执行了这个脚本之后,spring-object.xsd文件就会被复制到正确的位置。
安装了schema之后,在VS.NET的编辑器中,只要objects节点包含xmlns="http://www.springframework.net"属性,VS就可以利用这个schema来进行代码提示了:
<?xml version="1.0" encoding="UTF-8"?>
<objects xmlns="http://www.springframework.net">
<object id="..." type="...">
...
</object>
<object id="..." type="...">
...
</object>
...
</objects>
另外,也可以在配置文件的属性中通过Schemas来选择xsd文件。
在4.7,与IObjectFactory交互一节中曾经提过,可以在.NET的应用程序配置文件中存放对象定义,如下:
<configuration>
<configSections>
<sectionGroup name="spring">
<section name="context" type="Spring.Context.Support.ContextHandler, Spring.Core"/>
<section name="objects" type="Spring.Context.Support.DefaultSectionHandler, Spring.Core" />
</sectionGroup>
</configSections>
<spring>
<context>
<resource uri="config://spring/objects"/>
</context>
<objects xmlns="http://www.springframework.net">
...
</objects>
</spring>
</configuration>
此时,VS.NET 2002/2003也能进行代码提示,但是因为没有为整个App.config文档提供schema,所以无法执行全面验证。要进行全面验证需要安装.NET Configuration File schema,并将
和节点也加入到该schema中。
验证schema是VS 2005的新功能,在编辑时,可以在VS 2005的错误列表窗口看到文档中的错误。
关于如何存放对象定义的配置数据,好的习惯是保留App.config的原型,而在其它兼容IResource的位置或文件中存放Spring.NET的配置,对于比较重要的项目,可以存放在程序集的内嵌资源中。
顶部
编辑24.2. XML Schema的版本
为了支持泛型,Spring.NET 1.0.2的schema已经与1.0.1有所不同。1.0.1版的schema位于http: //www.springframework.net/xsd/1.0.1/。最新版会始终放在http: //www.springframework.net/xsd/。
顶部
编辑24.3. 集成API文档
在安装过程中,Spring.NET会将文档注册到Visual Studio。文档有两个版本,分别针对VS.NET 2002/2003和VS.NET 2005。这两个版本只在格式上有差别,VS.NET 2005版的文档使用的是新格式,比较酷。哈!
顶部