XML使用指南
工程标准

《铁路车站及枢纽设计规范》建设部公告第419号;《铁路电力设计规范》(铁建设函[2007]37号);《铁路工程施工安全技术规程》TB10401-2003;《电气装置安装工程接地装置施工及验收规范》GB50169-2006;《铁路旅客车站客运信息系统设计规范》TB10074-2007;《安全防范工程程序与要求》GA/T75-94;《铁路建设工程质量管理规定》;《铁路信息工程建设项目竣工验收交接细则》;《建筑与建筑群综合布线系统工程设计规范》(GB/T50311-2000);国家和铁道部现行的设计、施工、验收规范、规定、标准。
遵从的标准和规范:✧铁路运输通信设计规范TB10006-2005✧铁路旅客车站客运信息系统设计规范TB10074-2007✧建筑安装工程质量检验评定统一标准(GBJ50300-2001)防护材质选型及指标✧RVVP、RVV、SYV等电缆物理及电气性能指标满足以下标准要求和设计需求。
✧GB9330-2008 《塑料绝缘控制电缆》✧GB/T3956-2008 《电缆的导体》✧GB2952-1989 《电缆外护层》✧GB/T3048-2007 《电线电缆电性能试验方法》✧GB/T2951-1997 《电线电缆机械物理性能试验方法》✧GB6995-2008 《电线电缆识别标志方法》✧JB/T8137-1999 《电线电缆交货盘》✧GB8170 《数值修约规则》✧GB/T18380-2008 《电缆和光缆在火焰条件下的燃烧试验》生态环境保护法律法规:✧《中华人民共和国环境保护法》✧《中华人民共和国水污染防治法》✧《中华人民共和国大气污染防治法》✧《中华人民共和国固体废物污染防治法》✧《中华人民共和国环境噪声污染防治法》✧《中华人民共和国野生动植物保护条例》✧《建设项目环境保护管理条例》排放标准:✧《污水综合排放标准》GB8978-96“一级”或“二级”标准✧《锅炉大气污染物排放标准》GWPB3-1999 “二级”标准✧《城市区域环境噪声标准》GB3096-93 “二级”标准✧《铁路边界噪声限值及其测量方法》GB12523-90✧《建筑施工场界噪声限值》GB12523-90✧《建筑施工场界噪声测量方法》GB12524-90易程科技股份有限公司提供的系统设备所涉及的产品标准、规范;工程标准、规范;验收标准、规范等完全满足中华人民共和国的条例及规范及IS0和IEC的相关标准,采用和部分参考使用的标准与规范包括:●《铁路旅客车站建筑设计规范》GB 50226-2007●《铁路车站及枢纽设计规范》GB 50091-2006●《铁路线路设计规范》GB 50090-2006●《地铁设计规范》GB 50157-2003●《地铁运营安全评价标准》GB/T 50438-2007●《地下铁道工程施工及验收规范》GB 50299-1999●《智能建筑设计标准》GB/T 50314-2006●《智能建筑工程质量验收规范》GB 50309-2003●《绿色建筑评价标准》GB/T 50378-2006●《公共信息导向系统》GB/T 15566-2007●《公共信息导向系统要素的设计原则与要求》GB/T 20501-2006●《中国颜色体系》GB/T 15608-2006●《标志用公共信息图形符号》GB/T 10001-2006●《数字电视地面广播传输系统帧结构、信道编码和调制》GB 20600-2006●《使用基于平板视觉显示器工作的人类工效学要求》GB/T 20528-2006●《城市客车发光二级管显示屏》CJ/T 229-2006●《厅堂扩声系统设计规范》GB 50371-2006●《剧场、电影院和多用途厅堂建筑声学设计规范》GB/T 50356-2005●《电子成像成功实施电子影像管理涉及的人及组织的问题》GB/Z 20495-2006 ●《视频安防监控系统工程设计规范》GB 50395-2007●《视频安防监控数字录像设备》GB 20815-2006●《城市消防远程监控系统技术规范》GB 50440-2007●《安全防范工程技术规范》GB 50348-2004●《火灾自动报警系统施工及验收规范》GB 50166-2007●《城市轨道交通自动售检票系统技术条件》GB/T 20907-2007●《城市轨道交通自动售检票系统工程质量验收规范》GB 50381-2006●《城市轨道交通通信工程质量验收规范》GB 50382-2006●《银行业务报文加密程序(批发) 一般原则》GB/T 20544-2006●《银行业务和相关金融服务信息交换托收指示格式》GB/T 20545-2006●《银行业务安全加密设备(零售)》GB/T 20547-2006●《金融交易卡使用集成电路卡的金融交易系统的安全体系》GB/T 16790-2006 ●《建设事业集成电路(IC)卡产品检测》CJ/T 243-2007●《综合布线系统工程设计规范》GB 50311-2007●《综合布线系统工程验收规范》GB 50312-2007●《数字通信用对绞或星绞多芯对称电缆》GB/T 18015-2007●《电力工程电缆设计规范》GB 50217-2007●《电气装置安装工程电气设备交接试验标准》GB 50150-2006●《建筑物电子信息系统防雷技术规范》GB 50343-2004●《标准电压》GB/T 156-2007●《中频设备额定电压》GB/T 3926-2007●《测量、控制和实验室用电气设备的安全要求》GB 4793-2007●《电气设备用图形符号基本规则》GB/T 5465-2007●《通信用电源设备通用试验方法》GB/T 16821-2007●《电磁兼容限值》GB 17625-2007●《电磁兼容试验和测量技术》GB/T 17626-2007●《电子设备台式机箱基本尺寸系列》GB/T 3047.6-2007●《电气产品标准中引入环境因素的导则》GB/T 20877-2007●《电工电子产品应用环境条件》GB/T 4798-2006●《电工电子产品环境试验》GB/T 2423-2006●《低压成套开关设备和控制设备》GB 7251-2006●《低压成套开关设备和控制设备空壳体的一般要求》GB/T 20641-2006●《低压开关设备和控制设备》GB/T 14048-2006●《自动化仪表工程施工及验收规范》GB 50093-2002●《自动化仪表工程施工质量验收规范》GB 50131-2007●《电气/电子/可编程电子安全相关系统的功能安全》GB/T 20438-2006●《工业自动化系统与集成开放系统应用集成框架》GB/T 19659-2006●《工业过程测量和控制系统用功能块》GB/T 19769-2007●《工业自动化系统与集成制造软件互操作性能力建规》GB/T 19902-2006●《工业自动化系统与集成物理设备控制计算机数值控制器用的数据模型》GB/T 19903-2006●《工业自动化系统与集成过程规范语言》GB/T 20719-2006●《企业控制系统集成》GB/T 20720-2006●《工业过程测量和控制过程设备目录中的数据结构和元素》GB/T 20818-2007 ●《工业过程控制系统用模拟信号控制器》GB/T 20819-2007●《城市市政综合监管信息系统管理部件和事件分类、编码及数据要求》CJ/T214-2007●《工程建设标准强制性条文》(信息工程部分)●《城市市政综合监管信息系统技术规范》CJJ/T 106-2005●《建设企业管理信息系统软件通用标准》JG/T 165-2004●《XML使用指南》GB/Z 21025-2007●《基于XML的电子商务》GB/T 19256-2006●《基于XML的电子商务业务数据和过程》GB/T 20538-2006●《基于XML的道路客运结算数据交换》GB/T 20925-2007●《行政、商业和运输业电子数据交换(EDIFACT)应用级语法规则(语法版本号:4,语法发布号:1)》GB/T 14805-2007●《人-系统交互工效学支持以人为中心设计的可用性方法》GB/T 21051-2007●《人类工效学险情视觉信号一般要求、设计和检验》GB/T 1251.2-2006●《多媒体用户界面的软件人类工效学》GB/T 20527-2006●《人机界面标志标识的基本和安全规则导体的颜色或数字标识》GB 7947-2006●《软件工程软件测量过程》GB/T 20917-2007●《信息技术软件生存周期过程》GB/T 8566-2007●《信息技术软件生存周期过程风险管理》GB/T 20918-2007●《信息安全技术信息系统安全管理要求》GB/T 20269-2006●《信息安全技术网络基础安全技术要求》GB/T 20270-2006●《信息安全技术信息系统通用安全技术要求》GB/T 20271-2006●《信息安全技术操作系统安全技术要求》GB/T 20272-2006●《信息安全技术数据库管理系统安全技术要求》GB/T 20273-2006●《信息安全技术信息系统安全保障评估框架》GB/T 20274-2006●《信息安全技术入侵检测系统技术要求和测试评价方法》GB/T 20275-2006●《信息安全技术智能卡嵌入式软件安全技术要求(EAL4增强级)》GB/T20276-2006●《信息安全技术网络和终端设备隔离部件测试评价方法》GB/T 20277-2006●《信息安全技术网络脆弱性扫描产品技术要求》GB/T 20278-2006●《信息安全技术网络和终端设备隔离部件安全技术要求》GB/T 20279-2006●《信息安全技术网络脆弱性扫描产品测试评价方法》GB/T 20280-2006●《信息安全技术防火墙技术要求和测试评价方法》GB/T 20281-2006●《信息安全技术信息系统安全工程管理要求》GB/T 20282-2006●《信息安全技术保护轮廓和安全目标的产生指南》GB/Z 20283-2006●《信息安全技术信息系统安全审计产品技术要求和测试评价方法》GB/T20945-2007●《信息安全技术信息安全风险评估规范》GB/T 20984-2007●《信息技术安全技术信息安全事件管理指南》GB/Z 20985-2007●《信息安全技术信息安全事件分类分级指南》GB/Z 20986-2007●《信息安全技术信息系统灾难恢复规范》GB/T 20988-2007●《信息安全技术服务器安全技术要求》GB/T 21028-2007●《信息安全技术网络交换机安全技术要求(评估保证级3)》GB/T 21050-2007 ●《信息安全技术信息系统物理安全技术要求》GB/T 21052-2007●《信息安全技术公钥基础设施PKI系统安全等级保护技术要求》GB/T21053-2007●《信息安全技术公钥基础设施PKI系统安全等级保护评估准则》GB/T21054-2007●《信息安全技术公钥基础设施数字证书格式》GB/T 20518-2006●《信息安全技术公钥基础设施特定权限管理中心技术规范》GB/T 20519-2006 ●《信息安全技术公钥基础设施时间戳规范》GB/T 20520-2006●《标准化工作指南》GB/T 20000-2006●《信息化工程监理规范》GB/T 19668-2007●《建设工程项目管理规范》GB/T 50326-2006●《工程建设施工企业质量管理规范》GB/T 50430-2007。
Easy XML使用指南

Easy XML使用指南修改记录1引言Easy XML是为C++开发的XML解析器,它利用了C++的函数重载、函数对象等语言特性方便了程序员对XML 解析代码的编写。
本库不依赖于其它的XML解析器(如XML4C),实现上完全基于STL。
2指南2.1例子2.1.1XML的生成下面这段代码演示了怎样使用Easy XML来生成XML文档:#include "pub_easy_xml.h"#include <string>#include <iostream>#include <fstream>void main(){//create root elementElement info("info",Element::ROOT|Element::COMPLEX);//create and assemble pet elementsElement pet("pet");pet.setAttribute("species","mouse")("sex","female")("age","1")("name","Jerry")("weight","200g");info.addChild(pet);pet("species")="cat";pet("sex")="male";pet("age")="2";pet("name")="Tom";pet("weight")="2kg";info.addChild(pet);//create and assemble band elementsElement band("band");band.setAttribute("name","BEYOND")("style","Art Rock")("members","5")("birthday","1983");Element member("member");member.addChild("name","Huang Jia Ju")("position","Voice,Lead Guitar");band.addChild(member);member["name"]="Huang Jia Qiang";member["position"]="Bass";band.addChild(member);info.addChild(band);//generate xml stringstring outXml;Parser parser;parser<<info>>outXml;//output to xml fileofstream of("info.xml");of<<outXml;of.close();}生成的info.xml内容如下:2.1.2XML的解析下面这段代码演示了怎样使用Easy XML来解析XML文档: #include "pub_easy_xml.h"#include <string>#include <iostream>#include <fstream>void main(){//input from xml fileifstream file("info.xml");string inXml;while(!file.eof())inXml+=file.get();file.close();//parse xml stringParser parser;Element info;parser<<inXml>>info;//access element through operatorcout<<"The first pet'name is "<<info["pet"][0]("name")<<endl;cout<<"The first member of the first band is"<<info["band"][0]["member"][0]["name"].getValue()<<endl;//access element through referenceElement& mouse=info["pet"][1];cout<<"The second pet's name is "<<mouse("name")<<endl;//access element through indexcout<<endl<<"List of all pets:"<<endl;Element& pet=info["pet"];for(long index=0;index<pet.getCount();index++){Element& e=pet[index];cout<<"No."<<index+1<<endl;cout<<"species: "<<e("species")<<endl;cout<<"name: "<<e("name")<<endl;cout<<"age: "<<e("age")<<endl;cout<<"sex: "<<e("sex")<<endl;}//access element through iteratorcout<<endl<<"List of all members of BEYOND:"<<endl;Element& member=info["band"][0]["member"];for(Element* pe=member.firstElement();member.hasMoreElements();pe=member.nextElement()){Element& e=*pe;cout<<e["name"].getValue()<<" is playing "<<e["position"].getValue()<<" in the band"<<endl; }}运行结果如下:The first pet'name is JerryThe first member of the first band is Huang Jia JuThe second pet's name is TomList of all pets:No.1species: mousename: Jerryage: 1sex: femaleNo.2species: catname: Tomage: 2sex: maleList of all members of BEYOND:Huang Jia Ju is playing Voice,Lead Guitar in the bandHuang Jia Qiang is playing Bass in the band3详细介绍3.1Element组件3.1.1基本概念Element用来描述XML的元素,它可以分为复合元素和非复合元素。
office open xml 开发指南

office open xml 开发指南摘要:一、Office Open XML 简介1.Office Open XML 的定义2.Office Open XML 的开发背景3.Office Open XML 的优势二、Office Open XML 开发环境1.开发工具2.开发语言3.开发平台三、Office Open XML 开发步骤1.创建项目2.设计XML 结构3.编写代码4.调试与测试四、Office Open XML 应用实例1.创建文档2.读取文档3.修改文档4.保存文档五、Office Open XML 开发技巧1.优化XML 结构2.提高代码性能3.处理异常情况六、Office Open XML 的发展趋势1.与其他格式的竞争2.未来的发展方向3.对开发者的影响正文:一、Office Open XML 简介Office Open XML(简称OOXML)是一种基于XML 的文档格式,由微软公司开发,应用于Office 2007 及更高版本。
它是一种开放的标准,已经成为国际文档格式标准,被广泛应用于各种办公场景。
Office Open XML 的开发背景源于对传统Office 文件格式的改进和升级。
传统Office 文件格式如 .doc、.xls 和 .ppt 等,由于其封闭性和不兼容性,给用户和开发者带来了诸多不便。
而Office Open XML 的出现,正是为了解决这些问题,实现更高效、更便捷的数据交换和共享。
Office Open XML 的优势主要体现在以下几点:1.开放性:它是一种基于XML 的格式,允许开发者深入挖掘和扩展功能。
2.结构化:Office Open XML 的文档结构更加规范,便于程序读取和解析。
3.兼容性:Office Open XML 可以与其他主流Office 软件兼容,如WPS Office 和LibreOffice 等。
4.可维护性:由于Office Open XML 是基于XML 的,因此可以在不损坏文档结构的情况下进行修改和更新。
《XML在电子政务中的应用指南》

标准征求意见稿内容介绍— — 应用层(服务调用)
业务需求:
服务描述 服务注册中心
? 应用场景:
•政府机构内部资源共享 •政府机构之间相互服务 •政府机构对外服务提供
? 应用需求:
查找
发布
服务请求者
绑定
服务提供者 服务 服务描述
•服务描述、服务消息协议、服务发布和发现、基于服务的开发过程
解决方案:
• WSDL— — 描述 • SOAP— — 消息协议 • UDDI— — 服务发布与发现
业务需求:
•对各种格式的公文(结构化、文档化)进行有效表示与存储 •在不同部门之间进行授权的公文交换 •不同业务人员对公文的不同部分具有不同的处理权限 •方便、快捷地进行公文信息的搜索和统计
应用场景:
•公文表示 — — XML、XML Schema •公文交换 — — XML Schema、XSLT •公文处理流程控制 — — 流程控制、流程描述 •公文检索 — — XQuery、Xlink、Xpointer
44..11 电电子子政政务务概概念念 44..22 电电子子政政务务标标准准技技术术参参考考模模型型
44..22..11 网网络络基基础础设设施施层层 44..22..22 应应用用支支撑撑层层 44..22..33 应应用用层层 44..22..44 信信息息安安全全 44..22..55 管管理理
标准征求意见稿内容介绍— — 应用支撑层(数据访
问)
应用需求:
• 数据的结构、内容、关系、语义的表示与存储 • 数据的交叉访问与元数据控制 • 数据建立、修改和删除等授权操纵和维护能力 • 不同数据来源、不同格式的数据转换和加载 • 同一数据内容,面向不同用户提供多种表现形式
大数据标准体系

大数据标准体系大数据标准体系包括数据处理、数据整理和数据分析三个基础标准。
其中,数据处理标准包括总则、术语和参考模型等一级分类和数据元素值格式记法等二级分类。
数据整理标准包括元数据注册系统(MDR)的框架、分类、注册系统元模型与基本属性、数据定义的形成、命名和标识原则以及注册等六个部分。
数据分析标准包括XML使用指南和信息技术实现元数据注册系统内容一致性的规程等。
其中,GB/T -2000是信息技术大数据标准化指南,GB/T .1-/T .6-2009是元数据注册系统(MDR)的六个部分标准,GB/T -2007是XML使用指南标准,GB/T .1-/T .3-2009是信息技术实现元数据注册系统内容一致性的规程的两个部分标准。
此外,还有信息技术元模型互操作性框架的四个部分标准、信息技术元数据模块(MM)的框架标准、信息技术技术标准及规范文件的元数据标准、信息技术通用逻辑基于逻辑的语系的框架标准、跨平台的元数据检索、提取与汇交协议标准、信息技术异构媒体数据统一语义描述标准以及信息技术大数据分析总体技术要求标准。
大数据标准体系的建立有助于促进大数据的开发和应用,并提高数据的可靠性和安全性。
各个标准的制定和实施,需要不断完善和更新,以适应不断发展的大数据行业需求。
数据访问和安全标准数据访问和安全是信息技术领域中非常重要的方面。
以下是一些相关的标准和指南。
GB/T -2008:该标准规定了数据元和数据元组的定义和表示方法。
GB/T -2005:该标准规定了数据交换格式。
GB/T -2006:该标准规定了数据元和数据元组的命名规则。
GB/T -2008:该标准规定了数据元和数据元组的元数据。
GB/T -2008:该标准规定了数据元和数据元组的元数据管理。
信息技术大数据分析过程模型参考指南:该指南提供了大数据分析过程模型的参考,并提供了一些实用的指导原则。
信息技术数据库语言SQL第1部分:框架:该标准规定了SQL语言的框架和基本规则。
xml整理格式

xml整理格式XML(可扩展标记语言)是一种用于存储和传输数据的标记语言。
要整理XML的格式,主要包括以下几个步骤:1.缩进:对XML元素进行缩进,以提高可读性。
通常,使用空格或制表符进行缩进,使得嵌套关系更加清晰。
2.换行:将不同的XML元素放在不同的行,以避免一行过长难以阅读。
3.标签大小写:统一XML标签的大小写,通常使用小写字母,以确保一致性。
4.属性排列:如果XML元素有属性,可以按照一定规则排列,例如按照字母顺序或根据属性的功能进行排列。
5.注释:使用注释来解释XML结构或提供其他相关信息,以便阅读者更好地理解XML 文件的内容。
以下是一个简单的XML示例,演示了上述整理格式的一些基本原则:```xml<bookstore><book><title>XML教程</title><author>John Doe</author><price>29.95</price></book><book><title>Web开发指南</title><author>Jane Smith</author><price>39.99</price></book></bookstore>```这个示例中,元素之间有适当的缩进和换行,标签使用小写字母,属性没有特定的排序,但整体结构清晰可读。
具体的格式整理方式可以根据团队或个人的习惯和项目要求进行调整。
xml五层嵌套例子

xml五层嵌套例子XML(可扩展标记语言)是一种用于存储和传输数据的常见格式。
在XML中,我们可以使用嵌套的结构来组织和表示数据。
这篇文章将为您介绍一个XML的五层嵌套例子。
在这个例子中,我们将以书籍为主题创建一个XML文件。
每本书都有标题、作者、出版日期和价格等属性。
让我们来看一下具体的 XML 结构。
首先,我们有一个根元素 `<书籍目录>`,它包含了所有书籍的信息。
在 `<书籍目录>` 下,我们可以添加多个 `<书籍>` 元素,每个元素对应一本书。
每个 `<书籍>` 元素内部包含了五个子元素,分别是 `<标题>`、`<作者>`、`<出版日期>`、`<价格>` 和 `<出版社>`。
这五个元素提供了书籍的详细信息。
下面是一个示例的XML代码:```<书籍目录><书籍><标题>XML入门指南</标题><作者>John Doe</作者><出版日期>2022-01-01</出版日期><价格>29.99</价格><出版社>XML出版社</出版社></书籍><书籍><标题>Java编程实践</标题><作者>Jane Smith</作者><出版日期>2021-11-15</出版日期><价格>39.99</价格><出版社>Java出版社</出版社></书籍><!-- 可以继续添加更多书籍 --></书籍目录>```在上面的例子中,我们使用了五层嵌套的XML结构来展现书籍信息。
每本书都是`<书籍>`元素的子元素,而 `<标题>`、`<作者>`、`<出版日期>`、`<价格>` 和`<出版社>` 是`<书籍>`元素的子元素。
XSL入门教程

跟我学XSL(一)——第一个XML文檔随着Internet的发展,越来越多的信息进入互联网,信息的交换、检索、保存及再利用等迫切的需求使HTML这种最常用的标记语言已越来越捉襟见肘。
HTML将资料内容与表现融为一体,可修改性、资料可检索性差,而XML借鉴了HTML与数据库、程序语言的优点,将内容与表现分开,不仅使检索更为方便,更主要的是用户之间资料的交换更加方便,可重用性更强。
XML是一种元标记语言,没有许多固定的标记,为WEB开发人员提供了更大的灵活性。
当我们使用HTML时,标记只是简单的表示内容的显示形式,而与表示的内容没有任何关联,为文档的进一步处理带来极大的不便。
比如要表示个人简历,用HTML的表示方式如下:<HTML> <BODY> <TABLE border=1 cellspacing=0> <TH>姓名<TD>禹希初<TH>性别<TD>男<TH>生日<TD>1977.5 <TR> <TH>技能<TD colspan=5>数据库设计与维护、WEB开发 </TABLE> </BODY> </HTML>在这里,我们无法从标记TH、TD得知其内容表示什幺,如果用XML,相应的文档(文件名:个人简历.xml)就可写成如下形式:<?xml version="1.0" encoding="GB2312"?> <resume> <name>禹希初</name> <sex>男</sex> <birthday>1977.5</birthday> <skill>数据库设计与维护、WEB开发</skill></resume>说明:version──规定了XML文档的版本,此处只能是1.0;encoding──此处规定了XML文文件的编码类型,此处取值为“GB2312”,也就是“简体中文”。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
《XML使用指南》1 国际化和本地化原则1.1 XML文档编码GB/T 18793-2002规定,XML文档可以使用以下编码字符集:●GB 18030-2000●GB 13000-x●GB 2312-1980●其它XML处理器支持的编码字符集在GB/T 18793-2002中,缺省字符集规定为GB 13000-x(GB 13000.1-93 idt ISO/IEC 10646.1:1993),亦称为通用字符集(Universal Character Set,UCS)。
UnicodeUnicode是由Unicode协会(Unicode Consotium)制定的通用字符集。
其主要目的是为纯文本内容提供一套无歧义的编码,以方便全球各种语言文字的转换。
在W3C的XML 1.0中,大量使用了Unicode。
其2004年发布的XML 1.1中作了更新,使XML不再依赖于Unicode的特定版本。
由于GB/T 13000.1-93与Unicode(2.0版本以上)是完全兼容的。
UCS通用字符集(Universal Character Set,UCS)是由ISO制定的ISO 10646(或称ISO/IEC 10646)标准所定义的字符编码方式,定义了一个31位的字符集。
通用字符集又称Universal Multiple-Octet Coded Character Set,中国大陆译为通用多八位编码字符集UCS包含了已知语言的所有字符。
除了拉丁语、希腊语、斯拉夫语、希伯来语、阿拉伯语、亚美尼亚语、格鲁吉亚语,还包括中文、日文、韩文这样的象形文字,UCS 还包括大量的图形、印刷、数学、科学符号。
UCS不仅给每个字符分配一个代码,而且赋予了一个正式的名字。
表示一个UCS或Unicode值的十六进制数通常在前面加上“U+”,例如“U+0041”代表字符“A”。
ISO/IEC 10646-1标准第一次发表于1993年,现在的公开版本是ISO/IEC 10646-1:2000。
ISO/IEC 10646-2在2001年发表。
从Unicode 2.0开始,Unicode采用了与ISO 10646-1相同的字库和字码。
两个项目仍都存在,并独立地公布各自的标准。
但Unicode联盟和ISO/IEC JTC1/SC2都同意保持两者标准的码表兼容,并紧密地共同调整任何未来的扩展。
UCS常采用双八位编码和肆八位编码方式。
●UCS的双八位的BMP(Basic Multilingual Plane)形式(UCS-2)规定每个字符用两个字节编码,这种形式仅适用于基本多语种平面。
如“一”的双八位形式为4E00。
●UCS的肆八位的正则形式(UCS-4)规定每个字符用四个字节编码,例如:汉字“一”的正则形式为0000 4E00。
●在UCS中,编码点在0~65535的字符归属第0平面,也称基本多语种平面(BMP)。
这个平面中包含大部分全世界正在使用的公用字符,包括来自罗马字母、西里尔字母、阿拉伯语、希腊语、希伯来语、常用汉字和其他语言的文字。
编码点在65536~131071的字符归属第1平面。
这个平面包括音乐符号、数学符号和一些已经不再使用的语言(如古意大利语)的文字。
编码点在131072~196607的字符归属第2平面,收录了很多不常用汉字。
第14平面包含了一些语言标记,因为XML有xml:lang属性可用而完全不需理会这些标记。
其他的平面至今都没有很好地定义。
UTF-8●UTF-8(Unicode Transformation Format, 8-bit encoding form)是一种变长编码。
编码点为0~127的每一个字符(GB/T 1988-1998字符)占一个字节,编码点为128—4095的每一个字符占据两个字节,第0平面的其他字符每一个占据3个字节,从第1至第15平面的每一个字符占据4个字节。
UTF-8有很多优点,列举如下:●它是GB/T 1988-1998的超集,因此对于纯英文的文本,一个UTF-8文件与GB/T 1988-1998文件完全一样,非常利于兼容,因此XML把UTF-8选作缺省的编码形式。
●所有的GB/T 1988-1998字符都不会成为其他字符编码的一部分,因此非常容易分辨GB/T 1988-1998字符。
●UTF-8与字节顺序无关。
在计算机系统中,大数值类型(如整型)使用多个字节表示,不同体系结构采用的字节排列顺序不同。
其中,部分采用由高字节到低字节的排列顺序,称为big-endian;其他则采用由低字节到高字节的排列顺序,称little-endian。
对于大多数big-endian的UNIX系统和little-endian的Windows系统,对同一个文档UTF-8可以做到每个字符一一对应,因此,没有必要在XML文档开头放置字节顺序标记。
●从单一字节就可以判断字符边界。
只观察单一字节,程序就可以判断该字节是下列哪种情形之一:单字节字符、双字节字符的第一个字节,三字节字符的第一、二、三字节。
●对于常见字符组成的文档,UTF-8占用空间最节省。
UTF-16UTF-16(Unicode Transformation Format, 16-bit encoding form)也是一种变长编码。
在UTF-16中,编码点为0~65535的字符使用单一的16位编码单元表示;而编码点为65536~1114111的字符使用一对16位编码单元表示(RC-element 或surrogate pair)。
UTF-16最大的好处是优化了基本多语种平面的字符表示,每个字符只需要2个字节,可作为定长编码来有效使用。
对于大量使用中、日、韩文字的文本,其占用空间比UTF-8约节省1/3。
然而比起UTF-8,UTF-16丧失了很多优点,最主要的是UTF-16是字节顺序相关的,为解决字节顺序问题,要在XML文档开头加一个字节顺序标志(#xFEFF)。
如果程序读出的是FE和FF,则可以断定文档的编码是big-endian UTF-16,如果是FF和FE,则文档的编码是little-endian UTF-16。
由于#xFEFF不是一个合法的GB/T 13000字符,所以不会与其他内容混淆。
UTF-16的另一个缺点是检测字符边界比较麻烦。
编码原则●除了UTF-8和UTF-16,GB/T 13000还有UTF-32编码形式,与UCS-4一致。
然而常用的只有UTF-8和UTF-16。
一般原则是,如果文档不含大量的中、日、韩文字,XML应该使用UTF-8作为缺省的编码,否则应该使用UTF-16。
如果难以判断,仍可采用UTF-8。
●但是,除非特别必要,XML置标标记(包括元素名和属性名)应该尽量采用GB/T 1988-1998字符集,以适应当前很多工具对GB 13000和其他编码字符集支持不够完善的现况。
尽量不要使用GB 13000以外的字符集,如果确实必要应该考虑采用编码转换,将其他字符集编码映射到GB 13000再处理。
GB13000(Unicode)的使用在使用GB 13000的时候,应该遵照XML 1.1标准的建议先将XML文本规格化。
因为在GB 13000中,一些文本成分即可使用静态的预先组合好的形式,也可使用动态组合的形式。
例如“é”可以表达为单个字符“#xE9”,也可以表达为两个字符连用,即“#x65”和“#x301”。
为了进行字符比较,需要进行规格化,即使用一种规范化的、单一的GB/T 13000文本形式来表示这些成分。
Unicode定义了四种规范化形式:Normalization Form D (NFD),Normalization Form KD (NFKD),Normalization Form C (NFC)和Normalization Form KC(NFKC)。
其中NFD和NFKD将可能的字符进行分解,而NFC和NFKC将可能的字符进行组合。
XML 1.1规定规范化的文本应该采用NFC的形式。
URI字符集使用●统一资源指示器(URI)用于定位系统中的某项资源。
统一资源定位器(URL)(较URI 更为人所熟知)是URI 的子集。
XML通常使用URI指定链接中的资源,定义命名空间等。
以往的URI基于GB/T 1988-1998的基本集,无法在URI中直接表示扩展字符,但可以通过转义机制来进行。
●对于URI中的保留字符、空白字符以及其他不满足条件或非安全的字符(包括GB/T 1988-1998中编码点127之后的字符、空白符、控制符,如“{”、“}”、“|”、“、”、“~”、“[”、“]”等)都应该编码成“%hh”形式,其中,hh是该字符在字符集中的16进制的编号。
以下是一个尚未编码的URL例子:转换后成为:W3C和IETF正在制定基于GB/T 13000的国际化的URI标准。
在正式标准发布之前,仍然需要转义非安全的字符。
1.2 谨慎使用多语种文档多语种文档有两类:一类是在内容级别上使用多种语言,即元素内容使用不同的语言,另一类是在结构级别上使用多种语言,即用不同语言表示一个元素。
多语言文档不易处理,特别是后者,不易保持几种语言版本的一致性,不易为检索等应用建立等价元素关系,因而需要尽力避免使用多语言文档。
如果确实需要,应该尽量采用工具进行转换,并通过标识符建立元素之间的关联。
XML中多语种的使用除非在其他标准、规范或既定应用中明确规定了须使用其它语种,在XML的以下成分中可以使用中文:●元素名和元素内容●属性名和属性值●枚举值●唯一标识符●记法(Notation)●文本字符串Schema的翻译面向公共使用的词汇表应该首先准备一个语种的主版本。
为了利于使用其他语种的地区和国家使用,可以将该词汇表主版本翻译成其他语种的副版本,例如:由英文主版本翻译成中文或汉语拼音版本。
建议通过一套XSL式样单(stylesheet)或程序进行词汇表之间的转换。
经过转换的词汇表应该通过注释指明原始词汇表的出处。
另外,在词汇表的不同版本中,应该使用标识符(建议使用“locID”)来标识等价的元素,并使用特定的属性(建议使用“attrList”)来标识属性顺序,以利在一个词汇表的不同语种实例之间能仍然保持严格的元素和属性的语义关联,并方便XML检索等处理机制识别。
<xsd:element name="主题" id="e1-1" minOccurs="0"> <xsd:complexType><xsd:simpleContent><xsd:extension base="xsd:string"><xsd:attribute ref="loc:locID" fixed="e1-1"/> </xsd:extension></xsd:simpleContent></xsd:complexType></xsd:element><?xml version="1.0" encoding="UTF-8"?><mail:Email loc:locID="e1"xmlns:mail="/schemas/email/en"xmlns:loc="/schemas/loc"xmlns:xsi="/2001/XMLSchema-instance"xsi:schemaLocation="/schemas/email/enenSchema.xsd"><mail:Subject loc:locID="e1-1">Care Yourself</mail:Subject><mail:SentDate loc:locID="e1-2">1999-05-31T13:20:00.000-05:00</mail:SentDate> <mail:Sender loc:locID="e1-3"><mail:Address loc:locID="e01">mickey@</mail:Address> </mail:Sender><mail:Receiver loc:locID="e1-4" loc:attrList="sc cc bc" mail:sc="true"mail:bc="true"><mail:Address loc:locID="e01">donald@</mail:Address> </mail:Receiver><mail:ReplyTo loc:locID="e1-5"><mail:Address loc:locID="e01">mickey@</mail:Address> </mail:ReplyTo><mail:Body loc:locID="e1-6">Dear Mr Donald: Never go to the roast duck restaurant. Wish you be good health.</mail:Body></mail:Email><?xml version="1.0" encoding="UTF-8"?><邮件:电子邮件xmlns:邮件="/schemas/email/cn"xmlns:loc="/schemas/loc" loc:locID="e1"xmlns:xsi="/2001/XMLSchema-instance"xsi:schemaLocation="/schemas/email/cn ../Chinese/cnSchema. xsd"><邮件:主题 loc:locID="e1-1">Care Yourself</邮件:主题><邮件:发件日期 loc:locID="e1-2">1999-05-31T13:20:00.000-05:00</邮件:发件日期><邮件:发件人 loc:locID="e1-3"><邮件:邮件地址 loc:locID="e01">mickey@</邮件:邮件地址> </邮件:发件人><邮件:收件人 loc:attrList="发送抄送密送" loc:locID="e1-4" 邮件:发送="true" 邮件:密送="true"><邮件:邮件地址 loc:locID="e01">donald@</邮件:邮件地址> </邮件:收件人><邮件:回复地址 loc:locID="e1-5"><邮件:邮件地址 loc:locID="e01">mickey@</邮件:邮件地址> </邮件:回复地址><邮件:主体内容 loc:locID="e1-6">Dear Mr Donald: Never go to the roast duck restaurant. Wish you be good health.</邮件:主体内容></邮件:电子邮件>substitutionGroup的使用[适用于Schema] 某些时候,也可采用元素替换(substitutionGroup)的方式,在一套Schema中指定多个语种的等价元素或属性名称。