XML以及两种XML约束的介绍

XML和XML约束

文章目录

    • XML和XML约束
      • 1.XML概述
        • 1.1 介绍XML
        • 1.2 作用
        • 1.3 XML和HTML的区别
        • 1.4 XML的组成元素
      • 2. XML文件的约束
        • 2.1 约束的作用和分类
        • 2.2 DTD约束
        • 2.3 Schema约束

1.XML概述

1.1 介绍XML

HTML:Hyper Text Markup Language 超文本标记语言,由各种标签组成。

  1. 英文:XML eXtensible Markup Language 可扩展标记语言
  2. 标签组成:也是一种标记语言,文件内容由各种标签组成。

1.2 作用

  1. 数据交换,用于不同系统或不同数据库之间的数据交换。
  2. 作为配置文件,用于Spring等各种框架的配置。

数据库连接池的配置

<default-config>
    
    
    <property name="driverClass">com.mysql.jdbc.Driverproperty>
    
    <property name="jdbcUrl">jdbc:mysql://localhost:3306/day19property>
    
    <property name="user">rootproperty>
    
    <property name="password">rootproperty>

    
    
    <property name="initialPoolSize">5property>
    
    <property name="maxPoolSize">10property>
    
    <property name="checkoutTimeout">3000property>
default-config>

1.3 XML和HTML的区别

区别 HTML超文本标记语言 XML可扩展标记语言
功能 用于表示层,直接面向用户。用于数据展示 用于数据访问层,用于数据的存储。
大小写 不区分大小写 区分大小写
语法严谨 不严谨,有错误浏览器也可以解析 非常严谨,只要有错误,解析器就不能解析
可扩展性 所有标签都有自己的功能,而且是固定好的 可以扩展的,所有的标签都是程序员自己创建出来。

1.4 XML的组成元素

  • 文档声明
<?xml version="1.0" encoding="utf-8" ?>

声明的三个属性

version //使用的XML版本,我们取值为1.0
encoding //XML使用字符集,如果省略,默认是utf-8
standalone //很少使用,说明当前的XML文件是否是一个独立的文件,默认是yes。
  • 元素ELement
如:<person>就是元素,又称为标签
//大小写区分
//命名不能有空格,不能有冒号
//每个文档只能有一个根元素
  • 属性Atrribute
<person id="110">,id是元素person的一个属性
// 属性必须出现在开始标签
// 必须使用引号,可以使用双引号也可使用单引号
// 一个标签可以有多个属性,单不能有同名属性
  • 注释Comment

  • 实体字符(在xml中不能使用的字符使用转义字符替代)
说明 字符 转义字符
小于 < <
大于 > >
双引号 " "
单引号 '
与符号 & &
  • 字符数据区

如果出现了大量需要转义的字符,又不想使用实体字符,可以使用字符数据区。

格式:
举例:
<sql>
    
sql>
  • 处理指令(很少使用)
<?xml-stylesheet type="text/css" href="文件名.css">
 

2. XML文件的约束

2.1 约束的作用和分类

​ 用来约束XML的数据,一个XML文件中能够出现哪些标签。每个标签中能够出现哪些子标签,每个标签能够有哪些属性。每个标签的主体内容可以出现哪些。

两种XML约束
DTD约束
Schema约束

2.2 DTD约束

DTD:文档类型定义 Document Type Definition。

作用:用来约束XML文档,保证XML文件正确性和数据的有效性。

使用步骤

  1. 创建book.dtd约束文件(一般有现成的约束文件,不用自己写)
<!ELEMENT 书架 (+)>
<!ELEMENT 书 (书名,作者,售价)>
<!ELEMENT 书名 (#PCDATA)>
<!ELEMENT 作者 (#PCDATA)>
<!ELEMENT 售价 (#PCDATA)>
  1. 创建xml文件,导入写好的dtd文件



<书架>
    <>
        <书名>人鬼情喂鸟书名>
        <作者>保罗.克林吨作者>
        <售价>300售价>
    >
    <>
        <书名>JavaEESSH书名>
        <作者>NewBoy作者>
        <售价>38售价>
    >
书架>

导入约束文件的两个格式





2.3 Schema约束

作用:是一种用来代替DTD约束的新的方式,功能上比DTD更加强大,可以验证数据类型。本身还是一个XML文件。

扩展名:xsd- XML Schema Document

使用步骤

  1. 新建schema约束文件bookshelf.xsd(一般有现成的约束文件,不用自己写)

<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
           targetNamespace="http://www.zmysna.cn"
           elementFormDefault="qualified">
        <xs:element name='书架' >
                <xs:complexType>
                        <xs:sequence maxOccurs='unbounded' >
                                <xs:element name='' >
                                        <xs:complexType>
                                                <xs:sequence>
                                                     <xs:element name='书名' type='xs:string' />
                                                     <xs:element name='作者' type='xs:string' />
                                                     <xs:element name='售价' type='xs:double' />
                                                xs:sequence>
                                        xs:complexType>
                                xs:element>
                        xs:sequence>
                xs:complexType>
        xs:element>
xs:schema>
  1. 创建xml文件,导入写好的dtd文件
    • 导入文件的语法
<根元素 xmlns="命名空间" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="命名空间 xsd约束文件名">
</根元素>

创建xsd文件并导入


<书架 xmlns="http://www.itcast.cn" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.itcast.cn bookshelf.xsd">
<>
<书名>人鬼情喂鸟书名>
<作者>张三作者>
<售价>38.6售价>
>
书架>

你可能感兴趣的:(JavaWeb)