Vector tagVector = new Vector();
// Create an iterator over the child elements of our <taglib> element
ClassLoader cl = ctxt.getClassLoader();
ParserUtils pu = ParserUtils.createParserUtils(cl);
TreeNode tld = pu.parseXMLDocument(uri, in);
Iterator list = tld.findChildren();
// Process each child element of our <taglib> element
while (list.hasNext()) {
TreeNode element = (TreeNode) list.next();
String tname = element.getName();
if ("tlibversion".equals(tname) || // JSP 1.1
"tlib-version".equals(tname)) // JSP 1.2
this.tlibversion = element.getBody();
else if ("jspversion".equals(tname) ||
"jsp-version".equals(tname))
this.jspversion = element.getBody();
else if ("shortname".equals(tname) ||
"short-name".equals(tname))
this.shortname = element.getBody();
else if ("uri".equals(tname))
this.urn = element.getBody();
else if ("info".equals(tname) ||
"description".equals(tname))
this.info = element.getBody();
else if ("validator".equals(tname))
this.tagLibraryValidator = createValidator(element);
else if ("tag".equals(tname))
tagVector.addElement(createTagInfo(element));
else if ("display-name".equals(tname) || // Ignored elements