728x90
반응형
SMALL
1. 잘 짜여진 문서 (Well-formed XML document)
잘 짜여진 문서 | XML 1.0 권고안에 언급되어 있는 문법 (spec)을 잘 지켜서 작성된 문서 |
예> 마지막에서 2번째 줄 </book123>태그때문에 유효하지 않은 문서가 되었다.
<?xml version="1.0" encoding="UTF-8"?>
<booklist>
<book kind='computer'>
<title>
Java XML
</title>
<author>
Mr.hong
</author>
<publisher>preshell</publisher>
<price>23,000</price>
</book123>
</booklist>
이클립스로 XML을 하나 만들고 오류가 있는 라인에 마우스를 올려놓아 보았다.
The end-tag for element type "book" must end with a '>' delimiter.
설명을 볼수 있다.
해당 오류를 수정해보자
오류가 귀신같이 사라졌다.
2. 유효한 문서 (Valid XML document)
유효한 문서 | 잘 짜여진 문서이면서, XML로 개발된 특정 마크업 언어에 맞게 작성된 문서 DTD나 schema에서 작성한 규칙을 따르는 문서 |
애라와 같은 문서규정을 만들고 이에 맞추어 xml문서를 만든다고 가정해보자.
ex2-2.dtd 문서를 작성해보았다.
<?xml version="1.0" encoding="UTF-8"?>
<!ELEMENT booklist (book)*>
<!ELEMENT book (title, author, publisher, price)>
<!ELEMENT title (#PCDATA)>
<!ELEMENT author (#PCDATA)>
<!ELEMENT publisher (#PCDATA)>
<!ELEMENT price (#PCDATA)>
그리고 ex2-2.dtd 와 같은 문서규정을 만들고 이에 맞추어 ex2-2.xml 문서를 만든다고 가정해보겠습니다.
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE booklist SYSTEM "ex2-2.dtd">
<booklist>
<book>
<title>Java XML</title>
<author>Mr.hong</author>
<publisher>preshell</publisher>
<price>23,000</price>
</book>
</booklist>
최초작성했을때는 문제가없다고합니다.
하지만 dtd의 순서대로 입력하지않고 제멋대로 한번 수정해보겠습니다.
The content of element type "book" must match "(title,author,publisher,price)".
author와 publisher의 순서가 바뀐경우 에러가 발생했다. ex2-2.xml은 well-formed XML문서이나, valid XML문서가 아니다.
728x90
반응형
LIST
'전공공부 > XML' 카테고리의 다른 글
DTD 개요, 문법 (0) | 2022.05.02 |
---|---|
XML 엘리먼트와 속성, 주석, 프로세싱 지시자 (0) | 2022.04.27 |
표기법과 XML문서의 구조 (0) | 2022.04.24 |
XML 이란? (0) | 2022.04.24 |
댓글