public Extension build(InputStream is) throws IOException, SAXException, ParserConfigurationException {
  Digester digester=new Digester(saxf.newSAXParser());
  digester.setRuleNamespaceURI(EXTENSION_NAMESPACE);
  Extension e=new Extension();
  digester.push(e);
  digester.addCallMethod("*/extension","setTitle",1);
  digester.addRule("*/extension",new CallParamNoNSRule(0,"title"));
  digester.addCallMethod("*/extension","setName",1);
  digester.addCallParam("*/extension",0,"name");
  digester.addCallMethod("*/extension","setNamespace",1);
  digester.addCallParam("*/extension",0,"namespace");
  digester.addCallMethod("*/extension","setRowType",1);
  digester.addCallParam("*/extension",0,"rowType");
  digester.addCallMethod("*/extension","setIssuedDateAsString",1);
  digester.addRule("*/extension",new CallParamNoNSRule(0,"issued"));
  digester.addCallMethod("*/extension","setLink",1);
  digester.addRule("*/extension",new CallParamNoNSRule(0,"relation"));
  digester.addCallMethod("*/extension","setDescription",1);
  digester.addRule("*/extension",new CallParamNoNSRule(0,"description"));
  digester.addCallMethod("*/extension","setSubject",1);
  digester.addRule("*/extension",new CallParamNoNSRule(0,"subject"));
  digester.addObjectCreate("*/property",ExtensionProperty.class);
  digester.addCallMethod("*/property","setQualname",1);
  digester.addCallParam("*/property",0,"qualName");
  digester.addCallMethod("*/property","setName",1);
  digester.addCallParam("*/property",0,"name");
  digester.addCallMethod("*/property","setNamespace",1);
  digester.addCallParam("*/property",0,"namespace");
  digester.addCallMethod("*/property","setGroup",1);
  digester.addCallParam("*/property",0,"group");
  digester.addCallMethod("*/property","setRequired",1);
  digester.addCallParam("*/property",0,"required");
  digester.addCallMethod("*/property","setLink",1);
  digester.addRule("*/property",new CallParamNoNSRule(0,"relation"));
  digester.addCallMethod("*/property","setDescription",1);
  digester.addRule("*/property",new CallParamNoNSRule(0,"description"));
  digester.addCallMethod("*/property","setExamples",1);
  digester.addCallParam("*/property",0,"examples");
  digester.addCallMethod("*/property","setType",1);
  digester.addCallParam("*/property",0,"type");
  digester.addRule("*/property",thesaurusRule);
  digester.addSetNext("*/property","addProperty");
  digester.parse(is);
  return e;
}

public Extension build ( InputStream is ) throws IOException , SAXException , ParserConfigurationException { Digester digester = new Digester ( saxf . newSAXParser ( ) ) ; digester . setRuleNamespaceURI ( EXTENSION_NAMESPACE ) ; Extension e = new Extension ( ) ; digester . push ( e ) ; digester . addCallMethod ( "*/extension" , "setTitle" , 1 ) ; digester . addRule ( "*/extension" , new CallParamNoNSRule ( 0 , "title" ) ) ; digester . addCallMethod ( "*/extension" , "setName" , 1 ) ; digester . addCallParam ( "*/extension" , 0 , "name" ) ; digester . addCallMethod ( "*/extension" , "setNamespace" , 1 ) ; digester . addCallParam ( "*/extension" , 0 , "namespace" ) ; digester . addCallMethod ( "*/extension" , "setRowType" , 1 ) ; digester . addCallParam ( "*/extension" , 0 , "rowType" ) ; digester . addCallMethod ( "*/extension" , "setIssuedDateAsString" , 1 ) ; digester . addRule ( "*/extension" , new CallParamNoNSRule ( 0 , "issued" ) ) ; digester . addCallMethod ( "*/extension" , "setLink" , 1 ) ; digester . addRule ( "*/extension" , new CallParamNoNSRule ( 0 , "relation" ) ) ; digester . addCallMethod ( "*/extension" , "setDescription" , 1 ) ; digester . addRule ( "*/extension" , new CallParamNoNSRule ( 0 , "description" ) ) ; digester . addCallMethod ( "*/extension" , "setSubject" , 1 ) ; digester . addRule ( "*/extension" , new CallParamNoNSRule ( 0 , "subject" ) ) ; digester . addObjectCreate ( "*/property" , ExtensionProperty . class ) ; digester . addCallMethod ( "*/property" , "setQualname" , 1 ) ; digester . addCallParam ( "*/property" , 0 , "qualName" ) ; digester . addCallMethod ( "*/property" , "setName" , 1 ) ; digester . addCallParam ( "*/property" , 0 , "name" ) ; digester . addCallMethod ( "*/property" , "setNamespace" , 1 ) ; digester . addCallParam ( "*/property" , 0 , "namespace" ) ; digester . addCallMethod ( "*/property" , "setGroup" , 1 ) ; digester . addCallParam ( "*/property" , 0 , "group" ) ; digester . addCallMethod ( "*/property" , "setRequired" , 1 ) ; digester . addCallParam ( "*/property" , 0 , "required" ) ; digester . addCallMethod ( "*/property" , "setLink" , 1 ) ; digester . addRule ( "*/property" , new CallParamNoNSRule ( 0 , "relation" ) ) ; digester . addCallMethod ( "*/property" , "setDescription" , 1 ) ; digester . addRule ( "*/property" , new CallParamNoNSRule ( 0 , "description" ) ) ; digester . addCallMethod ( "*/property" , "setExamples" , 1 ) ; digester . addCallParam ( "*/property" , 0 , "examples" ) ; digester . addCallMethod ( "*/property" , "setType" , 1 ) ; digester . addCallParam ( "*/property" , 0 , "type" ) ; digester . addRule ( "*/property" , thesaurusRule ) ; digester . addSetNext ( "*/property" , "addProperty" ) ; digester . parse ( is ) ; return e ; }
builds an extension from the supplied input stream .
