일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
- DB
- html
- Algorithm
- XML
- data structure
- system
- DATAPATH
- Class
- Linux
- mysql
- php
- computer
- control
- react
- while
- MacOS
- architecture
- DoM
- javascript
- function
- python
- Java
- github
- web
- for
- Pipelining
- DS
- CSS
- instruction
- MIPS
- Today
- Total
YYYEJI
[XML] XML Schema 본문
스키마(schema)
XML은 다른 마크업 언어를 만드는데 사용되는 다목적 마크업 언어로써
다른 언어를 정의하기 위해 XML에 필요한 요소와 속성을 파악해야 합니다.
이러한 정보들의 집합을 스키마(schema)라고 부릅니다.
✓ acceptable values
Simple type의 경우
✓ XML element는 text만 담을 수 있습니다.
✓ Schema는 다른 element나 attribute를 담을 수 없습니다.
Complex type의 경우
✓ Child element나 attribute를 담을 수 있습니다.
✓ DTD를 대체하기 위함입니다.
✓ 정보의 종류를 잘 제어할 수 있습니다.
✓ XML coding style을 주로 사용합니다.
✓ 구조와 데이타를 XML 문서 안에 담고 있습니다.
✓ 데이터를 더 복잡한 데이터로 제한하는 데 사용합니다.
정의는 아래와 같습니다.
<xs:element name="000" type="xs:0000"/>
↓↓↓ XML schema code (.xsd) ↓↓↓
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:element name="note">
<xs:complexType>
<xs:sequence>
<xs:element name="to" type="xs:string"/>
<xs:element name="from" type="xs:string"/>
<xs:element name="heading" type="xs:string"/>
<xs:element name="body" type="xs:string"/>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:schema>
✓ note는 root node
✓ type에서 string은 문자열을 의미
✓ Sequence는 자식 요소의 순서를 의미
✓ complexType은 자식 요소나 속성을 포함하는 요소를 의미
complexType(복합 타입 요소)
① 빈 요소
② 텍스트만 포함하는 요소
③ 자식 요소만 포함하는 요소
④ 자식 요소와 텍스트 요소를 모두 포함하는 요소
순서 지시자
① sequence - 자식 요소가 명시된 순서대로만 나타날 수 있다는 것을 명시
② all - 자식 요소가 어떤 순서로 나오든지 단 한 번씩만 나올 수 있다는 것을 명시
③ choice - 복합 타입 요소가 포함할 수 있는 자식 요소의 선택 집합을 명시
XSD의 type
(#PCDATA)
✓ xs:string
Ex) abc
✓ xs:decimal
Ex) 1.25, -0.1234
✓ xs:integer
Ex) 123
✓ xs:boolean
Ex) true / false
✓ xs:date
Ex) 2022-10-09
✓ xs:time
Ex) 10:00:00
↓↓↓ XML code ↓↓↓
<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type = "text/css" href = "h.css"?>
<note>
<to>mom</to>
<from>me</from>
<heading>MISS</heading>
<body>I miss you</body>
</note>
유용한 XSD와 XML인지 확인할 수 있습니다.
↓↓↓ XML Schema Validator ↓↓↓
https://www.freeformatter.com/xml-validator-xsd.html
◡̈
'HTML(or XML) & CSS & JavaScript' 카테고리의 다른 글
[XML] Well-formed와 vaild의 차이점 (0) | 2022.10.01 |
---|---|
[XML] XML 네임스페이스 (0) | 2022.10.01 |
[XML] CSS에서 animation 속성 (0) | 2022.09.30 |
[XML] CSS에서 shadow 속성 (0) | 2022.09.30 |
[XML] DTD 속성 타입 (Attribute types) (0) | 2022.09.30 |