/**
   * Rellena los datos del bean a partir de un nodo DOM en formato TDI XML
   *
   * @param __node Nodo DOM que contiene los datos del bean en formato TDI XML
   * @throws Exception Cuando el stream no tiene los datos adecuados para rellenar el bean
   */
  public void fromXML(org.w3c.dom.Element __node) throws Exception {
    {
      String __v = "";
      org.w3c.dom.Element __e = getNodeByName(__node, "resourceUri");
      if (__e != null && __e.getChildNodes().item(0) != null) {
        __v = __e.getChildNodes().item(0).getNodeValue();
      }
      setResourceUri(__v);
    }

    setChanged();
  }
  /**
   * Rellena los datos del bean a partir de un nodo DOM en formato TDI XML
   *
   * @param __node Nodo DOM que contiene los datos del bean en formato TDI XML
   * @throws Exception Cuando el stream no tiene los datos adecuados para rellenar el bean
   */
  public void fromXML(org.w3c.dom.Element __node) throws Exception {
    {
      // Buscar el tamaqo del array
      org.w3c.dom.Element __element = getNodeByName(__node, "subproperties");
      int __size = 0;
      if (__element != null) {
        __size = Integer.parseInt(__element.getAttribute("size"));
      }
      // Rellenar los valores del array
      for (int i = 0; i < __size; i++) {
        org.w3c.dom.Element __element2 = getNodeByName(__element, "subproperties_" + i);
        org.qualipso.advdoc.ws.client.metadata.beans.ResourceElement __entry;
        if (__element2.getAttribute("package") != null
            && __element2.getAttribute("package").length() != 0) {
          __entry =
              (org.qualipso.advdoc.ws.client.metadata.beans.ResourceElement)
                  Class.forName(
                          __element2.getAttribute("package")
                              + "."
                              + __element2.getAttribute("type"))
                      .newInstance();
        } else {
          __entry = new org.qualipso.advdoc.ws.client.metadata.beans.ResourceElement();
        }
        __entry.fromXML(__element2);
        addSubproperties(__entry);
      }
    }

    setChanged();
  }
 /**
  * Obtiene el primer nodo de un arbol DOM que cumple el tag especificado
  *
  * @param parent Nodo DOM donde se quiere buscar
  * @param name Tag que se esta buscando
  * @throws Exception Excepciones elevadas por el DOM
  * @return Cadena TDI XML
  */
 private org.w3c.dom.Element getNodeByName(org.w3c.dom.Element parent, String name)
     throws Exception {
   org.w3c.dom.NodeList child = parent.getChildNodes();
   for (int i = 0; i < child.getLength(); i++) {
     if (name.equals(child.item(i).getNodeName())) {
       return (org.w3c.dom.Element) child.item(i);
     }
   }
   return null;
 }