eclipse编写XML需了解事项

蹲街弑〆低调 提交于 2020-02-28 14:28:00

    本文简单介绍使用eclipse编写xml时需了解的几点:

    1、xml的头是什么意思? 

以编写Spring的配置文件为例来讲解xml头的含义:以下是spring一个最简单的配置

<beans  //xml根元素,会根据需要而不同,如spring该配置为beans,maven的pom文件的根元素是Project

               //根元素也是要根据实际情况配置正确

    xmlns="http://www.springframework.org/schema/beans"  

//xmlns:xml namespace命名空间,此处的命名空间没有声明前缀,所以是默认命名空间。注意:此处不会检验所编写的xml格式标签是否正确,URL只作为命名空间,如Java项目中的package的作用一样,避免重名的尴尬。理论上这个URL可以随便定义,只要是别重复就可以 了,不过很多公司都会把这个URL指向特定的资源。


    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"  

//也是命名空间,此处定义了前缀:xsl,只有使用了该前缀的才是使用了该命名空间的。该命名空间比较特殊,从URL可看到:XMLSchema-instance。用我的理解就是,它是用来指定"xml格式定义文件"的实例。


    xsi:schemaLocation="http://www.springframework.org/schema/beans
    http://www.springframework.org/schema/beans/spring-beans-2.5.xsd">

//又xsi前缀可知,该句使用了上面声明的命名空间,而这个schemaLocation=“{namespace}{schema}”则是用来声明上面的声明的命名空间应该受哪个schema约束(就是该命名空间中所能使用到的标签元素属性等,都是在哪里定义的,且该命名空间只能使用在这个schema中定义的标签元素属性等)。

注意:

1、此处的namespace和schema是一一对应的,之前用空格隔开,多对namespace和schema也用空格隔开。

2、写法:namespace1 schema1 namespace2 schema2;不要namespace1 namespace2 schema1 schema2。

3、此处的namespace都是上面声明的。

4、此处的schema不能够随便写,否则找不到定义的文件。schema的写法下面会讲到
      

    <bean id="" class="">//这些就是spring需要配置的元素属性了,不在本文讲述范围
        <property name="">
        </property>
    </bean>
   
</beans>

2、不会自动提示怎么办?

使用eclipse编写xml时没有自动提示的解决方法:

    此处以编写Spring的配置文件为例。xsd文件:(xml schema definition)xml语法定义文件(就是上面说到的schema),XML Schema:DTD的替代者

a) window – preferences – eclipse – xml – xml catalog

b) User Specified Entries – add

//此处是根据需要找到自己想要的xsd文件

c). Location: D:\share\0900_Spring\soft\spring-framework-2.5.6\dist\resources\spring-beans-2.5.xsd

d). Key Type: Schema Location

e) . Key: http://www.springframework.org/schema/beans/spring-beans-2.5.xsd  //添加完后,我的key自动变为http://www.springframework.org/schema/beans,自己加上spring-beans-2.5.xsd

//这个key就是上面schema文件的位置,就这个URL作为schema,和对应的namespace写到上面的schemaLocation中。

 

将上述两点都做好了之后,一般情况下就会自动提示了。如果还不行,就window – preferences – eclipse – xml

在有上方红色框处,你需要按某个字符就自动提示,就把该字符加上。我基本把所有都加上了。

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!