List of usage examples for org.w3c.dom Element removeAttribute
public void removeAttribute(String name) throws DOMException;
From source file:dk.dbc.rawrepo.oai.OAIWorker.java
private void fixXmlNamespacePrefix(Element element, String metadataPrefix, String namespaceURI) throws DOMException { String prefix = null;// w w w.j a va 2 s . c o m if (namespaceURI.equals(element.getNamespaceURI())) { prefix = element.getPrefix(); if (prefix == null) { prefix = ""; } element.setPrefix(metadataPrefix); } for (Node child = element.getFirstChild(); child != null; child = child.getNextSibling()) { if (child.getNodeType() == Node.ELEMENT_NODE) { fixXmlNamespacePrefix((Element) child, metadataPrefix, namespaceURI); } } if (prefix != null) { element.removeAttribute(prefix.isEmpty() ? "xmlns" : ("xmlns:" + prefix)); } }
From source file:org.alfresco.web.config.WebConfigRuntime.java
/** * @param configElem// w ww . jav a 2s . co m * @param attrName * @param properties * @return */ private boolean manageAttribute(Element configElem, String attrName, HashMap<String, String> properties) { boolean status = false; String newValue = properties.get(attrName); if (newValue != null && !newValue.equals("")) { if (!configElem.hasAttribute(attrName) || !configElem.getAttribute(attrName).equals(newValue)) { status = true; } configElem.setAttribute(attrName, newValue); } else { if (configElem.hasAttribute(attrName)) { configElem.removeAttribute(attrName); status = true; } } return status; }
From source file:com.enonic.vertical.adminweb.ContentObjectHandlerServlet.java
public void handlerForm(HttpServletRequest request, HttpServletResponse response, HttpSession session, AdminService admin, ExtendedMap formItems) throws VerticalAdminException { User user = securityService.getLoggedInAdminConsoleUser(); boolean createContentObject = false; String xmlData = null;//from w w w .j a v a2 s .co m Document doc; String queryParam = ""; String script = ""; int menuKey = formItems.getInt("menukey"); if (request.getParameter("key") == null || request.getParameter("key").equals("")) { // Blank form, make dummy document doc = XMLTool.createDocument("contentobjects"); createContentObject = true; } else { int cobKey = Integer.parseInt(request.getParameter("key")); xmlData = admin.getContentObject(cobKey); doc = XMLTool.domparse(xmlData); NodeList coNodes = doc.getElementsByTagName("contentobject"); Element contentobject = (Element) coNodes.item(0); String contentKeyStr = contentobject.getAttribute("contentkey"); if (contentKeyStr != null && contentKeyStr.length() > 0) { int contentKey = Integer.parseInt(contentKeyStr); String contentXML = admin.getContent(user, contentKey, 0, 0, 0); Document contentDoc = XMLTool.domparse(contentXML); NodeList contentNodes = contentDoc.getElementsByTagName("content"); Element content = (Element) contentNodes.item(0); content = (Element) doc.importNode(content, true); contentobject.appendChild(content); } String menuItemsXML; menuItemsXML = admin.getMenuItemsByContentObject(user, cobKey); Document menuItemsDoc = XMLTool.domparse(menuItemsXML); contentobject.appendChild(doc.importNode(menuItemsDoc.getDocumentElement(), true)); // Henter ut pagetemplates/frameworks som bruker dette contentobject String pageTemplatesXML = admin.getPageTemplatesByContentObject(cobKey); Document pageTemplatesDoc = XMLTool.domparse(pageTemplatesXML); contentobject.appendChild(doc.importNode(pageTemplatesDoc.getDocumentElement(), true)); Element objectstylesheetElem = XMLTool.getElement(contentobject, "objectstylesheet"); ResourceKey objectStyleSheetKey = new ResourceKey(objectstylesheetElem.getAttribute("key")); ResourceFile res = resourceService.getResourceFile(objectStyleSheetKey); objectstylesheetElem.setAttribute("exist", res == null ? "false" : "true"); if (res != null) { try { Document styleSheetDoc = res.getDataAsXml().getAsDOMDocument(); objectstylesheetElem.setAttribute("valid", "true"); Element styleSheetRoot = styleSheetDoc.getDocumentElement(); String attr = styleSheetRoot.getAttribute("xmlns:xsl"); styleSheetRoot.removeAttribute("xmlns:xsl"); styleSheetRoot.setAttributeNS("http://www.w3.org/2000/xmlns/", "xmlns:xsl", attr); Element elem = XMLTool.createElement(doc, contentobject, "objectstylesheet_xsl"); elem.appendChild(doc.importNode(styleSheetRoot, true)); } catch (XMLException e) { objectstylesheetElem.setAttribute("valid", "false"); } } Element borderstylesheetElem = XMLTool.getElement(contentobject, "borderstylesheet"); if (borderstylesheetElem != null) { ResourceKey borderStyleSheetKey = ResourceKey.parse(borderstylesheetElem.getAttribute("key")); if (borderStyleSheetKey != null) { res = resourceService.getResourceFile(borderStyleSheetKey); borderstylesheetElem.setAttribute("exist", res == null ? "false" : "true"); if (res != null) { try { Document borderStyleSheetDoc = res.getDataAsXml().getAsDOMDocument(); borderstylesheetElem.setAttribute("valid", "true"); Element styleSheetRoot = borderStyleSheetDoc.getDocumentElement(); String attr = styleSheetRoot.getAttribute("xmlns:xsl"); styleSheetRoot.removeAttribute("xmlns:xsl"); styleSheetRoot.setAttributeNS("http://www.w3.org/2000/xmlns/", "xmlns:xsl", attr); Element elem = XMLTool.createElement(doc, contentobject, "borderstylesheet_xsl"); elem.appendChild(doc.importNode(styleSheetRoot, true)); } catch (XMLException e) { borderstylesheetElem.setAttribute("valid", "false"); } } } } } if (xmlData != null) { Map subelems = XMLTool.filterElements(doc.getDocumentElement().getChildNodes()); if (subelems.get("contentobject") != null) { Element tempElem = (Element) subelems.get("contentobject"); Map contentobjectmap = XMLTool.filterElements(tempElem.getChildNodes()); Element contentobjectdata = (Element) contentobjectmap.get("contentobjectdata"); Map queryparammap = XMLTool.filterElements(contentobjectdata.getChildNodes()); tempElem = (Element) queryparammap.get("datasources"); Document queryParamDoc = XMLTool.createDocument(); tempElem = (Element) queryParamDoc.importNode(tempElem, true); queryParamDoc.appendChild(tempElem); StringWriter sw = new StringWriter(); queryParamDoc.normalize(); XMLTool.printDocument(sw, queryParamDoc, 0); queryParam = sw.toString(); // Find the script data Element scriptElem = (Element) queryparammap.get("script"); if (scriptElem != null) { script = XMLTool.getElementText(scriptElem); } Element[] paramElems = XMLTool.getElements(contentobjectdata, "stylesheetparam"); for (Element paramElem1 : paramElems) { String type = paramElem1.getAttribute("type"); if ("page".equals(type)) { String menuItemKeyStr = XMLTool.getElementText(paramElem1); int menuItemKey = Integer.parseInt(menuItemKeyStr); String name = admin.getMenuItemName(menuItemKey); paramElem1.setAttribute("valuename", name); } else if ("category".equals(type)) { String categoryKeyStr = XMLTool.getElementText(paramElem1); int categoryKey = Integer.parseInt(categoryKeyStr); String name = admin.getMenuItemName(categoryKey); paramElem1.setAttribute("valuename", name); } } paramElems = XMLTool.getElements(contentobjectdata, "borderparam"); for (Element paramElem : paramElems) { String type = paramElem.getAttribute("type"); if ("page".equals(type)) { String menuItemKeyStr = XMLTool.getElementText(paramElem); int menuItemKey = Integer.parseInt(menuItemKeyStr); String name = admin.getMenuItemName(menuItemKey); paramElem.setAttribute("valuename", name); } else if ("category".equals(type)) { String categoryKeyStr = XMLTool.getElementText(paramElem); int categoryKey = Integer.parseInt(categoryKeyStr); String name = admin.getMenuItemName(categoryKey); paramElem.setAttribute("valuename", name); } } } } ExtendedMap parameters = new ExtendedMap(); // Get default css if present ResourceKey defaultCSS = admin.getDefaultCSSByMenu(menuKey); if (defaultCSS != null) { parameters.put("defaultcsskey", defaultCSS.toString()); parameters.put("defaultcsskeyExist", resourceService.getResourceFile(defaultCSS) == null ? "false" : "true"); } VerticalAdminLogger.debug(this.getClass(), 0, doc); addCommonParameters(admin, user, request, parameters, -1, menuKey); if (createContentObject) { parameters.put("create", "1"); parameters.put("queryparam", "<?xml version=\"1.0\" ?>\n<datasources/>"); } else { parameters.put("create", "0"); queryParam = StringUtil.formatXML(queryParam, 2); parameters.put("queryparam", queryParam); } parameters.put("menukey", String.valueOf(menuKey)); parameters.put("page", String.valueOf(request.getParameter("page"))); String subop = formItems.getString("subop", ""); if ("popup".equals(subop)) { URL redirectURL = new URL("adminpage"); redirectURL.setParameter("op", "callback"); redirectURL.setParameter("callback", formItems.getString("callback")); redirectURL.setParameter("page", 991); redirectURL.setParameter("key", Integer.parseInt(request.getParameter("key"))); redirectURL.setParameter("fieldname", formItems.getString("fieldname")); redirectURL.setParameter("fieldrow", formItems.getString("fieldrow")); parameters.put("referer", redirectURL.toString()); parameters.put("subop", "popup"); } else { parameters.put("referer", request.getHeader("referer")); } parameters.put("subop", subop); parameters.put("fieldname", formItems.getString("fieldname", null)); parameters.put("fieldrow", formItems.getString("fieldrow", null)); parameters.put("script", script); addAccessLevelParameters(user, parameters); UserEntity defaultRunAsUser = siteDao.findByKey(menuKey).resolveDefaultRunAsUser(); String defaultRunAsUserName = "NA"; if (defaultRunAsUser != null) { defaultRunAsUserName = defaultRunAsUser.getDisplayName(); } parameters.put("defaultRunAsUser", defaultRunAsUserName); transformXML(request, response, doc, "contentobject_form.xsl", parameters); }
From source file:jef.tools.XMLUtils.java
/** * XSD Schema//from ww w . ja va 2 s . c o m * * @param node * DOM * @param schemaURL * XSDURL */ public static void setXsdSchema(Node node, String schemaURL) { Document doc; if (node.getNodeType() != Node.DOCUMENT_NODE) { doc = node.getOwnerDocument(); } else { doc = (Document) node; } Element root = doc.getDocumentElement(); if (schemaURL == null) { root.removeAttribute("xmlns:xsi"); root.removeAttribute("xsi:noNamespaceSchemaLocation"); } else { root.setAttribute("xmlns:xsi", "http://www.w3.org/2001/XMLSchema-instance"); root.setAttribute("xsi:noNamespaceSchemaLocation", schemaURL); } }
From source file:com.enonic.cms.web.portal.services.ContentServicesBase.java
protected String buildXML(UserServicesService userServices, User user, ExtendedMap formItems, SiteKey siteKey, int contentTypeKey, String contentTitle, boolean skipEmptyElements) { Document doc;/* w ww. j a va2 s . c o m*/ Element contentElem; Element contentdataElem; int contentKey = formItems.getInt("key", -1); if (contentKey == -1) { contentKey = formItems.getInt("contentkey", -1); } if (contentKey == -1) { doc = XMLTool.createDocument("content"); contentElem = doc.getDocumentElement(); int categoryKey = formItems.getInt("categorykey"); CategoryEntity categoryEntity = categoryDao.findByKey(new CategoryKey(categoryKey)); if (categoryEntity.getAutoMakeAvailableAsBoolean()) { contentElem.setAttribute("publishfrom", CalendarUtil.formatCurrentDate()); contentElem.setAttribute("status", "2"); } else { // new content is created as draft contentElem.setAttribute("status", "0"); contentElem.removeAttribute("publishfrom"); contentElem.removeAttribute("publishto"); } contentElem.setAttribute("contenttypekey", String.valueOf(contentTypeKey)); contentElem.setAttribute("priority", "0"); // category: Element category = XMLTool.createElement(doc, contentElem, "categoryname"); category.setAttribute("key", String.valueOf(categoryKey)); // content title XMLTool.createElement(doc, contentElem, "title", contentTitle); // content data contentdataElem = XMLTool.createElement(doc, contentElem, "contentdata"); } else { doc = userServices.getContent(user, contentKey, false, 0, 0, 0).getAsDOMDocument(); Element rootElem = doc.getDocumentElement(); contentElem = XMLTool.getFirstElement(rootElem); rootElem.removeChild(contentElem); doc.replaceChild(contentElem, rootElem); // modifier/@key Element modifierElem = XMLTool.getElement(contentElem, "modifier"); XMLTool.removeChildFromParent(contentElem, modifierElem); modifierElem = XMLTool.createElement(contentElem, "modifier"); modifierElem.setAttribute("key", String.valueOf(user.getKey())); // version/@key int versionKey = userServices.getCurrentVersionKey(contentKey); contentElem.setAttribute("versionkey", String.valueOf(versionKey)); // content title Element title = XMLTool.getElement(contentElem, "title"); XMLTool.removeChildNodes(title); XMLTool.createTextNode(doc, title, contentTitle); // content data contentdataElem = XMLTool.getElement(contentElem, "contentdata"); XMLTool.removeChildNodes(contentdataElem, true); } buildContentTypeXML(userServices, contentdataElem, formItems, skipEmptyElements); return XMLTool.documentToString(doc); }
From source file:com.enonic.vertical.userservices.ContentHandlerBaseController.java
protected String buildXML(UserServicesService userServices, User user, ExtendedMap formItems, SiteKey siteKey, int contentTypeKey, String contentTitle, boolean skipEmptyElements) throws VerticalUserServicesException, RemoteException { Document doc;/* w w w. j a va 2 s. co m*/ Element contentElem; Element contentdataElem; int contentKey = formItems.getInt("key", -1); if (contentKey == -1) { contentKey = formItems.getInt("contentkey", -1); } if (contentKey == -1) { doc = XMLTool.createDocument("content"); contentElem = doc.getDocumentElement(); int categoryKey = formItems.getInt("categorykey"); CategoryEntity categoryEntity = categoryDao.findByKey(new CategoryKey(categoryKey)); if (categoryEntity.getAutoMakeAvailableAsBoolean()) { contentElem.setAttribute("publishfrom", CalendarUtil.formatCurrentDate()); contentElem.setAttribute("status", "2"); } else { // new content is created as draft contentElem.setAttribute("status", "0"); contentElem.removeAttribute("publishfrom"); contentElem.removeAttribute("publishto"); } contentElem.setAttribute("contenttypekey", String.valueOf(contentTypeKey)); contentElem.setAttribute("priority", "0"); // category: Element category = XMLTool.createElement(doc, contentElem, "categoryname"); category.setAttribute("key", String.valueOf(categoryKey)); // content title XMLTool.createElement(doc, contentElem, "title", contentTitle); // content data contentdataElem = XMLTool.createElement(doc, contentElem, "contentdata"); } else { doc = XMLTool.domparse(userServices.getContent(user, contentKey, false, 0, 0, 0)); Element rootElem = doc.getDocumentElement(); contentElem = XMLTool.getFirstElement(rootElem); rootElem.removeChild(contentElem); doc.replaceChild(contentElem, rootElem); // modifier/@key Element modifierElem = XMLTool.getElement(contentElem, "modifier"); XMLTool.removeChildFromParent(contentElem, modifierElem); modifierElem = XMLTool.createElement(contentElem, "modifier"); modifierElem.setAttribute("key", String.valueOf(user.getKey())); // version/@key int versionKey = userServices.getCurrentVersionKey(contentKey); contentElem.setAttribute("versionkey", String.valueOf(versionKey)); // content title Element title = XMLTool.getElement(contentElem, "title"); XMLTool.removeChildNodes(title); XMLTool.createTextNode(doc, title, contentTitle); // content data contentdataElem = XMLTool.getElement(contentElem, "contentdata"); XMLTool.removeChildNodes(contentdataElem, true); } buildContentTypeXML(userServices, contentdataElem, formItems, skipEmptyElements); return XMLTool.documentToString(doc); }
From source file:edu.uams.clara.webapp.xml.processor.impl.DefaultXmlProcessorImpl.java
@Override public String deleteAttributeByPathAndAttributeName(String path, String attributeName, final String xmlData) throws SAXException, IOException, XPathExpressionException { Assert.hasText(path);/*from w w w. ja v a 2 s . co m*/ Assert.hasText(xmlData); Document finalDom = parse(xmlData); XPath xPath = getXPathInstance(); NodeList nodeList = (NodeList) (xPath.evaluate(path, finalDom, XPathConstants.NODESET)); int l = nodeList.getLength(); Element currentElement = null; for (int i = 0; i < l; i++) { if (nodeList.item(i) == null) continue; currentElement = (Element) nodeList.item(i); currentElement.removeAttribute(attributeName); } return DomUtils.elementToString(finalDom.getFirstChild()); }
From source file:com.icesoft.faces.context.effects.CurrentStyle.java
/** * Apply css changes to rendered component * * @param facesContext/*from www . ja v a2 s . c o m*/ * @param uiComponent * @param targetElement * @param style */ public static void apply(FacesContext facesContext, UIComponent uiComponent, Element targetElement, String style, ResponseWriter writer) { if (targetElement == null && writer == null) { DOMContext domContext = DOMContext.getDOMContext(facesContext, uiComponent); Object node = domContext.getRootNode(); if (node == null || !(node instanceof Element)) { return; } Element root = (Element) node; targetElement = root; } String jspStyle = (String) uiComponent.getAttributes().get("style"); if (log.isTraceEnabled()) { if (jspStyle != null) { log.trace("Existing style [" + jspStyle + "]"); } } if (style != null) { if (jspStyle == null) { jspStyle = ""; } jspStyle += style; } Boolean visibility = (Boolean) uiComponent.getAttributes().get("visible"); // default to true if visibility is null boolean visible = true; if (visibility != null) { visible = visibility.booleanValue(); } CurrentStyle currentStyle = (CurrentStyle) uiComponent.getAttributes().get("currentStyle"); if (currentStyle != null) { String appendedStyle = currentStyle.cssString; currentStyle.lastCssString = currentStyle.cssString; if (appendedStyle != null) { if (jspStyle == null) { jspStyle = appendedStyle; } else { jspStyle += ";" + appendedStyle; } } } if (visible) { if (jspStyle != null) { int startI = jspStyle.indexOf(DISPLAY_OFF); if (startI != -1) { String start = ""; if (startI > 0) { start = jspStyle.substring(0, startI); } int endI = startI + DISPLAY_OFF.length(); String end = ""; if (endI < jspStyle.length()) { end = jspStyle.substring(endI); } jspStyle = start + end; } } } else { if (jspStyle == null) { jspStyle = DISPLAY_OFF; } else { jspStyle += DISPLAY_OFF; } } if (log.isTraceEnabled()) { if (jspStyle != null) { log.trace("JSP Style [" + jspStyle + "]"); } } if (targetElement != null) { if (jspStyle != null && jspStyle.length() > 0) targetElement.setAttribute(HTML.STYLE_ATTR, jspStyle); else targetElement.removeAttribute(HTML.STYLE_ATTR); } if (writer != null && jspStyle != null) { try { writer.writeAttribute(HTML.STYLE_ATTR, jspStyle, null); } catch (IOException exception) { if (log.isErrorEnabled()) { log.error("Exception setting style attribute", exception); } } } }
From source file:com.google.appengine.tools.mapreduce.ConfigurationTemplatePreprocessor.java
/** * Substitutes in the values in params for templated values. After this method * is called, any subsequent calls to this method for the same object result in * an {@link IllegalStateException}. To preprocess the template again, * create another {@code ConfigurationTemplatePreprocessor} from the source XML. * * @param params a map from key to value of all the template parameters * @return the document as an XML string with the template parameters filled * in//from w w w . jav a 2s. c om * @throws MissingTemplateParameterException if any required parameter is * omitted * @throws IllegalStateException if this method has previously been called * on this object */ public String preprocess(Map<String, String> params) { HashMap<String, String> paramsCopy = new HashMap<String, String>(params); if (preprocessCalled) { throw new IllegalStateException("Preprocess can't be called twice for the same object"); } preprocessCalled = true; for (Entry<String, Element> entry : nameToValueElement.entrySet()) { Element valueElem = entry.getValue(); boolean isTemplateValue = valueElem.hasAttribute("template"); if (paramsCopy.containsKey(entry.getKey()) && isTemplateValue) { // Modifies the map in place, but that's fine for our use. Text valueData = (Text) valueElem.getFirstChild(); String newValue = paramsCopy.get(entry.getKey()); if (valueData != null) { valueData.setData(newValue); } else { valueElem.appendChild(doc.createTextNode(newValue)); } // Remove parameter, so we can tell if they gave us extras. paramsCopy.remove(entry.getKey()); } else if (isTemplateValue) { String templateAttribute = valueElem.getAttribute("template"); if ("required".equals(templateAttribute)) { throw new MissingTemplateParameterException( "Couldn't find expected parameter " + entry.getKey()); } else if ("optional".equals(templateAttribute)) { // The default value is the one already in the value text, so // leave it be. The one exception is if they self-closed the value tag, // so go ahead and add a Text child so Configuration doesn't barf. if (valueElem.getFirstChild() == null) { valueElem.appendChild(doc.createTextNode("")); } } else { throw new IllegalArgumentException("Value " + templateAttribute + " is not a valid template " + "attribute. Valid possibilities are: \"required\" or \"optional\"."); } // Remove parameter, so we can tell if they gave us extras. paramsCopy.remove(entry.getKey()); } else { throw new IllegalArgumentException( "Configuration property " + entry.getKey() + " is not a template property"); } // removeAttribute has no effect if the attributes don't exist valueElem.removeAttribute("template"); } if (paramsCopy.size() > 0) { // TODO(user): Is there a good way to bubble up all bad parameters? throw new UnexpectedTemplateParameterException("Parameter " + paramsCopy.keySet().iterator().next() + " wasn't found in the configuration template."); } return getDocAsXmlString(); }
From source file:de.interactive_instruments.ShapeChange.Target.ReplicationSchema.ReplicationXmlSchema.java
/** Process a single property. */ protected Element addProperty(PropertyInfo pi) { ClassInfo inClass = pi.inClass();/*from www . j ava 2 s .c o m*/ Element e1 = document.createElementNS(Options.W3C_XML_SCHEMA, "element"); addGlobalIdentifierAnnotation(e1, pi); String piName = pi.name(); if (pi.categoryOfValue() == Options.FEATURE) { piName = pi.name() + suffixForPropWithFeatureValueType; } else if (pi.categoryOfValue() == Options.OBJECT) { piName = pi.name() + suffixForPropWithObjectValueType; } addAttribute(e1, "name", piName); mapPropertyType(pi, e1); addMinMaxOccurs(e1, pi); // add maxLength restriction if applicable ProcessMapEntry pme = mapEntryByType.get(pi.typeInfo().name); if (pme != null && pme.hasParam() && pme.getParam().trim().equals(MAP_ENTRY_PARAM_MAXLENGTHFROMSIZE)) { int size = -1; if (pi.taggedValue(TV_SIZE) != null && pi.taggedValue(TV_SIZE).trim().length() > 0) { try { size = Integer.parseInt(pi.taggedValue(TV_SIZE).trim()); } catch (NumberFormatException e) { result.addWarning(this, 14, TV_SIZE, pi.name(), inClass.name(), e.getMessage()); } } if (size <= 0 && this.defaultSize != null) { size = this.defaultSize; } if (size > 0) { Element simpleType = document.createElementNS(Options.W3C_XML_SCHEMA, "simpleType"); e1.appendChild(simpleType); Element restriction = document.createElementNS(Options.W3C_XML_SCHEMA, "restriction"); addAttribute(restriction, "base", "string"); e1.removeAttribute("type"); simpleType.appendChild(restriction); Element concreteRestriction = document.createElementNS(Options.W3C_XML_SCHEMA, "maxLength"); addAttribute(concreteRestriction, "value", "" + size); restriction.appendChild(concreteRestriction); } } return e1; }