Skip to main content

This CGIT instance is deprecated, and repositories have been moved to Gitlab or Github. See the repository descriptions for specific locations.

summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
Diffstat (limited to 'bundles/org.eclipse.wst.xml.core/src-contentmodel/org/eclipse/wst/xml/core/internal/contentmodel/util/DOMNamespaceHelper.java')
-rw-r--r--bundles/org.eclipse.wst.xml.core/src-contentmodel/org/eclipse/wst/xml/core/internal/contentmodel/util/DOMNamespaceHelper.java198
1 files changed, 0 insertions, 198 deletions
diff --git a/bundles/org.eclipse.wst.xml.core/src-contentmodel/org/eclipse/wst/xml/core/internal/contentmodel/util/DOMNamespaceHelper.java b/bundles/org.eclipse.wst.xml.core/src-contentmodel/org/eclipse/wst/xml/core/internal/contentmodel/util/DOMNamespaceHelper.java
deleted file mode 100644
index 2bc784f2e4..0000000000
--- a/bundles/org.eclipse.wst.xml.core/src-contentmodel/org/eclipse/wst/xml/core/internal/contentmodel/util/DOMNamespaceHelper.java
+++ /dev/null
@@ -1,198 +0,0 @@
-/*
-* Copyright (c) 2002 IBM Corporation and others.
-* All rights reserved. This program and the accompanying materials
-* are made available under the terms of the Common Public License v1.0
-* which accompanies this distribution, and is available at
-* http://www.eclipse.org/legal/cpl-v10.html
-*
-* Contributors:
-* IBM - Initial API and implementation
-* Jens Lukowski/Innoopract - initial renaming/restructuring
-*
-*/
-package org.eclipse.wst.xml.core.internal.contentmodel.util;
-
-import org.eclipse.wst.xml.core.internal.contentmodel.CMDocument;
-import org.eclipse.wst.xml.core.internal.contentmodel.CMNode;
-import org.w3c.dom.Attr;
-import org.w3c.dom.Document;
-import org.w3c.dom.Element;
-import org.w3c.dom.Node;
-
-
-public class DOMNamespaceHelper
-{
- protected static String getURIForPrefix(Element element, String prefix)
- {
- String result = null;
- String nsAttrName = null;
- if (prefix != null && prefix.length() > 0)
- {
- nsAttrName = "xmlns:" + prefix; //$NON-NLS-1$
- }
- else
- {
- nsAttrName = "xmlns"; //$NON-NLS-1$
- }
-
- // assume the node is qualified... look up the URI base on the prefix
- //
- for (Node node = element; node != null; node = node.getParentNode())
- {
- if (node.getNodeType() == Node.ELEMENT_NODE)
- {
- Element theElement = (Element)node;
- Attr attr = theElement.getAttributeNode(nsAttrName);
- if (attr != null)
- {
- result = attr.getValue();
- }
- }
- else
- {
- break;
- }
- }
-
- // see if we can find some info from an 'implicit' namespace
- //
- if (result == null)
- {
- NamespaceTable table = new NamespaceTable(element.getOwnerDocument());
- result = table.getURIForPrefix(prefix);
- }
- return result;
- }
-
- public static String getNamespaceURI(Node node)
- {
- String result = null;
- if (node.getNodeType() == Node.ELEMENT_NODE)
- {
- Element element = (Element)node;
- String prefix = element.getPrefix();
- result = getURIForPrefix(element, prefix);
- }
- else if (node.getNodeType() == Node.ATTRIBUTE_NODE)
- {
- Attr attr = (Attr)node;
- String prefix = attr.getPrefix();
- result = getURIForPrefix(attr.getOwnerElement(), prefix);
- }
- return result;
- }
-
- // todo... this is an ugly hack... needs to be fixed
- //
- public static String computePrefix(CMNode cmNode, Node parentNode)
- {
- String result = null;
- for (Node node = parentNode; node != null; node = node.getParentNode())
- {
- if (node.getNodeType() == Node.ELEMENT_NODE)
- {
- result = getPrefix(node.getNodeName());
- if (result != null)
- {
- break;
- }
- }
- }
- return result;
- }
-
-
- public static String getPrefix(String name)
- {
- String prefix = null;
- int index = name.indexOf(":"); //$NON-NLS-1$
- if (index != -1)
- {
- prefix = name.substring(0, index);
- }
- return prefix;
- }
-
-
- public static String getUnprefixedName(String name)
- {
- int index = name.indexOf(":"); //$NON-NLS-1$
- if (index != -1)
- {
- name = name.substring(index + 1);
- }
- return name;
- }
-
-
- public static String computeName(CMNode cmNode, Node parent, String prefix)
- {
- return computeName(cmNode, parent, prefix, null);
- }
-
-
- public static String computeName(CMNode cmNode, Node parent, String prefix, NamespaceTable namespaceTable)
- {
- String result = cmNode.getNodeName();
-
- // if the cmNode has a hard coded prefix then we don't need to do anything
- //
- if (getPrefix(result) == null)
- {
- String qualification = (String)cmNode.getProperty("http://org.eclipse.wst/cm/properties/nsPrefixQualification"); //$NON-NLS-1$
- // see if we need a namespace prefix
- //
- if (qualification != null && qualification.equals("qualified")) //$NON-NLS-1$
- {
- if (prefix == null)
- {
- // todo... add getCMDocument() method to CMNode
- // for now use this getProperty() hack
- CMDocument cmDocument = (CMDocument)cmNode.getProperty("CMDocument"); //$NON-NLS-1$
- if (cmDocument != null)
- {
- String namespaceURI = (String)cmDocument.getProperty("http://org.eclipse.wst/cm/properties/targetNamespaceURI"); //$NON-NLS-1$
- if (namespaceURI != null)
- {
- // use the NamespaceTable to figure out the correct prefix for this namespace uri
- //
- if (namespaceTable == null)
- {
- Document document = parent.getNodeType() == Node.DOCUMENT_NODE ? (Document)parent : parent.getOwnerDocument();
- namespaceTable = new NamespaceTable(document);
- if (parent instanceof Element)
- {
- namespaceTable.addElementLineage((Element)parent);
- }
- }
- prefix = namespaceTable.getPrefixForURI(namespaceURI);
- }
- }
- }
- if (prefix != null && prefix.length() > 0)
- {
- result = prefix + ":" + result; //$NON-NLS-1$
- }
- }
- }
- return result;
- }
-
-
- public static String[] getURIQualifiedNameComponents(String uriQualifiedName)
- {
- String[] result = new String[2];
- int firstIndex = uriQualifiedName.indexOf("["); //$NON-NLS-1$
- int lastIndex = uriQualifiedName.indexOf("]"); //$NON-NLS-1$
- if (firstIndex != -1 && lastIndex > firstIndex)
- {
- result[0] = uriQualifiedName.substring(firstIndex + 1, lastIndex);
- result[1] = uriQualifiedName.substring(lastIndex + 1);
- }
- else
- {
- result[1] = uriQualifiedName;
- }
- return result;
- }
-}

Back to the top