X-Git-Url: http://git.argeo.org/?a=blobdiff_plain;f=org.argeo.cms%2Fsrc%2Forg%2Fargeo%2Fcms%2Facr%2Fxml%2FDomContentProvider.java;h=20f7eb1534cbb79fb21bd17e0fe93585e17bb706;hb=HEAD;hp=a5abe8dd47f165f170d98154ee559d80987bec97;hpb=5724ab347ddfba8f2b21cdcc2fa0b8e1e2b4e527;p=lgpl%2Fargeo-commons.git diff --git a/org.argeo.cms/src/org/argeo/cms/acr/xml/DomContentProvider.java b/org.argeo.cms/src/org/argeo/cms/acr/xml/DomContentProvider.java index a5abe8dd4..20f7eb153 100644 --- a/org.argeo.cms/src/org/argeo/cms/acr/xml/DomContentProvider.java +++ b/org.argeo.cms/src/org/argeo/cms/acr/xml/DomContentProvider.java @@ -75,9 +75,13 @@ public class DomContentProvider implements ContentProvider, NamespaceContext { protected NodeList findContent(String relativePath) { if (relativePath.startsWith("/")) throw new IllegalArgumentException("Relative path cannot start with /"); - String xPathExpression = '/' + relativePath; - if (Content.ROOT_PATH.equals(mountPath)) // repository root - xPathExpression = "/" + CrName.root.qName() + xPathExpression; + String xPathExpression; + if (Content.ROOT_PATH.equals(mountPath)) {// repository root + xPathExpression = "/" + CrName.root.get() + '/' + relativePath; + } else { + String documentNodeName = document.getDocumentElement().getNodeName(); + xPathExpression = '/' + documentNodeName + '/' + relativePath; + } try { NodeList nodes = (NodeList) xPath.get().evaluate(xPathExpression, document, XPathConstants.NODESET); return nodes;