blob: b5fe4da5f39a40227f4e92c5af3ce72c8c4c2eef [file] [log] [blame]
/*******************************************************************************
* Copyright (c) 2004, 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 Corporation - initial API and implementation
*******************************************************************************/
package org.eclipse.wst.html.core.internal.contentmodel;
import org.eclipse.wst.xml.core.internal.contentmodel.CMNamedNodeMap;
import org.eclipse.wst.xml.core.internal.contentmodel.CMNode;
/**
* Implementation of CMDocument for JSP 1.1 and JSP 1.2.
*/
class JCMDocImpl extends CMNodeImpl implements JSPCMDocument {
/** Namespace for all names of elements, entities and attributes. */
private CMNamespaceImpl namespace = null;
private JSPElementCollection elements = null;
/**
* HCMDocImpl constructor comment.
*/
public JCMDocImpl(String docTypeName, CMNamespaceImpl targetNamespace) {
this(docTypeName, targetNamespace, new JSPElementCollection());
}
JCMDocImpl(String docTypeName, CMNamespaceImpl targetNamespace, JSPElementCollection collection) {
super(docTypeName);
namespace = targetNamespace;
elements = collection;
}
public HTMLElementDeclaration getElementDeclaration(String elementName) {
if (elements == null)
return null;
return (HTMLElementDeclaration) elements.getNamedItem(elementName);
}
/**
* @see org.eclipse.wst.xml.core.internal.contentmodel.CMDocument
*/
public CMNamedNodeMap getElements() {
return elements;
}
/**
* @see org.eclipse.wst.xml.core.internal.contentmodel.CMDocument
*/
public CMNamedNodeMap getEntities() {
return null;
}
public HTMLEntityDeclaration getEntityDeclaration(String entityName) {
return null;
}
/**
* @see org.eclipse.wst.xml.core.internal.contentmodel.CMDocument
*/
public org.eclipse.wst.xml.core.internal.contentmodel.CMNamespace getNamespace() {
return namespace;
}
/**
* @see org.eclipse.wst.xml.core.internal.contentmodel.CMNode
*/
public int getNodeType() {
return CMNode.DOCUMENT;
}
}