markdown XML:estructura y sintaxis

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了markdown XML:estructura y sintaxis相关的知识,希望对你有一定的参考价值。

Un documento XML se compone como mínimo de una declaración, un elemento raíz (también llamado elemento padre) y uno o más sub-elementos (también llamados elementos hijo), que a su vez pueden anidar otros sub-elementos:

```
<!--?xml version="1.0" encoding="UTF-8"?-->
<parking>
	<plaza>
		<matricula>DDD-1111</matricula>
		<marca>Toyota</marca>
		<modelo>Prius</modelo>
	</plaza>
	<plaza>
		<matricula>HHH-4444</matricula>
		<marca>Audi</marca>
		<modelo>A5</modelo>
	</plaza>
</parking>
```

#  cinco caracteres que requieren un tratamiento especial
```
Carácter especial	| Entidad de referencia
&	                     &amp;
<	                     &lt;
>	                     &gt;
"	                    &quot;
'	                    &apos;
```
# XML: namespaces

Los namespaces (nombres de espacio) proveen un método para la organización jerárquica de la información 
contenida en distintos documentos XML, y así evitar conflictos entre elementos con un mismo nombre.
Veamos un ejemplo:
```
<departamento>
	<nombre>Soporte</nombre>
	<localizacion>Planta 3</localizacion>
	<extension>1180</extension>
</departamento>

<empleado>
	<nombre>Esther Artiz</nombre>
	<proyectos>
		<proyecto>Cliente C1, Proyecto P1</proyecto>
		<proyecto>Cliente C1, Proyecto P2</proyecto>
	</proyectos>
</empleado>

```
En el ejemplo anterior tenemos un elemento con el mismo nombre que está siendo usado en dos representaciones
de información distintas: <nombre>. A la hora de hacer referencia a este elemento nos vamos a encontrar con 
un problema de ambigüedad que va a derivar en un conflicto de nombres.

La forma de solucionar este problema es haciendo uso de prefijos:

```
<d:departamento>
	<d:nombre>Soporte</d:nombre>
	<d:localizacion>Planta 3</d:localizacion>
	<d:extension>1180</d:extension>
</d:departamento>

<e:empleado>
	<e:nombre>Esther Artiz</e:nombre>
	<e:proyectos>
		<e:proyecto>Cliente C1, Proyecto P1</e:proyecto>
		<e:proyecto>Cliente C1, Proyecto P2</e:proyecto>
	</e:proyectos>
</e:empleado>

```
En el ejemplo anterior hemos definido todos los elementos mediante los prefijos d y e para constatar a que
namespace corresponde cada uno de ellos. Ahora sólo nos falta declarar los namespaces correspondientes:

```
<d:departamento xmlns:d="http://www.organizacion.com/ns/departamento">
	<!-- ... -->
</d:departamento>
				
<d:empleado xmlns:e="http://www.organizacion.com/ns/empleado">
	<!-- ... -->
</d:empleado>

```

Como puedes ver en el ejemplo anterior, usamos el atributo xmlns (XML NameSpace) para definir una URI que
identifica y asocia el prefijo usado con nuestro namespace. La URI no tiene porqué ser accesible en internet
(de hecho no lo es), su única misión es identificar un namespace (imagínalo como la sentencia package en 
Java).

Otra forma de declarar un namespace es haciéndolo en el elemento raíz del documento:
```
<datos xmlns:d="http://www.organizacion.com/ns/departamento" xmlns:e="http://www.organizacion.com/ns/empleado">
	<d:departamento>
		<!-- ... -->
	</d:departamento>

	<d:empleado>
		<!-- ... -->
	</d:empleado>
</datos>
```	        
La aplicación y uso de namespaces es algo más profunda que lo expuesto hasta ahora, permitiendo definir 
comportamientos como redefinición y sobreescritura, por ejemplo. Sin embargo características tan avanzadas 
(que realmente no lo son) no son necesarias para seguir este tutorial.



以上是关于markdown XML:estructura y sintaxis的主要内容,如果未能解决你的问题,请参考以下文章

markdown Spring Boot Estructura

markdown Estructura de un servicio

markdown Estructura

markdown Estructura de datos“mapa”

markdown Estructura de un documento WSDL

markdown La estructura de como usar like en un where