WebService系列博客{七}[Schema简单案例阐述、DTD的简单阐述]
来源:互联网 发布:西南大学网络教育论坛 编辑:程序博客网 时间:2024/04/27 14:27
要学好webservice我个人觉得了解一下xml是很必要的。如果前几篇博客的wsdl文件很模糊的话,看这一章也是很必要的。
1. Schema相比dtd的优点
Schema出现的目的是通过一种更合理的方式来编辑xml(基于xml的语法方式)
Schema可以使用命名空间支持多个名称相同的元素
Schema可以很好的完成对java或者其他语言对象的修饰
2.简单Schema的编写
下面Schema可是说是最简单的一个Schema的代码了,其中注释很清楚,着重了“头文件、复杂类型、简单类型”的引用
<?xml version="1.0" encoding="UTF-8"?><!-- xmlns为schema的命名空间不可更改。但是可以更改前缀 --><!-- targetNamespace为自身的namespace,当xml引入约束的时候用到 --><!-- xmlns:tns 为方便自己类型在自己schema文档中引用而定义 --><schema xmlns="http://www.w3.org/2001/XMLSchema" targetNamespace="http://www.example.org/person/04"xmlns:tns="http://www.example.org/person/04" elementFormDefault="qualified"><!-- 元素定义引用下面本文档定义的personType复杂类型 --><element name="person" type="tns:personType"></element><!-- 定义一个复杂类型供person引用,也就是相当于一个javabean --><complexType name="personType"><sequence><element name="name" type="string"></element><element name="age" type="tns:ageType"></element></sequence><attribute name="id" type="string"></attribute></complexType><!-- 定义一个简单类型 --><simpleType name="ageType"><!-- 约束规则。base不要忘记。 --><restriction base="int"><minInclusive value="1"></minInclusive><maxExclusive value="100"></maxExclusive></restriction></simpleType><!-- 简单类型和复杂类型的约束很重要 --></schema>
3、约束的xml举例:
<?xml version="1.0" encoding="UTF-8"?><person xmlns="http://www.example.org/person/04" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.example.org/person/04" id="12"> <name>zhanglei</name><age>100</age></person>
4、图解xml和schema代码再次说明:
5、xml引入命名空间约束说明:
6、DTD的简单案例:
<?xml version="1.0" encoding="UTF-8"?><!--以下分别为声明元素和属性的案例--><!ELEMENT classrom (name,grade,student)><!ATTLIST classrom id ID #REQUIRED><!ELEMENT name (#PCDATA)><!ELEMENT grade (#PCDATA)><!ELEMENT student (age)><!ATTLIST student id ID #REQUIRED><!ELEMENT age (#PCDATA)>
<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE classrom SYSTEM "test_classrom.dtd"><classrom id="p2"><name>116</name><grade>2</grade><student id="p1"><age>12</age></student></classrom>
- WebService系列博客{七}[Schema简单案例阐述、DTD的简单阐述]
- 简单案例阐述‘三层架构’
- 经济学原理的简单阐述
- 经济学原理的简单阐述
- 关于volatile的简单阐述
- 对于XPath的简单阐述
- 数据仓库技术的简单阐述
- 动态代理的简单阐述
- 回调函数的简单阐述
- 对Oracle表空间的简单阐述
- 给新手简单阐述四元数的重要性
- 关于程序解耦性的简单阐述
- 程序解耦的简单阐述
- 关于多态的简单阐述
- 搜索学习基础--基本概念的简单阐述
- 快速排序之最简单的阐述
- android广播机制的简单阐述
- 集成方法stacking的简单阐述
- Hibernate优化查询策略
- jquery.validate 扩展验证+异步验证
- Refer to class constants in markup
- 推荐2013年最佳PHP开发框架
- USACO1.3.1 Mixing Milk(混合牛奶)
- WebService系列博客{七}[Schema简单案例阐述、DTD的简单阐述]
- C语言中的__attribute__机制
- 3-A Basic Game Loop
- WebP官方翻译==Google推出新的图片格式WebP
- Hibernate性能优化策略(一)
- 权限模型
- Hibernate性能优化策略(二)
- windows下QT Creator输不进去汉字的解决办法
- 服务器端执行的打开页面代码