
XML 파싱용 C 라이브러리로, 핸들러 등록을 통한 스트림 지향 파싱을 제공하고 UTF-16 인코딩을 지원하며 참조 매뉴얼을 포함합니다.
이것은 Expat으로, 1997년 James Clark이 시작한 XML 파싱을 위한 C 라이브러리입니다. Expat은 스트림 기반 XML 파서입니다. 즉, 파싱을 시작하기 전에 파서에 핸들러를 등록합니다. 이 핸들러들은 파서가 파싱 중인 문서에서 관련 구조를 발견할 때 호출됩니다. 시작 태그는 핸들러를 등록할 수 있는 구조의 한 예입니다.
Windows 사용자는
expat_win32 패키지를 사용해야 하며,
이 패키지에는 사전 컴파일된 라이브러리와 실행 파일, 그리고 개발자를 위한 소스 코드가 포함되어 있습니다.
Expat은 자유 소프트웨어입니다.
이 패키지와 함께 배포되는
COPYING 파일에 포함된 라이선스 조건에 따라
복사, 배포 및 수정할 수 있습니다.
이 라이선스는 MIT/X Consortium 라이선스와 동일합니다.
Git 저장소에서 체크아웃하여 Expat을 빌드하는 경우, GNU autoconf 및 libtool 도구를 사용하여 configure 스크립트를 생성하는 스크립트를 실행해야 합니다. 이를 위해서는 autoconf 2.58 이상이 필요합니다. 다음과 같이 스크립트를 실행하십시오:
./buildconf.sh
이 작업이 완료되면 소스 배포판에서 빌드하는 것과 동일한 지침을 따르십시오.
소스 배포판에서 Expat을 빌드하려면 먼저 최상위 배포 디렉토리에서 구성 셸 스크립트를 실행합니다:
./configure
configure에 제공할 수 있는 많은 옵션이 있습니다 (configure를 --help 옵션으로 실행하여 확인 가능).
그러나 가장 관심 있는 옵션은 설치 디렉토리를 설정하는 옵션입니다.
기본적으로 configure 스크립트는 libexpat을 /usr/local/lib에, expat.h를 /usr/local/include에,
xmlwf를 /usr/local/bin에 설치하도록 설정합니다.
예를 들어, /home/me/mystuff/lib, /home/me/mystuff/include, /home/me/mystuff/bin에 설치하려면
다음과 같이 configure에 알릴 수 있습니다:
./configure --prefix=/home/me/mystuff
또 다른 흥미로운 옵션은 줄 및 열 번호와 전체 바이트 인덱스에 대해 64비트 정수 지원을 활성화하는 것입니다:
./configure CPPFLAGS=-DXML_LARGE_SIZE
그러나 이러한 수정은 ABI에 대한 변경을 초래하므로 일반적인 사용(예: Linux 배포판의 일부)에는 권장되지 않으며, 특별한 요구 사항이 있는 빌드에 한합니다.
configure 스크립트를 실행한 후 make 명령으로 빌드하고 make install로 적절한 위치에 설치합니다.
추가 make 옵션을 알아보려면 Makefile을 살펴보십시오.
설치 대상 디렉토리에 대한 쓰기 권한이 필요합니다.
기본 UTF-8 대신 UTF-16 인코딩으로 문서 정보를 제공하도록 Expat을 빌드하려는 경우
(make distclean 실행 후) 다음 지침을 따르십시오.
xmlwf는 아직 이 컴파일 모드를 지원하지 않으므로 --without-xmlwf로 configure하는 점에 유의하십시오:
Makefile.am 파일을 대량 패치하여 라이브러리 이름으로 libexpatw.la를 사용하도록 합니다:
find -name Makefile.am -exec sed -e 's,libexpat\.la,libexpatw.la,' -e 's,libexpat_la,libexpatw_la,' -i {} +
automake를 실행하여 Makefile.in 파일을 다시 씁니다:
automake
unsigned short로 UTF-16 출력(및 버전/오류 문자열은 char)을 원하는 경우 실행:
./configure CPPFLAGS=-DXML_UNICODE --without-xmlwf
wchar_t로 UTF-16 출력(버전/오류 문자열 포함)을 원하는 경우 실행:
./configure CFLAGS="-g -O2 -fshort-wchar" CPPFLAGS=-DXML_UNICODE_WCHAR_T --without-xmlwf
참고: 후자는 libc가 -fshort-wchar로 컴파일되어야 합니다.
make 실행 (xmlwf 제외).
make install 실행 (다시 xmlwf 제외).
DESTDIR 사용이 지원됩니다. 다음과 같이 작동합니다:
make install DESTDIR=/path/to/image
이것은 makefile 내부의 DESTDIR 설정을 덮어씁니다. 변수 설정 우선순위는 다음과 같기 때문입니다:
참고: 이는 Expat 라이브러리 자체에만 적용되며, xmlwf 및 테스트의 UTF-16 버전 빌드는 현재 지원되지 않습니다.
구성에 autoconf를 사용하는 프로젝트에서 Expat을 사용할 때,
conftools/expat.m4의 프로빙 매크로를 사용하여 Expat을 포함하는 방법을 결정할 수 있습니다.
자세한 내용은 해당 파일 상단의 주석을 참조하십시오.
참조 매뉴얼은 이 배포판의 doc/reference.html 파일에서 확인할 수 있습니다.