Javaweb02-XML概述
第一章 XML概述
1.XML基本概念
- 什么是xml?
**a.**引入的原因:为了解决不同不同语言之间的数据传输的格式不同
**b.**概念:XML是一种可扩展标记语言,适用于不同数据之间的数据交换
**c.**XML文档:通过元素的嵌套,可以清晰描述树状结构,因此常常被用作存放相关的配置信息
- xml与html的区别?
**a.**HTML用于显示数据,XML用于传输和存储数据
**b.**HTML标签不区分大小写,XML标签严格区分大小写
**c.**HTML可以有多个根元素,XML只有一个根元素,且空格不能向HTML一样自动过滤
**d.**HTML中的标签是预定义标签,而XML中的标签是可扩展标签,需要自己定义
2.xml的语法
**a.**文档说明
<?xml version="" encoding="" standalone="">
说明:
此语句必须放在文档的开头,
version为必须的属性,encoding是用来指定编码集,standalone只有两个值yes,no用来表示此文档是否与外部关联(默认)
**b.**元素定义
<大学>太原理工大学</大学>
xml文档的元素以树形分层结构排列,一个xml文档有且仅有一个顶层元素
由开始标签,属性,元素内容,结束标签组成
**c.**属性定义
<大学 位置="太原">太原理工大学</大学>
一个元素可以定义若干属性,每个属性的值必须通过引号来引用
**d.**注释
<!--注释信息-->
3.DTD约束
DTD约束是一种XML约束模式语言,根据它的语法创建的文件称为DTD文件。
- DTD约束的引入
1.引入外部DTD约束文件
方法一:引入本地的DTD文件
<!DOCTYPE 根元素名称 SYSTEM "外部DTD文件的URI">
外部DTD文件的URI:可以是相对路径,也可以是绝对路径方法二:引入公用的DTD文件
<!DOCTYPE 根元素名称 PUBLIC "DTD名称" "外部DTD文件的URI">
外部DTD文件的URI:只可以是绝对路径
2.XML内部定义DTD约束文件
<!DOCTYPE 根元素名称[DTD定义语句...]>
- DTD约束的语法
1.元素定义
格式:<!ELEMENT 元素名称 元素内容>
元素内容:
1.#PCDATA 元素中嵌套的内容为文本字符串
2.(元素名1,元素名2,元素名3) 子元素
3.EMPTY 空元素
4.ANY 任何元素
5.混合元素
问号[?]:表示该对象可以出现0次或1次。
星号[*]:表示该对象可以出现0次或多次。
加号[+]:表示该对象可以出现1次或多次。
竖线[|]:表示列出的对象中选择1个。
逗号[,]:表示对象必须按照指定的顺序出现。
括号[()]:用于给元素进行分组。
2.属性定义
//格式:
<!ATTLIST 元素名属性名1 属性类型 设置说明属性名2 属性类型 设置说明
>//设置说明:
1.#REQUIRED:表示元素的该属性是必须的
2.#IMPLIED: 表示元素可以包含该属性,也可以不包含该属性
3.#FIXED:表示一个固定的属性默认值,在XML文档中不能将该属性设置为其他值
4.默认值:该属性的值是可以改变的//属性类型:
1. CDATA:属性类型为字符类型
2. 枚举类型:(属性值1|属性值2|属性值3)可限制属性值取一个
3. ID类型:唯一标识XML中的元素,它的设置说明只可以是#REQUIRED,#IMPLIED
4. IDREF:表示一对一关系
5. IDREFS:表示一对多的关系
4.Schema约束
XML Schema是一种用于定义和描述XML文档结构与内容的模式语言(.xsd)
- Schema约束支持名称空间
1.名称空间的定义
一个XML文档可以引入多个约束文档,但是,由于约束文档中的元素或属性都是自定义的,所以在XML文档中,极有可能出现代表不同含义的同名元素或属性,导致名称发生冲突。为此,在XML文档中,提供了名称空间,它可以唯一标识一个元素或者属性
2.名称空间的引入
<元素名 xmlns:prefixname="URI">
注意:基本名称空间它们是xml和xmlns不可以做prefixname
- Schema约束的引入
1.使用名称空间引入XML Schema文档
需要通过属性xsi:schemaLocation来声明名称空间的文档xsi:schemaLocation属性是在标准名称空间“http://www.w3.org/2001/XMLSchema-instance”中定义的,在该属性中,包含了两个URI,这两个URI之间用空白符分隔。其中,第一个URI是名称空间的名称,第二个URI是文档的位置。
示范:
<元素名 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="Schema文件名 Schema文件路径">
2.通过xsi:noNamespaceSchemaLocation属性直接指定
通过xsi:noNamespaceSchemaLocation属性直接指定,它是在标准名称空间“http://www.w3.org/2001/XMLSchema-instance”中定义的,它用于定义指定文档的位置。
示范:
<元素名 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:noNamespaceSchemaLocation="Schema文件路径">
- Schema约束的语法
1.元素定义
<xs:element name="名称" type="类型"/>
2.属性定义
<xs:attribute name="xxx" type="yyy"/>
3.简单类型
在XML Schema文档中,只包含字符数据的元素都是简单类型的。
<xs:element name="age">
<xs:simpleType><xs:restriction base="xs:integer">...限制条件</xs:restriction>
</xs:simpleType>
</xs:element>
1.对元素的值的大小的限制
<xs:element name="age">
<xs:simpleType><xs:restriction base="xs:integer"><xs:minInclusive value="18"/><xs:maxInclusive value="58"/></xs:restriction>
</xs:simpleType>
</xs:element> 2.对元素的设置枚举类型
<xs:element name="car">
<xs:simpleType><xs:restriction base="xs:string"><xs:enumeration value="Audi"/><xs:enumeration value="Golf"/><xs:enumeration value="BMW"/></xs:restriction>
</xs:simpleType>
</xs:element> 3.对元素一系列值的设置
<xs:element name="letter">
<xs:simpleType><xs:restriction base="xs:string"><xs:pattern value="[a-z]"/></xs:restriction>
</xs:simpleType>
</xs:element> 4.对元素空白字符的限定
<xs:element name="address">
<xs:simpleType><xs:restriction base="xs:string"><xs:whiteSpace value="preserve"/></xs:restriction>
</xs:simpleType>
</xs:element>
whiteSpace元素有三个属性值可以设定,分别是preserve、replace和collapse。其中,preserve表示不对元素中的任何空白字符进行处理,replace表示移除所有的空白字符,collapse表示将所有的空白字符缩减为一个单一字符。
4.复杂类型
在定义复杂类型时,需要使用xs:complexType元素来定义。复杂类型的元素可以包含子元素和属性,这样的元素称为复合元素。
1.定义属性和子元素
<xs:element name=""><xs:complexType><xs:attribute name="" type=""/><xs:element name="" type=""/><xs:element name="" type=""/></xs:complexType>
</xs:element>
2.包含字符数据
对于仅含文本的复合元素,需要使用“simpleContent”元素添加内容。在使用简易内容时,必须在“simpleContent”元素内定义扩展或限定,这时,需要使用“extension”或“restriction”元素来扩展或限制元素的基本简易类型
<xs:element name=""><xs:complexType mixed="true">//表示可以和字符元素混合使用<xs:simpleContent><xs:extension base="xs:integer"><xs:attribute name="" type="" /></xs:extension></xs:simpleContent></xs:complexType>
</xs:element>
相关文章:
Javaweb02-XML概述
第一章 XML概述 1.XML基本概念 什么是xml? **a.**引入的原因:为了解决不同不同语言之间的数据传输的格式不同 **b.**概念:XML是一种可扩展标记语言,适用于不同数据之间的数据交换 **c.**XML文档:通过元素的嵌套&a…...

Linux shell编程基础
Shell 是一个用 C 语言编写的程序,它是用户使用 Linux 的桥梁。Shell 既是一种命令语言,又是一种程序设计语言。Shell 是指一种应用程序,这个应用程序提供了一个界面,用户通过这个界面访问 Linux 内核的服务。 Shell 脚本&#x…...

2024.6.12 作业 xyt
今日课堂练习:vector构造函数 #include <iostream> #include <vector> using namespace std;void printVector(vector<int> &v) {vector<int>::iterator iter;for(iterv.begin(); iter ! v.end(); iter){cout << *iter <<…...
QTTabBar在重置Internet Explorer后失效
网上常见的办法是: 打开IE浏览器>>设置>>Internet选项>>高级。勾选启用第三方浏览器扩展,重启后生效。 打开IE浏览器-设置–管理加载项,启用QTTabBar。 实际在Win10上使用的时候会遇到点开IE自动跳转到Edge的问题。这时…...

Django之云存储(一)
一、介绍 用户上传的文件以及项目中使用的静态文件,除了保存在本地服务器,还在可以保存在云服务中,比如: 阿里云七牛云(课程选用)亚马逊云等1.1、使用方式 注册账号 七牛云开发者平台 实名认证 创建空间...

推挽与开漏输出
一般来说,微控制器的引脚都会有一个驱动电路,可以配置不同类型的数字和模拟电路接口。输出模式一般会有推挽与开漏输出。 推挽输出 推挽输出(Push-Pull Output),故名思意能输出两种电平,一种是推…...

Sora和快手可灵背后的核心技术 | 3DVAE:通过小批量特征交换实现身体和面部的三维形状变分自动编码器
【摘要】学习3D脸部和身体生成模型中一个解开的、可解释的和结构化的潜在表示仍然是一个开放的问题。当需要控制身份特征时,这个问题尤其突出。在本文中,论文提出了一种直观而有效的自监督方法来训练一个3D形状变分自动编码器(VAE),以鼓励身份特征的解开潜在表示。通过交换不同…...

ArcGIS Pro SDK (三)Addin控件 2 窗格界面类
ArcGIS Pro SDK (三)Addin控件 2 窗格界面类 目录 ArcGIS Pro SDK (三)Addin控件 2 窗格界面类15 ArcGIS Pro 后台选项卡15.1 添加控件15.2 Code15.2.1 选项卡按钮15.2.2 选项卡页 16 ArcGIS Pro 窗体16.1 添加控件16.2 Code 17 A…...
Ubuntu 20.04.6 LTS系统使用命令编辑静态IP地址【笔记】
rootubuntu-machine:/home# cat /etc/issue Ubuntu 20.04.6 LTS \n \l1、切换到root身份 sudo su2、编辑静态IP地址,示例以01-network-manager-all.yaml,个别系统可能是00-network-manager-all.yaml,以安装系统生成的文件为准。 vim /etc/n…...

Python第二语言(八、Python包)
目录 1. 什么是Python包 2. 创包步骤 2.1 new包 2.2 查看创建的包 2.3 拖动文件到包下 3. 导入包 4. 安装第三方包 4.1 什么是第三方包 4.2 安装第三方包-pip 4.3 pip网络优化 1. 什么是Python包 包下有__init__.py就是包,无__init__.py就是文件夹。于Ja…...
Pipeline流水线组件
文章目录 1、新建pipeline流水线2、定义处理器3、定义处理器上下文4、pipeline流水线实现5、处理器抽象类实现6、pipeline流水线构建者7、具体处理器实现8、流水线测试9、运行结果 1、新建pipeline流水线 package com.summer.toolkit.model.chain;import java.util.List; impo…...

闪灵CMS电子商城系统源码v5.0(自带微信小程序)
源码介绍 闪灵CMS电子商城系统源码,双语带手机版,PHPMYSQL进行开发,网站安装简单、快捷。 闪灵CMS系统更新日志 1.修复:修复了开启强制https后,说明文档重定向过多的问题 2.修复:修复了商品名称过长时无…...

基于SSM的旅游民宿预定系统【源码】【运行教程】
基于SSM的旅游民宿预定系统 一、项目介绍1. 游客功能2. 管理员功能3. 高级功能 二、项目技术栈三、项目运行四、项目演示总结 大家好,这里是程序猿代码之路!随着旅游业的快速发展,民宿作为一种独特的住宿方式越来越受到游客的喜爱。为了提升用…...

PgSQL技术内幕 - psql与服务端连接与交互机制
PgSQL技术内幕 - 客户端psql与服务端连接与交互机制 简单来说,PgSQL的psql客户端向服务端发起连接请求,服务端接收到请求后,fork出一个子进程,之后由该子进程和客户端进行交互,处理客户端的SQL等,并将结果返…...

实现开发板三盏灯点亮熄灭
实现开发板三盏灯点亮熄灭 typedef struct {volatile unsigned int MODER; // 0x00volatile unsigned int OTYPER; // 0x04volatile unsigned int OSPEEDR; // 0x08volatile unsigned int PUPDR; // 0x0Cvolatile unsigned int IDR; // 0x10volatile unsigned int OD…...

外汇天眼:盈透证券为客户提供更丰富的欧洲衍生品交易渠道
电子交易巨头盈透证券(纳斯达克代码:IBKR)今日宣布,通过Cboe欧洲期权交易所(CEDX)新增欧洲股票期权和欧洲指数期货及期权。这一新增功能使得盈透证券的客户可以在单一统一平台上,除了股票、期权…...

论文阅读Rolling-Unet,卷积结合MLP的图像分割模型
这篇论文提出了一种新的医学图像分割网络Rolling-Unet,目的是在不用Transformer的前提下,能同时有效提取局部特征和长距离依赖性,从而在性能和计算成本之间找到良好的平衡点。 论文地址:https://ojs.aaai.org/index.php/AAAI/article/view/2…...
Linux Shell命令vim使用
一、引例 以判断引出(学过C其他语言容易接受)。 简单命令说明: -e 测试文件是否存在 -f 测试文件是否为普通文件 -d 测试文件是否为目录 -r 测试当前用户对某文件是否具有“可读”权限 -w 测试当前用户对某文件是否具有“可写”权限…...

如何将 API 管理从 Postman 转移到 Apifox
上一篇推文讲到用 Swagger 管理的 API 怎么迁移到 Apifox,有许多同学反馈说能不能介绍一下 Postman 的迁移以及迁移过程中需要注意的事项。那么今天,它来了! 从 Postman 迁移到 Apifox 的方法有两种: 导出 Postman 集合 &#x…...
用链表实现的C语言队列
一、队列概述 在数据结构中,队列是一种先进先出(FIFO)的线性表。它在许多应用场景中非常有用,例如任务调度、进程管理、资源管理等。队列是一种重要的数据结构,其主要特点是先进先出(FIFO, First In First …...

19c补丁后oracle属主变化,导致不能识别磁盘组
补丁后服务器重启,数据库再次无法启动 ORA01017: invalid username/password; logon denied Oracle 19c 在打上 19.23 或以上补丁版本后,存在与用户组权限相关的问题。具体表现为,Oracle 实例的运行用户(oracle)和集…...

TDengine 快速体验(Docker 镜像方式)
简介 TDengine 可以通过安装包、Docker 镜像 及云服务快速体验 TDengine 的功能,本节首先介绍如何通过 Docker 快速体验 TDengine,然后介绍如何在 Docker 环境下体验 TDengine 的写入和查询功能。如果你不熟悉 Docker,请使用 安装包的方式快…...

RocketMQ延迟消息机制
两种延迟消息 RocketMQ中提供了两种延迟消息机制 指定固定的延迟级别 通过在Message中设定一个MessageDelayLevel参数,对应18个预设的延迟级别指定时间点的延迟级别 通过在Message中设定一个DeliverTimeMS指定一个Long类型表示的具体时间点。到了时间点后…...

【WiFi帧结构】
文章目录 帧结构MAC头部管理帧 帧结构 Wi-Fi的帧分为三部分组成:MAC头部frame bodyFCS,其中MAC是固定格式的,frame body是可变长度。 MAC头部有frame control,duration,address1,address2,addre…...
DockerHub与私有镜像仓库在容器化中的应用与管理
哈喽,大家好,我是左手python! Docker Hub的应用与管理 Docker Hub的基本概念与使用方法 Docker Hub是Docker官方提供的一个公共镜像仓库,用户可以在其中找到各种操作系统、软件和应用的镜像。开发者可以通过Docker Hub轻松获取所…...

3.3.1_1 检错编码(奇偶校验码)
从这节课开始,我们会探讨数据链路层的差错控制功能,差错控制功能的主要目标是要发现并且解决一个帧内部的位错误,我们需要使用特殊的编码技术去发现帧内部的位错误,当我们发现位错误之后,通常来说有两种解决方案。第一…...

解决Ubuntu22.04 VMware失败的问题 ubuntu入门之二十八
现象1 打开VMware失败 Ubuntu升级之后打开VMware上报需要安装vmmon和vmnet,点击确认后如下提示 最终上报fail 解决方法 内核升级导致,需要在新内核下重新下载编译安装 查看版本 $ vmware -v VMware Workstation 17.5.1 build-23298084$ lsb_release…...

剑指offer20_链表中环的入口节点
链表中环的入口节点 给定一个链表,若其中包含环,则输出环的入口节点。 若其中不包含环,则输出null。 数据范围 节点 val 值取值范围 [ 1 , 1000 ] [1,1000] [1,1000]。 节点 val 值各不相同。 链表长度 [ 0 , 500 ] [0,500] [0,500]。 …...
C++ 基础特性深度解析
目录 引言 一、命名空间(namespace) C 中的命名空间 与 C 语言的对比 二、缺省参数 C 中的缺省参数 与 C 语言的对比 三、引用(reference) C 中的引用 与 C 语言的对比 四、inline(内联函数…...

04-初识css
一、css样式引入 1.1.内部样式 <div style"width: 100px;"></div>1.2.外部样式 1.2.1.外部样式1 <style>.aa {width: 100px;} </style> <div class"aa"></div>1.2.2.外部样式2 <!-- rel内表面引入的是style样…...