X-Git-Url: https://git.argeo.org/?p=lgpl%2Fargeo-commons.git;a=blobdiff_plain;f=org.argeo.cms%2Fsrc%2Forg%2Fargeo%2Fcms%2Facr%2Fxml%2FDomContentProvider.java;fp=org.argeo.cms%2Fsrc%2Forg%2Fargeo%2Fcms%2Facr%2Fxml%2FDomContentProvider.java;h=20f7eb1534cbb79fb21bd17e0fe93585e17bb706;hp=845a6ab4c22a23629194b6bab0e3a0609d8ed2d9;hb=b95462873703848193e56fcbe997693630db6121;hpb=55d88fba80cec198a0f11ba7545e19878c51fc5e 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 845a6ab4c..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.get() + 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;