一个简单的系统配置文件使用DTD和XSD两种方式描述 系统配文件为sysconfig.xml <?xml version="1.0" encoding="GBK" ?> <!-- <!DOCTYPE app SYSTEM "sysconfig.dtd"> --> <app xmlns="http://www.herong.com/sysconfig/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.herong.com/sysconfig/ sysconfig.xsd"> <web> <title>JNDI测试</title> <status>浏览器状态标显示文字</status> <versoin>1.0</versoin> <copyright>(c) herong.2009</copyright> <!-- 是否关闭 --> <close>false</close> <upload>上传文件所在目录</upload> <download>下载文件所在目录</download> </web> <sys> <resource app-server="Tomcat"> <jndi-name>jdbc/mydatasource</jndi-name> <foctory>weblogic.jndi.WLInitialContextFactory</foctory> <provider-url>http://localhost:7001</provider-url> </resource> </sys> </app> 方式一:DTD方式描述文件为sysconfig.dtd <!ELEMENT app (web,sys)> <!ELEMENT web (title,status,versoin,copyright,close,upload,download)> <!ELEMENT title (#PCDATA)> <!ELEMENT status (#PCDATA)> <!ELEMENT versoin (#PCDATA)> <!ELEMENT copyright (#PCDATA)> <!ELEMENT close (#PCDATA)> <!ELEMENT upload (#PCDATA)> <!ELEMENT download (#PCDATA)> <!ELEMENT sys (resource)> <!ELEMENT resource (jndi-name,foctory,provider-url)> <!ELEMENT jndi-name (#PCDATA)> <!ELEMENT foctory (#PCDATA)> <!ELEMENT provider-url (#PCDATA)> <!ATTLIST resource app-server (Tomcat|WebLogic|WebSphere) "Tomcat"> <!ENTITY copyright "(c) herong . 2009"> 方式二:XSD方式描述文件为sysconfig.xsd <?xml version="1.0" encoding="UTF-8"?> <schema xmlns:tns="http://www.herong.com/sysconfig/" xmlns="http://www.w3.org/2001/XMLSchema" targetNamespace="http://www.herong.com/sysconfig/"> <!-- 类型定义 --> <simpleType name="appserver"> <restriction base="string"> <pattern value="(Tomcat|WebLogic|WebSphere)" /> </restriction> </simpleType> <!-- 简易元素定义 --> <element name="title" type="string" /> <element name="status" type="string" /> <element name="versoin" type="string" /> <element name="copyright" type="string" /> <element name="close" type="string" /> <element name="upload" type="string" /> <element name="download" type="string" /> <element name="jndi-name" type="string" /> <element name="foctory" type="string" /> <element name="provider-url" type="string" /> <!-- 属性定义 --> <!-- <attribute name="app-server" type="string" /> --> <!-- 复合元素定义 --> <element name="web"> <complexType> <sequence> <element ref="tns:title" /> <element ref="tns:status" /> <element ref="tns:versoin" /> <element ref="tns:copyright" /> <element ref="tns:close" /> <element ref="tns:upload" /> <element ref="tns:download" /> </sequence> </complexType> </element> <element name="resource"> <complexType> <sequence> <element ref="tns:jndi-name" /> <element ref="tns:foctory" /> <element ref="tns:provider-url" /> </sequence> <attribute name="app-server" type="tns:appserver" /> </complexType> </element> <element name="sys"> <complexType> <all> <element ref="tns:resource" /> </all> </complexType> </element> <!-- 结合 --> <element name="app"> <complexType> <sequence> <element ref="tns:web" /> <element ref="tns:sys" /> </sequence> </complexType> </element> </schema>