사용 사례
Aspose.HTML FOSS for Python은(는) 브라우저를 사용할 수 없거나 원하지 않는 경우 서버 측 HTML 작업을 목표로 합니다. 이것이 API가 구축된 시나리오입니다.
저장된 HTML 정리 및 재작성
사용자 제출 HTML을 받아들이는 백엔드 서비스는 이를 HTMLDocument.parse()으로 파싱하고, Document 및 Element 작업을 통해 재구성한 뒤 결과를 직렬화합니다 — 표준 오류 복구가 들어오는 모든 잘못된 마크업을 흡수합니다.
CI에서 생성된 마크업 검증
테스트 스위트는 이 지식 베이스 자체 예시와 같은 방식으로 구조를 검증합니다: 트리를 구축하거나 파싱한 뒤 속성, 자식, 그리고 — 독특하게 — Element.get_computed_style()을 통해 계산된 스타일을 확인합니다. 따라서 스타일시트 회귀가 프로덕션이 아니라 테스트에서 실패합니다.
브라우저 없이 스타일 계산
이메일 도구와 정리기(sanitizer)는 요소가 실제로 해석되는 스타일을 알아야 합니다. CSSOM 레이어는 순수 Python에서 실제 캐스케이드를 제공하며 — 특이성, !important, 상속을 포함합니다 — 헤드리스 브라우저 없이도 가능합니다.
레거시 문서 수집
아카이브는 알 수 없는 인코딩의 바이트 형태로 도착합니다. detect_encoding()는 이를 (BOM 및 메타 사전 스캔)으로 분류하고, get_canonical_name()는 라벨 혼란을 정규화하며, 파서의 복구 동작은 수십 년 된 마크업을 처리합니다.
토큰 레벨 도구
린터와 정제기 사전 패스는 Tokenizer.tokenize() 출력물을 직접 소비하며, 트리가 존재하기 전 StartTagToken 속성을 검사합니다.
제어된 스크립트 처리
스크립팅이 필요한 문서는 JSContext 하에서 실행되며, 모듈 접근은 ModuleRegistry와 ModuleLoadPolicy에 의해 제한됩니다 — 필요할 때 스크립팅을 수행하고, 설계상 샌드박스됩니다.