Skip to main content
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
Diffstat (limited to 'bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/xml/schema/XMLSchemaValidator.java')
-rw-r--r--bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/xml/schema/XMLSchemaValidator.java152
1 files changed, 0 insertions, 152 deletions
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/xml/schema/XMLSchemaValidator.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/xml/schema/XMLSchemaValidator.java
deleted file mode 100644
index 36ca130aa..000000000
--- a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/xml/schema/XMLSchemaValidator.java
+++ /dev/null
@@ -1,152 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002-2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.wsi.internal.core.xml.schema;
-
-import java.util.HashMap;
-import java.util.Iterator;
-import java.util.Map;
-
-import org.eclipse.wst.wsi.internal.core.WSIException;
-import org.eclipse.wst.wsi.internal.core.util.TestUtils;
-import org.eclipse.wst.wsi.internal.core.xml.XMLUtils;
-import org.w3c.dom.Element;
-import org.w3c.dom.NamedNodeMap;
-import org.w3c.dom.Node;
-
-import com.ibm.wsdl.util.xml.DOM2Writer;
-
-/**
- * This class is used to validate an XML Schema.
- *
- * @author Peter Brittenham (peterbr@us.ibm.com)
- * @version 1.0.1
- */
-public class XMLSchemaValidator extends XMLSchemaProcessor
-{
- private static final String XMLNS_PREFIX = "xmlns:";
-
- /**
- * Constructor for XMLSchemaValidator.
- * @param context document context.
- * @param documentList cache of previously parsed documents.
- */
- public XMLSchemaValidator(String context)
- {
- super(context);
- }
-
- protected void processSchema(Element element)
- {
- NamedNodeMap attrList;
-
- HashMap elementMap = new HashMap();
- HashMap nsMap = new HashMap();
-
- try
- {
- // Get schema content as a string
- String schema = DOM2Writer.nodeToString(element);
-
- // Get list of element namespaces
- if ((attrList = element.getAttributes()) != null)
- {
- addNamespaces(attrList, elementMap, null);
- }
-
- // If elementMap does not contain entry for it's own namespace, then add it
- if (elementMap.get(XMLNS_PREFIX + element.getPrefix()) == null)
- {
- elementMap.put(
- XMLNS_PREFIX + element.getPrefix(),
- element.getNamespaceURI());
- }
-
- // Get first parent node and then process all of them until you hit the top of the document
- Node parentNode = element.getParentNode();
- while (parentNode != null)
- {
- // Only process Element nodes
- if (parentNode.getNodeType() == Node.ELEMENT_NODE)
- {
- // Get the list of attributes for the parent node
- attrList = parentNode.getAttributes();
-
- // If there are attributes, look for the xmlns: attributes
- if (attrList != null)
- {
- addNamespaces(attrList, nsMap, elementMap);
- }
- }
-
- parentNode = parentNode.getParentNode();
- }
-
- // Build namespace list
- if (nsMap.size() > 0)
- {
- String attr;
- String namespaceList = "";
- Iterator iterator = nsMap.keySet().iterator();
- while (iterator.hasNext())
- {
- attr = (String) iterator.next();
- namespaceList += " " + attr + "=\"" + nsMap.get(attr) + "\"";
- }
-
- // Add namespace settings, since the DOM2Writer will miss any that are used as attribute values
- int index = schema.indexOf(">");
- if (index > 0)
- {
- String start = schema.substring(0, index);
- String end = schema.substring(index);
-
- schema = start + namespaceList + end;
- }
- }
-
- // Schema validate the XML schema document
- XMLUtils.parseXML(schema, TestUtils.getXMLSchemaLocation());
- }
-
- catch (WSIException we)
- {
- Throwable t = we.getTargetException();
- if (t != null)
- {
- returnList.add(t.getMessage());
- }
- }
- }
-
- private void addNamespaces(NamedNodeMap attrList, Map nsMap, Map elementMap)
- {
- Node attr;
- String nodeName;
-
- for (int i = 0; i < attrList.getLength(); i++)
- {
- attr = attrList.item(i);
-
- // Get the attribute node name
- nodeName = attr.getNodeName();
-
- // If it starts with xmlns:, then determine if it should be added to the list of namespaces
- if (nodeName.startsWith(XMLNS_PREFIX)
- && ((elementMap == null
- || (elementMap != null && elementMap.get(nodeName) == null))))
- {
- if (nsMap.get(nodeName) == null)
- nsMap.put(nodeName, attr.getNodeValue());
- }
- }
- }
-
-}

Back to the top