diff options
Diffstat (limited to 'bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/contentmodel/CtdHead.java')
-rw-r--r-- | bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/contentmodel/CtdHead.java | 175 |
1 files changed, 0 insertions, 175 deletions
diff --git a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/contentmodel/CtdHead.java b/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/contentmodel/CtdHead.java deleted file mode 100644 index 48bc24fa75..0000000000 --- a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/contentmodel/CtdHead.java +++ /dev/null @@ -1,175 +0,0 @@ -/******************************************************************************* - * 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 java.util.Arrays; - -import org.eclipse.wst.html.core.internal.provisional.HTML40Namespace; -import org.eclipse.wst.xml.core.internal.contentmodel.CMElementDeclaration; -import org.eclipse.wst.xml.core.internal.contentmodel.CMGroup; -import org.eclipse.wst.xml.core.internal.contentmodel.CMNode; - -/** - * Complex type definition for the head content. - * Content Model: (TITLE & ISINDEX? & BASE?) - */ -final class CtdHead extends ComplexTypeDefinition { - - /** - */ - public CtdHead(ElementCollection elementCollection) { - super(elementCollection); - primaryCandidateName = HTML40Namespace.ElementName.TITLE; - } - - /** - * for HEAD. - * To avoid using inclusion, the content model comes from the XHTML 1.0. - * - * (%head.misc;, ((title, %head.misc;, (base, %head.misc;)?) | (base, %head.misc;, (title, %head.misc;)))) - * And %head.misc; is: - * (script|style|meta|link|object|isindex)* - * - * 0: (%head.misc, A) - * A: (B | C) - * B: (title, %head.misc;, D) - * C: (base, %head.misc;, E) - * D: (base, %head.misc;)? - * E: (title, %head.misc;) - */ - protected void createContent() { - if (content != null) - return; // already created. - if (collection == null) - return; - - // At 1st, create %head.misc; content. - // %head.misc; - // ( | )* - CMGroupImpl misc = new CMGroupImpl(CMGroup.CHOICE, 0, CMContentImpl.UNBOUNDED); - if (misc == null) - return; - String[] names = {HTML40Namespace.ElementName.SCRIPT, HTML40Namespace.ElementName.STYLE, HTML40Namespace.ElementName.META, HTML40Namespace.ElementName.LINK, HTML40Namespace.ElementName.OBJECT, HTML40Namespace.ElementName.ISINDEX}; - collection.getDeclarations(misc, Arrays.asList(names).iterator()); - // 2nd, get a title - CMNode title = collection.getNamedItem(HTML40Namespace.ElementName.TITLE); - // 3rd, get a base - CMNode base = collection.getNamedItem(HTML40Namespace.ElementName.BASE); - if (title == null || base == null) - return; - - // Top level content is a sequence of %head.misc; and A. - // 0: (%head.misc;, A) - // create a sequence - content = new CMGroupImpl(CMGroup.SEQUENCE, 1, 1); - if (content == null) - return; - // append %head.misc; - content.appendChild(misc); - // create A and append it to the top level. - { - // A is a choice of B and C. - // A: (B | C) - // create a choice - CMGroupImpl gA = new CMGroupImpl(CMGroup.CHOICE, 1, 1); - if (gA == null) - return; - // append A to the top level. - content.appendChild(gA); - - // create B and append it to A - { - // B is a sequence of title, %head.misc;, and D. - // B: (title, %head.misc;, D) - // create a sequence - CMGroupImpl gB = new CMGroupImpl(CMGroup.SEQUENCE, 1, 1); - if (gB == null) - return; - // append B to A. - gA.appendChild(gB); - - // append title to B - gB.appendChild(title); - // append %head.misc; to B - gB.appendChild(misc); - // create D and append it to B. - { - // D is a sequence of base, %head.misc;. - // D: (base, %head.misc;)? - // create a sequence - CMGroupImpl gD = new CMGroupImpl(CMGroup.SEQUENCE, 0, 1); - if (gD == null) - return; - // append D to B. - gB.appendChild(gD); - - // append base to D - gD.appendChild(base); - // append %head.misc; to D. - gD.appendChild(misc); - } - } - // create C and append it to A - { - // C is a sequence of base, %head.misc;, and E - // C: (base, %head.misc;, E) - // create a sequence - CMGroupImpl gC = new CMGroupImpl(CMGroup.SEQUENCE, 1, 1); - if (gC == null) - return; - // append C to A. - gA.appendChild(gC); - - // append base to C - gC.appendChild(base); - // append %head.misc; to C - gC.appendChild(misc); - - // create E and append it to C. - { - // E is a sequence of title and %head.misc;. - // E: (title, %head.misc;) - // create a sequence - CMGroupImpl gE = new CMGroupImpl(CMGroup.SEQUENCE, 1, 1); - if (gE == null) - return; - // append E to C. - gC.appendChild(gE); - - // append title to E - gE.appendChild(title); - // append %head.misc; to E. - gE.appendChild(misc); - } - } - } - } - - /** - * Element content. - */ - public int getContentType() { - return CMElementDeclaration.ELEMENT; - } - - /** - * Name of complex type definition. - * Each singleton must know its own name. - * All names should be defined in - * {@link <code>ComplexTypeDefinitionFactory</code>} as constants.<br> - * @return java.lang.String - */ - public String getTypeName() { - return ComplexTypeDefinitionFactory.CTYPE_HEAD; - } -} |