YYYEJI

[XML] XML Schema 본문

HTML(or XML) & CSS & JavaScript

[XML] XML Schema

YEJI ⍢ 2022. 10. 1. 00:36
728x90

 

스키마(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

 

Free Online XML Validator Against XSD Schema - FreeFormatter.com

 

www.freeformatter.com

 

 

 

 

 

 ◡̈