Hi list,<br><br>In the method resolveSchema of ExtensibleXmlParser class, I think there's a problem.<br clear="all"><br>I'm using a changeset.xml, which has such a header<br><br><change-set xmlns="<a href="http://drools.org/drools-5.0/change-set">http://drools.org/drools-5.0/change-set</a>"<br>
xmlns:xs="<a href="http://www.w3.org/2001/XMLSchema-instance">http://www.w3.org/2001/XMLSchema-instance</a>"<br> xs:schemaLocation="<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>"><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'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( "/" );<br>
if ( index == -1 ) {<br>
index = systemId.lastIndexOf( "\\" );<br>
}<br>
if ( index != -1 ) {<br>
xsd = systemId.substring( index + 1 );<br>
} else {<br>
xsd = systemId;<br>
}<br>-- <br>唐睿<br>