Java
Java XML nillable
승모근뭉치
2023. 1. 16. 20:24
프로젝트 내 test05.xsd
<?xml version="1.0" encoding="UTF-8"?>
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<!-- 글로벌 엘리먼트 선언, 참조, 로컬엘리먼트 선언방법
글로벌 엘리먼트 schema 다음에 나오는 엘리먼트,
처음에 xsd 파일을 생성하고 Design 탭에 스키마를 더블클릭해서 접두어를
xs에서 xsd로 바꾼다. -->
<xsd:element name="도서리스트"><!-- 루트엘리먼트 하나의 글로벌엘리먼트도됨 -->
<xsd:complexType>
<xsd:sequence>
<xsd:element name="책" maxOccurs="unbounded">
<!-- 책이라는 엘리먼트에서 또 다시 자식엘리먼트를가질수있기때문에
여기서 안에다가 또 complexType 을 준다 -->
<xsd:complexType>
<xsd:sequence>
<xsd:element name="제목" type="xsd:string"/>
<!-- 이미지는 데이타가 바이너리데이타고 하나만있을수있다.이미지라는 엘리먼트를 설정.
이미지 같은 경우 하나의 값만 데이타값이 있는게 아니라 bin element 형태가
되겠죠. 이 타입에는 경로가 들어가야합니다. 해당이미지가있는경로설정해야 -->
<!-- nill은 널값 데이타가 널상태임을 알려주는 그런 형태임. 네임스페이스에 있는 nill속성은 컴퓨터 데이타가 널상태에있음을 알려주는속성이다. -->
<!-- 데이터가 null 상태임을 표현하는 방법 이제 이 xsd을이용해 XML 파일을 만들자 -->
<xsd:element name="이미지" type="xsd:anyURI" nillable="true"/>
</xsd:sequence>
</xsd:complexType>
</xsd:element>
</xsd:sequence>
</xsd:complexType>
</xsd:element>
</xsd:schema>
프로젝트 내 sch_test051.xml
<?xml version="1.0" encoding="UTF-8"?>
<도서리스트 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:noNamespaceSchemaLocation="file:/D:/javaddazua/test/test05.xsd">
<책>
<제목> JAVA 개발자</제목>
<이미지>http://www.xml.co.kr/image/book1.jpg</이미지>
</책>
<책>
<제목>삼국지</제목>
<이미지 xsi:nil = "true"/>
</책>
</도서리스트>
<!-- 이 처음에 나오는 템플릿은 편리한데 test05.xsd 밑에 Design 탭에서
제목바같은곳에 schema를 마우스 오른쪽클릭해서 generate sample XML files
를 해서 파일 이름 접두어를 sch_test05로 하면 책태그와 그관련태그가 출력된다. -->