이 페이지에서

QXmlLexicalHandler Class

QXmlLexicalHandler 클래스는 XML 데이터의 어휘적 내용을 보고하기 위한 인터페이스를 제공합니다. 더 보기...

헤더: #include <QXmlLexicalHandler>
CMake: find_package(Qt6 REQUIRED COMPONENTS Core5Compat)
target_link_libraries(mytarget PRIVATE Qt6::Core5Compat)
qmake: QT += core5compat
상속된 항목:

QXmlDefaultHandler

참고: 이 클래스의 모든 함수는 재진입 가능합니다.

공개 함수

virtual ~QXmlLexicalHandler()
virtual bool comment(const QString &ch) = 0
virtual bool endCDATA() = 0
virtual bool endDTD() = 0
virtual bool endEntity(const QString &name) = 0
virtual QString errorString() const = 0
virtual bool startCDATA() = 0
virtual bool startDTD(const QString &name, const QString &publicId, const QString &systemId) = 0
virtual bool startEntity(const QString &name) = 0

상세 설명

어휘 핸들러의 이벤트는 문서 요소뿐만 아니라 전체 문서에 적용되며, 모든 어휘 핸들러 이벤트는 콘텐츠 핸들러의 startDocument 및 endDocument 이벤트 사이에 나타납니다.

QXmlReader::setLexicalHandler()를 사용하여 어휘 핸들러를 설정할 수 있습니다.

이 인터페이스의 설계는 SAX2 확장인 LexicalHandler를 기반으로 합니다.

이 인터페이스는 startDTD(), endDTD(), startEntity(), endEntity(), startCDATA(), endCDATA() 및 comment() 함수를 제공합니다.

QXmlDTDHandler, QXmlDeclHandler, QXmlContentHandler, QXmlEntityResolver 및 QXmlErrorHandler도 참조하십시오 .

멤버 함수 문서

[virtual noexcept] QXmlLexicalHandler::~QXmlLexicalHandler()

어휘 핸들러를 삭제합니다.

[pure virtual] bool QXmlLexicalHandler::comment(const QString &ch)

리더는 문서 내 어느 위치에서든 XML 주석을 보고하기 위해 이 함수를 호출합니다. 이 함수는 주석의 텍스트를 ` ch`에 담아 반환합니다.

이 함수가 ` false `를 반환하면 리더는 구문 분석을 중단하고 오류를 보고합니다. 리더는 ` errorString()` 함수를 사용하여 오류 메시지를 가져옵니다.

[pure virtual] bool QXmlLexicalHandler::endCDATA()

리더는 CDATA 섹션의 끝을 알리기 위해 이 함수를 호출합니다.

이 함수가 ` false `를 반환하면 리더는 구문 분석을 중단하고 오류를 보고합니다. 리더는 ` errorString()` 함수를 사용하여 오류 메시지를 가져옵니다.

startCDATA() 및 QXmlContentHandler::characters()도 참조하십시오 .

[pure virtual] bool QXmlLexicalHandler::endDTD()

리더는 DTD 선언이 있는 경우, 이 함수를 호출하여 선언의 끝을 알립니다.

이 함수가 ` false `를 반환하면 리더는 구문 분석을 중지하고 오류를 보고합니다. 리더는 ` errorString()` 함수를 사용하여 오류 메시지를 가져옵니다.

startDTD()도 참조하십시오 .

[pure virtual] bool QXmlLexicalHandler::endEntity(const QString &name)

리더는 name 라는 엔티티의 종료를 보고하기 위해 이 함수를 호출합니다.

startEntity() 호출마다 이에 대응하는 endEntity() 호출이 있습니다. startEntity() 및 endEntity() 호출은 적절하게 중첩되어 있습니다.

이 함수가 ` false `을 반환하면 리더는 구문 분석을 중지하고 오류를 보고합니다. 리더는 ` errorString()` 함수를 사용하여 오류 메시지를 가져옵니다.

startEntity(), QXmlContentHandler::skippedEntity(), QXmlSimpleReader::setFeature()도 참조하십시오 .

[pure virtual] QString QXmlLexicalHandler::errorString() const

핸들러 함수 중 하나라도 ` false`를 반환하면, 리더는 이 함수를 호출하여 오류 문자열을 가져옵니다.

[pure virtual] bool QXmlLexicalHandler::startCDATA()

리더는 CDATA 섹션의 시작을 알리기 위해 이 함수를 호출합니다. CDATA 섹션의 내용은 QXmlContentHandler::characters() 함수를 통해 보고됩니다. 이 함수는 경계를 알리는 용도로만 사용됩니다.

이 함수가 ` false `를 반환하면 리더는 구문 분석을 중지하고 오류를 보고합니다. 리더는 ` errorString()` 함수를 사용하여 오류 메시지를 가져옵니다.

endCDATA()도 참조하십시오 .

[pure virtual] bool QXmlLexicalHandler::startDTD(const QString &name, const QString &publicId, const QString &systemId)

리더는 DTD 선언이 있는 경우, 이 함수를 호출하여 선언의 시작을 알립니다. 이 함수는 문서 유형의 이름을 ` name`에, 공용 식별자를 ` publicId `에, 시스템 식별자를 ` systemId`에 각각 보고합니다.

공개 식별자가 없는 경우, ` publicId `는 빈 문자열로 설정됩니다. 시스템 식별자가 없는 경우, ` systemId `는 빈 문자열로 설정됩니다. 공개 식별자는 있으나 시스템 식별자가 없는 것은 유효한 XML이 아니라는 점에 유의하십시오. 이러한 경우 구문 분석 오류가 발생합니다.

QXmlDTDHandler 또는 QXmlDeclHandler 를 통해 보고된 모든 선언은 startDTD()와 endDTD() 호출 사이에 나타납니다.

이 함수가 false 를 반환하면 리더는 구문 분석을 중지하고 오류를 보고합니다. 리더는 errorString() 함수를 사용하여 오류 메시지를 가져옵니다.

endDTD()도 참조하십시오 .

[pure virtual] bool QXmlLexicalHandler::startEntity(const QString &name)

리더는 ‘ name ’이라는 엔티티의 시작을 보고하기 위해 이 함수를 호출합니다.

엔티티가 알려지지 않은 경우, 리더는 이 함수가 아닌 QXmlContentHandler::skippedEntity()을 통해 이를 보고합니다.

이 함수가 ` false `를 반환하면 리더는 구문 분석을 중지하고 오류를 보고합니다. 리더는 ` errorString()` 함수를 사용하여 오류 메시지를 가져옵니다.

endEntity() 및 QXmlSimpleReader::setFeature()도 참조하십시오 .

© 2026 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd. in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.