Computer 그리고 Developer/dW

[dW] XML을 사용하는 좋은 습관 열가지

버리야 2008. 9. 24. 10:34
반응형

어쩜 이런글은 지나다니다 많이 본 글인 것 같은데..
오늘도 역시 지나다가 한번 훑어보고 나중에 보기위해 포스팅합니다.

[dW] XML을 사용하는 좋은 습관 열가지

1. XML과 인코딩을 정의하라
<?xml version="1.0" encoding="us-ascii"?> 이런식으로 써주면 XML 구문분석기가 문서를 잘못 분석할 가능성을 줄일 수 있다.

2. DTD 또는 XSD를 사용하라
DTD를 정의하면 XML 문서 구조를 검증해 문제를 찾아내기 쉬워진다.
일부 XML 편집기는 자동 완성 기능에 DTD를 요구하는 반면, 스키마를 사용하면 실제 문서 구조를 설계하기가 훨씬 편리해진다. DTD를 사용할지 XSD를 사용할지 여부는 개발자가 처한 상황에 달렸다.

3. 항상 검증하라
JSLint는 자주 쓰는데 xmllint도 있군요. Validation
xmllint는 libxml2 툴킷에 포함되며, libxml2 툴킷은 리눅스, 유닉스(UNIX®), 맥 OS X에 기본적으로 들어있고,  윈도(Windows®) 플랫폼에서는 별도로 툴킷을 내려받아야 한다고 하군요.


4. 때로는 검증으로 부족하다

5. 엘리먼트냐 속성이냐
쓸 때 맨날 고민하는 것 중 하나.. 엘리먼트로 할까? 속성으로 할까?
의견이 분분한데 이 문서에선
"일반적으로는 파일 내부에서 엘리먼트를 사용해 정보를 기술하는 편이 낫다. 즉, 자료를 태그 사이에 정의하는 편이 낫다. 속성은 기술하고자 하는 자료에 조건을 추가할 때 사용해야 한다." 이렇다고 한다.

6. XPath를 활용해 정보를 찾자

7. 정보 인출을 위해 반드시 구문분석기를 사용할 필요는 없다

8. SAX가 DOM보다 나은 경우
문서가 크거나 문서를 변환할 생각이라면 SAX가 낫다.

반면, 구조를 저장하거나 기록하려는 경우에는 SAX가 적합하지 못하다. 또는 문서 전체를 이해한 다음에 문서에서 특정 정보를 추출하려는 경우에도 (예를 들어, 전체 문서에서 연락처 하나만 찾는 경우에도) 마찬가지다.

이 때는 XML 문서 전체를 읽어 자료 구조를 판독한 후 (필요에 따라) 엘리먼트를 출력하는 복잡한 처리 과정을 구현해야 한다.


9. DOM이 SAX보다 나은 경우
DOM은 XML 구조를 보존하고 이해하므로 응용 프로그램에서 구조 전체나 개별 엘리먼트를 쉽게 참조하고 조작할 수 있다.

반면, DOM은 파일을 스트림으로 처리하기 어렵다는 단점이 있다.

또한 DOM은 문서 전체를 메모리로 읽어들이므로 속력이 느려지고 메모리가 많이 필요하다. 반면, 문서 전체를 분석해 메모리에 보존하므로 장점도 존재한다.

10. 좋은 XML 편집기를 사용하라
반응형