All Downloads are FREE. Search and download functionalities are using the official Maven repository.

net.sf.saxon.om.NamespaceDeltaMap Maven / Gradle / Ivy

There is a newer version: 12.5
Show newest version
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
// Copyright (c) 2018-2022 Saxonica Limited
// This Source Code Form is subject to the terms of the Mozilla Public License, v. 2.0.
// If a copy of the MPL was not distributed with this file, You can obtain one at http://mozilla.org/MPL/2.0/.
// This Source Code Form is "Incompatible With Secondary Licenses", as defined by the Mozilla Public License, v. 2.0.
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

package net.sf.saxon.om;

/**
 * Holds a set of namespace bindings as a simple immutable map from prefixes to URIs.
 *
 * 

A NamespaceMap never physically contains a binding for the XML namespace, * but some interfaces behave as if it did.

* *

The map may or may not contain a binding for the default namespace, represented * by the prefix "" (zero-length string)

* *

The map must not contain any namespace undeclarations: that is, the namespace will * never be "" (zero-length string)

*/ public class NamespaceDeltaMap extends NamespaceMap implements NamespaceBindingSet, NamespaceResolver { private static final NamespaceDeltaMap EMPTY_MAP = new NamespaceDeltaMap(); /** * Get a namespace map containing no namespace bindings * @return an empty namespace map */ public static NamespaceDeltaMap emptyMap() { return EMPTY_MAP; } private NamespaceDeltaMap() { prefixes = new String[]{}; uris = new String[]{}; } @Override protected NamespaceMap makeNamespaceMap() { return new NamespaceDeltaMap(); } @Override public boolean allowsNamespaceUndeclarations() { return true; } @Override public NamespaceDeltaMap put(String prefix, String uri) { return (NamespaceDeltaMap)super.put(prefix, uri); } @Override public NamespaceDeltaMap remove(String prefix) { return (NamespaceDeltaMap)super.remove(prefix); } }




© 2015 - 2024 Weber Informatics LLC | Privacy Policy