001 /*
002 * Licensed to the Apache Software Foundation (ASF) under one
003 * or more contributor license agreements. See the NOTICE file
004 * distributed with this work for additional information
005 * regarding copyright ownership. The ASF licenses this file
006 * to you under the Apache License, Version 2.0 (the "License");
007 * you may not use this file except in compliance with the License.
008 * You may obtain a copy of the License at
009 *
010 * http://www.apache.org/licenses/LICENSE-2.0
011 *
012 * Unless required by applicable law or agreed to in writing, software
013 * distributed under the License is distributed on an "AS IS" BASIS,
014 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
015 * See the License for the specific language governing permissions and
016 * limitations under the License.
017 */
018 /*
019 * $Id: DOMEnhancedForDTM.java 468648 2006-10-28 07:00:06Z minchau $
020 */
021 package org.apache.xalan.xsltc;
022
023 /**
024 * Interface for SAXImpl which adds methods used at run-time, over and above
025 * those provided by the XSLTC DOM interface. An attempt to avoid the current
026 * "Is the DTM a DOM, if so is it a SAXImpl, . . .
027 * which was producing some ugly replicated code
028 * and introducing bugs where that multipathing had not been
029 * done. This makes it easier to provide other DOM/DOMEnhancedForDTM
030 * implementations, rather than hard-wiring XSLTC to SAXImpl.
031 *
032 * @author Joseph Kesselman
033 *
034 */
035 public interface DOMEnhancedForDTM extends DOM {
036 public short[] getMapping(String[] names, String[] uris, int[] types);
037 public int[] getReverseMapping(String[] names, String[] uris, int[] types);
038 public short[] getNamespaceMapping(String[] namespaces);
039 public short[] getReverseNamespaceMapping(String[] namespaces);
040 public String getDocumentURI();
041 public void setDocumentURI(String uri);
042 public int getExpandedTypeID2(int nodeHandle);
043 public boolean hasDOMSource();
044 public int getElementById(String idString);
045 }