• xml 基础 学习


    Altove XMLSpy编辑器 北京圣思园xml培训视频 ppt

    1. eXtensible Markup Language(可扩展的标记语言)。

    Xml:数据交换的需要;电子商务的基础;可扩展;

    Xml核心技术:

    文档描述、验证、约束技术——DTD/Schema(模式)

    文档转换技术——XSL

    数据查询技术——Xpath

    连接技术——Xlink/Xpointer

    编程接口——DOM/SAX

    每一个xml文档都有且只有一个根元素 root Element。所谓根元素,就是唯一一个包含了其他所有元素的元素。

    Xml描述的是文档的内容与语义。而不是文档应如何显示。

    对于xml文档来说,<?处理标记必须要顶格写,前面不能有任何的空白。

    Xml元素可以具有属性,属性的形式为:属性名=“属性值”。属性值需要使用单引号或者双引号括起来。多个属性之间使用空格分开。

    通过样式,我们可以实现xml内容与展现形式的分离。

    在一个元素上,相同的属性只能出现一次。

    XML文档--属性

    属性值用双引号”” 或者单引号’’

    一个元素上面,一个属性只能出现一次

    Xml的注释:

    <!-- comments-->,注释不允许嵌套

    注释内容中不要出现—

    不要把注释放在标记中间

    注释不可以嵌套

    可以再除标记以外的任何地方使用注释

    属性中不能出现不能出现<,>,&,

    实体:

    内置五种实体:

    &lt; less than 小于号 <

    &gt ;grtater than 大于号 >

    &amp; 连字符 &

    &quot ; 双引号 “”

    &apos; 单引号 ‘’

    自定义实体:

    <!ENTITY 实体名 ”实体内容”>

    实体的使用:

    定义:<!DOCTYPE company[

    <!ENTITY shengsiyuan “圣思园”>

    ]>

    使用:(不要忘记分号)<company>

    <name>&shengsiyuan;</name>

    </company>

    Xml专用标记 CDATA节

    用于整段文本解释为纯文字数据而不是标记的情况。

    语法:<![CDA TA[…………]]>

    可以输入任意字符

    不能嵌套

    文档的类型定义:DOCTYPE

    格式正规wellformed的xml文档

    语法规范: 必须有xml声明语句<?xml version=”1.0” endcoding=”gb2312”>;

    必须有且仅有一个根元素; 标记大小写敏感; 属性值用双引号; 标记成对; 空标记关闭; 元素正确嵌套;

    元素语法:名称中可以包含数字,字母,或者其他字符;名称不能以数字开头;不能以XML,Xml……开头;不能包含空格;名称中不能包含:(冒号);

    冒号留给命名空间使用

    使用xml可以实现异构语言、异构平台之间的交互。

    DTD(文档类型定义)

    Document Type Definition

    有效的(valid)xml文档:首先xml文档是个格式正规的xml文档,然后又需要满足DTD的要求,这样的xml文档称为有效的xml文档。

    DTD文档类型定义:Document Type Definition

    DTD用来描述xml文档的结构:一个DTD文档包含:

    元素(Element)的定义规则;元素之间的关系规则;属性(ATTLISt)的定义规则;可使用的实体(ENTITY)或者符号(NOTATION)规则

    DTD文档与xml文档实例的关系:类与对象;数据库表结构与数据记录;

    DTD文档的声明及引用:

    内部DTD文档: <!DOCTYPE 根元素 [定义内容]>

    外部DTD文档: <!DOCTYPE 根元素 SYSTEM “DTD文件路径”>

    内外部DTD文档结合:<!DOCTYPE 根元素 SYSTEM “DTD文件路径” [定义内容]>

    DTD的手写:

    <!DOCTYPE poem[

    <!ELEMENT poem(author,title,content)>

    <!ELEMENT author (#PCDATA)>

    <!ELEMENT title (#PCDATA)>

    <!ELEMENT content (#PCDATA)>

    ]>

    #PCDATA:Parsed Character Data,可解析的字符数据,也就是字符串。

    1. 元素的定义:

    语法:

    <!ELEMENT NAME CONTENT>

    关键字 元素名称 元素类型

    2. 元素的类型:

    EMPTY :该元素不能包含子元素和文本,但可以有属性。

    ANY:该元素可以包含任何在DTD中定义的元素内容。

    #PCDATA:可以包含任何字符数据,但是不能在其中包含任何子元素。

    纯元素类型:只能包含子元素,并且这些子元素外没有文本。

    混合类型:包含子元素和文本数据的混合体。

    clip_image002

    clip_image004

    1. 元素的属性的定义:

    <!ATTLIST 元素名称 属性名称 属性类型 属性特点>

    2. 元素的属性的类型:

    1) CDATA:字符串

    (

    #PCDATA:定义元素类型;

    CDATA:定义元素的属性的类型。

    CDATA节:其中的文本不被编译

    )

    2) NMTOKEN是CDATA的一个子集,表示属性值必须是;英文字母,数字,句号,破折号,下划线或者冒号,属性值不能含有空格。

    3) ID:表明该属性的取值必须是惟一的。

    <!ELEMENT 公司职员 ANY>

    <!ATTLIST 公司职员 ID #REQUIRED编号 CDATA #REQUIRED>

    4) I DREF属性的值指向文档中其他地方声明过的ID类型的值。

    5) IDREDFS同IDREF,但是可以 具有由空格分开的多个引用。

    clip_image005

    6) Enumerated:

    3. 元素的属性的特点:

    <!ATTLIST 元素名 属性名 属性类型 属性特点>

    1) #REQUIRED

    元素的所有实例都必须有该属性的值.

    <!ATTLIST 元素名 属性名 属性类型 #REQUIRED>

    2) #IMPLIED

    元素的实例可以忽略该属性

    <!ATTLIST 元素名 属性名 属性类型 #IMPLIED>

    3) #FIXED value

    元素实例中该属性的值必须为指定的固定值.

    <!ATTLIST 元素名 属性名 类型 #FIXED “value”>

    4) Default value

    为属性提供一个默认值.如果有提供就覆盖value,否则则为value

    <!ATTLIST 元素名 属性名 类型 “value”>

    定义实体:

    1.内部实体:

    <!ENTITY 实体名 “实体值”>

    DTD实例:<!ENTITY write “Donald Duck”>

    <!ENTITY copyright “Copyright W3Schools”>

    Xml示例:<author>&write;&copyright;</author>

    2.实体定义:外部实体:

    语法:<!ENTITY 实体名SYSTEM “URI/URL”>

    clip_image006

    关于普通实体与参数实体:

    1. 普通实体是在dtd中定义,xml中使用,使用的格式为:&address;

    2. 参数实体是在dtd中定义,dtd中使用,定义的时候使用%,使用的时候也是用%,

    3. 普通外部实体的定义方式是:

    <!ENTITY address SYSTEM “http://www.baidu.com”>表示使用http://www.baidu.com网址的内容来替换掉address,而不是使用http://www.baidu.com字符串本身。

    4. 参数外部实体的定义方式:

    <!ENTITY % address SYSTEM “http://www.baidu.com”>表示 使用http://www.baidu.com网址的内容来替换掉address,而不是使用http://www.baidu.com字符串本身。

    命名空间:Namespace

    使用URL作为XML的Namespaces;

    命名空间的语法定义:

    Xmlns:[prefix]=”URL”

    ……………………………………………XML Lesson2……………………………………..

    1.Schema(模式)详解

    XML Schema是用一套预先规定的XML元素和属性创建的,这些元素和属性定义了XML文档的结构和内容模式。

    XML Schema规定XML文档实例的结构和每个元素/属性的数据类型。

    其作用与dtd一样,也是用于验证xml文档的有效性,只不过他提供了比dtd更强大的功能和更细粒度的数据类型,另外Schema还可以自定义数据类型。此外,Schema也是一个xml文件,而dtd则不是。

    clip_image007

    DTD的局限性:

    -DTD不遵守XML语法

    -DTD数据类型有限(与数据库数据类型不一致)

    -DTD不可扩展

    -DTD不支持命名空间(命名冲突)

    Schema的星特性:

    -Schema基于xml语法

    -可以用能处理xml文档的工具处理。

    -大大扩充了数据类型,可以自定义数据类型。

    -支持元素的继承-Object-Oriented

    -支持属性组。

    2.所有的schema文档,其根元素必须为Schema

    clip_image008

    clip_image009

    clip_image010

    clip_image011

    clip_image012

    Schema元素:

    作用:包含已定义的shema;Schema的根元素。有且只有一个。

    用法:<xs:schema>

    属性:-xmlns

    -targetNamespace

    element元素:

    作用:声明一个元素

    属性:-name;名字

    -type; 类型

    -minOccurs;做小出现次数

    -maxOccurs:最大出现次数(unbounded 未绑定的,不限的)

    -substitutionGroup;

    -fixed:

    -defaulet:

    Group:组元素:

    作用:把一组元素声明组合在一起,以便他们能够一起呗复合类型使用

    属性:name/ref

    Attribute:属性

    作用:声明一个属性

    属性:name/type/ref/use

    AttributeGroup:

    作用:把一组属性声明组合在一起,以便可以被复合类型使用。

    属性:name/ref

    SimpleType元素:

    作用:定义一个简单类型,它决定了元素和属性值的约束和相关信息。

    属性:name;

    内容:应用已经存在的简单类型,三种方式:

    -restriction:限定一个范围,即一个约束条件

    Enumeration(枚举)

    MinExclusive(大于等于)

    minInclusive(大于不等于)

    -list:从列表中选择,即从一个特定数据类型的集合中,选择定义一个简单类型元素。

    <xs:simpleType name="mySimpleType">

    <xs:list itemType="xs:date"/>

    </xs:simpleType>

    -union:包含一个值的结合,即从一个特定简单数据类型的集合中,选择定义一个简单类型元素。

    <xs:simpleType>

    <xs:union memberTypes="roadbikeSize mountainbikeSize"/>

    </xs:simpleType>

    ComplexType复杂类型:

    作用:定义一个复合类型,它决定了一组元素和属性值的约束和相关信息。

    属性:name

    complexType与simpleType区别(重要)

    simpleType类型的元素中不能包含元素或者属性。

    当需要声明一个元素的子元素和(或)属性时,用compleType;

    当需要基于内置的基本数据类型定义一个新的数据类型时,用simpleType;

    ComplexType——simpleContent

    作用:应用于complexType元素上,对它的内容进行约束和扩展

    关键点:使用simpleContent之后,当前的complexType元素下不可以包括子元素,但可以有属性。也就是使用simpleContent之后,要使用Attribute。否则的话,该complexType可以使用simpleType代替。有simpleContent没有Attribute的complexType就是simplexType。

    ComplexType——Extension

    作用:对当前的 complexType元素的内容的类型的限定

    /*
    以上内容为本人业余时间整理,部分内容来源网络,如有错误欢迎各位批评指正。


    */
  • 相关阅读:
    sql server:Monty Hall problem (蒙提霍尔问题)
    sql server: Graphs, Trees, Hierarchies and Recursive Queries
    csharp:SMO run sql script
    csharp: sum columns or rows in a dataTable
    sql server: quering roles, schemas, users,logins
    sql: Query to Display Foreign Key Relationships and Name of the Constraint for Each Table in Database
    Hadoop基本概念
    OVS架构解析
    Linux下实现修改IP选项字段
    linux下实现UDP通信
  • 原文地址:https://www.cnblogs.com/Lin267307031/p/2942852.html
Copyright © 2020-2023  润新知