You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@xerces.apache.org by mr...@apache.org on 2006/02/06 06:21:05 UTC
svn commit: r375181 -
/xerces/java/trunk/src/org/apache/xerces/util/JAXPNamespaceContextWrapper.java
Author: mrglavas
Date: Sun Feb 5 21:21:01 2006
New Revision: 375181
URL: http://svn.apache.org/viewcvs?rev=375181&view=rev
Log:
A read-only XNI wrapper for a JAXP NamespaceContext.
Added:
xerces/java/trunk/src/org/apache/xerces/util/JAXPNamespaceContextWrapper.java
Added: xerces/java/trunk/src/org/apache/xerces/util/JAXPNamespaceContextWrapper.java
URL: http://svn.apache.org/viewcvs/xerces/java/trunk/src/org/apache/xerces/util/JAXPNamespaceContextWrapper.java?rev=375181&view=auto
==============================================================================
--- xerces/java/trunk/src/org/apache/xerces/util/JAXPNamespaceContextWrapper.java (added)
+++ xerces/java/trunk/src/org/apache/xerces/util/JAXPNamespaceContextWrapper.java Sun Feb 5 21:21:01 2006
@@ -0,0 +1,116 @@
+/*
+ * Copyright 2006 The Apache Software Foundation.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.apache.xerces.util;
+
+import java.util.Enumeration;
+
+import javax.xml.XMLConstants;
+
+import org.apache.xerces.xni.NamespaceContext;
+
+/**
+ * <p>A read-only XNI wrapper around a JAXP NamespaceContext.</p>
+ *
+ * @author Michael Glavassevich, IBM
+ *
+ * @version $Id: $
+ */
+public class JAXPNamespaceContextWrapper implements NamespaceContext {
+
+ private javax.xml.namespace.NamespaceContext fNamespaceContext;
+ private SymbolTable fSymbolTable;
+
+ public JAXPNamespaceContextWrapper(SymbolTable symbolTable) {
+ setSymbolTable(symbolTable);
+ }
+
+ public void setNamespaceContext(javax.xml.namespace.NamespaceContext context) {
+ fNamespaceContext = context;
+ }
+
+ public javax.xml.namespace.NamespaceContext getNamespaceContext() {
+ return fNamespaceContext;
+ }
+
+ public void setSymbolTable(SymbolTable symbolTable) {
+ fSymbolTable = symbolTable;
+ }
+
+ public SymbolTable getSymbolTable() {
+ return fSymbolTable;
+ }
+
+ /*
+ * NamespaceContext methods
+ */
+
+ public String getURI(String prefix) {
+ if (fNamespaceContext != null) {
+ String uri = fNamespaceContext.getNamespaceURI(prefix);
+ if (uri != null && !XMLConstants.NULL_NS_URI.equals(uri)) {
+ return (fSymbolTable != null) ? fSymbolTable.addSymbol(uri) : uri.intern();
+ }
+ }
+ return null;
+ }
+
+ public String getPrefix(String uri) {
+ if (fNamespaceContext != null) {
+ if (uri == null) {
+ uri = XMLConstants.NULL_NS_URI;
+ }
+ String prefix = fNamespaceContext.getPrefix(uri);
+ if (prefix == null) {
+ prefix = XMLConstants.DEFAULT_NS_PREFIX;
+ }
+ return (fSymbolTable != null) ? fSymbolTable.addSymbol(prefix) : prefix.intern();
+ }
+ return null;
+ }
+
+ public Enumeration getAllPrefixes() {
+ // It's not possible to get the list of all prefixes from the NamespaceContext
+ // so the best we can do is return an empty enumeration.
+ return new Enumeration () {
+ public boolean hasMoreElements() {
+ return false;
+ }
+ public Object nextElement() {
+ return null;
+ }
+ };
+ }
+
+ public void pushContext() {}
+
+ public void popContext() {}
+
+ public boolean declarePrefix(String prefix, String uri) {
+ return true;
+ }
+
+ public int getDeclaredPrefixCount() {
+ return 0;
+ }
+
+ public String getDeclaredPrefixAt(int index) {
+ return null;
+ }
+
+ public void reset() {}
+
+} // JAXPNamespaceContextWrapper
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@xerces.apache.org
For additional commands, e-mail: commits-help@xerces.apache.org