You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@xalan.apache.org by mi...@apache.org on 2006/11/07 05:28:02 UTC
svn commit: r471981 [3/6] - in
/xalan/java/trunk/src/org/apache/xml/serializer: ./ dom3/ utils/
Added: xalan/java/trunk/src/org/apache/xml/serializer/dom3/DOMConstants.java
URL: http://svn.apache.org/viewvc/xalan/java/trunk/src/org/apache/xml/serializer/dom3/DOMConstants.java?view=auto&rev=471981
==============================================================================
--- xalan/java/trunk/src/org/apache/xml/serializer/dom3/DOMConstants.java (added)
+++ xalan/java/trunk/src/org/apache/xml/serializer/dom3/DOMConstants.java Mon Nov 6 20:28:00 2006
@@ -0,0 +1,134 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+/*
+ * $Id: $
+ */
+
+package org.apache.xml.serializer.dom3;
+
+/**
+ * DOM Constants used by the DOM Level 3 LSSerializer implementation.
+ *
+ * @xsl.usage internal
+ */
+final class DOMConstants {
+ //
+ // Constants: DOM Level 3 feature ids
+ //
+ public static final String DOM3_REC_URL = "http://www.w3.org/TR/DOM-Level-3-LS";
+
+ public static final String XERCES_URL = "http://xml.apache.org/xerces-2j";
+
+ // The namespace used to qualified DOM Level 3 DOMConfiguration parameters
+ public static final String S_DOM3_PROPERTIES_NS = "{"
+ + DOMConstants.DOM3_REC_URL + "}";
+
+ public static final String S_XERCES_PROPERTIES_NS = "{"
+ + DOMConstants.XERCES_URL + "}";
+
+ // xmlns namespaces
+ private static final String XMLNS_URI = "http://www.w3.org/2000/xmlns/";
+
+ // namespace prefix
+ private static final String XMLNS_PREFIX = "xmlns";
+
+ // ************************************************************************
+ // DOM Level 3 DOM Configuration parameter names
+ // ************************************************************************
+ // DOM Level 3 parameters defined in Core
+ public static final String DOM_CANONICAL_FORM = "canonical-form"; // Unsupported, we only appear to support this
+
+ public static final String DOM_CDATA_SECTIONS = "cdata-sections";
+
+ public static final String DOM_CHECK_CHAR_NORMALIZATION = "check-character-normalization"; // Unsupported
+
+ public static final String DOM_COMMENTS = "comments";
+
+ public static final String DOM_DATATYPE_NORMALIZATION = "datatype-normalization"; // Unsupported
+
+ public static final String DOM_ELEMENT_CONTENT_WHITESPACE = "element-content-whitespace";
+
+ public static final String DOM_ENTITIES = "entities";
+
+ public static final String DOM_INFOSET = "infoset";
+
+ public static final String DOM_NAMESPACES = "namespaces";
+
+ public static final String DOM_NAMESPACE_DECLARATIONS = "namespace-declarations";
+
+ public static final String DOM_NORMALIZE_CHARACTERS = "normalize-characters"; // Unsupported
+
+ public static final String DOM_SPLIT_CDATA = "split-cdata-sections";
+
+ public static final String DOM_VALIDATE_IF_SCHEMA = "validate-if-schema"; // Unsopported
+
+ public static final String DOM_VALIDATE = "validate"; // Unsopported
+
+ public static final String DOM_WELLFORMED = "well-formed";
+
+ // DOM Level 3 Save
+ public static final String DOM_DISCARD_DEFAULT_CONTENT = "discard-default-content";
+
+ public static final String DOM_FORMAT_PRETTY_PRINT = "format-pretty-print";
+
+ public static final String DOM_IGNORE_UNKNOWN_CHARACTER_DENORMALIZATIONS = "ignore-unknown-character-denormalizations"; // Unsupported
+
+ public static final String DOM_XMLDECL = "xml-declaration";
+
+ // DOM Properties
+ public static final String DOM_ERROR_HANDLER = "error-handler";
+
+ public static final String DOM_SCHEMA_TYPE = "schema-type"; // Unsupported
+
+ public static final String DOM_SCHEMA_LOCATION = "schema-location"; // Unsupported
+
+ // ************************************************************************
+
+ // XSL Output properties
+ // The xsl:output 'indent' property used in LSSerializer
+ public static final String S_XSL_OUTPUT_INDENT = "indent";
+
+ // The xsl:output 'indent' property used in LSSerializer
+ public static final String S_XSL_OUTPUT_ENCODING = "encoding";
+
+ // The xsl:output 'omit-xml-declaration' property used in LSSerializer
+ public static final String S_XSL_OUTPUT_OMIT_XML_DECL = "omit-xml-declaration";
+
+ // The xerces serializer specific 'omit-xml-declaration' property used in LSSerializer
+ public static final String S_XML_VERSION = "xml-version";
+
+ //
+ public static final String S_XSL_VALUE_ENTITIES = "org/apache/xml/serializer/XMLEntities";
+
+ // Parameter values
+ public static final String DOM3_EXPLICIT_TRUE = "explicit:yes";
+
+ public static final String DOM3_DEFAULT_TRUE = "default:yes";
+
+ public static final String DOM3_EXPLICIT_FALSE = "explicit:no";
+
+ public static final String DOM3_DEFAULT_FALSE = "default:no";
+
+ // DOM Exceptions
+ public static final String DOM_EXCEPTION_FEATURE_NOT_FOUND = "FEATURE_NOT_FOUND";
+
+ public static final String DOM_EXCEPTION_FEATURE_NOT_SUPPORTED = "FEATURE_NOT_SUPPORTED";
+
+ public static final String DOM_LSEXCEPTION_SERIALIZER_ERR = "SERIALIZER_ERROR";
+
+}
Added: xalan/java/trunk/src/org/apache/xml/serializer/dom3/DOMErrorHandlerImpl.java
URL: http://svn.apache.org/viewvc/xalan/java/trunk/src/org/apache/xml/serializer/dom3/DOMErrorHandlerImpl.java?view=auto&rev=471981
==============================================================================
--- xalan/java/trunk/src/org/apache/xml/serializer/dom3/DOMErrorHandlerImpl.java (added)
+++ xalan/java/trunk/src/org/apache/xml/serializer/dom3/DOMErrorHandlerImpl.java Mon Nov 6 20:28:00 2006
@@ -0,0 +1,67 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+/*
+ * $Id: $
+ */
+
+package org.apache.xml.serializer.dom3;
+
+import org.w3c.dom.DOMError;
+import org.w3c.dom.DOMErrorHandler;
+
+/**
+ * This is the default implementation of the ErrorHandler interface and is
+ * used if one is not provided. The default implementation simply reports
+ * DOMErrors to System.err.
+ *
+ * @xsl.usage internal
+ */
+final class DOMErrorHandlerImpl implements DOMErrorHandler {
+
+ /**
+ * Default Constructor
+ */
+ DOMErrorHandlerImpl() {
+ }
+
+ /**
+ * Implementation of DOMErrorHandler.handleError that
+ * adds copy of error to list for later retrieval.
+ *
+ */
+ public boolean handleError(DOMError error) {
+ boolean fail = true;
+ String severity = null;
+ if (error.getSeverity() == DOMError.SEVERITY_WARNING) {
+ fail = false;
+ severity = "[Warning]";
+ } else if (error.getSeverity() == DOMError.SEVERITY_ERROR) {
+ severity = "[Error]";
+ } else if (error.getSeverity() == DOMError.SEVERITY_FATAL_ERROR) {
+ severity = "[Fatal Error]";
+ }
+
+ System.err.println(severity + ": " + error.getMessage() + "\t");
+ System.err.println("Type : " + error.getType() + "\t" + "Related Data: "
+ + error.getRelatedData() + "\t" + "Related Exception: "
+ + error.getRelatedException() );
+
+ return fail;
+ }
+}
+
Added: xalan/java/trunk/src/org/apache/xml/serializer/dom3/DOMErrorImpl.java
URL: http://svn.apache.org/viewvc/xalan/java/trunk/src/org/apache/xml/serializer/dom3/DOMErrorImpl.java?view=auto&rev=471981
==============================================================================
--- xalan/java/trunk/src/org/apache/xml/serializer/dom3/DOMErrorImpl.java (added)
+++ xalan/java/trunk/src/org/apache/xml/serializer/dom3/DOMErrorImpl.java Mon Nov 6 20:28:00 2006
@@ -0,0 +1,176 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+/*
+ * $Id: $
+ */
+
+package org.apache.xml.serializer.dom3;
+
+import org.w3c.dom.DOMError;
+import org.w3c.dom.DOMLocator;
+
+/**
+ * Implementation of the DOM Level 3 DOMError interface.
+ *
+ * <p>See also the <a href='http://www.w3.org/TR/2004/REC-DOM-Level-3-Core-20040407/core.html#ERROR-Interfaces-DOMError'>DOMError Interface definition from Document Object Model (DOM) Level 3 Core Specification</a>.
+ *
+ * @xsl.usage internal
+ */
+
+final class DOMErrorImpl implements DOMError {
+
+ /** private data members */
+
+ // The DOMError Severity
+ private short fSeverity = DOMError.SEVERITY_WARNING;
+
+ // The Error message
+ private String fMessage = null;
+
+ // A String indicating which related data is expected in relatedData.
+ private String fType;
+
+ // The platform related exception
+ private Exception fException = null;
+
+ //
+ private Object fRelatedData;
+
+ // The location of the exception
+ private DOMLocatorImpl fLocation = new DOMLocatorImpl();
+
+
+ //
+ // Constructors
+ //
+
+ /**
+ * Default constructor.
+ */
+ DOMErrorImpl () {
+ }
+
+ /**
+ * @param severity
+ * @param message
+ * @param type
+ */
+ DOMErrorImpl(short severity, String message, String type) {
+ fSeverity = severity;
+ fMessage = message;
+ fType = type;
+ }
+
+ /**
+ * @param severity
+ * @param message
+ * @param type
+ * @param exception
+ */
+ DOMErrorImpl(short severity, String message, String type,
+ Exception exception) {
+ fSeverity = severity;
+ fMessage = message;
+ fType = type;
+ fException = exception;
+ }
+
+ /**
+ * @param severity
+ * @param message
+ * @param type
+ * @param exception
+ * @param relatedData
+ * @param location
+ */
+ DOMErrorImpl(short severity, String message, String type,
+ Exception exception, Object relatedData, DOMLocatorImpl location) {
+ fSeverity = severity;
+ fMessage = message;
+ fType = type;
+ fException = exception;
+ fRelatedData = relatedData;
+ fLocation = location;
+ }
+
+
+ /**
+ * The severity of the error, either <code>SEVERITY_WARNING</code>,
+ * <code>SEVERITY_ERROR</code>, or <code>SEVERITY_FATAL_ERROR</code>.
+ *
+ * @return A short containing the DOMError severity
+ */
+ public short getSeverity() {
+ return fSeverity;
+ }
+
+ /**
+ * The DOMError message string.
+ *
+ * @return String
+ */
+ public String getMessage() {
+ return fMessage;
+ }
+
+ /**
+ * The location of the DOMError.
+ *
+ * @return A DOMLocator object containing the DOMError location.
+ */
+ public DOMLocator getLocation() {
+ return fLocation;
+ }
+
+ /**
+ * The related platform dependent exception if any.
+ *
+ * @return A java.lang.Exception
+ */
+ public Object getRelatedException(){
+ return fException;
+ }
+
+ /**
+ * Returns a String indicating which related data is expected in relatedData.
+ *
+ * @return A String
+ */
+ public String getType(){
+ return fType;
+ }
+
+ /**
+ * The related DOMError.type dependent data if any.
+ *
+ * @return java.lang.Object
+ */
+ public Object getRelatedData(){
+ return fRelatedData;
+ }
+
+ public void reset(){
+ fSeverity = DOMError.SEVERITY_WARNING;
+ fException = null;
+ fMessage = null;
+ fType = null;
+ fRelatedData = null;
+ fLocation = null;
+ }
+
+}// class DOMErrorImpl
Added: xalan/java/trunk/src/org/apache/xml/serializer/dom3/DOMLocatorImpl.java
URL: http://svn.apache.org/viewvc/xalan/java/trunk/src/org/apache/xml/serializer/dom3/DOMLocatorImpl.java?view=auto&rev=471981
==============================================================================
--- xalan/java/trunk/src/org/apache/xml/serializer/dom3/DOMLocatorImpl.java (added)
+++ xalan/java/trunk/src/org/apache/xml/serializer/dom3/DOMLocatorImpl.java Mon Nov 6 20:28:00 2006
@@ -0,0 +1,180 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+/*
+ * $Id: $
+ */
+
+package org.apache.xml.serializer.dom3;
+
+import org.w3c.dom.DOMLocator;
+import org.w3c.dom.Node;
+
+
+/**
+ * <code>DOMLocatorImpl</code> is an implementaion that describes a location (e.g.
+ * where an error occured).
+ * <p>See also the <a href='http://www.w3.org/TR/2004/REC-DOM-Level-3-Core-20040407'>Document Object Model (DOM) Level 3 Core Specification</a>.
+ * This class is a copy of the Xerces-2J class org.apache.xerces.dom.DOMLocatorImpl.java v 1.10
+ *
+ * @author Gopal Sharma, SUN Microsystems Inc.
+ * @version $Id:
+ *
+ * @xsl.usage internal
+ */
+final class DOMLocatorImpl implements DOMLocator {
+
+ //
+ // Data
+ //
+
+ /**
+ * The column number where the error occured,
+ * or -1 if there is no column number available.
+ */
+ private final int fColumnNumber;
+
+ /**
+ * The line number where the error occured,
+ * or -1 if there is no line number available.
+ */
+ private final int fLineNumber;
+
+ /** related data node*/
+ private final Node fRelatedNode;
+
+ /**
+ * The URI where the error occured,
+ * or null if there is no URI available.
+ */
+ private final String fUri;
+
+ /**
+ * The byte offset into the input source this locator is pointing to or -1
+ * if there is no byte offset available
+ */
+ private final int fByteOffset;
+
+ /**
+ * The UTF-16, as defined in [Unicode] and Amendment 1 of [ISO/IEC 10646],
+ * offset into the input source this locator is pointing to or -1 if there
+ * is no UTF-16 offset available.
+ */
+ private final int fUtf16Offset;
+
+ //
+ // Constructors
+ //
+
+ DOMLocatorImpl(){
+ fColumnNumber = -1;
+ fLineNumber = -1;
+ fRelatedNode = null;
+ fUri = null;
+ fByteOffset = -1;
+ fUtf16Offset = -1;
+ }
+
+ DOMLocatorImpl (int lineNumber, int columnNumber, String uri ){
+ fLineNumber = lineNumber ;
+ fColumnNumber = columnNumber ;
+ fUri = uri;
+
+ fRelatedNode = null;
+ fByteOffset = -1;
+ fUtf16Offset = -1;
+ } // DOMLocatorImpl (int lineNumber, int columnNumber, String uri )
+
+ DOMLocatorImpl (int lineNumber, int columnNumber, int utf16Offset, String uri ){
+ fLineNumber = lineNumber ;
+ fColumnNumber = columnNumber ;
+ fUri = uri;
+ fUtf16Offset = utf16Offset;
+
+
+ fRelatedNode = null;
+ fByteOffset = -1;
+ } // DOMLocatorImpl (int lineNumber, int columnNumber, int utf16Offset, String uri )
+
+ DOMLocatorImpl (int lineNumber, int columnNumber, int byteoffset, Node relatedData, String uri ){
+ fLineNumber = lineNumber ;
+ fColumnNumber = columnNumber ;
+ fByteOffset = byteoffset ;
+ fRelatedNode = relatedData ;
+ fUri = uri;
+
+ fUtf16Offset = -1;
+ } // DOMLocatorImpl (int lineNumber, int columnNumber, int offset, Node errorNode, String uri )
+
+ DOMLocatorImpl (int lineNumber, int columnNumber, int byteoffset, Node relatedData, String uri, int utf16Offset ){
+ fLineNumber = lineNumber ;
+ fColumnNumber = columnNumber ;
+ fByteOffset = byteoffset ;
+ fRelatedNode = relatedData ;
+ fUri = uri;
+ fUtf16Offset = utf16Offset;
+ } // DOMLocatorImpl (int lineNumber, int columnNumber, int offset, Node errorNode, String uri )
+
+
+ /**
+ * The line number where the error occured, or -1 if there is no line
+ * number available.
+ */
+ public int getLineNumber(){
+ return fLineNumber;
+ }
+
+ /**
+ * The column number where the error occured, or -1 if there is no column
+ * number available.
+ */
+ public int getColumnNumber(){
+ return fColumnNumber;
+ }
+
+
+ /**
+ * The URI where the error occured, or null if there is no URI available.
+ */
+ public String getUri(){
+ return fUri;
+ }
+
+
+ public Node getRelatedNode(){
+ return fRelatedNode;
+ }
+
+
+ /**
+ * The byte offset into the input source this locator is pointing to or -1
+ * if there is no byte offset available
+ */
+ public int getByteOffset(){
+ return fByteOffset;
+ }
+
+ /**
+ * The UTF-16, as defined in [Unicode] and Amendment 1 of [ISO/IEC 10646],
+ * offset into the input source this locator is pointing to or -1 if there
+ * is no UTF-16 offset available.
+ */
+ public int getUtf16Offset(){
+ return fUtf16Offset;
+ }
+
+}// class DOMLocatorImpl
Added: xalan/java/trunk/src/org/apache/xml/serializer/dom3/DOMOutputImpl.java
URL: http://svn.apache.org/viewvc/xalan/java/trunk/src/org/apache/xml/serializer/dom3/DOMOutputImpl.java?view=auto&rev=471981
==============================================================================
--- xalan/java/trunk/src/org/apache/xml/serializer/dom3/DOMOutputImpl.java (added)
+++ xalan/java/trunk/src/org/apache/xml/serializer/dom3/DOMOutputImpl.java Mon Nov 6 20:28:00 2006
@@ -0,0 +1,177 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+/*
+ * $Id: $
+ */
+
+package org.apache.xml.serializer.dom3;
+
+import org.w3c.dom.ls.LSOutput;
+
+import java.io.Writer;
+import java.io.OutputStream;
+
+/**
+ * This is a copy of the Xerces-2J class org.apache.xerces.dom.DOMOutputImpl.java
+ *
+ * This class represents an output destination for data.
+ * This interface allows an application to encapsulate information about an
+ * output destination in a single object, which may include a URI, a byte stream
+ * (possibly with a specifiedencoding), a base URI, and/or a character stream.
+ * The exact definitions of a byte stream and a character stream are binding
+ * dependent.
+ * The application is expected to provide objects that implement this interface
+ * whenever such objects are needed. The application can either provide its
+ * own objects that implement this interface, or it can use the generic factory
+ * method DOMImplementationLS.createLSOutput() to create objects that
+ * implement this interface.
+ * The DOMSerializer will use the LSOutput object to determine where to
+ * serialize the output to. The DOMSerializer will look at the different
+ * outputs specified in the LSOutput in the following order to know which one
+ * to output to, the first one that data can be output to will be used:
+ * 1.LSOutput.characterStream
+ * 2.LSOutput.byteStream
+ * 3.LSOutput.systemId
+ * LSOutput objects belong to the application. The DOM implementation will
+ * never modify them (though it may make copies and modify the copies,
+ * if necessary).
+ *
+ *
+ * @author Arun Yadav, Sun Microsytems
+ * @author Gopal Sharma, Sun Microsystems
+ * @version $Id :
+ * @xsl.usage internal
+ */
+
+final class DOMOutputImpl implements LSOutput {
+
+ private Writer fCharStream = null;
+ private OutputStream fByteStream = null;
+ private String fSystemId = null;
+ private String fEncoding = null;
+
+ /**
+ * Default Constructor
+ */
+ DOMOutputImpl() {}
+
+ /**
+ * An attribute of a language and binding dependent type that represents a
+ * writable stream of bytes. If the application knows the character encoding
+ * of the byte stream, it should set the encoding attribute. Setting the
+ * encoding in this way will override any encoding specified in an XML
+ * declaration in the data.
+ */
+
+ public Writer getCharacterStream(){
+ return fCharStream;
+ };
+
+ /**
+ * An attribute of a language and binding dependent type that represents a
+ * writable stream of bytes. If the application knows the character encoding
+ * of the byte stream, it should set the encoding attribute. Setting the
+ * encoding in this way will override any encoding specified in an XML
+ * declaration in the data.
+ */
+
+ public void setCharacterStream(Writer characterStream){
+ fCharStream = characterStream;
+ };
+
+ /**
+ * Depending on the language binding in use, this attribute may not be
+ * available. An attribute of a language and binding dependent type that
+ * represents a writable stream to which 16-bit units can be output. The
+ * application must encode the stream using UTF-16 (defined in [Unicode] and
+ * Amendment 1 of [ISO/IEC 10646]).
+ */
+
+ public OutputStream getByteStream(){
+ return fByteStream;
+ };
+
+ /**
+ * Depending on the language binding in use, this attribute may not be
+ * available. An attribute of a language and binding dependent type that
+ * represents a writable stream to which 16-bit units can be output. The
+ * application must encode the stream using UTF-16 (defined in [Unicode] and
+ * Amendment 1 of [ISO/IEC 10646]).
+ */
+
+ public void setByteStream(OutputStream byteStream){
+ fByteStream = byteStream;
+ };
+
+ /**
+ * The system identifier, a URI reference [IETF RFC 2396], for this output
+ * destination. If the application knows the character encoding of the
+ * object pointed to by the system identifier, it can set the encoding
+ * using the encoding attribute. If the system ID is a relative URI
+ * reference (see section 5 in [IETF RFC 2396]), the behavior is
+ * implementation dependent.
+ */
+
+ public String getSystemId(){
+ return fSystemId;
+ };
+
+ /**
+ * The system identifier, a URI reference [IETF RFC 2396], for this output
+ * destination. If the application knows the character encoding of the
+ * object pointed to by the system identifier, it can set the encoding
+ * using the encoding attribute. If the system ID is a relative URI
+ * reference (see section 5 in [IETF RFC 2396]), the behavior is
+ * implementation dependent.
+ */
+
+ public void setSystemId(String systemId){
+ fSystemId = systemId;
+ };
+
+ /**
+ * The character encoding, if known. The encoding must be a string
+ * acceptable for an XML encoding declaration ([XML 1.0] section 4.3.3
+ * "Character Encoding in Entities"). This attribute has no effect when the
+ * application provides a character stream or string data. For other sources
+ * of input, an encoding specified by means of this attribute will override
+ * any encoding specified in the XML declaration or the Text declaration, or
+ * an encoding obtained from a higher level protocol, such as HTTP
+ * [IETF RFC 2616].
+ */
+
+ public String getEncoding(){
+ return fEncoding;
+ };
+
+ /**
+ * The character encoding, if known. The encoding must be a string
+ * acceptable for an XML encoding declaration ([XML 1.0] section 4.3.3
+ * "Character Encoding in Entities"). This attribute has no effect when the
+ * application provides a character stream or string data. For other sources
+ * of input, an encoding specified by means of this attribute will override
+ * any encoding specified in the XML declaration or the Text declaration, or
+ * an encoding obtained from a higher level protocol, such as HTTP
+ * [IETF RFC 2616].
+ */
+
+ public void setEncoding(String encoding){
+ fEncoding = encoding;
+ };
+
+}//DOMOutputImpl
Added: xalan/java/trunk/src/org/apache/xml/serializer/dom3/DOMStringListImpl.java
URL: http://svn.apache.org/viewvc/xalan/java/trunk/src/org/apache/xml/serializer/dom3/DOMStringListImpl.java?view=auto&rev=471981
==============================================================================
--- xalan/java/trunk/src/org/apache/xml/serializer/dom3/DOMStringListImpl.java (added)
+++ xalan/java/trunk/src/org/apache/xml/serializer/dom3/DOMStringListImpl.java Mon Nov 6 20:28:00 2006
@@ -0,0 +1,99 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+/*
+ * $Id: $
+ */
+package org.apache.xml.serializer.dom3;
+
+import java.util.Vector;
+
+//import org.apache.xerces.dom3.DOMStringList;
+import org.w3c.dom.DOMStringList;
+
+/**
+ * This class implemets the DOM Level 3 Core interface DOMStringList.
+ *
+ * @xsl.usage internal
+ */
+final class DOMStringListImpl implements DOMStringList {
+
+ //A collection of DOMString values
+ private Vector fStrings;
+
+ /**
+ * Construct an empty list of DOMStringListImpl
+ */
+ DOMStringListImpl() {
+ fStrings = new Vector();
+ }
+
+ /**
+ * Construct an empty list of DOMStringListImpl
+ */
+ DOMStringListImpl(Vector params) {
+ fStrings = params;
+ }
+
+ /**
+ * Construct an empty list of DOMStringListImpl
+ */
+ DOMStringListImpl(String[] params ) {
+ fStrings = new Vector();
+ if (params != null) {
+ for (int i=0; i < params.length; i++) {
+ fStrings.add(params[i]);
+ }
+ }
+ }
+
+ /**
+ * @see org.apache.xerces.dom3.DOMStringList#item(int)
+ */
+ public String item(int index) {
+ try {
+ return (String) fStrings.elementAt(index);
+ } catch (ArrayIndexOutOfBoundsException e) {
+ return null;
+ }
+ }
+
+ /**
+ * @see org.apache.xerces.dom3.DOMStringList#getLength()
+ */
+ public int getLength() {
+ return fStrings.size();
+ }
+
+ /**
+ * @see org.apache.xerces.dom3.DOMStringList#contains(String)
+ */
+ public boolean contains(String param) {
+ return fStrings.contains(param) ;
+ }
+
+ /**
+ * DOM Internal:
+ * Add a <code>DOMString</code> to the list.
+ *
+ * @param domString A string to add to the list
+ */
+ public void add(String param) {
+ fStrings.add(param);
+ }
+
+}
---------------------------------------------------------------------
To unsubscribe, e-mail: xalan-cvs-unsubscribe@xml.apache.org
For additional commands, e-mail: xalan-cvs-help@xml.apache.org