no.difi.oxalis.sniffer.document.HardCodedNamespaceResolver Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of oxalis-document-sniffer Show documentation
Show all versions of oxalis-document-sniffer Show documentation
Document sniffer used to generate SBDH for document types.
/*
* Copyright 2010-2017 Norwegian Agency for Public Management and eGovernment (Difi)
*
* Licensed under the EUPL, Version 1.1 or – as soon they
* will be approved by the European Commission - subsequent
* versions of the EUPL (the "Licence");
*
* You may not use this work except in compliance with the Licence.
*
* You may obtain a copy of the Licence at:
*
* https://joinup.ec.europa.eu/community/eupl/og_page/eupl
*
* Unless required by applicable law or agreed to in
* writing, software distributed under the Licence is
* distributed on an "AS IS" basis,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either
* express or implied.
* See the Licence for the specific language governing
* permissions and limitations under the Licence.
*/
package no.difi.oxalis.sniffer.document;
import com.google.common.collect.ImmutableMap;
import javax.xml.XMLConstants;
import javax.xml.namespace.NamespaceContext;
import java.util.Iterator;
import java.util.Map;
/**
* Namespace resolver hard coded for UBL based documents only.
*
* @author steinar
* @author thore
* @author erlend
*/
public class HardCodedNamespaceResolver implements NamespaceContext {
private static final Map NAMESPACE_MAP = ImmutableMap.builder()
.put("xsi", "http://www.w3.org/2001/XMLSchema-instance")
.put("cac", "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2")
.put("cbc", "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2")
.put("ext", "urn:oasis:names:specification:ubl:schema:xsd:CommonExtensionComponents-2")
.build();
@Override
public String getNamespaceURI(String prefix) {
if (prefix == null) {
throw new IllegalArgumentException("No prefix provided!");
}
String uri = NAMESPACE_MAP.get(prefix);
if (uri == null) {
return XMLConstants.NULL_NS_URI;
} else {
return uri;
}
}
@Override
public String getPrefix(String namespaceURI) {
// Not needed in this context.
return null;
}
@Override
public Iterator getPrefixes(String namespaceURI) {
// Not needed in this context.
return null;
}
}