QXmlNamespaceSupport Class

QXmlNamespaceSupport 클래스는 네임스페이스 지원을 포함하려는 XML 리더를 위한 헬퍼 클래스입니다. 더 보기...

헤더: #include <QXmlNamespaceSupport>
CMake: find_package(Qt6 REQUIRED COMPONENTS Core5Compat)
target_link_libraries(mytarget PRIVATE Qt6::Core5Compat)
qmake: QT += core5compat

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

공용 함수

QXmlNamespaceSupport()
~QXmlNamespaceSupport()
void popContext()
QString prefix(const QString &uri) const
QStringList prefixes() const
QStringList prefixes(const QString &uri) const
void processName(const QString &qname, bool isAttribute, QString &nsuri, QString &localname) const
void pushContext()
void reset()
void setPrefix(const QString &pre, const QString &uri)
void splitName(const QString &qname, QString &prefix, QString &localname) const
QString uri(const QString &prefix) const

자세한 설명

setPrefix()로 현재 네임스페이스의 접두사를 설정하고 prefixes()로 현재 접두사 목록(또는 지정된 URI의 접두사 목록)을 가져올 수 있습니다. 네임스페이스 URI는 uri()에서 사용할 수 있습니다. 새 네임스페이스 컨텍스트를 시작하려면 pushContext(), 이전 네임스페이스 컨텍스트로 돌아가려면 popContext()을 사용합니다. splitName () 또는 processName()를 사용하여 이름을 접두사와 로컬 이름으로 분할합니다.

멤버 함수 문서

QXmlNamespaceSupport::QXmlNamespaceSupport()

QXml 이름공간 지원을 구축합니다.

[noexcept] QXmlNamespaceSupport::~QXmlNamespaceSupport()

QXmlNamespaceSupport 을 파괴합니다.

void QXmlNamespaceSupport::popContext()

이전 네임스페이스 컨텍스트로 되돌립니다.

일반적으로 컨텍스트는 각 XML 요소의 끝에서 팝해야 합니다. 컨텍스트를 팝하면 이전에 적용되었던 모든 네임스페이스 접두사 매핑이 복원됩니다.

pushContext()도 참조하세요 .

QString QXmlNamespaceSupport::prefix(const QString &uri) const

네임스페이스 URI uri 에 매핑된 접두사 중 하나를 반환합니다.

현재 두 개 이상의 접두사가 동일한 URI에 매핑되어 있는 경우 이 함수는 임의로 선택하며, 모든 접두사를 원하는 경우 prefixes()를 대신 사용합니다.

참고: 기본 접두사를 확인하려면 인수가 ""인 uri() 함수를 사용합니다.

setPrefix()도 참조하세요 .

QStringList QXmlNamespaceSupport::prefixes() const

현재 선언된 모든 접두사 목록을 반환합니다.

기본 접두사가 있는 경우 이 함수는 목록에서 해당 접두사를 반환하지 않으므로 인수가 ""인 uri()를 사용하여 기본 접두사를 확인합니다.

QStringList QXmlNamespaceSupport::prefixes(const QString &uri) const

이 함수는 오버로드된 함수입니다.

네임스페이스 URI uri 에 대해 현재 선언된 모든 접두사 목록을 반환합니다.

"xml:" 접두사가 포함됩니다. 네임스페이스 URI에 매핑된 접두사가 하나만 필요하고 어떤 접두사가 반환되는지는 상관없다면 prefix() 함수를 대신 사용하세요.

참고: 빈(기본) 접두사는 이 목록에 포함되지 않으므로 기본 네임스페이스가 있는지 확인하려면 인자로 ""를 사용하여 uri()를 호출하세요.

void QXmlNamespaceSupport::processName(const QString &qname, bool isAttribute, QString &nsuri, QString &localname) const

접두사를 제거하고 현재 선언된 접두사 중에서 조회하여 현재 컨텍스트에서 원시 XML 1.0 이름을 처리합니다.

qname 는 처리할 원시 XML 1.0 이름입니다. isAttribute 는 이름이 어트리뷰트 이름인 경우 참입니다.

이 함수는 네임스페이스 URI를 nsuri (원시 이름에 선언되지 않은 접두사가 있는 경우 빈 문자열로 설정됨)에 저장하고, 로컬 이름(접두사 없음)을 localname (사용 중인 네임스페이스가 없는 경우 빈 문자열로 설정됨)에 저장합니다.

속성 이름은 요소 이름과 다르게 처리됩니다. 접두사가 없는 요소 이름은 기본 네임스페이스(있는 경우)를 가져오는 반면, 접두사가 없는 속성 이름은 그렇지 않다는 점에 유의하세요.

void QXmlNamespaceSupport::pushContext()

새 네임스페이스 컨텍스트를 시작합니다.

일반적으로 각 XML 요소의 시작 부분에 새 컨텍스트를 푸시해야 합니다. 새 컨텍스트는 상위 컨텍스트의 선언을 자동으로 상속하고 이 컨텍스트 내에서 어떤 선언이 이루어졌는지도 추적합니다.

popContext()도 참조하세요 .

void QXmlNamespaceSupport::reset()

이 네임스페이스 지원 개체를 재사용할 수 있도록 리셋합니다.

void QXmlNamespaceSupport::setPrefix(const QString &pre, const QString &uri)

이 함수는 현재 네임스페이스 컨텍스트에서 접두사 pre 를 네임스페이스 URI uri 로 선언합니다. 접두사는 하위 컨텍스트에서 섀도 처리되지 않는 한 이 컨텍스트가 팝업될 때까지 유효합니다.

이 라이브러리에는 비대칭이 있다는 점에 유의하세요. prefix()는 기본 접두사를 선언했더라도 기본 "" 접두사를 반환하지 않으므로 기본 접두사를 확인하려면 uri()를 사용하여 명시적으로 조회해야 합니다. 이러한 비대칭성은 기본 접두사가 허용되지 않는 속성 이름의 접두사를 쉽게 조회할 수 있도록 하기 위해 존재합니다.

prefix()도 참조하세요 .

void QXmlNamespaceSupport::splitName(const QString &qname, QString &prefix, QString &localname) const

qname 이름을 ':'에서 분할하고 접두사는 prefix 으로, 로컬 이름은 localname 으로 반환합니다.

processName()도 참조하세요 .

QString QXmlNamespaceSupport::uri(const QString &prefix) const

현재 컨텍스트에서 접두사 prefix 를 조회하고 현재 매핑된 네임스페이스 URI를 반환합니다. 기본 네임스페이스에는 빈 문자열("")을 사용합니다.

© 2025 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.