Saltar la navegación

7.- Tipos Simples

¿Cuáles son?

  • Tipos cuyos valores pueden expresarse como una cadena de caracteres 
  • Se usan en 
    • Atributos 
    • Elementos cuyo contenido es sólo texto y no tienen atributos 
  • Sintaxis 
    • <xsd:element name=“nombreElem” type=“xsd:string”/> 
    • <xsd:attribute name=“nombreAtrib” type=“xsd:string”/> 
    • Con atributos opcionales default y fixed 
    • Y use=“required” solo para atributos 

Tipos simples integrados

  • string: confirma que esto es eléctrico 
  • boolean: true, false 
  • float: -INF, 1E4, -0, 0, 12.78E-2, 12, INF.. equivalente a un punto flotante de 32 bits de precisión sencilla 
  • double: -INF, 1E4, -0, 0, 12.78E-2, 12, INF.. equivalente a un punto flotante de 64 bits de precisión doble 
  • decimal: -1.23, 0, 123.4, 1000.00 
  • duration: P1Y2M3DT10H30M12.3S(1 año, 2 meses, 3 días, 10 horas, 30 minutos y 12.3 segundos) 
  • hexBinary: 100010 
  • anyURI: http://www.ejemplo.com 
  • integer: -126789, -1, 0, 1, 126789 
  • nonPositiveInteger: -126789, -1, 0 
  • negativeInteger: -126789, -1 
  • ....

Restricciones con enumeraciones

<xsd:element name="dia"> 
	<xsd:simpleType> 
		<xsd:restriction base="xsd:string"> 
			<xsd:enumeration value="Lunes"/> 
			<xsd:enumeration value="Martes"/> 
			<xsd:enumeration value="Miércoles"/> 
			<xsd:enumeration value="Jueves"/> 
			<xsd:enumeration value="Viernes"/> 
			<xsd:enumeration value="Sábado"/> 
			<xsd:enumeration value="Domingo"/> 
		</xsd:restriction> 
	</xsd:simpleType> 
</xsd:element>

Restricción con valores

<xsd:element name="state"> 
	<xsd:simpleType> 
		<xsd:restriction base="xsd:integer"> 
			<xsd:minInclusive value="0"/> 
			<xsd:maxInclusive value="100"/>
			<xsd:minExclusive value="0"/>
			<xsd:maxExclusive value="100"/> 
			<xsd:fractionDigits value="2"/> 
			<xsd:totalDigits value="5"/> 
		</xsd:restriction> 
	</xsd:simpleType> 
</xsd:element>

Restricción con cadenas

<xsd:element name="dia"> 
	<xsd:simpleType> 
		<xsd:restriction base="xsd:string"> 
			<xsd:length value="5"/> 
			<xsd:minLength value="1"/> 
			<xsd:maxLength value="3"/> 
			<xsd:whiteSpaces value="preserve"/> 
			<xsd:whiteSpaces value="replace"/> 
			<xsd:whiteSpaces value="collapse"/> 
			<xsd:pattern value = "[a-z]*[0-9]{3}"/> 
		</xsd:restriction> 
	</xsd:simpleType> 
</xsd:element>