-----------------COMPONENTES-BASICOS---------------------------------------------------------------------------------------------------------------------------------- name: indica el nombre del elemento. Es un atributo obligatorio si el elemento padre es . ref: indica que la descripción del elemento se encuentra en otro lugar del esquema, es decir, referencia a la descripción del elemento. Este elemento no se puede usar si el elemento padre es . Type: indica el tipo del elemento. default: valor que toma el elemento cuando no recibe ningún valor. fixed: indica el único valor que puede tomar el elemento. minOccurs: indica el número mínimo de ocurrencias que del elemento puede haber en el documento XML. No se puede usar si el componente padre es . Va desde 0 hasta ilimitado (unbounded). MaxOccurs: indica el número máximo de ocurrencias que del elemento puede haber en el documento XML. No se puede usar si el componente padre es . Va desde 0 hasta ilimitado (unbounded). id: identificador único para cada elemento. ---------------------------------------------------------------------------------------------------------------------------------------------------------------------- ----------ELEMENTO-SIMPLE-CON-RESTRICCION----------------------------------------------------------------------------------------------------------------------------- -->elemento edad -->restricción de números positivos -->números del 12 incluido en adelante -->números del 19 excluido para abajo -----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ELEMENTO-SIMPLE-CON-LISTA-------------------------------------------------------------------------------------------------------------------------------- Lunes Martes Miercoles Jueves Viernes Sabado Domingo -----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------EJEMPLOS--FIXED--DEFAULT--------------------------------------------------------------------------------------------------------------------------------- --> Si no se especifica el valos será "agosto" --> El valor es obligatoriamente "agosto" -----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------DECLARACION-DE-ATRIBUTOS--------------------------------------------------------------------------------------------------------------------------------- -->El valor es "B" -->El valor por defecto es "B" -->El atributo es obligatorio -->Si no se indica nada el atributo es opcional ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------TIPOS-DE-DATOS------------------------------------------------------------------------------------------------------------------------------------------ negativeInteger --> Números enteros negativos menores de 0 nonNegativeInteger --> Números enteros positivos más el 0 nonPositiveInteger --> Números enteros negativos más el 0 positiveInteger --> Números enteros mayores de 0 integer --> Valor entero decimal --> Decimal float --> Número en coma flotante de precisión simple date --> Fecha en formato aaaa-mm-dd time --> Hora en formato hh:mm:ss dateTime --> Fecha y hora, en formato aaaa-mm-dd T hh:mm:ss String --> Cadenas de texto boolean --> Puede tener cuatro valores: 0, 1, true, false ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------RESTRICCIONES------------------------------------------------------------------------------------------------------------------------------------------- xs:enumeration --> Define una lista de valores aceptables xs:fractionDigits --> Especifica el número máximo de decimales permitidos. Debe ser igual o mayor que cero xs:length --> Especifica el número exacto de caracteres o elementos de lista de permitidos. Debe ser igual o mayor que cero xs:maxExclusive --> Especifica los límites superiores para los valores numéricos (el valor debe ser inferior a este valor) xs:maxInclusive --> Especifica los límites superiores para los valores numéricos (el valor debe ser menor o igual a este valor) xs:maxLength --> Especifica el número máximo de caracteres permitidos o elementos de la lista. Debe ser igual o mayor que cero xs:minExclusive --> Especifica los límites inferiores para los valores numéricos (el valor debe ser mayor que este valor) xs:minInclusive --> Especifica los límites más bajos para los valores numéricos (el valor debe ser mayor que o igual a este valor) xs:minLength --> Especifica el número mínimo de caracteres permitidos o elementos de lista. Debe ser igual o mayor que cero xs:pattern --> Define la secuencia exacta de caracteres que son aceptables xs:totalDigits --> Especifica el número exacto de dígitos permitidos. Debe ser mayor que cero xs:whiteSpace --> Especifica cómo se manejan los espacios en blanco (saltos de línea, tabulaciones, espacios y retornos de carro). Sus posibles valores son preserve, replace y collapse. ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------PATRONES------------------------------------------------------------------------------------------------------------------------------------------------ . --> Cualquier carácter. \d --> Cualquier dígito del 0 al 9. \w --> Cualquier letra. \D --> Cualquier carácter que no sea un dígito del 0 al 9. \s --> Cualquier carácter de espaciado (tabulador, espacio…). \S --> Cualquier carácter de no espaciado. \d{n} --> n dígitos exactamente. \d{n,m} --> De n ó m dígitos. \d{n,} --> n o más dígitos. x* --> x puede aparecer cero o más veces. x+ --> x debe aparecer al menos una vez. x? --> x puede aparecer una vez o no aparecer. [abc] o [a|b|c] --> Cualquier carácter indicado entre los corchetes: a, b o c. [a-z] --> Letra minúscula. [A-Z] --> Letra mayúscula. [a-z A-Z] --> Letra. [abc] --> Alguno de los caracteres que están entre corchetes. [^abc] --> Cualquier carácter que no esté entre corchetes. (a|b) --> Alternativa entre dos expresiones. AB --> Cadena que es la concatenación de las cadenas A y B. (A) --> Cadena que coincide con A. b? --> Sucesión de 0 o una ocurrencia de una cadena b. b* --> Sucesión de 0 o más ocurrencias de una cadena b. b+ --> Sucesión de 1 o más ocurrencias de una cadena b. x{n} --> x debe aparecer n veces. X{n,m} --> x debe aparecer entre n y m veces. X{n,} --> x debe aparecer al menos n veces. \t --> Tabulación. {n} --> n ocurrencias exactas. {n,m} --> De n a m ocurrencias (siendo n < m). {n,} --> n o más ocurrencias. ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ELEMENTOS-DEL-LENGUAJE----------------------------------------------------------------------------------------------------------------------------------Esquema, xs:schema, contiene la definición del esquema. Tipos complejos, xs:complexType, define tipos complejos. Tipos simples, xs:simpleType, permite definir un tipo simple restringiendo sus valores. Agrupaciones, xs:group, permite nombrar agrupaciones de elementos y de atributos para hacer referencia a ellas. Restricciones, xs:restriction, permite establecer una restricción sobre un elemento de tipo base. Secuencias, xs:secuence, permite construir elementos complejos mediante la enumeración de los que les forman. Alternativa, xs:choice, representa alternativas, hay que tener en cuenta que es una o-exclusiva. ----------------------------------------------------------------------------------------------------------------------------------------------------------------------