XML 문서는 선언부와 루트 요소로 구성합니다.
선언부는 <?xml로 시작하여 ?>로 끝납니다. 그리고 이처럼 XML 문서에서 <?로 시작해서 ?>로 끝나는 구문을 처리 구문(Processing Instruction)이라 부릅니다.
선언부의 시작은 <?xml 로 시작하며(1) ?>로 끝납니다(5). 선언부에는 버전 정보(2)는 필수적으로 입력해야 합니다. 인코딩 정보(3)나 의존성 정보(4)는 선택적으로 표현할 수 있습니다.
인코딩 정보는 사용할 언어 코드에 관한 정보를 말하며 기본값은 UTF-8 입니다. 의존성 정보는 다른 문서를 참고하는지 여부를 나타냅니다. standalone이 “yes”이면 외부 문서를 참고하지 않고 “no”일 때는 외부 문서를 참고할 수 있다는 의미입니다. 그리고 standalone의 기본값은 “no”입니다.
XML 문서의 선언부 다음에는 하나의 루트 요소만 올 수 있습니다. 대신 루트 요소 내부에는 자손 요소들을 표현할 수 있습니다.
다음은 회원목록을 루트 요소로 하고 자식 요소로 두 개의 회원 요소가 요소 회원 요소에는 아이디와 이름 요소를 자식으로 갖는 XML 문서입니다.
<?xml version="1.0" encoding="euc-kr" standalone="yes" ?> <회원목록> <회원> <아이디>ehclub</아이디> <이름>장언휴</이름> </회원> <회원> <아이디>jejutour</아이디> <이름>장문석</이름> </회원> </회원목록>
요소를 표현하는 방법은 <요소명> 요소 내용 </요소명> 형태로 표현하는 것입니다. 만약 요소 내용이 없을 때는 <요소명/> 처럼 시작 태그와 종료 태그를 한꺼번에 표시할 수 있습니다. 다음은 홍길동 이름의 회원 데이터를 표현한 것입니다.
<회원> <이름> 홍길동 </이름> </회원> <회원 이름="강감찬"/>
요소 내부에는 특성을 표현할 수 있어서 시작 태그와 종료 태크를 한꺼번에 표시할 수 있는 것입니다. 특성은 시작 태그 내부에 특성명=”특성값” 형태로 표현합니다. 하지만 특성이 많다보면 XML 문서를 프로그래밍 방식으로 분석하는 비용이 많이 들 수 있습니다.
XML에서 주석은 <!– 로 시작하여 –>로 끝납니다.
<?xml version="1.0" encoding="euc-kr" standalone="yes" ?> <!-- XML 문서로 회원 목록을 표현한 것입니다. --> <회원목록> <회원> <아이디>ehclub</아이디> <이름>장언휴</이름> </회원> <회원 아이디="jejutour" 이름="장문석"/> </회원목록>
XML 문서에서 일부 문자는 약속한 방법으로 표현하는데 이를 escape 문자라 부릅니다.
<?xml version="1.0" encoding="euc-kr" standalone="yes" ?> <!-- XML 문서로 회원 목록을 표현한 것입니다. --> <회원목록> <회원> <아이디><ehclub></아이디> <이름>"장언휴"</이름> </회원> <회원 아이디="jejutour" 이름="장문석"/> </회원목록>
다음은 웹 브라우저에서 본 화면입니다.