XML Schema支持继承机制,如在一个xml文档里,既有student元素也有teacher元素,如下:
xml 代码
- <student>
- <name>Chris</name>
- <NO>0312893</NO>
- <major>Software Engineering</major>
- </student>
- <teacher>
- <name>Daneil</name>
- <teach-course>Object-oriented Programming</teach-course>
- </teacher>
但是他们有一个共同的子元素name,我们如何将其抽象出来放到一个共同的父类中呢?这时我们就可以利用XML Schema的继承机制来实现。我们先定义一个类型Person:
xml 代码
- <complexType name="Person" abstract="true">
- <sequence>
- <element name="name" type="string"/>
- </sequence>
- </complexType>
abstract=”true”表示这是一个抽象类型,通过如下定义即可实现继承Person
xml 代码
- <complexType name="Student">
- <extension base="Person">
- <sequence>
- <element name="NO" type="string"/>
- <element name="major" type="string"/>
- </sequence>
- </extension>
- </complexType>
- <complexType name="Teacher">
- <extension base="Teacher">
- <sequence>
- <element name="teach-course" type="string'/>
- </sequence>
- </extension>
- </complexType>
这样Student和Teacher就自动具有了name元素。下面我们只需
xml 代码
- <element name="student" type="Student"/>
- <element name="teacher" type="Teacher"/>
将元素和他们对应的类型绑定即可,类似于面向对象语言中的实例化。注意:由于Person类型是一个抽象类型,是不可以实例化的,这点和面向对象语言也十分相似。
相关推荐
它从规范中获得了一些自由,并且需要做一些工作才能用作验证器,但是它以相对理智的方式处理类型继承和XML名称空间。 xsdgen软件包提供了一个可定制的代码生成器,该生成器为XML Schema生成Go类型声明和编组/解组...
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd "> <!-- 父项目的坐标。如果项目中没有规定某个元素...
mysql common_schema 完整sql。适合5.1版本以上,支持5.7以下的简单的json内容获取
7) XML继承自SGML(标准通用标记语言)。SGML的前身GML由IBM在1960年发明,用于描述设备无关的文本 8) XML是SGML的子语言,由SGML简化而来,起初的目的是为Web的结构文档提供服务。 9) W3C组织在1998年2月10日发布...
在.NET中实现DOM <br>6.1 文档对象模型 6.1.1 文档对象模型与流模型 6.1.2 .NET DOM继承模型 6.2 XmlNode类 6.2.1 XmlNode的定义 6.2.2 XmlNode的属性 6.2.3 XmlNode的方法 6.3 XmlDocument...
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd"> <!--配置数据源-...
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 4. xsi:schemaLocation="http://www.springframework.org/schema/beans 5. ...
springboot集成impala,包含yml文件、impala配置Bean、ImpalaJDBC41-2.6.4.1005.jar和impala在pom.xml中的配置,有问题留言
OmniGraffle使用苹果的XML schema格式的plist存储数据,其扩展名为.graffle。 OmniGraffle使用称为Quartz的Mac OS X的图形层,并利用了其反锯齿,平滑缩放,透明拖放阴影等一系列特性。OmniGraffle 4增加了贝塞尔...
通过继承Analyzer编写自定义类UseSmartIKAnalyzer和NotUseSmartIKAnalyzer,实现智能分词和最细粒度分词,支持solr4.7通过配置schema.xml实现不同的分词效果 <!-- 使用智能分词 --> <!-- 使用智能分词 --...
XML Schema 379 Schema和DTD的区别: 380 Schema的数据类型 380 样式表(XSL) 384 CSS样式表 384 XSL样式表 385 XSL的基本结构 386 XSL的基本语法 390 节点选择语句<xsl:value-of > 392 循环判断语句<xsl:for-each>...
6.3. Schema-based AOP support 6.3.1. 声明一个切面 6.3.2. 声明一个切入点 6.3.3. 声明通知 6.3.3.1. 通知(Advice) 6.3.3.2. 返回后通知(After returning advice) 6.3.3.3. 抛出异常后通知(After throwing ...
(XML/XSL、XSLT/DTD、SCHEMA等基础的概念、关于Java的编程可以暂时扔在一边) 8:Hibernate OR Mapping原理 Hibernate基础开发步骤 Hibernate基本接口(重点Session) 普通属性映射 关联关系映射 Native SQL ...
20.1. Schema自动生成(Automatic schema generation) 20.1.1. 对schema定制化(Customizing the schema) 20.1.2. 运行该工具 20.1.3. 属性(Properties) 20.1.4. 使用Ant(Using Ant) 20.1.5. 对schema的增量...
目录 1 Mybatis入门 1 1.1 单独使用jdbc编程问题总结 1 1.1.1 jdbc程序 1 1.1.2 jdbc编程步骤: 2 1.1.3 jdbc问题总结如下: 3 1.2 MyBatis介绍 3 1.3 Mybatis架构 3 ...8.4.2 Table schema问题 74
20.1. Schema自动生成(Automatic schema generation) 20.1.1. 对schema定制化(Customizing the schema) 20.1.2. 运行该工具 20.1.3. 属性(Properties) 20.1.4. 使用Ant(Using Ant) 20.1.5. 对schema的增量...
20.1. Schema自动生成(Automatic schema generation) 20.1.1. 对schema定制化(Customizing the schema) 20.1.2. 运行该工具 20.1.3. 属性(Properties) 20.1.4. 使用Ant(Using Ant) 20.1.5. 对schema的增量...
20.1. Schema自动生成(Automatic schema generation) 20.1.1. 对schema定制化(Customizing the schema) 20.1.2. 运行该工具 20.1.3. 属性(Properties) 20.1.4. 使用Ant(Using Ant) 20.1.5. 对schema的增量...
将 XML 原语转换为 Avro 原语通过跟踪基类型并将基类型的字段与继承类型的字段组合来处理继承(Avro 不支持)。安装WSDL2Avro发布在 Maven Central 上,因此很容易将其包含在您的项目中:SBT lib