diff -r d78b74a2abe9 -r 93208f791318 java/dictionary-generator/src/cz/frantovo/telco/dictionary/MappedNamespaceContext.java
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/java/dictionary-generator/src/cz/frantovo/telco/dictionary/MappedNamespaceContext.java Tue Jul 09 18:59:07 2013 +0200
@@ -0,0 +1,63 @@
+/**
+ * Free Telco Dictionary
+ * Copyright © 2013 František Kučera (frantovo.cz)
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see .
+ */
+package cz.frantovo.telco.dictionary;
+
+import static cz.frantovo.telco.dictionary.Functions.*;
+import java.util.Iterator;
+import java.util.Map;
+import java.util.Map.Entry;
+import javax.xml.namespace.NamespaceContext;
+
+/**
+ *
+ * @author Ing. František Kučera (frantovo.cz)
+ */
+public class MappedNamespaceContext implements NamespaceContext {
+
+ /**
+ * maps prexix to namespace URI
+ */
+ private Map prefixMap;
+
+ public MappedNamespaceContext(Map prefixMap) {
+ this.prefixMap = prefixMap;
+ }
+
+ @Override
+ public String getNamespaceURI(String prefix) {
+ return prefixMap.get(prefix);
+ }
+
+ @Override
+ public String getPrefix(String xmlns) {
+ for (Entry e : prefixMap.entrySet()) {
+ if (equalz(xmlns, e.getValue())) {
+ return e.getKey();
+ }
+ }
+ return null;
+ }
+
+ /**
+ * TODO: support multiple prefixes
+ */
+ @Override
+ public Iterator getPrefixes(String xmlns) {
+ return new OneItemIterator(getPrefix(xmlns));
+ }
+}
\ No newline at end of file