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 …...

AI-调查研究-01-正念冥想有用吗?对健康的影响及科学指南
点一下关注吧!!!非常感谢!!持续更新!!! 🚀 AI篇持续更新中!(长期更新) 目前2025年06月05日更新到: AI炼丹日志-28 - Aud…...
利用ngx_stream_return_module构建简易 TCP/UDP 响应网关
一、模块概述 ngx_stream_return_module 提供了一个极简的指令: return <value>;在收到客户端连接后,立即将 <value> 写回并关闭连接。<value> 支持内嵌文本和内置变量(如 $time_iso8601、$remote_addr 等)&a…...
2024年赣州旅游投资集团社会招聘笔试真
2024年赣州旅游投资集团社会招聘笔试真 题 ( 满 分 1 0 0 分 时 间 1 2 0 分 钟 ) 一、单选题(每题只有一个正确答案,答错、不答或多答均不得分) 1.纪要的特点不包括()。 A.概括重点 B.指导传达 C. 客观纪实 D.有言必录 【答案】: D 2.1864年,()预言了电磁波的存在,并指出…...

ESP32读取DHT11温湿度数据
芯片:ESP32 环境:Arduino 一、安装DHT11传感器库 红框的库,别安装错了 二、代码 注意,DATA口要连接在D15上 #include "DHT.h" // 包含DHT库#define DHTPIN 15 // 定义DHT11数据引脚连接到ESP32的GPIO15 #define D…...
Matlab | matlab常用命令总结
常用命令 一、 基础操作与环境二、 矩阵与数组操作(核心)三、 绘图与可视化四、 编程与控制流五、 符号计算 (Symbolic Math Toolbox)六、 文件与数据 I/O七、 常用函数类别重要提示这是一份 MATLAB 常用命令和功能的总结,涵盖了基础操作、矩阵运算、绘图、编程和文件处理等…...
CRMEB 框架中 PHP 上传扩展开发:涵盖本地上传及阿里云 OSS、腾讯云 COS、七牛云
目前已有本地上传、阿里云OSS上传、腾讯云COS上传、七牛云上传扩展 扩展入口文件 文件目录 crmeb\services\upload\Upload.php namespace crmeb\services\upload;use crmeb\basic\BaseManager; use think\facade\Config;/*** Class Upload* package crmeb\services\upload* …...

C# 求圆面积的程序(Program to find area of a circle)
给定半径r,求圆的面积。圆的面积应精确到小数点后5位。 例子: 输入:r 5 输出:78.53982 解释:由于面积 PI * r * r 3.14159265358979323846 * 5 * 5 78.53982,因为我们只保留小数点后 5 位数字。 输…...
在Ubuntu24上采用Wine打开SourceInsight
1. 安装wine sudo apt install wine 2. 安装32位库支持,SourceInsight是32位程序 sudo dpkg --add-architecture i386 sudo apt update sudo apt install wine32:i386 3. 验证安装 wine --version 4. 安装必要的字体和库(解决显示问题) sudo apt install fonts-wqy…...

初探Service服务发现机制
1.Service简介 Service是将运行在一组Pod上的应用程序发布为网络服务的抽象方法。 主要功能:服务发现和负载均衡。 Service类型的包括ClusterIP类型、NodePort类型、LoadBalancer类型、ExternalName类型 2.Endpoints简介 Endpoints是一种Kubernetes资源…...

C++:多态机制详解
目录 一. 多态的概念 1.静态多态(编译时多态) 二.动态多态的定义及实现 1.多态的构成条件 2.虚函数 3.虚函数的重写/覆盖 4.虚函数重写的一些其他问题 1).协变 2).析构函数的重写 5.override 和 final关键字 1&#…...