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 beans.xml pliki, aby sprawdzić, czy przestrzeń nazw podana w parametrze xmlns
atrybut pasuje do odpowiadającej lokalizacji schematu na
schemaLocation atrybut.
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, reguła nie oznacza pliku beans.xml.
Automatyczna poprawka dla tej reguły aktualizuje niekompatybilne przestrzenie nazw z wartością odpowiednią dla określonego schemaLocation. Skopiuj konfigurację niestandardową do pliku budowania aplikacji, aby włączyć automatyzację poprawek.
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.