JBPM流程定义校验之XSD简介
JBPM的流程定义语言是JPDL,其本身是一种自定义结构的xml;JBPM的流程定义结构比较复杂,不仅元素的类型多样,而且对数据类型也有比较严格的要求,同时有很多元素有着相同的元素和属性等;做为流程引擎应该具有校验流程定义的有效性的能力,从而保证不会再流程流转过程中发生错误;同时流程引擎应该内置这种校验能力,而不能依赖流程设计器的校验!面对如此复杂的xml,JBPM首先使用XSD进行验证,然后再解析流程定义的同时进行一些XSD无法实现的校验!今天简单的介绍一下XSD的相关知识,然后接下来的将分别介绍在java script、C#、java中怎样利用XSD对xml进行校验。
XSD 是基于 XML 的 DTD 替代者,XSD 可描述 XML 文档的结构,XSD即是XML Schema Definition;XSD 的作用是定义 XML 文档的合法构建模块,类似 DTD。
< xml version="1.0" >
George
John
Reminder
Don't forget the meeting!
那么我们相应的XSD文件
< xml version="1.0" >
http://www.w3.org/2001/XMLSchema" xmlns="http://www.w3school.com.cn" elementFormDefault="qualified">
那么我们怎样在xml中引入XSD呢?
通过schemaLocation引用
< xml version="1.0" >
http://www.w3school.com.cn" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.w3school.com.cn note.xsd">
George
John
Reminder
Don't forget the meeting!
< xml version="1.0" >
http://www.w3.org/2001/XMLSchema" targetNamespace="http://www.w3school.com.cn" xmlns="http://www.w3school.com.cn" elementFormDefault="qualified">
通过noNamespaceSchemaLocation引用
< xml version="1.0" >
http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="note.xsd">
George
John
Reminder
Don't forget the meeting!
< xml version="1.0" >
http://www.w3.org/2001/XMLSchema" xmlns="http://www.w3school.com.cn" elementFormDefault="qualified">
为IDE开发环境添加XSD,开启xml只能提示功能
Visual studio添加XSD
默认情况下,我们只需要将相应的xsd文件拷贝到Visual studio 安装目录\xml\schemas目录下即可

eclipse添加XSD
点击窗口 --> 属性(Windows --> Preferences)
选择XML --> 目录(XML --> CataLog)
点击添加(Add)
添加XML目录(Add XML Catalog Entry)的窗口打开
点击map-icon的图标下面的按钮并选择文件系统(File System)
在打开的对话框中, 选择相应的XSD文件
