欢迎来到三一办公! | 帮助中心 三一办公31ppt.com(应用文档模板下载平台)
三一办公
全部分类
  • 办公文档>
  • PPT模板>
  • 建筑/施工/环境>
  • 毕业设计>
  • 工程图纸>
  • 教育教学>
  • 素材源码>
  • 生活休闲>
  • 临时分类>
  • ImageVerifierCode 换一换
    首页 三一办公 > 资源分类 > PPT文档下载  

    【教学课件】第二章XML语言.ppt

    • 资源ID:5661763       资源大小:735KB        全文页数:133页
    • 资源格式: PPT        下载积分:15金币
    快捷下载 游客一键下载
    会员登录下载
    三方登录下载: 微信开放平台登录 QQ登录  
    下载资源需要15金币
    邮箱/手机:
    温馨提示:
    用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP免费专享
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    【教学课件】第二章XML语言.ppt

    第二章 XML语言,第一节 XML概述第二节 XML语法第三节 DTD第四节 Schema第五节 Namespace第六节 XSL第七节 XML的应用第八节 其他,如何表示信息?,如何表示信息?,如何表示信息?,计算机可读懂的信息表示,TCP/IP格式,计算机与人均可读的信息表示,国民党研究续集 中国友谊出版公司 1999-01-01 11.4 元 李敖议坛衰思录 中国友谊出版公司 2009-01-01 31.6 元 李敖有话说 中国友谊出版公司 2007-01-01 11.4 元,演示:http:/SRW/,http:/,第一节、XML概述,XML介绍XML的组成,XML介绍,XML:eXtensible Markup Language中文译为“可扩展标记语言”,是用于标记电子文件使其具有结构性的标记语言。是SGML(Standard generalized markup language)的一子集.,标记读书时,为了突出重点,可以用彩色笔把某些句子加亮,或者下划线。文字编辑器借助置标来定义格式与外观通信程序依靠置标理解所传输信息的语意数据库通过置标来将数据字段与一定的含义相连,并表明字段之间的关系,标记语言一种用来给文本添加标记的语言。置标用标记语言对数据进行编码的过程。,GML(Generalized Markup Language)2 0世纪6 0年代,I B M公司创建了第一个标识文档的通用标记语言GML。最初,GML只被用于IBM内部文档。,SGML随着众多企业采用GML,它被扩展为标准通用标记语言SGML(Standard Generalized Markup Language)。1986年,国际标准化组织把SGML确定为ISOhttp:/SGML特点SGML包含一系列的文档类型定义(简称DTD)SGML是可以扩展;SGML十分复杂,不易学习使用,计算机实现也十分困难。,HTML1989年,欧洲核子物理研究中心在SGML基础上提出HTML(HyperText Markup Language)。HTML包含一组事先定义好的标签,每个标签表明一定的显示格式。例如:被置标后的HTML文件,同时包含文本及文本显示格式信息。HTML文件由专门处理工具进行读取、显示。,HTML特点HTML只使用SGML中很小一部分标签HTML规定的标签是固定的,不可扩展,它不需包含DTD。HTML简单、易学易用HTML使 Web 技术从计算机界走向千家万户,从SGML到HTML,从MARC到DC,从Z39.50到SRU,W3C推出精简SGMLXMLHTML过于简单的语法无法表现复杂的形式,不能满足不断增长的需求。SGML太庞大,用户学、用不方便,且要全面实现SGML的浏览器又非常困难。,XMLXML是一种比HTML更强大的标记语言XML同样依赖于描述一定规则的标签和能够读懂这些标签的处理工具。XML是可扩展的标记语言与HTML事先定义好固定标签不同,XML提供一个标签标准,用户可以根据实际需要自行定义新的标签。,XML目标在互联网上直接使用(类似于HTML)。支持各种不同的应用方式(浏览、内容分析)。与SGML兼容(SGML是XML的直接先驱)。处理XML文件的应用程序应该容易编写。XML文件具有良好的可读性(HTML的易读性很差)。用XML设计新的标记语言应该方便快捷(不必再去经历标准制定程序)XML文件应该容易编制(借助普通编辑工具就能编写)。XML标记的简洁性并不重要(不必再去费尽心机减少标记)。,XML1998年XML1.0成为W3C推荐标准 XML 1.0(Fifth Edition),第一节、XML概述,XML简史XML组成XML的优点,XML文档组成,三部分 标记描述 XML数据文件(.XML)置标语法 DTD/Schema文件(.DTD/.XSD)置标含义 XSL文件(.XSL),XML,DTD/XSD,XSL,理解结构,获得语义,XML标记描述,分两类一类偏重于语意描述XML看上去和HTML非常相象,但XML标签具有语义,支持相关工具的语义解析。一类偏重于显示方式描述,包括:文本描述矢量图形、图象、声音描述等,张三 001 A公司 五街1234号 北京 北京 100001.,XML标记文档实例,置标语法,DTD(Document Type Definition)置标语法是通过文件类型定义DTD来描述的,即通过DTD来描述什么是有效的标签。DTD语法定义文件与XML数据标记文件是分离的。,DTD文档:contact.dtd,张三001A公司(010)62345678 北京 北京 五街1234号,XML标记文档:list.xml,置标含义,样式单(Style Sheet)为明确各个标签含义,XML使用样式单来向应用程序提供如何处理显示的指示说明。,F公司的客户联系信息 用户ID:公司:EMAIL:电话:,样式单实例,将XML文档中的标签转换为HTML中的标签;将XML文档中的、等标签转换为HTML中的标签。,XML核心内容 XML Specification W3C推荐标准,定义XML基本语法规范XML Namespace 提供一种统一命名XML文档中的元素和属性的机制,避免来自不同标记词汇表的元素和属性之间冲突。XML Schema:用于定义和描述XML文档结构和内容模式,定义元素和元素之间的关系,定义元素和属性的数据类型。,XML Specification,XML Schema(DTD),XML Namespace,Application,XML应用体系结构,第一节、XML概述,XML简史XML组成XML的优点,XML的优点,可以自由地制定自己的置标语言不必由有关的组织认可,不必开发专用的浏览器;允许各个组织、个人建立适合他们自己需要的标记库,并且,这个标记库可以迅速地投入使用。,XML的优点,从语义层次进行描述便于修改便于检索便于处理遵循严格的语法要求便于书写、阅读便于借助工具自动化处理,XML的优点,便于不同系统之间信息传输可以标注多种信息类型文字、图像、二进制文件等,XML的优点,具有较好的保值性XML的保值性来自SGML语言,SGML最初设计目标是要为文件提供50年以上寿命。电子文档的虽然能长期保存,但也存在隐患,处理软件升级导致打开文档的困难性。如五十年以后,人们可能没有工具去打开用Word97写的文档。,XML与HTML的比较,第二章 XML语言,第一节 XML概述第二节 XML语法第三节 DTD第四节 Schema第五节 XML命名空间第六节 XSL第七节 XML的应用第八节 其他,第二节 XML语法,XML规则逻辑结构物理结构参考资料:XML Specification(),XML规则,基本规则XML文档是由 Unicode 字符集组成的纯文本文档。XML 文档具有良好结构。XML文档区分大小写。标记之间信息构成字符数据。XML处理器不关心字符数据。XML可为各种对象、应用程序定义语法和文件格式。,XML规则,格式良好性规则XML 文档结构定义遵循XML 规范基于XML Specification规范构建的 XML 文档被称为“具有良好格式的 XML文档”。自定义由文档作者自行创建结构文档“DTD”或“XML Schema”;XML 处理器按照这个文档中的定义规则进行检验。,XML规则,格式良好性规则(1)有且仅有一个根元素。根元素也称文档元素,整个 XML 文档的其他元素都包含在根元素中,并通过嵌套形成树型结构。除了根元素外,其他元素都是子元素。(2)每个元素必须有开始标记和结束标记开始标记的格式是:结束标记的格式是:空元素标记:,XML规则,格式良好性规则(3)元素必须正确嵌套元素嵌套时不允许交叉,最先出现开始标记的元素,其结束标记最后出现。(4)所有属性值必须放在双引号或单引号中。(5)如果文档没有 DTD,在缺省情况下,所有属性值的类型必须是“CDATA”。,有效性规则 如果 XML 文档中元素出现的个数、顺序以及元素包含的内容都符合 DTD或XML Shema规则,则该文档就是有效的。一个 DTD 或 XML Shema 可以被多个XML 文档共享,既保证了 XML 文档结构的标准化,又大大减少编写代码的工作负担。,DTD,XML,XML,XML,XML规则,命名规则所有 XML命名都必需以字母、下划线或冒号开头。用作命名空间时才以冒号做分隔符。如:dc:title保留字用户不使用如:“XML”、“xml”,XML规则,第二节、XML的语法,XML规则逻辑结构物理结构,XML文件的逻辑结构,XML 文档组成文档头部声明注释处理指令文档类型定义文档主体由一个或多个元素组成;每个元素可以有子元素。,XML实例 1 23 4 5 XML 6 XML是一种可扩展的源置标语言,它可用以规定新的置标规则,并根 据这个规则组织数据 7 8 9 11 张三12 13 14 15 16,XML文档头部,文档头部可以包括声明注释处理指令文档类型定义,XML文档头部,(1)XML 声明一个 XML 文档通常以一个XML声明开始,它指明XML版本等信息,必须出现在XML文档的第一行。XML声明的作用就是告诉XML处理程序:“当前文件是按照XML标准对数据进行置标的”。,XML文档头部,(1)XML声明语法格式 实例,XML文档头部,(1)XML声明属性Version:必备属性XML版本号,必须在属性列表中排在最前列。由于当前的XML最新版本是1.0,所以:version=“1.0”Standalone:可选属性表明该XML文件是否还有一个配套置标声明文件Standalone=“yes”:表示没有配套的DTD文件;Standalone=“no”,可能有这样一个文件(也可能没有)缺省为:Standalone=“no”Encoding:可选属性表明XML文档使用的字符编码标准,常见的有:简体中文码:GB2312 繁体中文码:BIG5 西欧字符:UTF-8,(2)处理指令(PI,Processing Instruction)指导应用程序如何处理XML文件,格式:?处理指令名 处理指令信息?用于连接CSS样式单的PI格式 用于连接XSL样式单的PI格式,XML文档头部,(3)注释XML 中使用注释对文档进行解释说明,增加程序的可读性,处理程序不对注释标记的内容进行处理。语法,XML文档头部,(3)注释使用注释规则注释不能出现在声明之前注释可以包容标记,使标记失去作用注释不能出现在标记中注释内容中不能包含“-”以下是合法注释:-,XML文档头部,(4)文档类型定义语法:要求:文档类型定义必须出现在根元素标记符前面。实例:张三,XML文档头部,文档主体,文档主体组成一个文档元素(根元素)多个子元素也可以有 PI 和注释,元素,XML元素一个元素包含一个起始标记、一个结束标记以及标记之间的数据内容。张三,元素标记,元素标记基本形式例如:,元素标记命名规则(1)以字母或下划线开头,后跟字母、数字、下划线、横线和圆点等,不能包含空格,不能以字符串“xml”作为开头。下面是合法的XML标记名称:、下面是非法的XML标记名称:有空格 以数字开头 有非法字符”&”(2)标记是大小写敏感的,空元素标记 正常方式 简便方式,元素属性,XML元素属性属性不影响元素树型结构、并提供附加的上下文。属性格式:例如:,元素属性举例:王芳 李奇 黄昂扬 文笛声,属性定义规则 标记中可以使用多个属性,但属性名称不得重复;属性名是大小写敏感的;属性只能出现在起始标记或空标记中;属性值必须用引号(英文);少用属性,尽可能用子元素。因为属性有以下缺陷:属性值不能包含多重数值,但是元素可以;属性值很难扩展;属性不能描述结构内容,但是元素可以;属性值很难通过 DTD 进行测试。,字符数据,字符数据在起始和结束标记之间出现的字串信息为字符数据。张三以下是两条不同的字符数据:一段文字 和:格式一段文字/格式 后者的文本数据比前者多了两个换行符。字符数据可以是任何合法的UNICODE字符,但不能包含“”等特殊字符。,特殊字符数据表示法一:实体引用为了在字符数据和标记中使用一些特殊符号,XML提供了实体引用法:,字符数据,举例数据中的特殊字符字符数据内容:“加入AB,则B一定是偶数”正确XML表示形式:加入A,字符数据,特殊字符数据表示方法二:CDATA格式CDATA文本内容中是不能出现字符串“”,因为它代表了CDATA数据块的结束标志。CDATA下所有内容都被当作字符数据看待。,字符数据,CDATA与实体引用比较CDATA表示方式张三实体引用表示方式,字符数据,XML注释用“”引起来可以是多行,但不允许出现嵌套字符串“-”、“”不能出现在注释中例子:HTML XHTML SGML-XML,注释,第二节、XML的语法,XML基本规则逻辑结构物理结构,XML文件的物理结构,什么是实体一个 XML 文件可能由一个或多个存储单元组成,它们被称为实体(entity),它们都具有内容并且都用名字进行标识。类似程序设计中的变量,每个变量可存放一定数据。实体充当着和别名类似的角色,一个简单的实体名称可以用来代表一大段文本内容。实体类型:一般实体参数实体,实体声明,一般实体声明内部实体!ENTITY 实体名“文本内容”例如!ENTITY lettersign“张三某网络公司销售部门北京市海淀区中关村88号,100000”,一般实体声明外部实体!ENTITY 实体名 SYSTEM“地址”例如:!ENTITY lettersignSYSTEM http:/,实体声明,实体声明,参数实体参数实体的格式与一般实体很类似,只不过中间要加上“%”符。!ENTITY%实体名 文本内容 参数实体既可以是内部的也可以是外部的,参数实体只用在DTD中。,实体声明,实体声明规则实体声明应该放在文件类型DOCTYPE中。DOCTYPE一般放在文件头之后、XML元素之前。例如:,实体引用,指引用一个已经声明过的实体。一般实体引用形式:,实体引用,实体引用规则 被引用的实体必须已经在XML文件中声明过;实体引用中不能出现空格:错误引用:在一个实体中可以再引用其它实体,但是不能出现循环引用。实体引用不能在DOCTYPE声明中出现。,一般实体声明和引用例子 张三 A公司/地址,实体声明,实体引用,参数实体声明与引用实例,实体声明,实体引用,实体引用规则实体引用不仅可以出现在字符数据中,还可以出现在标记的属性中。例如:属性中实体引用规则:在标记属性中不能引用一个外部实体。引用的文本中不能出现字符“”。,实体引用,第三节 DTD,第三节 DTD,DTD基本结构定义元素及其后代定义元素属性,DTD基本结构,DTDDocument Type Definition规定XML文档的逻辑结构,主要是来描述XML文件中元素的格式。它可以定义文档的语法,以便支持XML语法分析程序根据DTD确认某个XML页面标记的合法性。,DTD特点 DTD描述了一个置标语言的语法和词汇表,即定义了XML文件的整体结构及语法。编辑工具根据 DTD中定义的结构创建XML文档XML解析器利用DTD定义验证文档的有效性。DTD可以非常简单,仅仅列出所有有效的元素DTD也可以非常复杂,除元素,还可以指出元素之间的关系。,DTD基本结构,DTD的基本结构,DTD特点DTD中的关键字都必须是大写的例如:ELEMENT、ATTLIST、#REQUIRED、#IMPLIED、NMTOKEN、ID等等。DTD所定义的元素和属性名是大小写敏感例如“BOOKS”和“Books”并不相同。,DTD的基本结构,DTD类型内部DTD外部DTD公用DTD,内部DTD,内部DTDDTD定义的信息放在XML文档中,加在XML文件头部,结构如下:.,内部DTD实例,张三 A公司(010)62345678 北京市 五街1234号,外部DTD,什么是外部DTDDTD信息保存在XML文件之外的一个独立文件中。优点多个XML文件共享一个共用DTD文件简化输入,改动DTD不用一一去改每个XML文件缺点如果DTD的改动不是“向后兼容”的,这时原先写的那些XML文件可能就会出问题。,外部DTD,外部DTD引用XML声明中必须说明这个文件不是自成一体的,即standalone属性值应该是“no”。在DOCTYPE声明中,要加入SYSTEM属性:,外部DTD,例子 URL可以是绝对路径,也可以是相对路径,公共DTD,什么是公共DTD以关键字PUBLIC而不是SYSTEM来引用一个由权威机构制订的、提供给特定行业或公众使用的DTD,这个外部DTD还需要得到一个标识名。公共DTD的引用形式例如,第三节 DTD,DTD基本结构定义元素及其后代定义元素属性,DTD 规范内容DTD 声明元素的定义规则及相关信息属性的种类及其使用 定义元素之间的关系、元素的排列方式 定义实体机制及其引用,元素类型声明,声明XML文件的根元素、文件内容和结构使用元素类型声明(ETD)来声明所有元素。定义元素名字、类型一个XML元素可以为空,也可以是一段纯文本,还可以有若干个子元素,而这些子元素同时又可以有它们的子元素。DTD通过元素之间的父子关系,描述整个文件的结构关系。,元素类型声明,ETD格式例如:纯文本信息说明联系人信息,元素类型声明,其他元素为了使元素“联系人列表”中还可以包含其它元素,还需要定义元素“联系人”和“姓名”。例如:张三,根元素名为“联系人列表”;“联系人列表”中可以包含子元素“联系人”,也可以包含任何纯文本数据(这即是ANY的含义);“联系人”元素有且只有一个自己的子元素“姓名”;“姓名”元素只能包含纯文本数据(即(#PCDATA)),元素类型声明,错误的例子:张三,“联系人”、“姓名”元素没有定义。,元素类型声明,注意事项除了根元素外,在定义其它元素时使用关键字ANY都是不好的习惯,让人不知所措在定义元素时,ETD的顺序是无关紧要的。因此:和 所定义的文件结构是完全相同的,元素类型声明,注意事项不能对不同的元素使用相同的元素名。例如:在这个例子中,对“联系人”的重复定义,会引起错误。,定义元素及其子元素,举例下例中,我们定义了一个名为“联系人”的元素,它包含一个单独的子元素“姓名”,“姓名”元素包含字符数据:张三,定义元素及其子元素,DTD支持灵活的元素定义DTD可以对一个元素作如下任何一种类型的定义:有一个子元素;有一个或多个子元素有零个或多个子元素至少有一个子元素有一个或多个子元素Y,或一个子元素Z。,不要求顺序的子元素,空格分离的元素不限顺序如DTD:有效的XML:张三 有效的XML:张三,要求顺序的子元素,逗号“,”分隔元素要求顺序DTD:有效XML:张三 无效XML:张三,重复元素,“+”:重复元素DTD:说明一个“联系人”元素中必须含有一个“姓名”元素,后面接一个或多个“EMAIL”元素。有效XML 张三,重复元素,“*”:“零个或多个”元素DTD 有效XML 张三 或者 张三,成组元素,括号:元素组DTD 说明子元素可以使用括号并为一组。上面DTD片段说明,一个“联系人”元素中可以有一个或多个“姓名/EMAIL”子元素对,并且在每个子元素对中,“姓名”都放在“EMAIL”之前。有效XML 张三 李四 王五,OR或,符号“|”:任选一DTD规定:所有的“联系人”元素应该有一个“姓名”子元素,之后还应该有一个“电话”或一个“EMAIL”元素,但不能同时有“电话”和“EMAIL”两个元素。下面是无效XML(因为缺少电话或EMAIL)张三,OR或,符号“|”:任选一DTD规定:下面还是无效XML(因为不能同时有电话和EMAIL)张三 12345678,OR或,符号“|”:任选一DTD规定:下面还是无效XML(姓名应放在EMAIL前)张三,OR或,符号“|”:任选一DTD规定:有效XML文件 张三 12345678或者是:张三,OR或,注意事项在一个组中,只允许使用一种连接符(例如“,”或“|”)。下面DTD是不合法的:要想使用多种连接符,只有通过创建子元素组的方式,例如:,可选子元素,符号“?”:可选子元素 例如:上面DTD定义:每一个“联系人”都必须有一个“姓名”子元素,同时或者有一个“电话”或者有一个“EMAIL”子元素,此外,它还可以包含一个“地址”子元素,也可以不包含这个元素。,可选子元素,符号“?”:可选子元素 有效XML 张三 五街1234号 北京市 北京 或者 张三,混合内容,在一个元素中既包含子元素,也包含纯文本。例如:张三(010)62345678 这是关于张三的信息,空元素,空元素一个元素中不包含任何子元素,也不包含纯文本。格式:EMPTY 说明:在XML文件中可以使用一个元素:,定义元素及其子元素,正则表达式,第三节 DTD,DTD的基本结构定义元素及其后代定义元素属性,如何定义元素的属性,属性实例 假如在XML文档中,“商品”元素有两个属性:“类型”、“颜色”:,如何定义元素的属性,DTD属性定义格式:例子:元素名:属性所属的元素名字,上面例中元素名是“商品”属性名:上例中属性名分别为“类型”、“颜色”属性类型:指定该属性是属于十个有效属性类型中的哪种类型缺省值:如果没有指定值,语法分析器默认它具有的取值,如何定义元素的属性,注意事项ATTLIST是一个属性的列表,它可以包含多个属性。同一属性可以多次声明,首先执行第一个。一些元素带有多个属性,通过多个声明实现,属性缺省值,属性的缺省值可分三类 REQUIRED:必须赋值的属性说明XML文件中必须为这个属性给出一个属性值。IMPLIED:属性值可有可无的属性文法解释器不再强行要求你在XML文件中给该属性赋值,而且也无须在DTD中为该属性提供缺省值。FIXED:固定取值的属性为一个特定的属性提供一个缺省值,并且不希望XML文件的编写者把缺省值替代掉。定义缺省值的属性如果不使用上面任何一种关键字来定义属性,需要在DTD中为它提供一个缺省值。而在XML文件中可以为该属性给出新的属性值来覆盖事先定义的缺省值。,属性定义实例,属性类型,属性类型可以是以下十种中的任意一种:CDATA Enumerated ID IDREF IDREFS,ENTITY ENTITIES NMTOKEN NMTOKENS NOTATION,属性类型CDATA,纯文本,即由字符、符号“&”、小于号“我可不这么认为!为什么呢?,属性类型枚举类型,属性也可以被描述为一组可接受的取值的列表,关键字ENUMERATED是不出现在DTD定义中的。,属性“类型”定义的缺省值是“鸡肉”,所以“购物篮”中的第三个元素的“类型”属性取值为“鸡肉”,属性类型 ID,ID 类型元素的某些属性值是不能重复的ID的值必须是一个有效的XML名称注意不要给ID类型的属性事先指定缺省值,这很容易引起不同的元素具有相同的标识的情况;ID属性经常使用REQUIRED缺省类型,也可以使用IMPLIED缺省类型,但不能使用FIXED缺省值。,实例,张三 李四,属性类型 IDREF/IDREFS,允许一个元素的属性使用文件中的另一个元素,方法就是把那个元素的ID标识值作为该属性的取值。IDREF/IDREFS适用于多对一、一对多。,实例,张三 李四,属性类型NMTOKEN/NMTOKENS,为XML数据处理操作指定一个操作方法(如一个java类),例如:DTD定义:XML文件:blah blah blah,属性类型NOTATION,NOTATION类型允许属性值为一个DTD中声明的符号,这个类型对于使用非XML格式的数据非常有用,如图象、声音、影象等等。对于这些数据,XML应用通过为它设定NOTATION类型属性,可以向应用程序指定一个外部处理程序。定义方法使用MIME类型:使用一个URL路径(指定一个处理程序):,实例,为“电影”元素指定了两种可选设备:movPlayer.exe用来播映.mov文件另一种则用来绘制GIF图象。,属性类型 Entities,实体属性实体内部实体 外部实体实体引用,实例,

    注意事项

    本文(【教学课件】第二章XML语言.ppt)为本站会员(牧羊曲112)主动上传,三一办公仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知三一办公(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    备案号:宁ICP备20000045号-2

    经营许可证:宁B2-20210002

    宁公网安备 64010402000987号

    三一办公
    收起
    展开