QXmlNamespaceSupport Class
La clase QXmlNamespaceSupport es una clase de ayuda para lectores XML que deseen incluir soporte para espacios de nombres. Más...
| Cabecera: | #include <QXmlNamespaceSupport> |
| CMake: | find_package(Qt6 REQUIRED COMPONENTS Core5Compat)target_link_libraries(mytarget PRIVATE Qt6::Core5Compat) |
| qmake: | QT += core5compat |
Nota: Todas las funciones de esta clase son reentrantes.
Funciones Públicas
| 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 |
Descripción Detallada
Puede establecer el prefijo para el espacio de nombres actual con setPrefix(), y obtener la lista de prefijos actuales (o aquellos para un URI dado) con prefixes(). El URI del espacio de nombres está disponible en uri(). Utilice pushContext() para iniciar un nuevo contexto de espacio de nombres, y popContext() para volver al contexto de espacio de nombres anterior. Utilice splitName() o processName() para dividir un nombre en su prefijo y su nombre local.
Documentación de las funciones miembro
QXmlNamespaceSupport::QXmlNamespaceSupport()
Construye un QXmlNamespaceSupport.
[noexcept] QXmlNamespaceSupport::~QXmlNamespaceSupport()
Destruye un QXmlNamespaceSupport.
void QXmlNamespaceSupport::popContext()
Vuelve al contexto de espacio de nombres anterior.
Normalmente, el contexto debe aparecer al final de cada elemento XML. Después de abrir el contexto, se restauran todas las asignaciones de prefijos de espacios de nombres que estaban en vigor anteriormente.
Véase también pushContext().
QString QXmlNamespaceSupport::prefix(const QString &uri) const
Devuelve uno de los prefijos asignados al espacio de nombres URI uri.
Si hay más de un prefijo asignado al mismo URI, esta función hace una selección arbitraria; si desea todos los prefijos, utilice prefixes() en su lugar.
Nota: para buscar un prefijo por defecto, utilice la función uri() con un argumento "".
Véase también setPrefix().
QStringList QXmlNamespaceSupport::prefixes() const
Devuelve una lista de todos los prefijos declarados actualmente.
Si existe un prefijo por defecto, esta función no lo devuelve en la lista; compruebe el prefijo por defecto utilizando uri() con un argumento de "".
QStringList QXmlNamespaceSupport::prefixes(const QString &uri) const
Devuelve una lista de todos los prefijos declarados actualmente para el espacio de nombres URI uri.
Se incluye el prefijo "xml:". Si sólo desea un prefijo mapeado al URI del espacio de nombres, y no le importa cuál obtiene, utilice en su lugar la función prefix().
Nota: El prefijo vacío (por defecto) nunca se incluye en esta lista; para comprobar la presencia de un espacio de nombres por defecto, llame a uri() con "" como argumento.
Se trata de una función sobrecargada.
void QXmlNamespaceSupport::processName(const QString &qname, bool isAttribute, QString &nsuri, QString &localname) const
Procesa un nombre XML 1.0 sin procesar en el contexto actual eliminando el prefijo y buscándolo entre los prefijos declarados actualmente.
qname es el nombre XML 1.0 sin procesar que se va a procesar. isAttribute es verdadero si el nombre es un nombre de atributo.
Esta función almacena el URI del espacio de nombres en nsuri (que se establecerá como una cadena vacía si el nombre en bruto tiene un prefijo no declarado), y almacena el nombre local (sin prefijo) en localname (que se establecerá como una cadena vacía si no hay ningún espacio de nombres en uso).
Tenga en cuenta que los nombres de atributos se procesan de forma diferente a los nombres de elementos: un nombre de elemento no prefijado obtiene el espacio de nombres por defecto (si existe), mientras que un nombre de atributo no prefijado no.
void QXmlNamespaceSupport::pushContext()
Inicia un nuevo contexto de espacio de nombres.
Normalmente, debería introducir un nuevo contexto al principio de cada elemento XML: el nuevo contexto hereda automáticamente las declaraciones de su contexto padre, y también mantiene un registro de qué declaraciones se hicieron dentro de este contexto.
Véase también popContext().
void QXmlNamespaceSupport::reset()
Restablece este objeto de soporte de espacio de nombres listo para su reutilización.
void QXmlNamespaceSupport::setPrefix(const QString &pre, const QString &uri)
Esta función declara un prefijo pre en el contexto actual del espacio de nombres como el URI del espacio de nombres uri. El prefijo permanecerá en vigor hasta que este contexto sea eliminado, a menos que sea reemplazado en un contexto descendiente.
Observe que existe una asimetría en esta biblioteca. prefix() no devuelve el prefijo "" por defecto, incluso si ha declarado uno; para comprobar un prefijo por defecto, debe buscarlo explícitamente usando uri(). Esta asimetría existe para facilitar la búsqueda de prefijos para nombres de atributos, donde el prefijo por defecto no está permitido.
Véase también prefix().
void QXmlNamespaceSupport::splitName(const QString &qname, QString &prefix, QString &localname) const
Divide el nombre qname en el ':' y devuelve el prefijo en prefix y el nombre local en localname.
Véase también processName().
QString QXmlNamespaceSupport::uri(const QString &prefix) const
Busca el prefijo prefix en el contexto actual y devuelve el URI del espacio de nombres mapeado actualmente. Utilice la cadena vacía ("") para el espacio de nombres por defecto.
© 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.