if (u.endsWith(".xsd")) {
XMLSchema2RestrRelaxNG xsd2rrng = new XMLSchema2RestrRelaxNG(datatypes);
if (extend)
rrng2xg.extend(rngparser.parse(xsd2rrng.convert(url), url));
else
xg = rrng2xg.convert(rngparser.parse(xsd2rrng.convert(url), url));
Map<String,String> m1 = xsd2rrng.getNameMap();
Map<String,String> m2 = rngparser.getTopLevelNewNames();
Map<String,SequenceNode> m3 = rrng2xg.getDefineNodes();
for (Map.Entry<String,String> e : m1.entrySet())
types.put(e.getKey(), m3.get(m2.get(e.getValue())));