1 37 package org.webharvest.definition; 38 39 import java.util.List ; 40 import java.util.Iterator ; 41 42 45 public class XQueryDef extends BaseElementDef { 46 47 private BaseElementDef xqDef; 48 49 private XQueryExternalParamDef[] externalParamDefs; 50 51 public XQueryDef(XmlNode xmlNode) { 52 super(xmlNode, false); 53 54 XmlNode xqDefNode = (XmlNode) xmlNode.get("xq-expression[0]"); 55 DefinitionResolver.validate(xqDefNode, null, "id"); 56 xqDef = xqDefNode == null ? null : new BaseElementDef(xqDefNode); 57 58 List listOfExternalParamNodes = (List ) xmlNode.get("xq-param"); 59 60 int size = listOfExternalParamNodes == null ? 0 : listOfExternalParamNodes.size(); 61 externalParamDefs = new XQueryExternalParamDef[size]; 62 63 if (listOfExternalParamNodes != null) { 64 Iterator it = listOfExternalParamNodes.iterator(); 65 int index = 0; 66 while (it.hasNext()) { 67 XmlNode currParamNode = (XmlNode) it.next(); 68 DefinitionResolver.validate(currParamNode, null, "id,!name,type"); 69 externalParamDefs[index++] = new XQueryExternalParamDef(currParamNode); 70 } 71 } 72 } 73 74 public BaseElementDef getXqDef() { 75 return xqDef; 76 } 77 78 public XQueryExternalParamDef[] getExternalParamDefs() { 79 return externalParamDefs; 80 } 81 82 } | Popular Tags |