Java XML global element 선언

2023. 1. 17. 12:45Java

프로젝트 내 test04.xsd

<?xml version="1.0" encoding="UTF-8"?>
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema">
    <!-- global element declaration -->
    <xsd:element name="책" type="xsd:string"/><!-- 여기다 카운터를 설정하지 않는다.글로벌엘리먼트라 잡히질 않는다. -->
    
    <xsd:element name="도서리스트">
        <!-- 도서리스트에 대한 complexType을 선언하기 -->
        <xsd:complexType>
            <xsd:sequence>
                <!-- 이름이 책인 맨 윗줄의 글로벌엘리먼트를 사용해서 참조해서우리가해당 도서리스트의 자식 엘리먼트를만들수있습니다. -->
                <!-- 글로벌 엘리먼트 참조 -->
                <!-- 밑에는 자식엘리먼트이기때문에 이 밑에 부분에서 카운터를 설정할 수 있어요 자식
                엘리먼트로 선언됐을때만 카운터 설정 가능 -->
                <xsd:element ref="책" maxOccurs="unbounded"></xsd:element><!-- 해당 글로벌엘리먼틀르참조하는형식 -->
                <!-- 맥스오커스 언바운디드 설정 후 test041.xml로 가서 책을 하나 더 추가가능해졌다 -->
            </xsd:sequence>
        </xsd:complexType>
    </xsd:element>
</xsd:schema>
<!-- xsd 파일을 만든 후 design에서 schema double click 후 xs를 xsd로 바꾼다 -->
<!-- 요책에대한 내용은 그 자식이 없기 때문에 여기선 그대로 그냥 xml 문서 만들수있다.
     이제 요 xsd을 통해 xml문서를 만들면... -->

프로젝트 내 test041.xml

<?xml version="1.0" encoding="UTF-8"?>
<도서리스트 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
 xsi:noNamespaceSchemaLocation="file:/D:/javaddazua/test/test04.xsd">
    <책>삼국지</책> <!-- 책을 한번 뿐이 적용이 안되네요.왜냐면그에대해카운트를정하지않았기때문 -->
    <책>컴퓨터</책>
    <!-- test04.xsd 로 가서 텍스트 탭을 누른다 -->
</도서리스트>
<!-- 요부분은 test04.xsd의 design탭에서 +를 눌러 확인후에 제목에 schema를
마우스오른쪽으로 눌러 generate sample xml files 후에 file name prefix
를 test041 로 놓고 나온것이다. -->

'Java' 카테고리의 다른 글

Java XML CDATA 출력  (0) 2023.01.17
Java XML ANY  (1) 2023.01.17
Java XML - processing 지시자  (0) 2023.01.17
Java XML FIXED  (0) 2023.01.17
Java XML - SYSTEM 비공개 디렉터리  (1) 2023.01.17