PerInstantiationScope pis = new PerInstantiationScope(b, ibex, parentPis, staticScope);
for(int i=0; i<urikeys.length; i++) {
+ if (urikeys[i] == null) continue;
pis.declare(urikeys[i]);
pis.put(urikeys[i], ibex.resolveString(urivals[i], true));
}
if (c.getAttrLen() != 0)
throw new XML.Exn("root element must not have attributes", XML.Exn.SCHEMA, getLine(), getCol());
if (c.getUri("ui") == null || "".equals(c.getUri("ui"))) c.addUri("ui", "ibex://ui");
+ if (c.getUri("meta") == null || "".equals(c.getUri("meta"))) c.addUri("meta", "ibex://meta");
if (c.getUri("") == null || "".equals(c.getUri(""))) c.addUri("", initial_uri);
state = STATE_IN_ROOT_NODE;
return;
case STATE_IN_ROOT_NODE:
- if ("ibex://meta".equals(c.getUri())) { state = STATE_IN_META_NODE; meta = 0; return; }
+ if ("ibex://meta".equals(c.getUri())) {
+ state = STATE_IN_META_NODE; meta = 0; return;
+ }
state = STATE_IN_TEMPLATE_NODE;
t = (t == null) ? new Template(ibex) : new Template(t, getLine());
break;
}
Hash urimap = c.getUriMap();
- t.urikeys = new String[urimap.size() - (urimap.get("ui") == null ? 0 : 1)];
- t.urivals = new String[urimap.size() - (urimap.get("ui") == null ? 0 : 1)];
+ t.urikeys = new String[urimap.size()];
+ t.urivals = new String[urimap.size()];
Enumeration uriEnumeration = urimap.keys();
int ii = 0;
while(uriEnumeration.hasMoreElements()) {
String key = (String)uriEnumeration.nextElement();
- if (key.equals("ui")) continue;
String val = (String)urimap.get(key);
+ if (val.equals("ibex://ui")) continue;
+ if (val.equals("ibex://meta")) continue;
t.urikeys[ii] = key;
if (val.length() > 0 && val.charAt(0) == '.') val = val.substring(1);
t.urivals[ii] = val;