@@ -45,7 +45,7 @@ protected static function getChildElementsFromXML(
4545 DOMElement $ xml ,
4646 string |array |null $ namespace = null ,
4747 ): array {
48- $ namespace = $ namespace ?? self ::XS_ANY_ELT_NAMESPACE ;
48+ $ namespace = $ namespace ?? static ::XS_ANY_ELT_NAMESPACE ;
4949 $ exclusionList = self ::getElementExclusions ();
5050 $ registry = ElementRegistry::getInstance ();
5151 $ elements = [];
@@ -58,7 +58,11 @@ protected static function getChildElementsFromXML(
5858 foreach ($ xml ->childNodes as $ elt ) {
5959 if (!($ elt instanceof DOMElement)) {
6060 continue ;
61- } elseif (in_array ([$ elt ->namespaceURI , $ elt ->localName ], $ exclusionList , true )) {
61+ } elseif (
62+ $ exclusionList
63+ && (in_array ([$ elt ->namespaceURI , $ elt ->localName ], $ exclusionList , true )
64+ || in_array ([$ elt ->namespaceURI , '* ' ], $ exclusionList , true ))
65+ ) {
6266 continue ;
6367 } elseif ($ namespace === NS ::OTHER && in_array ($ elt ->namespaceURI , [self ::NS , null ], true )) {
6468 continue ;
@@ -205,13 +209,13 @@ public function getElements(): array
205209 public function getElementNamespace (): array |string
206210 {
207211 Assert::true (
208- defined ('self ::XS_ANY_ELT_NAMESPACE ' ),
212+ defined ('static ::XS_ANY_ELT_NAMESPACE ' ),
209213 self ::getClassName (self ::class)
210214 . '::XS_ANY_ELT_NAMESPACE constant must be defined and set to the namespace for the xs:any element. ' ,
211215 RuntimeException::class,
212216 );
213217
214- return self ::XS_ANY_ELT_NAMESPACE ;
218+ return static ::XS_ANY_ELT_NAMESPACE ;
215219 }
216220
217221
@@ -222,8 +226,8 @@ public function getElementNamespace(): array|string
222226 */
223227 public static function getElementExclusions (): array
224228 {
225- if (defined ('self ::XS_ANY_ELT_EXCLUSIONS ' )) {
226- return self ::XS_ANY_ELT_EXCLUSIONS ;
229+ if (defined ('static ::XS_ANY_ELT_EXCLUSIONS ' )) {
230+ return static ::XS_ANY_ELT_EXCLUSIONS ;
227231 }
228232
229233 return [];
0 commit comments