code: @Override
      public String execute(EditXmlInputs inputs) throws Exception {
          Document doc = XmlUtils.createDocument(inputs.getXml(), inputs.getFilePath(), inputs.getParsingFeatures());
          NodeList nodeList = XmlUtils.readNode(doc, inputs.getXpath1(), XmlUtils.getNamespaceContext(inputs.getXml(), inputs.getFilePath()));
          Node node;
          for (int i = 0; i < nodeList.getLength(); i++) {
              node = nodeList.item(i);
              if (Constants.Inputs.TYPE_ELEM.equals(inputs.getType())) {
                  doc.renameNode(node, node.getNamespaceURI(), inputs.getValue());
              } else if (Constants.Inputs.TYPE_ATTR.equals(inputs.getType())) {
                  String attributeValue = ((Element) node).getAttribute(inputs.getName());
                  if ((attributeValue != null) && (!StringUtils.isEmpty(attributeValue))) {
                      ((Element) node).removeAttribute(inputs.getName());
                      ((Element) node).setAttribute(inputs.getValue(), attributeValue);
                  }
              }
          }
          return DocumentUtils.documentToString(doc);
      }
docs: Renames the tag or attribute of an XML (provided as String or file) at a given XPath.
  
  @param inputs inputs
  @return a String representation of the modified XML
  @throws Exception in case something goes wrong