package client.net.sf.saxon.ce.tree.linked; import client.net.sf.saxon.ce.event.PipelineConfiguration; import client.net.sf.saxon.ce.om.AttributeCollection; import client.net.sf.saxon.ce.om.NamespaceBinding; import client.net.sf.saxon.ce.om.NodeInfo; /** * Interface NodeFactory. <br> * A Factory for nodes used to build a tree. <br> * Currently only allows Element nodes to be user-constructed. * @author Michael H. Kay */ public interface NodeFactory { /** * Create an Element node * @param parent The parent element * @param nameCode The element name * @param typeCode * @param attlist The attribute collection, excluding any namespace attributes * @param namespaces List of new namespace declarations for this element, as a sequence * of namespace codes representing pairs of strings: (prefix1, uri1), (prefix2, uri2)... * @param namespacesUsed the number of elemnts of the namespaces array actually used * @param pipe The pipeline configuration (provides access to the error listener and the * location provider) * @param baseURI Indicates the source document base URI * @param sequenceNumber Sequence number to be assigned to represent document order. */ public ElementImpl makeElementNode( NodeInfo parent, int nameCode, int typeCode, AttributeCollection attlist, NamespaceBinding[] namespaces, int namespacesUsed, PipelineConfiguration pipe, String baseURI, int sequenceNumber); } // This Source Code Form is subject to the terms of the Mozilla Public License, v. 2.0. // If a copy of the MPL was not distributed with this file, You can obtain one at http://mozilla.org/MPL/2.0/. // This Source Code Form is “Incompatible With Secondary Licenses”, as defined by the Mozilla Public License, v. 2.0.