X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;f=src%2Forg%2Fibex%2FTemplate.java;fp=src%2Forg%2Fibex%2FTemplate.java;h=154de72b70027cf17158b285ad00c272f37310c6;hb=4abd3e305d0b87f37d5969016b86ba53574a3210;hp=ed91cd3e572ce46341563178c803a013fe09beff;hpb=4f63a0b39ef27ac9a9158b9161edfd05f4a5dcd4;p=org.ibex.core.git diff --git a/src/org/ibex/Template.java b/src/org/ibex/Template.java index ed91cd3..154de72 100644 --- a/src/org/ibex/Template.java +++ b/src/org/ibex/Template.java @@ -181,8 +181,8 @@ public class Template { throw new XML.Exn("root element was not ", XML.Exn.SCHEMA, getLine(), getCol()); if (c.getAttrLen() != 0) throw new XML.Exn("root element must not have attributes", XML.Exn.SCHEMA, getLine(), getCol()); - if (c.getUri("ui") == null) c.addUri("ui", "ibex://ui"); - if (c.getUri("") == null) c.addUri("", initial_uri); + if (c.getUri("ui") == null || "".equals(c.getUri("ui"))) c.addUri("ui", "ibex://ui"); + if (c.getUri("") == null || "".equals(c.getUri(""))) c.addUri("", initial_uri); state = STATE_IN_ROOT_NODE; return; case STATE_IN_ROOT_NODE: @@ -207,15 +207,16 @@ public class Template { } Hash urimap = c.getUriMap(); - t.urikeys = new String[urimap.size()]; - t.urivals = new String[urimap.size()]; + t.urikeys = new String[urimap.size() - (urimap.get("ui") == null ? 0 : 1)]; + t.urivals = new String[urimap.size() - (urimap.get("ui") == null ? 0 : 1)]; 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); t.urikeys[ii] = key; - if (val.charAt(0) == '.') val = val.substring(1); + if (val.length() > 0 && val.charAt(0) == '.') val = val.substring(1); t.urivals[ii] = val; ii++; }