public static XPath createXPath( String xPathExpression, String prefix, String namespace) { return getSAXReader().createXPath(xPathExpression, prefix, namespace); }
public static XPath createXPath( String xPathExpression, Map<String, String> namespaceContextMap) { return getSAXReader().createXPath(xPathExpression, namespaceContextMap); }
public static XPath createXPath(String xPathExpression) { return getSAXReader().createXPath(xPathExpression); }
public static XPath createXPath(String xpathExpression) { return getSAXReader().createXPath(xpathExpression); }
protected List<Node> getElementsByName(Document document, String name) { name = HtmlUtil.escapeXPathAttribute(name); XPath xPathSelector = _saxReader.createXPath( "//dynamic-element[@name=".concat( name ).concat( "]" )); return xPathSelector.selectNodes(document); }
protected Element fetchMetadataEntry( Element parentElement, String entryName) { XPath xPathSelector = _saxReader.createXPath( "entry[@name=" + HtmlUtil.escapeXPathAttribute(entryName) + StringPool.CLOSE_BRACKET); return (Element)xPathSelector.selectSingleNode(parentElement); }
protected void validate(Document document) throws Exception { XPath xPathSelector = _saxReader.createXPath("//dynamic-element"); List<Node> nodes = xPathSelector.selectNodes(document); Set<String> elementNames = new HashSet<>(); for (Node node : nodes) { Element element = (Element)node; String name = StringUtil.toLowerCase( element.attributeValue("name")); if (Validator.isNull(name)) { throw new StructureDefinitionException( "Element must have a name attribute " + element.formattedString()); } if (name.startsWith(DDMStructureConstants.XSD_NAME_RESERVED)) { throw new StructureDefinitionException( "Element name " + name + " is reserved"); } if (elementNames.contains(name)) { throw new StructureDuplicateElementException( "Element with name " + name + " already exists"); } elementNames.add(name); } }