<?xml version="1.0" encoding="UTF-8"?>
<!ENTITY slash "&#047;">
<!ELEMENT aplicacion (formulario, etiquetas+)>
<!ELEMENT formulario (elemento_input | elemento_combo | elemento_radios | elemento_checkbox | elemento_checkboxes | elemento_textarea | elemento_seccion |  elemento_seccion |  elemento_botones)*>
<!ATTLIST formulario
	id CDATA #REQUIRED
	action CDATA #REQUIRED
	method CDATA #REQUIRED
	lanzamiento (email | bbdd | bbdd-email | otros | buscador) #REQUIRED
	idioma CDATA #IMPLIED
	iddatosobligatorios CDATA #REQUIRED
	idtitulo CDATA #REQUIRED
	rutaimagen CDATA #IMPLIED
>
<!-- INPUT -->
<!ELEMENT elemento_input EMPTY>
<!ATTLIST elemento_input
	nombre CDATA #REQUIRED
	idetiqueta CDATA #IMPLIED
	iddescripcion CDATA #IMPLIED
	longitud NMTOKEN #IMPLIED
	max_car NMTOKEN #IMPLIED
	valor CDATA #IMPLIED
	requerido (si | no) #REQUIRED
	readonly (si | no) #IMPLIED
	tipovalidacion (numerico | alfanumerico | email | euro | entero | camposiguales | dni) #REQUIRED
	class CDATA #REQUIRED
	password (si | no) #IMPLIED
>
<!-- COMBO -->
<!ELEMENT elemento_combo (opcion*)>
<!ATTLIST elemento_combo
	nombre CDATA #REQUIRED
	class CDATA #IMPLIED
	idetiqueta CDATA #IMPLIED
	requerido (si | no) #REQUIRED
	condicion CDATA #IMPLIED
	valor CDATA #IMPLIED
	texto_neutro CDATA #IMPLIED
	valor_neutro CDATA #REQUIRED
	campo_agrupacion NMTOKEN #IMPLIED
	multiidioma (si | no) #REQUIRED
	campo_multiidioma NMTOKEN #IMPLIED
	multiple (si | no) #REQUIRED
	tamanio_lista CDATA #IMPLIED
>
<!ELEMENT opcion (#PCDATA)>
<!ATTLIST opcion
	tabla_valor NMTOKEN #IMPLIED
	valor CDATA #REQUIRED
>
<!-- RADIOS -->
<!ELEMENT elemento_radios (radio | salto | elemento_texto)*>
<!ATTLIST elemento_radios
	nombre CDATA #REQUIRED
	idetiqueta CDATA #IMPLIED
	iddescripcion CDATA #IMPLIED
	valor CDATA #REQUIRED
	class CDATA #IMPLIED
	requerido (si | no) #REQUIRED
>
<!ELEMENT radio EMPTY>
<!ATTLIST radio
	idetiqueta CDATA #IMPLIED
	valor NMTOKEN #REQUIRED
>
<!-- CHECKBOXES -->
<!ELEMENT elemento_checkboxes (checkbox*)>
<!ATTLIST elemento_checkboxes
	nombre CDATA #REQUIRED
	class CDATA #IMPLIED
	idetiqueta CDATA #IMPLIED
	iddescripcion CDATA #IMPLIED
	requerido (si | no) #REQUIRED
	condicion CDATA #IMPLIED
	valor_marcado CDATA #IMPLIED
>
<!ELEMENT checkbox (#PCDATA)>
<!ATTLIST checkbox
	valor CDATA #REQUIRED
	idetiqueta CDATA #IMPLIED
	nombre CDATA #REQUIRED
	marcado (si | no) #IMPLIED
>
<!-- CHECKBOX -->
<!ELEMENT elemento_checkbox EMPTY>
<!ATTLIST elemento_checkbox
	nombre CDATA #REQUIRED
	valor CDATA #IMPLIED
	valor_marcado NMTOKEN #REQUIRED
	valor_neutro CDATA #REQUIRED
	class CDATA #IMPLIED
	idetiqueta CDATA #IMPLIED
	requerido (si | no) #REQUIRED
	enlace CDATA #IMPLIED
	popupenlace (si | no) #IMPLIED
>
<!-- TEXTAREA -->
<!ELEMENT elemento_textarea EMPTY>
<!ATTLIST elemento_textarea
	nombre CDATA #REQUIRED
	idetiqueta CDATA #IMPLIED
	iddescripcion CDATA #IMPLIED
	columnas NMTOKEN #REQUIRED
	filas NMTOKEN #REQUIRED
	max_car NMTOKEN #IMPLIED
	valor CDATA #IMPLIED
	requerido (si | no) #REQUIRED
	tipovalidacion (alfanumerico | numerico) #REQUIRED
	class CDATA #IMPLIED
	readonly (si | no) #IMPLIED
>
<!-- ETIQUETAS -->
<!ELEMENT etiquetas (etiqueta+)>
<!ATTLIST etiquetas
	idioma CDATA #REQUIRED
>
<!-- ETIQUETAS TEXTO -->
<!ELEMENT etiqueta EMPTY>
<!ATTLIST etiqueta
	id CDATA #REQUIRED
	titulo CDATA #REQUIRED
	tituloAtributo CDATA #REQUIRED
>
<!-- SECCION --> 
<!ELEMENT elemento_seccion EMPTY>
<!ATTLIST elemento_seccion
	idetiqueta CDATA #IMPLIED
	class CDATA #IMPLIED
	iddescripcion CDATA #IMPLIED
>
<!-- SUBSECCION --> 
<!ELEMENT elemento_subseccion EMPTY>
<!ATTLIST elemento_subseccion
	idetiqueta CDATA #IMPLIED
	class CDATA #IMPLIED
	iddescripcion CDATA #IMPLIED
>

<!-- CONTENEDOR BOTONES -->
<!ELEMENT elemento_botones (elemento_boton*)>

<!-- BOTON -->
<!ELEMENT elemento_boton EMPTY>
<!ATTLIST elemento_boton
	titulo CDATA #REQUIRED
	value CDATA #REQUIRED
	class CDATA #IMPLIED
	tipo (enviar | borrar | buscar) #IMPLIED
	idetiqueta CDATA #IMPLIED
>
