¿Qué es un espacio de nombres XML y qué tiene que ver con las transacciones de primavera?

StackOverflow https://stackoverflow.com/questions/4790916

Pregunta

Acabo de pasar por un tutorial de transacción de primavera que menciona que hay algunos elementos disponibles para la gestión de transacciones declarativas y se definen en el espacio de nombres de TX. ¿Qué contiene realmente el espacio de nombres TX? ¿Dónde está definido, registrado, etc.? ¿Por qué necesitaría un espacio de nombres?

Quiero saber en general sobre los espacios de nombres no solo específicos del espacio de nombres TX.

¿Fue útil?

Solución

Un Espacio de nombres XML es solo una ficha que, por falta de una mejor descripción, identifica de quién es la "versión" una etiqueta o atributo en particular. La idea es evitar conflictos si, por ejemplo, está utilizando XML con elementos definidos por múltiples personas/programas/organismos de estándares/etc. Por ejemplo, un programa que escribo que usa XML podría usar el espacio de nombres http://www.ttdi.us/xml/myapp. Entonces, puedo definir etiquetas como <name> Sin preocuparse de que en otro lugar, alguien también podría estar usando <name> Para sus propios fines:

<thing xmlns="http://www.ttdi.us/xml/myapp"
       xmlns:pie="http://somebodyelse.example/delicious/pie">
<!-- this defines that we have a "thing"
     in the namespace "http://www.ttdi.us/xml/myapp" -->
<!-- also it says that anything with the prefix pie:
     is from a different namespace. -->
    <name color="brown" pie:color="crispy">Bob</name>
    <!-- so this tag has the color "brown" for the attribute in my namespace
         but "crispy" in somebodyelse's pie namespace.
         We can use the same tag/attribute names without any trouble. -->
    <pie:flavor>Blueberry</pie:flavor>
</thing>

Un espacio de nombres no necesita ser "registrado" en ninguna parte; Puede ser solo cualquier URI que desee.

En resumen, si está haciendo sus propios documentos XML y cree que es probable que los bits de otro XML sean incrustados en el suyo o el viceversa, vale la pena declarar un espacio de nombres.

Entonces, la primavera tx El espacio de nombres es simplemente una forma de identificar cosas que "pertenecen" las transacciones de resorte en un documento de configuración XML. Visitando la url del espacio de nombres de primavera tx lo lleva a esquemas XML (reglas para qué elementos, atributos y valores que puede tener) para las diversas versiones de las transacciones de primavera. Más información sobre los ajustes de configuración que puede usar Documentación de primavera.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top