찾다
백엔드 개발XML/RSS 튜토리얼XML 스키마의 간단한 예
XML 스키마의 간단한 예Mar 28, 2017 pm 04:26 PM

DTD의 구문이 상당히 복잡하고 XML 파일의 표준을 따르지 않고 자체 시스템을 형성하고 있음을 알 수 있습니다. 즉, DTD 문서 자체는 잘 구성된 XML 문서가 아닙니다. 위의 DTD 소개는 단지 소개일 뿐입니다. 이는 모든 사람이 DTD 파일을 이해하고 필요할 때 간단한 DTD를 만들 수 있도록 돕는 것입니다. 현재 많은 XML 응용프로그램이 DTD를 기반으로 구축되어 있기 때문입니다.
DTD의 또 다른 대안은 W3C에서 정의한 스키마입니다. 스키마는 문자 그대로 패턴, 개요, 계획, 계획 등으로 번역될 수 있습니다. 기본 의미는 XML 문서의 스키마를 개발하는 것입니다.

DTD에 비해 스키마의 확실한 장점은 DTD와 같은 자체 포함 구문을 사용하는 대신 XML 스키마 문서 자체도 XML 문서라는 것입니다. 이는 스키마 전용 도구를 특별히 사용하지 않고도 동일한 도구를 사용하여 XML 스키마 및 기타 XML 정보를 처리할 수 있기 때문에 사용자와 개발자에게 편리합니다. 스키마는 간단하고 이해하기 쉬우며 XML 구문과 규칙을 이해하는 사람이라면 누구나 즉시 이해할 수 있습니다. 스키마(Schema)라는 개념은 오래전부터 제안되어 왔지만 W3C 표준은 최근에야 나왔고, 해당 애플리케이션 지원도 아직 완성되지 않았습니다. 그러나 XML 개발에서는 스키마를 채택하는 것이 하나의 추세가 되었습니다.

먼저 Schema의 문법 구조를 배우기 위해 가장 간단한 예부터 시작해 보겠습니다.

예를 들어 간단한 XML 문서는 다음과 같습니다.

<书本>
  <名称>天涯明月刀
  <作者>古龙

DTD 형식으로 정의됩니다. XML 문서 구조는 다음과 같습니다.

<!ELEMENT 书本 (名称, 作者)>
  <!ELEMENT 名称 (#PCDATA)>
  <!ELEMENT 作者 (#PCDATA)>

그렇다면 이를 Schema 형식으로 정의하려면 어떻게 해야 할까요? 아래 코드를 보세요:

  <element name=&#39;书本&#39; type=&#39;书本类型&#39;/>
  <complexType name=&#39;书本类型&#39;>
  <element name=&#39;名称&#39; type=&#39;string&#39;/>
  <element name=&#39;作者&#39; type=&#39;string&#39;/>
  </complexType>

한 가지 주목할 점은 Schema에서는 요소 정의와 요소 관계 정의를 통해 전체 문서의 성격과 내용에 대한 정의도 이루어진다는 것입니다. 동시에, 스키마에서 요소는 이름과 콘텐츠모델에 의해 결정됩니다. 이름은 누구나 이해할 수 있는 요소의 이름이며 콘텐츠 모델은 실제로 이를 나타냅니다. 요소 유형. C++에서와 마찬가지로 변수를 임의로 정의할 수 있지만 변수의 유형을 정의해야 합니다. 변수(예: C++에서 내부적으로 지정된 유형, bool, int, double, char 등) 또는 매우 복잡한 유형(예: 구조체 또는 class)일 수도 있습니다. 스키마에서 유형(type)은 두 가지 형태로 나눌 수 있는데, 하나는 단순(simple)이라고 하는 매우 단순한 유형이고, 다른 하나는 복합(complex)이라고 하는 복합 유형입니다. 단순 유형은 요소와 속성을 포함할 수 없습니다(스키마와 DTD에는 동일한 요소와 속성이 있음). 복합 유형은 속성을 포함할 수 있을 뿐만 아니라 그 안에 다른 요소가 중첩되거나 다른 요소의 속성과 연관될 수도 있습니다.

위 내용은 XML 스키마의 간단한 예의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
XML外部实体注入漏洞的示例分析XML外部实体注入漏洞的示例分析May 11, 2023 pm 04:55 PM

一、XML外部实体注入XML外部实体注入漏洞也就是我们常说的XXE漏洞。XML作为一种使用较为广泛的数据传输格式,很多应用程序都包含有处理xml数据的代码,默认情况下,许多过时的或配置不当的XML处理器都会对外部实体进行引用。如果攻击者可以上传XML文档或者在XML文档中添加恶意内容,通过易受攻击的代码、依赖项或集成,就能够攻击包含缺陷的XML处理器。XXE漏洞的出现和开发语言无关,只要是应用程序中对xml数据做了解析,而这些数据又受用户控制,那么应用程序都可能受到XXE攻击。本篇文章以java

如何用PHP和XML实现网站的分页和导航如何用PHP和XML实现网站的分页和导航Jul 28, 2023 pm 12:31 PM

如何用PHP和XML实现网站的分页和导航导言:在开发一个网站时,分页和导航功能是很常见的需求。本文将介绍如何使用PHP和XML来实现网站的分页和导航功能。我们会先讨论分页的实现,然后再介绍导航的实现。一、分页的实现准备工作在开始实现分页之前,需要准备一个XML文件,用来存储网站的内容。XML文件的结构如下:&lt;articles&gt;&lt;art

php如何将xml转为json格式?3种方法分享php如何将xml转为json格式?3种方法分享Mar 22, 2023 am 10:38 AM

当我们处理数据时经常会遇到将XML格式转换为JSON格式的需求。PHP有许多内置函数可以帮助我们执行这个操作。在本文中,我们将讨论将XML格式转换为JSON格式的不同方法。

Python中怎么对XML文件的编码进行转换Python中怎么对XML文件的编码进行转换May 21, 2023 pm 12:22 PM

1.在Python中XML文件的编码问题1.Python使用的xml.etree.ElementTree库只支持解析和生成标准的UTF-8格式的编码2.常见GBK或GB2312等中文编码的XML文件,用以在老旧系统中保证XML对中文字符的记录能力3.XML文件开头有标识头,标识头指定了程序处理XML时应该使用的编码4.要修改编码,不仅要修改文件整体的编码,还要将标识头中encoding部分的值修改2.处理PythonXML文件的思路1.读取&解码:使用二进制模式读取XML文件,将文件变为

使用nmap-converter将nmap扫描结果XML转化为XLS实战的示例分析使用nmap-converter将nmap扫描结果XML转化为XLS实战的示例分析May 17, 2023 pm 01:04 PM

使用nmap-converter将nmap扫描结果XML转化为XLS实战1、前言作为网络安全从业人员,有时候需要使用端口扫描利器nmap进行大批量端口扫描,但Nmap的输出结果为.nmap、.xml和.gnmap三种格式,还有夹杂很多不需要的信息,处理起来十分不方便,而将输出结果转换为Excel表格,方面处理后期输出。因此,有技术大牛分享了将nmap报告转换为XLS的Python脚本。2、nmap-converter1)项目地址:https://github.com/mrschyte/nmap-

Python中xmltodict对xml的操作方式是什么Python中xmltodict对xml的操作方式是什么May 04, 2023 pm 06:04 PM

Pythonxmltodict对xml的操作xmltodict是另一个简易的库,它致力于将XML变得像JSON.下面是一个简单的示例XML文件:elementsmoreelementselementaswell这是第三方包,在处理前先用pip来安装pipinstallxmltodict可以像下面这样访问里面的元素,属性及值:importxmltodictwithopen("test.xml")asfd:#将XML文件装载到dict里面doc=xmltodict.parse(f

xml中node和element的区别是什么xml中node和element的区别是什么Apr 19, 2022 pm 06:06 PM

xml中node和element的区别是:Element是元素,是一个小范围的定义,是数据的组成部分之一,必须是包含完整信息的结点才是元素;而Node是节点,是相对于TREE数据结构而言的,一个结点不一定是一个元素,一个元素一定是一个结点。

深度使用Scrapy:如何爬取HTML、XML、JSON数据?深度使用Scrapy:如何爬取HTML、XML、JSON数据?Jun 22, 2023 pm 05:58 PM

Scrapy是一款强大的Python爬虫框架,可以帮助我们快速、灵活地获取互联网上的数据。在实际爬取过程中,我们会经常遇到HTML、XML、JSON等各种数据格式。在这篇文章中,我们将介绍如何使用Scrapy分别爬取这三种数据格式的方法。一、爬取HTML数据创建Scrapy项目首先,我们需要创建一个Scrapy项目。打开命令行,输入以下命令:scrapys

See all articles

핫 AI 도구

Undresser.AI Undress

Undresser.AI Undress

사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover

AI Clothes Remover

사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool

Undress AI Tool

무료로 이미지를 벗다

Clothoff.io

Clothoff.io

AI 옷 제거제

AI Hentai Generator

AI Hentai Generator

AI Hentai를 무료로 생성하십시오.

뜨거운 도구

드림위버 CS6

드림위버 CS6

시각적 웹 개발 도구

맨티스BT

맨티스BT

Mantis는 제품 결함 추적을 돕기 위해 설계된 배포하기 쉬운 웹 기반 결함 추적 도구입니다. PHP, MySQL 및 웹 서버가 필요합니다. 데모 및 호스팅 서비스를 확인해 보세요.

ZendStudio 13.5.1 맥

ZendStudio 13.5.1 맥

강력한 PHP 통합 개발 환경

메모장++7.3.1

메모장++7.3.1

사용하기 쉬운 무료 코드 편집기

DVWA

DVWA

DVWA(Damn Vulnerable Web App)는 매우 취약한 PHP/MySQL 웹 애플리케이션입니다. 주요 목표는 보안 전문가가 법적 환경에서 자신의 기술과 도구를 테스트하고, 웹 개발자가 웹 응용 프로그램 보안 프로세스를 더 잘 이해할 수 있도록 돕고, 교사/학생이 교실 환경 웹 응용 프로그램에서 가르치고 배울 수 있도록 돕는 것입니다. 보안. DVWA의 목표는 다양한 난이도의 간단하고 간단한 인터페이스를 통해 가장 일반적인 웹 취약점 중 일부를 연습하는 것입니다. 이 소프트웨어는