Hi list,<br><br>In the method resolveSchema of ExtensibleXmlParser class, I think there&#39;s a problem.<br clear="all"><br>I&#39;m using a changeset.xml, which has such a header<br><br>&lt;change-set xmlns=&quot;<a href="http://drools.org/drools-5.0/change-set">http://drools.org/drools-5.0/change-set</a>&quot;<br>

    xmlns:xs=&quot;<a href="http://www.w3.org/2001/XMLSchema-instance">http://www.w3.org/2001/XMLSchema-instance</a>&quot;<br>    xs:schemaLocation=&quot;<a href="http://drools.org/drools-5.0/change-set">http://drools.org/drools-5.0/change-set</a> <b>/META-INF/schema/change-set-1.0.0.xsd</b>&quot;&gt;<br>

<br>I want to fetch the xsd file from the path /META-INF/schema, but failed.<br><br>According to the method statement following, to find a xsd file name, the systemId was substring-ed using lastIndexOf method. In this case no matter what path I use to replace the bold text, only change-set-1.0.0.xsd will be picked. Then the method will find the file under /META-INF, META-INF and class path. That means even I&#39;ve written the path /META-INF/schema/change-set-1.0.0.xsd, but /META-INF/change-set-1.0.0.xsd will be used.<br>

<br>        String xsd;<br>
        int index = systemId.lastIndexOf( &quot;/&quot; );<br>
        if ( index == -1 ) {<br>
            index = systemId.lastIndexOf( &quot;\\&quot; );<br>
        }<br>
        if ( index != -1 ) {<br>
            xsd = systemId.substring( index + 1 );<br>
        } else {<br>
            xsd = systemId;<br>
        }<br>-- <br>唐睿<br>