|  Limitações em um jogo dos valores 
			 | 
		
		
			| 
			  Para limitar o índice de elementos de XML a um jogo de valores aceitáveis, nós usaríamos o confinamente da enumeração. 
			 
			 O exemplo abaixo define um elemento chamado “carro” com uma limitação. Os únicos valores aceitáveis são: Audi, Golf, BMW: 
			 
			 | 
		
        
		 
			
				
				    
					<xs:element name="car"> 
					<xs:simpleType> 
					 <xs:restriction base="xs:string"> 
					<xs:enumeration value="Audi"/> 
					<xs:enumeration value="Golf"/> 
					<xs:enumeration value="BMW"/> 
					</xs:restriction> 
					</xs:simpleType> 
					</xs:element> 
					  | 
				  
			   
			 | 
	    
	    
		 	| 
			 | 
			  O exemplo acima poderia também ter sido escrito dentro como este: 
			 
			 | 
	  
	  
	  	   
	  		  
	  				
	  				    
	  					<xs:element name="car" type="carType"/> 
						<xs:simpleType name="carType"> 
						<xs:restriction base="xs:string"> 
						<xs:enumeration value="Audi"/> 
						<xs:enumeration value="Golf"/> 
						<xs:enumeration value="BMW"/> 
						</xs:restriction> 
                        </xs:simpleType> 
	  					  | 
	  				  
	  			  
	  		 | 
	  	
	  	
	  		
	  		| 
	  		  Nota: No exemplo acima do tipo o “carType” pode ser usado por outros elementos porque não é uma parte do elemento do “carro”. 
			 
	  	    | 
	
	
	   |  Limitações em uma série dos valores 
		 | 
	
	
		| 
		  Para limitar o índice de um elemento de XML para definir uma série das letras ou dos números que podem ser usados, nós usaríamos o confinamente do teste padrão. 
		 
		 O exemplo abaixo define um elemento chamado “letra” com uma limitação. O único valor aceitável é UMA da letra LOWERCASE de a a z: 
		 
		 | 
	
	
	   
		  
				
				    
					 <xs:element name="letter"> 
					 <xs:simpleType> 
					 <xs:restriction base="xs:string"> 
					 <xs:pattern value="[a-z]"/> 
					 </xs:restriction> 
					 </xs:simpleType> 
					</xs:element> 
					  | 
				  
			  
		 | 
	
	
			| 
		  O exemplo seguinte define um elemento chamado “iniciais” com uma limitação. O único valor aceitável é TRÊS da letra CAIXA de a a z: 
		 
		 | 
	
	
		   
				
					
					    
						<xs:element name="initials"> 
						<xs:simpleType> 
						<xs:restriction base="xs:string"> 
						<xs:pattern value="[A-Z][A-Z][A-Z]"/> 
						</xs:restriction> 
						</xs:simpleType> 
						</xs:element> 
						 | 
					  
				  
			 | 
	
	
		| 
			  O exemplo seguinte define também um elemento chamado “iniciais” com uma limitação. O único valor aceitável é TRÊS da letra LOWERCASE OU CAIXA de a a z: 
			 
			 | 
	
	
	   
			
				
					
					<xs:element name="initials"> 
					<xs:simpleType> 
					<xs:restriction base="xs:string"> 
					<xs:pattern value="[a-zA-Z][a-zA-Z][a-zA-Z]"/> 
					</xs:restriction> 
					</xs:simpleType> 
					</xs:element> 
					  | 
				  
			  
		 | 
	
	
		| 
		  O exemplo seguinte define um elemento chamado “escolha” com uma limitação. O único valor aceitável é UMA da seguinte letra: x, y, OU z: 
		 
		 | 
	
	
	   
			
				
					
					<xs:element name="choice"> 
					<xs:simpleType> 
					<xs:restriction base="xs:string"> 
					<xs:pattern value="[xyz]"/> 
					</xs:restriction> 
					</xs:simpleType> 
					</xs:element> 
					  | 
				  
			  
		 | 
	
	
		| 
			  O exemplo seguinte define um elemento chamado “prodid” com uma limitação. O único valor aceitável é CINCO dígitos em uma seqüência, e cada dígito deve estar na escala de 0 a 9: 
			 
		 | 
	
	
	   
			
				
					
					<xs:element name="prodid"> 
					<xs:simpleType> 
					<xs:restriction base="xs:integer"> 
					<xs:pattern value="[0-9][0-9][0-9][0-9][0-9]"/> 
					</xs:restriction> 
					</xs:simpleType> 
					</xs:element> 
					  | 
				  
			  
		 | 
	
	
	
	
	
		
			|  Limitações em caráteres de Whitespace 
		 | 
		
		
			| 
			  Para especificar como os caráteres do whitespace devem ser segurados, nós usaríamos os confinamentes do whiteSpace. 
			 
			Este exemplo define um elemento chamado “endereço” com uma limitação. O confinamente do whiteSpace é ajustado ao “preserve”, que significa que o processador de XML não removerá nenhum caráter de espaço branco 
			 
			 | 
		
		
		   
				
					
						
						<xs:element name="address"> 
						<xs:simpleType> 
						<xs:restriction base="xs:string"> 
						<xs:whiteSpace value="preserve"/> 
						</xs:restriction> 
						</xs:simpleType> 
						</xs:element>  
						  | 
					  
				  
			 | 
		
		
			| 
			  Este exemplo define também um elemento chamado “endereço” com uma limitação. O confinamente do whiteSpace é ajustado a “substitui”, que significam que o processador de XML SUBSTITUIRÁ todos os caráteres de espaço brancos (LINE FEED, abas, espaços, e retornos do carro) com os espaços: 
			 
			 | 
		
		
		   
				
					
						
						 <xs:element name="address"> 
						 <xs:simpleType> 
						 <xs:restriction base="xs:string"> 
						 <xs:whiteSpace value="replace"/> 
						 </xs:restriction> 
						 </xs:simpleType> 
						 </xs:element> 
						  | 
					  
				  
			 | 
		
		
			
			| 
			  Este exemplo define também um elemento chamado “endereço” com uma limitação. O confinamente do whiteSpace é ajustado ao “colapso”, que significa que o processador de XML REMOVERÁ todo o caráter de espaço branco (LINE FEED, abas, espaços, os retornos do carro são substituídos com os espaços, os espaços conduzindo e arrastando são removidos, e os espaços múltiplos são reduzidos ao único espaço):  
			 | 
		
		
		   
				
					
						
						<xs:element name="address"> 
						<xs:simpleType> 
						<xs:restriction base="xs:string"> 
						<xs:whiteSpace value="collapse"/> 
						</xs:restriction> 
						</xs:simpleType> 
					    </xs:element> 
						  | 
					  
				  
			 | 
		
		
			|  Limitações no comprimento 
			 | 
		
		
			| 
			  Para limitar dentro o comprimento de um valor a um elemento, nós usaríamos o comprimento, o maxLength, e os confinamentes do minLength. 
			 
			Este exemplo define um elemento chamado “senha” com uma limitação. O valor deve ser exatamente oito caráteres: 
			 
			 | 
		
		
		   
				
					
						
						<xs:element name="password"> 
						<xs:simpleType> 
						<xs:restriction base="xs:string"> 
						<xs:length value="8"/> 
						</xs:restriction> 
						</xs:simpleType> 
						</xs:element> 
						  | 
					  
				  
			 | 
		
		
			| 
			  Este exemplo define um outro elemento chamado “senha” com uma limitação. O valor deve ser oito caráteres máximos e caráteres do mínimo cinco: 
			 
			 | 
		
		
		   
		 	  	
					
						
						<xs:element name="password"> 
						<xs:simpleType> 
						<xs:restriction base="xs:string"> 
						<xs:minLength value="5"/> 
						<xs:maxLength value="8"/> 
						</xs:restriction> 
						</xs:simpleType> 
						</xs:element> 
		    			  | 
					  
				  
			 | 
		
		
			|  Limitações para Datatypes 
			 | 
		
		
		   
				
					
						| Constraint | 
						Description | 
					 
					
						| enumeration | 
						Defines a list of acceptable values | 
					 
					
						| fractionDigits | 
						Specifies the maximum number of decimal places allowed.
						Must be equal to or greater than zero | 
					 
					
						| length | 
						Specifies the exact number of characters or list items
						allowed. Must be equal to or greater than zero | 
					 
					
						| maxExclusive | 
						Specifies the upper bounds for numeric values (the
						value must be less than this value) | 
					 
					
						| maxInclusive | 
						Specifies the upper bounds for numeric values (the
						value must be less than or equal to this value) | 
					 
					
						| maxLength | 
						Specifies the maximum number of characters or list
						items allowed. Must be equal to or greater than zero | 
					 
					
						| minExclusive | 
						Specifies the lower bounds for numeric values (the
						value must be greater than this value) | 
					 
					
						| minInclusive | 
						Specifies the lower bounds for numeric values (the
						value must be greater than or equal to this value) | 
					 
					
						| minLength | 
						Specifies the minimum number of characters or list
						items allowed. Must be equal to or greater than zero | 
					 
					
						| pattern | 
						Defines the exact sequence of characters that are
						acceptable
						 | 
					 
					
						| totalDigits | 
						Specifies the exact number of digits allowed. Must be
						greater than zero | 
					 
					
						| whiteSpace | 
						Specifies how white space (line feeds, tabs, spaces,
						and carriage returns) is handled | 
					 
				 
			 | 
		
	
    
  
     
	
		
			  | 
			  | 
		
	
	 Keywords:
  	XSD restrictions/facets,web service xsd,xsd tutorial,xsd xml,xsd examples,xsd dtd,xsd validator,xslt xsd,sample xsd