




已阅读5页,还剩63页未读, 继续免费阅读
(电力系统及其自动化专业论文)ems的cimxmlsvg导入导出及编辑.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
浙江火学硕士学位论文 a b s t r a c t a b s t r a c t w i t ht h ed e v e l o p m e n to ft h ep o w e rs y s t e m ,m a n yo l de m sc a nn o tb es a t i s f i e d w i t ht h er e q u i r e m e n t sf o rc o m m u n i c a t i o na n dr e a l - t i m er e s p o n s e i no r d e rt ou p d a t e t h e s ee m sa n dr e l i e v ep r e s s u r eo np r o g r a m m i n g t h ep a p e ro f f e r sa ne x p o r ts o l u t i o n b a s e do nc i mi ne m st h r o u g ha n a l y z i n gt h ee m so fz h e j i a n ge l e c t r i cp o w e r c o m p a n y a l s ot h i sp a p e rd i s c u s s e ds o m ea p p l i c a t i o n sb a s e do nc i m x m ll i k e : e x p l o r et h ep h y s i c a lc i mm o d e l ,e d i tt h ec i mm o d e l ,s p l i tt h ec i mm o d e la n dc r e a t e t h ed i f f e r e n c em o d e lb yc o m p a r i n gt h et w oc i mm o d e l i no r d e rt ob r o w s ep o w e r s y s t e mr e s o r r c ec o n v e n i e n t l y , t h et e c h n i q u e sa b o u th o wt oc r e a t et h et o o lt ob r o w s e s v gg r a p h i ca n di n t e g r a t et h es v gg r a p h i cw i t hc i mm o d e li nt h et o o la r e i n 订o d u c e di nt h i sp a p e r t h ep a p e rc a nb ed i v i d e di n t of i v ep a r t s f i r s t l y , i ti n t r o d u c e sw h yt h ee m sm u s t b eu p d a t e d ;s e c o n d l y ,i tp r e s e n tt h et e c h n i q u e st h es y s t e mn e e d s ;t h e n ,i ts h o w st h e f o r m a to fe x i s t i n ge m sd a t aa n de x p l a i nh o wt oe x p o r tt h e mt oc i m x m ii nd e t a i l , h o wt or e a l i z et h ec i m x m la n ds v ge d i tt o o la r ei n t r o d u c e di nt h ef o u r t hp a r t ;a t l a s ti ti n t r o d u c e st h ev i f i o ni nf u t u r e sd e v e l o p m e n t k e y w o r d s : e m s ;e x p o r t ;u p g r a d e :c o m m o ni n f o r m a t i o nm o d e l ( c i m ) : e x t e n s i b l em a r k u pl a n g u a g e ( x m l ) ; s c a l a b l ev e c t o rg r a p h i c s ( s v g ) ; 2 浙江大学硕士学位论文 第一章绪论 第一章绪论 1 1电网调度自动化系统的发展及弊端 电网调度自动化系统发展迄今已经历三代:2 0 世纪7 0 年代基于专用计算机 和专用操作系统的s c a d a 系统可以称为第一代,8 0 年代基于通用计算机的e m s 系统称为第二代,9 0 年代基于r i s c r s n i x 的开放式分布式e m s d m s 系统称为 第三代,第三代系统发展了l o 年。 然而随着电力企业信息化的完善,建设了大批综合性的、分布式应用的系统。 这些系统的运用极大地提高了电力企业运行效率。但随着运用的深入,一些问题 也逐步暴露。这些应用系统可能是在不同时期开发的,采用的硬件、软件可能分 别来自不同的厂商,数据、报表格式可能也互不兼容。这些系统的设计重点通常 放在了对某类特定问题提供完善的解决方案,而忽略了与其它系统的接口,使得 信息的共享非常困难。这些系统的部署,使企业陷入了“信息孤岛”的困惑。 不同时期建立、不同厂商开发、未遵循统一标准的各种各样的子系统必然拥 有形式多种多样的操作界面、具有千差万别的管理功能。这种局面给电力应用系 统的集中和一体化管理带来了极大的不便。 1 2新一代电网调度自动化系统的出现 新一代s c a d a e m s 系统采用了先进的开放分布式应用环境的网络管理技 术、面向对象数据库、通信中间件技术、w e b 技术、国际标准等,为电力企业 的调度自动化、配电自动化、电力市场运营系统等提供符合国际标准( c i m ,c i s , u i b 等) 的统一的支撑平台,并集成s c a d a ,a g c ,n a s ,d t s ,w e b ,t m r , d m s ,s b s 等应用子系统,在安全的前提下进行同类系统的集成。新一代调度 自动化系统的基础是i e c 6 1 9 7 0 系列标准,该标准定义了公共信息模型( c i m ,3 0 0 系列) ,定义了组件接口规范框架( c i s 4 0 0 系列1 。 1 3 新一代电网调度自动化系统的开发方案 新一代电网调度自动化系统的开发,许多程序需要重新编写,工程浩繁,占 用很长时间。为了尽快满足近期工程的需要,各国的开发单位大都采用分步实施 的方案: 浙江大学硕士学位论文 第一章绪论 第一步:先利用现有e m s 系统进行数据的导入导出,形成一批导入导出 工具产品: 第二步:在此基础上进行不同厂家的互操作实验,在现有平台上实现数据共 享,形成一批初期产品: 第三步:再对现有e m s 系统进行彻底改造,重新开发支撑平台重新编写应 用软件,真正形成新一代调度自动化系统。 在本文中着重讨论了升级方案中第一步的实现。 1 4 本文所做的主要工作 作者在研究公共信息模型和可伸缩矢量图形的基础上,结合浙江省电力局的 “基于c i m 和s v g 的公共模型研究”的项目,完成了一个基于c i m 的能量管 理系统数据及图形的导出导入系统,为南瑞开发新一代的调度自动化系统提供了 数据源:并针对c i m 和s v g 文件开发了一系列的实用工具。在这当中涉及到关 系数据库的读取、将关系数据库的数据重组成符合c i m 的对象、基于二进制的 图形文件的辨识、x m l 文件的解析及输出、由x m l 文件生成c i m 对象、c i m 对象关联关系在内存中的建立、通过c i m 对象进行网络拓扑分析、c i m x m l 文 件的拆分模型及差异模型的生成、s v g 文件的浏览及编辑以及建立s v g 图元到 c i m 对象之间的关联等。 整个项目的实旌先后经过设备模型数据的导出导入、断面数据的导出导入、 量测信息的导出导入,图形界面的导出导入、制定浙江省的命名规范和南瑞的互 操作。从而使浙江省的e m s 系统能够正确无误的导a 导出c i m 形式的电网模 型、s c a d a 配置和s v g 形式的图形画面。保护了现有的一些高级应用能够平 稳的过渡到新的e m s 系统,同时能够支持省地调度之问共享电网模型。为了方 便能够查看查看和编辑导出的模型文件,作者还设计开发了一个通用的模型和图 形一体的查看编辑器。 6 浙江大学硕士学位论文 第二章公共信息模型( c i m ) 第二章公共信息模型( c i m ) c i m 提供了一个可理解的电力系统逻辑视图,包括e m s 所需要的信息。c i m 是一个抽象的模型,它代表了电力企业中所有的主要对象,包括了这些对象的公 共类、属性及其它们之间的关系。 c i m 是整个i e c 6 1 9 7 0 系列标准的框架的部分。通过提供一个表示电力系 统资源的类、属性及其关系的标准,c i m 使得不同厂商独立开发的e m s 应用程 序的集成、整个e m s 内部的集成和e m s 与其它相关电力系统运行软件( 例如: 发电或配网管理系统) 间的集成变得容易。这个目标的实现要通过定义一种基于 c i m 的通用语言来使得这些运用程序或系统能够获取公共数据和独立的交换信 息。 c i m 中代表的对象是一个抽象的模型,可以被广泛的使用于不同的应用程 序中。已经远远超出了在e m s 中的运用。这个标准可以被看作一个系统集成的 工具,可以运用于任何涉及到电力系统模型的系统集成中去,以此来促进应用程 序间的互操作性和兼容性。 2 1 c i m 规范综述 c i m 是使用面向对象建模技术统一建模语言( u m l ) 定义的。它将c i m 定义成很多包,每一个包中包含一个或多个类图,用图形表示该包中的所有类和 它们之间的关系。 一个包一般意义上是指将相关模型元件分组的方法。没有具体的语义意义。 包的选择是为了使模型更易于设计、理解和查看。公共信息模型是由一整套包所 组成的。模型元件对象实体可以具有跨包的关联。每一应用可以使用几个包所表 示的信息。 整个e m s 应用中的c i m 分为下面几个包,同时包再分成组,以此作为一 个单独的标准文件。 i e c6 1 9 7 0 第3 0 1 部分 核心包( c o r e ) 域包( d o m a i n ) 浙江夫学硕士学位论文第二章公共信息模型( c i m ) 发电包( g e n e r a t i o n ) 发电动态包( g e n e r a t i o nd y n a m i c s ) 负荷包( l o a d m o d e l ) 测量包( m e a s ) 停运包( o u t a g e ) 生产包( p r o d u c t i o n ) 保护包( p r o t e c t i o n ) 拓扑包( t o p o l o g y ) 电线包( w i r e s ) i e c6 1 9 7 0 第3 0 2 部分 能量计划包( e n e r g ys c h e d u l i n g ) 财务包( f i n a n c i a l ) 储备包( r e s e r v a t i o n ) i e c6 1 9 7 0 第3 0 3 部分 s c a d a 包 需要注意的是,包的界限并不意味着使用的界限。一个应用可以使用几个 包的c i m 实体。 图2 1 表示在c i mi e c6 1 9 7 0 3 0 1 部分中定义的各包及它们间的依赖关系。 虚线表示依赖关系,箭头从依赖性包指向它所依赖的包,比如m e a s 包依赖于 t o p o l o g y 包。 浙江大学硕t 学位论文 第二章公共信息模型( c i m ) 目目目目 图2 1c i m 包结构图 每一个c i m 包中的类图表示了该包中所有的类和它们之间的关系。在与其 他包中的类存在关系时,这些类被标以符号以区别于拥有这些类的包。 对e m s 应用而言,就是类与对象以通用的方式对电力系统中需要表示的模 型进行建模。类是对现实世界中发现的对象的描述,例如变压器、发电机和负荷 等,它们都是e m s 中整个电力系统模型的一部分。 还应该注意到,定义c i m 是为了方便数据交换。c i m 实体除了缺省地生成、 删除、更新和读出外,没有其它行为。为了使c i m 尽可能地通用,非常希望对 于特定的应用,c i m 应易于配置。一般来说,改变属性的值或域比改变类定义 更为容易。这些原则暗示c i m 应当避免定义太多的具体子类型的类。相反,c i m 定义了很多通用类,由属性给定类型名,然后应用可以根据需要,用此信息去实 例化具体的对象类型。应用可能需要其他信息去定义有效类型与关系的集合。类 具有描述对象特性的属性,c i m 中的每一个类包含描述和识别该类的具体实例 的属性。 2 2 c i m 类的定义 c i m 是一个非常巨大的模型,为了便于对其进行管理,按照一定的分组原 则将各个类分配到几个特定的包中。由于本文所做的工作时间有限,仅参考c i m 9 目一蛰1 一 一 萝专 浙旺大学硕士学位论文第二章公共信息模型( c i m ) 模型中的部分内窖,并以其作为数据来源的基础,以满足本文的工作需求为限。 涉及的内容如下。 域( d o m a i n ) 包和核心( c o r e ) 包是c i m 中两个最基本的包。在域包中,定义了 大量的基本数据类型使用于其他的包中。这些类型包括枚举类型、实数类型、整 数类型、字符串类型和其他类型。核心包包含了电力系统中大多数应用都会使用 到的核心对象。几乎其它的每个包都要间接或直接依赖于这个包,比如继承体系 中非常基础的命名类( n a m i n g ) 、电力系统资源类( p o w e r s y s t e m r c s o u r c e ) 、变 电站类( s u b s t a t i o n ) 等等。c i m 的基类是电力系统资源( p o w e r s y s t c m r e s o c e ) 类,它表达一个电力系统一般的组件意义。在概念上,个电力系统资源可以是 一个设备( 例如开关) ,也可以是包含设备的区域( 例如变电所) 。在类的设计上, 就是这些设备和包含设备的区域从电力系统资源类继承。另外,在这个包里,端 点( t e r m i n a l ) 类也是一个非常重要的类。每个传导设备包括若干个端点。这些端 点表示了这些传导设备空闻上的连接信息。在整个c i m 中,有两个内容层次: 一个就是以电力系统资源类为中心,关注这些资源的本身的参数( 例如电容的电 导和电纳) 、关联的参数( 例如开关一端的电流) 和所属关系,另一个是以端点 类为中心,建立了传导设备的连接关系,从而形成了拓扑。 拓 b ( t o p o l o g y ) 包包含了三个类,分别是:连接点( c o n n e c t i v i t y n o d e ) 、拓 扑点( t o p o l o g i c a l n o d e ) 和拓扑岛( t o p o l o g i c a l l s l a n d ) 。它们是用于形成网络拓 扑模型的类。 线( w i r e ) 包包含了输电网和配电网的电气特性信息。 量测包主要包含电力系统设备的量测量和这些量的值。量测( m e a s l l r e m e m ) 类是量测包中的核心类,表示各种量测量,这种量测量可以是通过测量得到的( 例 如通过采集获取的) ,也可以是通过计算得到的( 例如是通过状态估计得到的) , 或者其他方法得到的( 例如人工设置) 。电力系统资源类与量测类的关联表示了 该量测量是属于哪个电力系统资源的;端点类与量测类的关联表示了该量的空间 位置,量测值( m e a s u r e m e m v a l u e ) 类描述一个量测量在各个不同时刻的状态。根 据不同的来源以及不同的时间,一个量测对象可以关联着多个量测值对象。 就c i m 类之间的关系而言,主要存在三种关系;泛化关系、简单关联关系 和聚合关联关系。而在关联关系中,有可能存在一对一、一对多或多对一、多对 o 浙江人学删i :学位论文第二二章公共信息模型( c i m ) 多等关联形式。 2 3c i m 的模型概念 在c i m 的建模过程中,有一个非常重要的特点就是它注意了电力系统模型 的概念,将实体的共性抽取出来,抽象到一定高度形成一些非常抽象的类,比如 前面举出的电力系统资源的例子。特定的一部分类与类之间的关联就可以勾勒出 一套完整的电气模型。下面选取几个具有代表性的例子做具体阐述。 夺变压器模型 如图2 2 所示,变压器类( p o w e r t r a n s f o r m e r ) 是设备类( e q u i p m e n t ) 的泛 化,设备类( e q u i p m e n t ) 是电力系统资源类( p o w e r s y s t e m r e s o u r c e ) 的泛化, 其它类的泛化亦可从图中看出。这是用泛化关系表达了类的继承结构,关系箭头 指向父类,这样就允许变压器类( p o w e r t r a n s f o r m e r ) 继承设备类( e q u i p m e n t ) 和电力系统资源类( p o w e r s y s t e m r e s o u r e e ) 的属性。 变压器( p o w e r t r a n s f o r m e r ) 拥有绕组( t r a n s f o r m e r w i n d i n g ) ,这种关系采 用聚合关系进行建模,关系连线中,菱形指向的一端为局部类,另一端指向整体 类。从图中可以看出,变压器( p o w e r t r a n s f o r m e r ) 可以有一个或多个绕组 ( t t r a n s f o r m e r w i n d i n g ) ,但是一个绕组( t r a n s f o r m e r w i n d i n g ) 只能属于一个变 压器( p o w e r t r a n s f o i t l l e r ) 。 绕组( t r a n s f o r m e r w i n d i n g ) 拥有的其它关系如下: 绕组( t r a n s f o r m e r w i n d i n g ) 泛化自导电设备( c o n d u c t i n g e q u i p m e m ) 。 与绕组测试类( w i n d i n g t e s t ) 有关联关系。 与分接头( t a p c h a n g e r ) 有聚合关系。 浙江人学硕:t 学位论文 第二章公共信息模型( c i m ) e q u i p m e n t : c f r o mc o r e ) p a 帅r s y s t m r o u 吒e 忡卫c o r e ) 一一 + p o w e r t r a n s f or m e r 11 + h e a t e x c h a n g e r 0 h e a t e x c h a n g e r f 一= 1 t a p c h a n g e r 0n 0n + t a p c h a n g e m + t a p c h a n g e m c o n d u c t i n g e q u i p m e n t , 。t 懵n 8 冀m ! 州i n d i n g 。 一! 一j t t lc o r e ) + t t a n s f o r m e f v l r i n d i n g 0n1 + t c l - 。“对o m e w 。n d i n 9 3 + f r o mt r a n s f o r m e r w i n d i n g + t o _ w g t e s t 上“心” w i n d ! n g t e s l , 图2 2 变压器模型 + r e g u l a t i o i 培c h e d u l e j01 一面j 蕊i ;j 丽一l 令网络拓扑模型 图2 3 显示了拓扑类图,它建立了不同类型的导电设备之间的连接模型。此 图中还包括了与测量有关的测量包类图的一部分,它说明测量设备怎样与导电设 备相关联。 为了建立连接关系模型,定义了端点类( t e r m i n a l ) ,为导电设备提供o ,l 或 更多个的外部连接。每一端点连接0 或1 个连接点( c o r m e c t i v i t y n o d e ) ,连接点 ( c o n n e c t i v i t y n o d c ) 是导电设备的几个端点通过零阻抗支路连接在一起的点。 一个连接点( c o n n e c t i v i t y n o d e ) 可能是一个拓扑点( t o p o l o g i c a l n o d e ) 的一个 成员,而拓扑点( t o p o l o g i c a l n o d e ) 又是一个拓扑岛( t 0 p o l o g i c a l i s l a n d ) 的一个成 员。设备容器( e q u i p m e n t c o n t a i n e r ) 泛化自电力系统资源( p o w e r s y s t e m r e s o u r c e ) , 它拥有0 、l 或者多个连按点( c o n n e c t i v i t y n o d e ) 。关联关系:导电设备 ( c o n d u c t i n g e q u i p m e n t ) 一一端点( t e r m i n a l ) 和端点( t e n n i n a l ) 一连接点 ( c o n n e c t i v i t y n o d e ) ,反映了实际电力系统网络的拓扑。导电设备 ( c o n d u c t i n g e q u i p m e n t ) 通过端点( t e r m i n a l ) 与连接点( c o n n e c t i v i t y n o d e ) 相 1 2 浙江人学硕士学位论文第二章公共信息模型( c i m ) 连接来区别于别的端点( t e r m i n a l ) 连接到相同的连接点( c o r m e c t i v i t y n o d e ) 。 因为导电设备( c o n d u c t i n g e q u i p m e n t ) 所进行的是电气连接。 e q u i p m n t c o n t a i n e r + m e m b e r o l e q u i p m e n l c o n t a i n e r ( f r o mc o r e ) 、 + c o n n e c t t v i t y n 0 d e s + c o n n t 岫n o d e o n 01 - 一一一:c o n n e c t l v l t y n o d e i+measurem ,0 n + c o n n e c t i t y n o d e a + t o p o 婚g k a l n o d e ,7 j0 t , 一,! t o p o l o g l c a l n o d e + t o p o l o g l c a l n o d e $ 1 n 图2 3 网络拓扑模型 隔蠹驴矿b l i,。j b u 8 b r a n c h m o d e i 夺设备继承体系 如图2 , 4 给出了c i m 继承体系的一个总的设备继承体系视图,它被包含在 电线包中,但事实上它跨越了c i m 的大多数的包。 浙江大学硕士学位论文第二章公共信息模型( c m 【) 9 r m s y a m t e c m 。r m e s ) ” 柚口mc o 陪) e q u l p m n te q u l p m e n t c o n t a i n f r 帕mco怕)(fromc o r 8 ) 一c o n d u c t i n g e q u i p 鬲i 百i ( f r o mc o r e ) c o m p o s i l e s w i t c h j s u b s t a t i o n j ( f r o mc o r e ) 、 :v o t t a g e l e v e t : 、 ( f r o mc o r e ) t s a y a c l i n e s e g m e n t | 。l :c u s t o m ar m e 协r ( f 忡ml o l l d m o d 刮) s t a t i o n s u p p l y c 什or r ll o a d m o d e l ) e q u i v a l e n t l o e d ( f r o ml o a d m o d e l ) l 。i n d u c t i o n m 0 t o r l o a d 。 ( f r o ml o a d m o d e d r l _ 1 一j u m p er 。厂。忑_ f 百二赢矗卜d i s c o l l n 高厂l 磊石i 赢o , o 0 0 0 0 , o o o n o , o , i 图2 4 设备的继承体系 夺设备容器 图2 5 显示了c i m 模型中设备容器的概念。设备容器代表了设备的组织和 命名方法,典型的如变电站中的电压等级和间隔。可以看到,它提供了一种灵活 性,使得容器可以运用在一些特定的c i m 运用中,以此适应不同的国际情况以 及输电变电站与配电变电站之间的差异。每个容器代表了其它容器或设备的聚 1 4 筹_ 兰一 a on + v o b 学l e * i v o h g e l e , , e l 。 1 b a s e v o l t a g e 蚋i c 叩) ;on(fromcom) s w i t c h + $ w i t c h e s 图2 5 设备容器 2 4c i m 小结 c i m 提供了一个关于电力能量管理系统信息的全面逻辑视图,是一个代表电 力企业所有主要对象的抽象模型,包括了这些对象的公有类和属性,以及它们之 间的关系。但是需要指出的是: 1 c i m 不是数据库,而仅仅是数据模型( 元数据) 。 2 遵从c i m 意味着公用接口的数据表示符合c i m 三方面的要求:语义一 命名和数据的意义,词法一数据类型,关系一根据与c i m 其他部分的关 系,可以找到与此相关的数据。 3 遵从c i m 并不意味着数据库的结构与c i m 的类图完全一致,也不意味 浙旺大学硕上学位论文 第二章公共信息模型( c i m ) 着支持c i m 的所有方面。所以对于应用来说他只要在接口上遵循c i m 原则,就可以说其遵循了c i m 。 4 由于c i m 覆盖了电力系统的大部分领域,所以对于应用来说,它只要实 现其所关注的领域的c i m 模型,而没有必要将所有的c i m 模型都导入 成自己的模型。 5 对于c i m 来说,虽然他覆盖了电力系统的大部分领域,但是对象是发展 的,电力系统会不停的出现新的设备,新的装置,那么在这些新设备的 c i m 标准没有出来之前,c i m 可以自己扩展。 1 6 浙江犬学硕士学位论文 第三章可扩展性标志语言( x m l ) 第三章可扩展性标志语言( x m l ) x m l ( c x t e n s i b l em a r k u pl a n g u a g e ) f 1 4 万维网联盟( w 3 c ) 设计,是通用标记语 言s g m l ( s t a n d a r dg e n e r a lm a r k u pl a n g u a g e ) 的一个子集。概括地说,x m l 是一种元数据标记语言( m e t a - m a r k u pl a n g u a g e ) ,可提供描述结构化资料的格 式,详细来说,x m l 是一种类似于h t m l ,被设计用来描述数据的语言。他的 优越性表现在以下几个方面: 1 异构系统间的信息互通:目前,不同的企业之间甚至企业内部的各个部 门之间,存在着许多不同的系统。系统间往往因其大相径庭的平台、数 据库软件等,造成信息流通的困难。x m l 的出现,使得异构系统间可 以方便地借助x m l 作为交流媒介。各种类型的信息,不论文本的还是 二进制的,都能用x m l 标注。 2 数据内容与显示处理分离:x m l 强调数据本身的描述和数据内容的组 织存放结构,因此,可被不同的使用者按照自身的需要从中提取相关数 据,用于不同的目的。x m l 文档是文本,任何能读文本文件的工具都 能读x m l 文档。因此,用x m l 描述的数据可以长期保存而不必担心 无法识别。 3 自定义性和可扩展性:由于x m l 是一种元标记语言,因而没有能够适 用于所有领域中所有用户的固定的标签和元素,但它允许开发者和编写 者根据需要定义元素。x m l 中的x 代表e x t e n s i b l e ( 可扩展) ,即可以对 x m l 进行扩展以满足各种不同的需要。通过扩展,x m l 文档描述的数 据信息不仅清晰可读,而且对数据的搜索与定位更为精确。 3 1 x m l 文档和语法 x m l 是一种语法要求十分严格的标记语言,因此语法有严格的限制,满足 所有语法限制的x m l 文档称之为结构良好( w e l l f o r m e d ) 的x m l 文档。一个结 构良好的x m l 文档需要满足: 文件的第一条语句必须是有关版本的声明。 必须具有根标记且根标记必须唯一。 浙江大学硕士学位论文 第三章可扩展性标志语言( x m l ) 标记的开始和标记的结束必须配对使用。 空标记( 只有开始没有结束的标记) 必须以“”符号结束。 标记对大小写敏感。 属性的值必须用引号括起来。 特殊字符必须使用x m l 中特定的编码来表示。 标记不能交叉使用。 l # 主变5 0 1 6 开关 t r u e 2 0 0 1 1 0 1 31 1 :5 1 :2 3 6 3 0 0 0 2 # 主变5 0 1 8 开关 t r u e 2 0 0 0 - 1 2 79 :4 5 :3 2 5 0 0 0 0 0 0 6 l # 主变5 0 2 0 开关 t r u e 2 0 0 0 - 5 - 61 6 :2 4 :5l 31 5 0 0 0 0 7 ( ,i n t r a n s t i m e 图3 1 一个简单的x m l 文件( s u b s t a t i o n x m l ) 图3 1 是一个结构良好的x m l 文档文件s u b s t a t i o n x m l ,很好地反映了以上 这8 条规则。这个例子描述了一个变电所内断路器的情况,每个断路器都有名字、 是否是常开、最后动作时间、开断电流、开断时间等信息;这里列举了3 个断路 器a 必须是文件的第一条语句, v e r s i o n = ”1 0 ”描述了x m l 文件的版本信息,e n c o d i n g = ”g b 2 3 1 2 ”表示文件采用的 编码是简体中文。如果没有这一句,x m l 解析器无法知道文档采用的版本和编 浙江大学硕士学位论文 第三章可扩展性标志语言( x m l ) 码情况。 、 、 、 、 、 是标记的开始标记, 、 、 、 、 、 是标记的结束标记。 可以看出,文档的根标记是 ,所有的其他情况都包含在这个标 记之中, 是根标记的结束标记。e n c o d i n g = ”g b 2 3 1 2 ”实际上也是一个 属性说明,所以它的值必须用双引号括起来。e n c o d i n g 属性保证任何一种语言生 成的x m l 文件都能够被正确处理。这里没有空标记,一个空标记可以表示为 。 文档中没有交叉标记,所谓的交叉标记就是指如下一种情况: 1 # 主变5 0 1 6 开关 在这里,标记 和标记 就是交叉使用,在x m l 中这种标记 的交叉使用是非法的。正确的用法是: i # 主变5 0 1 6 开关 这种情况属于标记的嵌套使用是合法的。 为了使文档有意义,文档的作者和文档的使用者之间必须有一种约定。双方 都必须明 表示断路器的名字, 表示的是断路器的常开状 态等,这样文档对于双方才是有意义的。在上面的这样一个例子中,标记的意义 是非常明显的,根据英文的意思即可理解。但是,事情并不总是这样,在一个非 常庞大的x m l 文档中,标记的意义就不是很直观了,必须有一种机制来保证双 方能够理解这些标记。 为了使文档能够被有效地使用,文档必须遵守一种应用层次上的语法。比如 说, 、 、 、 、 元素必须包含在 元素中而不是其他元素之中,并且几个元素之间出现 的先后顺序必须是 、 、 、 、 这样的顺序。所有的这些元素都必须包含在根元素 之 中。 那么,如何定义这些规则呢? 这就需要x m l 文档类型模式s c h e m a 了。符 合s c h e m a 的x m l 文件称之为有效的( v 酊i d a t i n g ) x m l 文档。下一小节介绍如何 利用s c h e m a 来表达文档的类型定义规则。 1 9 浙江大学硕士学位论文 第三章可扩展性标志语言( x m l ) 3 2 x m l 文档类型模式( x m ls c h e m a ) 使用前面变电所包含断路器的例子,这里定义了一个s c h e m a ,如图3 2 所 示,来表达在书写图3 1 的x m l 文件时应该遵循的规则。 图3 2 s c h e m a 文件:s u b s t a t i o n x s d 同时给出了一个引用s c h e m a 的x m l 文档,如图3 3 。 浙江夫学硕_ 学位论文 第三章可扩展性标志语言( x m l ) 图3 3 引用s c h e m a 的x m l 文档s u b s t a t i o n x m l 图3 3 中,黑体部分是名域空间的声明,其说明如下: 1 “x m l n s ”是一个名域声明。定义了一个默认的名域空间:告诉s c h e m a 解析器,这个x m l 文档中所有的没有加名域前缀的元素都是来自这个 h t t p :1 w w w b r e a k e r s t o m 名域空间。 2 “x m l s :x s i ”定义了一个名称为x s i 的名域空间,当s c h e m a 解析器碰到 x s i 时,会把它翻译成h t t p :w w w w 3 o r g 2 0 0 1 x m l s c h e m a - i n s t a n c e 名域 空间。这个名域空间是标准的名域空间, 3 “x s i :s c h e m a l o c a t i o n ”表示s c h e m a l o c a t i o n 这个属性是来自x s i 名域空 间的;“x s i :”是个名域前缀,表示s c h e m a l o c a t i o n 来自x s i 名域空间。 s c h e m a l o c a t i o n 属性告诉s c h e m a 解析器,h t t p :w w w b r e a k e r s t o m 名域 空间中的元素是在s u b s t a t i o n x s d 文件中定义;这样解析器就可以调用 文件s u b s t a t i o n x s d 来进行有效性检验。 x m ls c h e m a 的优点很多: 1 数据类型非常丰富,s c h e m a 有4 4 种内置的类型;并且s c h e m a 可以自 定义数据类型,比如定义一个范围在1 1 2 0 0 之间的自然数。 2 s c h e m a 提供的是一种面向对象的解决方案。你可以通过继承来扩展或 限制一种数据类型,从而生成一种新的数据类型。 3 引入了名域空间的概念,一个x m l 文档可以调用多个s c h e m a 文档, 使得s c h e m a 代码的重用性和可扩展性都非常好。 浙江大学硕, :学位论文 第三章可扩展性标志语言( x m l ) x m ls c h e m a 的功能非常强大。使用s c h e m a 表达c i m x m l 语言是完全足 够的。但是,c i m x m l 语言需要处理一个非常巨大的数据模式,完全是以数据 为中心,直接用s c h e m a 来表达c i m 模式将有几个问题:s c h e m a 是针对大多数 情况而设计的,并不是一种以数据为中心的解决方案;s c h e m a 的表达能力强大, 但是用s c h e m a 表达c i m x m l 语言过于复杂。所以需要一种以数据为中心的、 语法简单的解决方案。 3 3 x m l 文件的解析 x m l 文件的解析有两种途径s a x 和d o m 。他们都是为了让程序员不用写 一个解析器就可以访问他们的资料信息。通常在程序可以使用任何一个解析器, 这是因为现今流行的编程语言( j a v a ,c + + ,p e r l ,p y t h o n ,其它) 都同时实现了s a x 和d o m a p l s 。所以s a x 和d o m 都是为了同样的目的而存在,这就是使用户可 以利用任何编程语言访问存入x m l 文档中的信息( 要有一个那种编程语言的解 析器) 。虽然他们在提供给你访问信息的方法上大不相同。 3 3 1d o m 与s a x 各自的优缺点 d o m 树所提供的随机访问方式给应用程序的开发带来了很大的灵活性。它 可以任意地控制整个x m l 文档中的内容。然而,由于d o m 分析器把整个x m l 文档转化成d o m 树放在了内存中,因此,当文档比较大或者结构比较复杂时, 对内存的需求就比较高。而且,对于结构复杂的树的遍历也是一项耗时的操作。 所以,d o m 分析器对机器性能的要求比较高实现效率不十分理想。不过,由 于d o m 分析器所采用的树结构的思想与x m l 文档的结构相吻合,同时鉴于随 机访问所带来的方便,因此,d o m 分析器还是有很广泛的使用价值的。 s a x 分析器在对x m l 文档进行分析时,触发了一系列的事件,由于事件触 发本身是有时序性的,因此,s a x 提供的是一种顺序访问机制,对于已经分析 过的部分,不能再倒回去重新处理。s a x 之所以被叫做”简单”应用程序接口,是 因为s a x 分析器只做了一些简单的工作,大部分工作还要由应用程序自己去做。 也就是说,s a x 分析器在实现时,它只是顺序地检查x m l 文档中的字节流,判 断当前字节是x m l 语法中的哪部分、是否符合x m l 语法,然后再触发相应 的事件,而事件处理函数本身则要由应用程序自己来实现。同d o m 分析器相比, s a x 分析器缺乏灵活性。然而,由于s a x 分析器实现简单对内存要求比较低。 浙江人学硕i :学位论文 第三章可扩展性标志语言( x m l ) 因此实现效率比较高,对于那些只需要访问x m l 文档中的数据而不对文档进行 更改的应用程序来说,s a x 分析器更为合适。 由于电力系统的x m l 模型文件往往都很大。比如地级市局的文件一般在几十 兆左右,采用s a x 的解析就容易有较快的速度,解析时间可以控制在一分钟左 右,而同样条件下采用d o m 可能要十多分钟甚至更长。所以在电力系统的应用 中读取x m l 文件的解析器通常都是采用s a x ,而写出文件通常都是采用d o m , 因为此时的对象都已经在内存中。 浙江大学硕士学位论文 第四章体现c l m 的x m l 语言 第四章体现c i m 的x m l 语言 4 1c i mx m l 格式导则 r d f 语法的一个有用的特性就是它允许电力系统模型的任意一个子集 能够表示在文档中。然而,这也是一把双刃剑。假如不包括所希望的所有属 性,一个组织生成的文档可能不能被另外的组织使用。此外,倘若资源的统 一资源标识u r i 不符合别的文档,那么包含部分模型的文档就不能被使用。 以下的导则被用于c i mx m l 文档的内容中,以此最大化其使用的范围。 1 文档要包括每个资源类似于主键的属性。例如,c i m :n a m i n g n a n l e 和 c i m :e q u i p m e m m e m b e r o f _ e q u i p m e n t c o n t a i n e r 属性是很可能需要的属 性。 原因:应用程序的一个大类可能要载入带有模型数据的数据库。许多 数据库的模式在插入时需要主键值。 2 最好是包含单值属性而不是与其相对的多值属性。例如,最好使用 c i m :e q u i p m e n t m e m b e r o ff - a :l l u i p m e n t c o n t a i n e r 而不
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 投资协议书作价
- 公司城市轨道交通行车值班员工艺作业技术规程
- 怎样写分居协议书
- 婚后协议书怎么签
- 公司宝石轴承磨工岗位工艺技术规程
- 公司煤层气测井测试工合规化技术规程
- 公司工业炉及电炉电气控制装调工岗位设备安全技术规程
- 2025区域企业劳动合同
- 安徽省凤阳县2026届数学八年级第一学期期末考试试题含解析
- 2025短期劳务合同模板
- 航海船舶航线选择指南
- 2025年中小学校长岗位竞聘面试题库及答案
- 2025年中国心血管病报告
- 客户价值共创机制-洞察及研究
- 高一语文必修上第三单元必背篇目理解性默写 (教师版)
- 垃圾管理培训课件
- 传感器应用技术 课件 3-18热释电红外传感器的原理及应用
- 医院培训课件:《S/D 比值临床价值》
- 《湖南民居特色》课件
- 夏商周时期的科技与文化 统编版七年级历史上册
- 软件项目培训方案
评论
0/150
提交评论