0

0

XML Schema数据类型有哪些?如何定义?

幻夢星雲

幻夢星雲

发布时间:2025-10-05 16:41:02

|

300人浏览过

|

来源于php中文网

原创

XML Schema提供内置数据类型和自定义类型机制,用于约束XML文档结构。常见内置类型包括xs:string、xs:int、xs:date等,支持通过限制取值范围或枚举,如定义Gender枚举和Age范围;使用定义包含子元素和属性的复杂结构,如Person类型包含FirstName、LastName和Age子元素,并规定id属性为必填;类型可通过type属性在元素中引用,也可内嵌定义;建议复用类型提升可维护性,并注意命名空间前缀xs对应http://www.w3.org/2001/XMLSchema。

xml schema数据类型有哪些?如何定义?

XML Schema(XSD)定义了用于描述 XML 文档结构和数据类型的规则。它提供了丰富的内置数据类型,并支持用户自定义类型。以下是常见的 XML Schema 数据类型及其定义方式。

常用内置数据类型

XML Schema 定义了许多内置数据类型,属于 W3C XML Schema Part 2: Datatypes 规范。常见类型包括:

  • xs:string:表示字符串类型
  • xs:int:32位整数
  • xs:integer:任意精度的整数
  • xs:long:64位整数
  • xs:short:16位整数
  • xs:byte:8位整数
  • xs:boolean:布尔值(true/false 或 1/0)
  • xs:float:单精度浮点数
  • xs:double:双精度浮点数
  • xs:decimal:精确十进制数
  • xs:date:日期(格式如 2025-04-05)
  • xs:time:时间(如 13:30:00)
  • xs:dateTime:日期时间(如 2025-04-05T13:30:00)
  • xs:duration:时间段(如 P1Y2M3D)
  • xs:anyURI:URI 地址
  • xs:base64Binary:Base64 编码的二进制数据
  • xs:hexBinary:十六进制编码的二进制数据

如何定义简单类型

使用 可以基于内置类型创建受限的数据类型,常用于限制字符串长度、数值范围、枚举等。

示例:定义一个只允许特定取值的类型


  
    
    
  

示例:限制整数范围


  
    
    
  

如何定义复杂类型

使用 定义包含子元素或属性的元素类型。

CA.LA
CA.LA

第一款时尚产品在线设计平台,服装设计系统

下载

示例:定义一个包含子元素的复杂类型


  
    
    
    
  

  red"/>

说明:
- sequence 表示子元素必须按顺序出现
- attribute 定义属性,use="required" 表示该属性必填

在元素中使用类型

定义好类型后,在元素中通过 type 属性引用即可。

也可以直接在元素内嵌定义类型:


  
    
      
    

  

基本上就这些。掌握内置类型和 restriction 机制,就能有效约束 XML 数据内容。实际开发中建议复用已定义的类型,提升可维护性。不复杂但容易忽略细节,比如命名空间前缀(通常 xs 指向 http://www.w3.org/2001/XMLSchema)。

相关专题

更多
数据类型有哪几种
数据类型有哪几种

数据类型有整型、浮点型、字符型、字符串型、布尔型、数组、结构体和枚举等。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

307

2023.10.31

php数据类型
php数据类型

本专题整合了php数据类型相关内容,阅读专题下面的文章了解更多详细内容。

222

2025.10.31

string转int
string转int

在编程中,我们经常会遇到需要将字符串(str)转换为整数(int)的情况。这可能是因为我们需要对字符串进行数值计算,或者需要将用户输入的字符串转换为整数进行处理。php中文网给大家带来了相关的教程以及文章,欢迎大家前来学习阅读。

381

2023.08.02

css中float用法
css中float用法

css中float属性允许元素脱离文档流并沿其父元素边缘排列,用于创建并排列、对齐文本图像、浮动菜单边栏和重叠元素。想了解更多float的相关内容,可以阅读本专题下面的文章。

574

2024.04.28

C++中int、float和double的区别
C++中int、float和double的区别

本专题整合了c++中int和double的区别,阅读专题下面的文章了解更多详细内容。

101

2025.10.23

java中boolean的用法
java中boolean的用法

在Java中,boolean是一种基本数据类型,它只有两个可能的值:true和false。boolean类型经常用于条件测试,比如进行比较或者检查某个条件是否满足。想了解更多java中boolean的相关内容,可以阅读本专题下面的文章。

350

2023.11.13

java boolean类型
java boolean类型

本专题整合了java中boolean类型相关教程,阅读专题下面的文章了解更多详细内容。

29

2025.11.30

pdf怎么转换成xml格式
pdf怎么转换成xml格式

将 pdf 转换为 xml 的方法:1. 使用在线转换器;2. 使用桌面软件(如 adobe acrobat、itext);3. 使用命令行工具(如 pdftoxml)。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

1897

2024.04.01

c++ 根号
c++ 根号

本专题整合了c++根号相关教程,阅读专题下面的文章了解更多详细内容。

45

2026.01.23

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
PostgreSQL 教程
PostgreSQL 教程

共48课时 | 7.8万人学习

Django 教程
Django 教程

共28课时 | 3.5万人学习

Excel 教程
Excel 教程

共162课时 | 13.3万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号