/**
   * Converts an XML element into an <code>EppResponseDataRenewXriNumber</code> object. The caller
   * of this method must make sure that the root node is the resData element of EPP responseType for
   * creating an EPP XRI I-Number object
   *
   * @param root root node for an <code>EppResponseDataRenewXriNumber</code> object in XML format
   * @return an <code>EppResponseDataRenewXriNumber</code> object, or null if the node is invalid
   */
  public static EppEntity fromXML(Node root) {
    String i_number = null;
    Calendar exDate = null;
    NodeList list = root.getChildNodes();
    for (int i = 0; i < list.getLength(); i++) {
      Node node = list.item(i);
      String name = node.getLocalName();
      if (name == null) {
        continue;
      } else if (name.equals("inumber")) {
        i_number = EppUtil.getText(node);
      } else if (name.equals("exDate")) {
        exDate = EppUtil.getDate(node);
      }
    }

    return new EppResponseDataRenewXriNumber(i_number, exDate);
  }
  /**
   * Converts an <code>EppResponseDataRenewXriNumber</code> object into an XML element.
   *
   * @param doc the XML <code>Document</code> object
   * @param tag the tag/element name for the <code>EppResponseDataRenewXriNumber</code> object
   * @return an <code>Element</code> object
   */
  public Element toXML(Document doc, String tag) {
    Element elm;
    Element body = doc.createElement(tag);
    ElementNSImpl data = EppUtil.createElementNS(doc, "xriINU", "renData");
    body.appendChild(data);

    if (inumber != null) {
      elm = doc.createElement("inumber");
      elm.appendChild(doc.createTextNode(inumber));
      data.appendChild(elm);
    }
    if (exDate != null) {
      elm = doc.createElement("exDate");
      elm.appendChild(EppUtil.createTextNode(doc, exDate));
      data.appendChild(elm);
    }

    return body;
  }