with que not namespace name example ejemplo xml xml-namespaces

que - xml with css



¿Qué significa "XMLs" en XML? (6)

Creo que la mayor confusión es que el espacio de nombres XML apunta a algún tipo de URL que no tiene información. Pero la verdad es que la persona que inventó debajo del espacio de nombres:

xmlns:android="http://schemas.android.com/apk/res/android"

También podría llamarlo así:

xmlns:android="asjkl;fhgaslifujhaslkfjhliuqwhrqwjlrknqwljk.rho;il"

Esto es sólo un identificador único. Sin embargo, se ha establecido que debe colocar una URL que sea única y que potencialmente pueda apuntar a la especificación de las etiquetas / atributos utilizados en ese espacio de nombres. No se requiere tho.

¿Por qué debería ser único? Debido a que el propósito de los espacios de nombres es tenerlos únicos, el atributo, por ejemplo, fondo llamado de su espacio de nombres puede distinguirse del fondo de otro espacio de nombres.

Debido a esa singularidad, no tiene que preocuparse de que si crea su atributo personalizado tendrá una colisión de nombres.

Vi la siguiente línea en un archivo XML:

xmlns:android="http://schemas.android.com/apk/res/android"

También he visto xmlns en muchos otros archivos XML que he encontrado.

¿Qué es?


Define un espacio de nombres XML .

En su ejemplo, el prefijo del espacio de nombres es " android " y el URI del espacio de nombres es " http://schemas.android.com/apk/res/android "

En el documento, ves elementos como: <android:foo />

Piense en el prefijo de espacio de nombres como una variable con un alias de nombre corto para el URI de espacio de nombres completo. Es el equivalente a escribir <http://schemas.android.com/apk/res/android:foo /> con respecto a lo que "significa" cuando un analizador XML lee el documento.

NOTA: Realmente no puede usar el URI de espacio de nombres completo en lugar del prefijo de espacio de nombres en un documento de instancia XML.

Echa un vistazo a este tutorial sobre espacios de nombres: http://www.sitepoint.com/xml-namespaces-explained/


Significa espacio de nombres XML .

Básicamente, cada elemento (o atributo) en XML pertenece a un espacio de nombres, una forma de "calificar" el nombre del elemento.

Imagina que tú y yo inventamos nuestro propio XML. Usted inventa XML para describir personas, yo invento el mío para describir ciudades. Ambos incluimos un elemento llamado name . El tuyo se refiere al nombre de la persona y el mío al nombre de la ciudad: está bien, está un poco artificial.

<person> <name>Rob</name> <age>37</age> <homecity> <name>London</name> <lat>123.000</lat> <long>0.00</long> </homecity> </person>

Si nuestros dos XML se combinaran en un solo documento, ¿cómo podríamos diferenciar los dos nombres? Como puede ver arriba, hay dos elementos de name , pero ambos tienen significados diferentes.

La respuesta es que usted y yo asignaremos un espacio de nombres a nuestro XML, que haríamos único:

<personxml:person xmlns:personxml="http://www.your.example.com/xml/person" xmlns:cityxml="http://www.my.example.com/xml/cities"> <personxml:name>Rob</personxml:name> <personxml:age>37</personxml:age> <cityxml:homecity> <cityxml:name>London</cityxml:name> <cityxml:lat>123.000</cityxml:lat> <cityxml:long>0.00</cityxml:long> </cityxml:homecity> </personxml:person>

Ahora que hemos calificado completamente nuestro XML, no hay ambigüedad en cuanto a lo que significa cada elemento de name . Todas las etiquetas que comienzan con personxml: son etiquetas que pertenecen a su XML, todas las que comienzan con cityxml: son mías.

Hay algunos puntos a tener en cuenta:

  • Si excluye cualquier declaración de espacio de nombres, se considera que las cosas están en el espacio de nombres predeterminado.

  • Si declara un espacio de nombres sin el identificador, es decir, xmlns="http://somenamespace" , en lugar de xmlns:rob="somenamespace" , especifica el espacio de nombres predeterminado para el documento.

  • El propio espacio de nombres, a menudo un IRI , no tiene ninguna consecuencia real. Debe ser único, por lo que las personas tienden a elegir un IRI / URI que poseen, pero no tiene mayor significado que eso. A veces las personas colocan el esquema (definición) para el XML en el IRI especificado, pero eso es una convención de algunas personas solamente.

  • El prefijo tampoco tiene ninguna consecuencia. Lo único que importa es en qué espacio de nombres se define el prefijo. Varias etiquetas que comienzan con diferentes prefijos, todas las cuales se asignan al mismo espacio de nombres se consideran iguales.

    Por ejemplo, si los prefijos personxml y mycityxml asignaron al mismo espacio de nombres (como en el fragmento de código a continuación), no importaría si prefijara un elemento dado con personxml o mycityxml , ambos serían tratados de la misma manera. por un analizador XML. El punto es que a un analizador XML no le importa lo que haya elegido como prefijo, solo el espacio de nombres que asigna también. El prefijo es solo una dirección indirecta que apunta al espacio de nombres.

    <personxml:person xmlns:personxml="http://example.com/same/url" xmlns:mycityxml="http://example.com/same/url" />

  • Los atributos pueden ser calificados pero generalmente no lo son. Tampoco heredan su espacio de nombres del elemento en el que están, a diferencia de los elementos (ver más abajo).

Además, los espacios de nombres de elementos se heredan del elemento principal. En otras palabras, igualmente podría haber escrito el XML anterior como

<person xmlns="http://www.your.example.com/xml/person"> <name>Rob</name> <age>37</age> <homecity xmlns="http://www.my.example.com/xml/cities"> <name>London</name> <lat>123.000</lat> <long>0.00</long> </homecity> </person>


Tienes espacios de nombre para que puedas tener elementos únicos a nivel mundial. Sin embargo, el 99% del tiempo esto realmente no importa, pero cuando lo pones en la perspectiva de la Web Semántica , comienza a ser importante.

Por ejemplo, podría hacer una combinación XML de diferentes esquemas simplemente utilizando los xmlns apropiados. Por ejemplo, combinar amigo de un amigo con vCard , etc.


xmlns - espacio de nombres xml. Es solo un método para evitar conflictos de nombres de elementos. Por ejemplo:

<config xmlns:rnc="URI1" xmlns:bsc="URI2"> <rnc:node> <rnc:rncId>5</rnc:rncId> </rnc:node> <bsc:node> <bsc:cId>5</bsc:cId> </bsc:node> </config>

Dos elementos de node diferentes en un archivo xml. Sin espacios de nombres este archivo no sería válido.


Los espacios de nombres XML proporcionan un método para evitar conflictos de nombres de elementos. En XML, los nombres de los elementos son definidos por el desarrollador. Esto a menudo resulta en un conflicto cuando se intenta mezclar documentos XML de diferentes aplicaciones XML.

Los conflictos de nombres en XML se pueden evitar fácilmente utilizando un prefijo de nombre. Cuando se usan prefijos en XML, se debe definir un espacio de nombres para el prefijo.

El espacio de nombres se puede definir mediante un atributo xmlns en la etiqueta de inicio de un elemento. La declaración de espacio de nombres tiene la siguiente sintaxis. xmlns: prefijo = "URI" .