diff options
Diffstat (limited to 'bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/contentmodel/CtdMap.java')
-rw-r--r-- | bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/contentmodel/CtdMap.java | 72 |
1 files changed, 72 insertions, 0 deletions
diff --git a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/contentmodel/CtdMap.java b/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/contentmodel/CtdMap.java new file mode 100644 index 0000000000..ac295ec012 --- /dev/null +++ b/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/contentmodel/CtdMap.java @@ -0,0 +1,72 @@ +/******************************************************************************* + * Copyright (c) 2004 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.contentmodel; + + + +import org.eclipse.wst.common.contentmodel.CMElementDeclaration; +import org.eclipse.wst.common.contentmodel.CMGroup; +import org.eclipse.wst.common.contentmodel.CMNode; +import org.eclipse.wst.html.core.HTML40Namespace; + +/** + * for MAP. + */ +final class CtdMap extends ComplexTypeDefinition { + + /** + * @param elementCollection ElementCollection + */ + public CtdMap(ElementCollection elementCollection) { + super(elementCollection); + primaryCandidateName = HTML40Namespace.ElementName.AREA; + } + + /** + * ((%block;) | AREA)+. + */ + protected void createContent() { + if (content != null) + return; // already created. + if (collection == null) + return; + + // ( | )+ + content = new CMGroupImpl(CMGroup.CHOICE, 1, CMContentImpl.UNBOUNDED); + // (%block;) + CMGroupImpl blocks = new CMGroupImpl(CMGroup.CHOICE, 1, 1); + if (blocks == null) + return; + collection.getBlock(blocks); + content.appendChild(blocks); + // AREA + CMNode area = collection.getNamedItem(HTML40Namespace.ElementName.AREA); + if (area != null) + content.appendChild(area); + } + + /** + * ((%block;) | AREA)+. + * Because %block; consists of elements only, the type is ELEMENT. + * @return int; Should be one of ANY, EMPTY, ELEMENT, MIXED, PCDATA, CDATA, + * those are defined in CMElementDeclaration. + */ + public int getContentType() { + return CMElementDeclaration.ELEMENT; + } + + /** + * @return java.lang.String + */ + public String getTypeName() { + return ComplexTypeDefinitionFactory.CTYPE_MAP; + } +}
\ No newline at end of file |