Sprawdź poprawność schematu w pliku beans.xml

Jeśli plik beans.xml zawiera elementy decorators lub interceptors, w celu właściwego utworzenia instancji należy użyć poprawnego schematu. Położenia przestrzeni nazw i schematu w pliku beans.xml muszą być zgodne ze specyfikacją dla odpowiedniej wersji CDI.

Ta reguła skanuje pliki beans.xml, sprawdzając, czy w atrybucie xmlns podano poprawną przestrzeń nazw. Jeśli przestrzeń nazw jest poprawna, reguła sprawdza także, czy odpowiednie położenie schematu w atrybucie schemaLocation jest poprawne.

W poniższym przykładzie przedstawiono poprawny plik beans.xml na potrzeby specyfikacji CDI 1.0.


<beans xmlns="http://java.sun.com/xml/ns/javaee" 
		  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
		  xsi:schemaLocation="http://java.sun.com/xml/ns/javaee 
		  		      		 http://java.sun.com/xml/ns/javaee/beans_1_0.xsd">
</beans> 

W poniższym przykładzie przedstawiono poprawny plik beans.xml na potrzeby specyfikacji CDI 1.2.


<beans xmlns="http://xmlns.jcp.org/xml/ns/javaee" 
		  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
		  xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee 
		  		      		 http://xmlns.jcp.org/xml/ns/javaee/beans_1_1.xsd" 
		  				 			 bean-discovery-mode="all" version="1.1">
</beans>
 

Jeśli przestrzeń nazw jest podana i nie jest zgodna z żadną specyfikacją, serwer zgłasza wyjątek podczas przetwarzania pliku beans.xml. Sprawdzanie poprawności można wyłączyć, ustawiając następującą właściwość JVM:

		
	org.jboss.weld.xml.disableValidating=true

Jeśli przestrzeń nazw jest podana, reguła nie oznacza pliku beans.xml.

Jeśli rozważane jest użycie implementacji CDI 1.2 dostępnej w środowisku Java EE 7, należy zapoznać się z tematem Zmiany w działaniu implementacji Contexts and Dependency Injection 1.2.