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()
QXmlNamespaceSupport 객체를 생성합니다.
[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 는 true입니다.
이 함수는 네임스페이스 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를 반환합니다. 기본 네임스페이스를 사용하려면 빈 문자열("")을 사용하십시오.
© 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.