Here you can find the source of addToContentModels(DTD dtd, Element existing, Element alt)
Parameter | Description |
---|---|
dtd | DTD to add to |
existing | existing element |
alt | alternate element |
public static void addToContentModels(DTD dtd, Element existing, Element alt)
//package com.java2s; /*/* w w w .j a va 2 s. com*/ * $Source$ * $Revision$ * * Copyright (C) 2001 Myles Chippendale * * Part of Melati (http://melati.org), a framework for the rapid * development of clean, maintainable web applications. * * Melati is free software; Permission is granted to copy, distribute * and/or modify this software under the terms either: * * a) the GNU General Public License as published by the Free Software * Foundation; either version 2 of the License, or (at your option) * any later version, * * or * * b) any version of the Melati Software License, as published * at http://melati.org * * You should have received a copy of the GNU General Public License and * the Melati Software License along with this program; * if not, write to the Free Software Foundation, Inc., * 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA to obtain the * GNU General Public License and visit http://melati.org to obtain the * Melati Software License. * * Feel free to contact the Developers of Melati (http://melati.org), * if you would like to work out a different arrangement than the options * outlined here. It is our intention to allow Melati to be used by as * wide an audience as possible. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * Contact details for copyright holder: * * Myles Chippendale <mylesc At paneris.org> */ import java.util.Enumeration; import javax.swing.text.html.parser.ContentModel; import javax.swing.text.html.parser.DTD; import javax.swing.text.html.parser.Element; public class Main { /** * Add element to a DTD. * @param dtd DTD to add to * @param existing existing element * @param alt alternate element */ public static void addToContentModels(DTD dtd, Element existing, Element alt) { for (Enumeration<Element> els = dtd.elementHash.elements(); els.hasMoreElements();) { ContentModel c = ((Element) els.nextElement()).content; if (c != null) add(c, existing, alt); } } /** * Add an Element to the ContentModel. * @param cm the ContentModel to add to * @param existing existing element * @param alt alternate element */ public static void add(ContentModel cm, Element existing, Element alt) { if (cm.content == existing) { ContentModel twig = new ContentModel(0, existing, new ContentModel(0, alt, null)); if (cm.type == 0) { cm.type = '|'; cm.content = twig; } else cm.content = new ContentModel('|', twig); } else if (cm.content instanceof ContentModel) add((ContentModel) cm.content, existing, alt); if (cm.next != null) add(cm.next, existing, alt); } }