
백엔드
한/글 문서 파일 형식: Python을 통한 HWPX 포맷 파싱하기 (1)
두줄요약
HWPX를 ZIP 기반 XML 포맷으로 보고 Python 내장 라이브러리로 메타정보를 추출하는 방법을 설명했습니다. 문서 시작 번호, 커서 위치, 바이너리 목록을 `Document` 객체로 구조화하는 흐름을 다뤘습니다.
핵심 내용
- HWPX를 ZIP 기반 XML 포맷으로 보고 Python 내장 라이브러리로 파싱하는 흐름 정리
header.xml에서 문서 시작 번호와 폰트 개수,settings.xml에서 커서 위치,content.hpf에서 바이너리 데이터 목록 추출- 분산 저장된 메타정보를
Document와CaretPosition데이터 모델로 모으는 구조화 방식 설명 - 표준 문서와 실제 XML 예제를 대응시켜 내부 구조를 이해하고 후속 본문 파싱의 기초를 마련
적용해볼 점
zipfile,xml.etree.ElementTree만으로 문서형 ZIP/XML 포맷을 탐색하는 파싱 방식 참고- namespace 추출과 파일 존재 여부 확인을 먼저 수행해 버전 차이와 누락 파일에 대응
