전체 페이지뷰

2017년 3월 22일 수요일

XML - White Spaces

tab, space, newline같은 white space를 다루는 법에 대해 알아봅니다. 이런 공백 부위는 일반적으로 가독성을 좋게 하기 위해 사용됩니다.
XML 문서 상에 나오는 공백은 (a) Significant White space와  (b) Insignificant White space의 두 가지가 있습니다. 예를 들어 설명하겠습니다.

Significant White space

텍스트와 마크업이 함께 들어 있는 element의 내에 생깁니다. 예를 들어,

<name>TanmayPatil</name>
cs

<name>Tanmay Patil</name>
cs
위의 두 요소는 Tanmay와 Patil 사이에 공백의 유무 차이가 있습니다.
이를 읽는 프로그램은 둘을 구분합니다.

Insignificant White space

element content에만 허용되는 공백입니다. 예를 들어
<address.category="residence">
cs
혹은,
<address....category="..residence">
cs

위의 두 구문은 같은 것입니다(구분을 쉽게 하기 위해 공백을 .으로 대체했습니다). 위의 예에서 addresscategory 사이의 공간이 insignificant입니다.

xml:space 라는 특별한 attribute가 element에 붙을 수도 있습니다. 이것은 공백이 제거되어선 안 된다는 것을 표시하는 것입니다. 이 attribute는 아래와 같이 defaultpreserve로 선언될 수 있습니다.

<!ATTLIST address  xml:space (default|preserve) 'preserve'>
cs

위에서,
default는 이 element의 공백은 default 처리 모드가 가능하다는 뜻이며,
preserve는 모든 공백을 보존하라는 뜻입니다.

댓글 없음:

댓글 쓰기