一个xml的格式如下,
<?xml version="1.0"?>
<!-- 本文档根元素为gridbag, 其中验证文档为gridbag.dtd -->
<!DOCTYPE gridbag SYSTEM "gridbag.dtd">
<gridbag>
<row>
<cell anchor="EAST">
<bean>
<class>javax.swing.JLabel</class>
<property>
<name>text</name>
<value><string>Face:</string></value>
</property>
</bean>
</cell>
<cell fill="HORIZONTAL" weightx="100">
<bean id="face">
<class>javax.swing.JComboBox</class>
</bean>
</cell>
<cell gridheight="4" fill="BOTH" weightx="100" weighty="100">
<bean id="sample">
<class>javax.swing.JTextArea</class>
<property>
<name>text</name>
<value><string>The quick brown fox jumps over the lazy dog</string></value>
</property>
<property>
<name>editable</name>
<value><bolean>false</bolean></value>
</property>
<property>
<name>lineWrap</name>
<value><boolean>true</boolean></value>
</property>
<property>
<name>border</name>
<value>
<bean>
<class>javax.swing.border.EtchedBorder</class>
</bean>
</value>
</property>
</bean>
</cell>
</row>
<row>
<cell gridwidth="2" weighty="100">
<bean id="bold">
<class>javax.swing.JCheckBox</class>
<property>
<name>text</name>
<value><string>Bold</string></value>
</property>
</bean>
</cell>
</row>
<row>
<cell gridwidth="2" weighty="100">
<bean id="italic">
<class>javax.swing.JCheckBox</class>
<property>
<name>text</name>
<value><string>Italic</string></value>
</property>
</bean>
</cell>
</row>
</gridbag>
,对就在的dtd文件格式:
<!ELEMENT gridbag (row)*> <!--根元素是gridbag,可以多个子元素row-->
<!ELEMENT row(cell)*> <!--row下面可以有多个cell子元素 -->
<!ELEMENT cell(bean)> <!--cell元素下只有一个bean元素-->
<!ATTLIST cell gridx CDATA #IMPLIED> <!--cell有gridx属性,类型为任意文本,如果有特殊字符用相应的替代字符代替(用于属性中),可选-->
<!ATTLIST cell gridy CDATA #IMPLIED>
<!ATTLIST cell gridwidth CDATA "1"> <!--gridwidhth属性默认为1-->
<!ATTLIST cell gridheight CDATA "1">
<!ATTLIST cell weightx CDATA "0">
<!ATTLIST cell weighty CDATA "0">
<!ATTLIST cell fill (NODE|BOTH|HORIZONTAL|VERTICAL) "NONE"> <!--fill属性有几个可选值,默认为NONE-->
<!ATTLIST cell anchor (CENTER|NORTH|NORTHEAST|EAST|SOUTHEAST|SOUTH|SOUTHWEST|WEST|NORTHWEST) “CENTER”>
<!ATTLIST cell ipdx CDATA "0">
<!ATTLIST cell ipady CDATA "0">
<!ELEMENT bean (class, property*)> <!--bean子元素有一个class子元素,多个property子元素-->
<!ATTLIST bean id ID #IMPLIED> <!--bean的id属性是ID类型,也就是唯一性 -->
<!ELEMENT class (#PCDATA)> <!--class元素下面可以只包含文本也可以包含子元素,类似于ANY(用于元素中)-->
<!ELEMENT property (name, value)>
<!ELEMENT name (#PCDATA)>
<!ELEMENT value (int|string|boolean|bean)>
<!ELEMENT int (#PCDATA)>
<!ELEMENT string (#PCDATA)>
<!ELEMENT boolean (#PCDATA)>
XSD文件格式如下
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<xsd:element name="gridbag" type="GridBagType"/><!--根元素-->
<xsd:element name="bean" type="BeanType"/>
<xsd:complexType name="GridBagType">
<xsd:sequence>
<xsd:element name="row" type="RowType" minOccurs="0" maxOccurs="unbounded"/>
</xsd:sequence>
</xsd:complexType>
<xsd:complexType name="RowType">
<xsd:sequence>
<xsd:element name="cell" type="CellType" minOccurs="0" maxOccurs="unbounded"/>
</xsd:sequence>
</xsd:complexType>
<xsd:complexType name="CellType">
<xsd:sequence>
<xsd:element ref="bean"></xsd:element>
</xsd:sequence>
<xsd:attribute name="gridx" type="xsd:int" use="optional"/>
<xsd:attribute name="gridy" type="xsd:int" use="optional"></xsd:attribute>
<xsd:attribute name="gridwidth" type="xsd:int" use="optional" default="1"></xsd:attribute>
<xsd:attribute name="gridheight" type="xsd:int" use="optional" default="1"/>
<xsd:attribute name="weightx" type="xsd:int" use="optional" default="0"/>
<xsd:attribute name="weighty" type="xsd:int" use="optional" default="0"/>
<xsd:attribute name="fill" use="optional" default="NONE">
<xsd:simpleType>
<xsd:retriction base="xsd:string">
<xsd:enumeration value="NONE"/>
<xsd:enumeration value="BOTH"/>
<xsd:enumeration value="HORIZONTAL"/>
<xsd:enumeration value="VERTICAL"></xsd:enumeration>
</xsd:retriction>
</xsd:simpleType>
</xsd:attribute>
<xsd:attribute name="anchor" use="optional" default="CENTER">
<xsd:simpleType>
<xsd:retriction base="xsd:string">
<xsd:enumeration value="CENTER"></xsd:enumeration>
<xsd:enumeration value="NORTH"/>
<!-- 下面的类同 -->
</xsd:retriction>
</xsd:simpleType>
</xsd:attribute>
<xsd:attribute name="ipady" type="xsd:int" use="optional" default="0"></xsd:attribute>
<xsd:attribute name="ipadx" type="xsd:int" use="optional" default="0"/>
</xsd:complexType>
<xsd:complexType name="BeanType">
<xsd:sequence>
<xsd:element name="class" type="xsd:string"/>
<xsd:element name="property" type="PropertyType" minOccurs="0" maxOccurs="unbounded"/>
</xsd:sequence>
<xsd:attibute name="id" type="xsd:ID" use="optional"></xsd:attibute>
</xsd:complexType>
<xsd:complexType name="PropertyType">
<xsd:sequence>
<xsd:element name="name" tyype="xsd:string"/>
<xsd:element name="value" type="ValueType"/>
</xsd:sequence>
</xsd:complexType>
<xsd:complexType>
<xsd:choice>
<xsd:element ref="bean"/>
<xsd:element name="int" type="xsd:int"/>
<xsd:element name="string" type="xsd:string"/>
<xsd:element name="boolean" type="xsd:boolean"/>
</xsd:choice>
</xsd:complexType>
</xsd:schema>
DTD比XSD简单,功能上也相对较弱
分享到:
相关推荐
在Eclipse中导入dtd和xsd文件,使XML自动提示 DTD 类型约束文件 1. Window->Preferences->XML->XML Catalog->User Specified Entries窗口中,选择Add 按纽 2.在Add XML Catalog Entry 对话框中选择或输入以下...
xml dtd xsd 的编写 标准格式可以供学习参考用
struts-2.0/2.1.dtd struts-config.dtd ........ web-app_2_3.dtd web-app_2_4.xsd
一个dtd和xsd文档和对应的xml文件,仅供学习参考 一个dtd和xsd文档和对应的xml文件,仅供学习参考
初级WEB编程技术内容, 包括css.dtd.xsd.xml及实验报告封面的xml编写程序
XML转XSD\DTD工具 W3C XML Schema XSD 工具
各种dtd文件范例 各种dtd文件范例 各种dtd文件范例
hibernate的xsd和dtd约束文件合集;
XML大作业 图书馆xml dtd xsl xsd 有效性检测 算平均值 DOM解析 等 内含源代码 截图显示
其次解决编译依赖问题的投资回报率过低,在一个依赖关系已经十分“盘根错节”的项目中试图解决其依赖问题显然需要投入大量的人力和时间成本。在问题得到解决后,你自认为一切都已经步入正轨,却突然发现刚刚提交的新...
xml做的,超级简单的,通讯录! 下了看看吧~
输入java -jar trang.jar person.xml person.xsd(trang.jar 接受两个参数,第一个为源文件,第二个为目标文件) ok!你可以看到在 d:\trang下就生成了 person.xsd 文件 Trang的执行: java -jar trang.jar -I rng|...
xml与DTD,xml与DTD,xml与DTD,xml与DTD
XML的使用方式示列(xsl、xsd、dtd等)
使用DTD验证XML文档 一、 DTD的定义: a) DTD是Document Type Defintion的缩写,即文档类型定义。DTD用来描述XML文档的结构。...c) DTD使应用程序可以使用一个标准DTD校验从外部接收的XML数据是否有效。
上课的实例,我觉得很不错。是在eclipse里面写的
DTD 总结 QQ:292258449 DTD 总结DTD 总结
DTD实际上可以看作一个或多个XML文件的模板,这些XML文件中的元素、元素的属性、元素的排列方式/顺序、元素能够包含的内容等,都必须符合DTD中的定义。XML文件中的元素,即我们所创建的标记,是根据我们应用的实际...
这个是我今天学的一个Java里面mybatis的主配置中的其中一个包,由于软件问题,只可以传一个,这是接上一个config.dtd的mapper.dtd,这个下载了,记得解压,这个是mapper.dtd还有一个config,等会发下一个教程和代码,...
XML Schema 是DTD的替代...文档设计者可以通过XML Schema指定一个XML文档所允许的结构和内容,并可据此检查一个XML文档是否是有效的。XML Schema本身是一个XML文档,它符合XML语法结构。可以用通用的XML解析器解析它。