/* IDOMFactory.java Purpose: Description: History: 2001/10/25 11:32:45, Create, Tom M. Yeh. Copyright (C) 2001 Potix Corporation. All Rights Reserved. {{IS_RIGHT This program is distributed under LGPL Version 2.1 in the hope that it will be useful, but WITHOUT ANY WARRANTY. }}IS_RIGHT */ package org.zkoss.idom.input; import org.zkoss.idom.*; /** * A DOM factory. It is the interface used by SaxBuild to create * corresponding vertices. By implementing this interface or * overriding DefaultDomFactory, caller could create a set of * vertices other than the default ones. * * @author tomyeh * @see SAXBuilder */ public interface IDOMFactory { /** * Creates an Attribute without namespace. */ public Attribute newAttribute(String lname, String value); /** * Creates an Attribute with namespace. */ public Attribute newAttribute(Namespace ns, String lname, String value); /** * Creates a CData. */ public CData newCData(String text); /** * Creates a Comment. */ public Comment newComment(String text); /** * Creates a DocType. * * @param elementName the root element's name * @param publicId the public Id; null for empty * @param systemId the system Id; null for empty */ public DocType newDocType(String elementName, String publicId, String systemId); /** * Creates a Document. * * @param docType the document type; null for not available */ public Document newDocument(Element rootElement, DocType docType); /** * Creates an Element with a namespace. */ public Element newElement(Namespace ns, String lname); /** * Creates an Element without namespace. */ public Element newElement(String lname); /** * Creates a processing instruction. * * @param data the raw data; null for empty */ public ProcessingInstruction newProcessingInstruction(String target, String data); /** * Creates an EntityReference. * * @param name the entity reference's name */ public EntityReference newEntityRef(String name); /** * Creates a Text. */ public Text newText(String text); }