javax/ 40755 0 0 0 11146172411 7217 5ustar 0 0 javax/xml/ 40755 0 0 0 11146172417 10025 5ustar 0 0 javax/xml/datatype/ 40755 0 0 0 11304017200 11620 5ustar 0 0 javax/xml/namespace/ 40755 0 0 0 11157055203 11754 5ustar 0 0 javax/xml/parsers/ 40755 0 0 0 11304017200 11464 5ustar 0 0 javax/xml/stream/ 40755 0 0 0 11146172416 11317 5ustar 0 0 javax/xml/stream/events/ 40755 0 0 0 11146172414 12621 5ustar 0 0 javax/xml/stream/util/ 40755 0 0 0 11146172415 12273 5ustar 0 0 javax/xml/transform/ 40755 0 0 0 11304022204 12020 5ustar 0 0 javax/xml/transform/dom/ 40755 0 0 0 11146172416 12616 5ustar 0 0 javax/xml/transform/sax/ 40755 0 0 0 11146172417 12633 5ustar 0 0 javax/xml/transform/stax/ 40755 0 0 0 11146172416 13016 5ustar 0 0 javax/xml/transform/stream/ 40755 0 0 0 11271410574 13331 5ustar 0 0 javax/xml/validation/ 40755 0 0 0 11307760075 12161 5ustar 0 0 javax/xml/xpath/ 40755 0 0 0 11307760705 11153 5ustar 0 0 org/ 40755 0 0 0 11146172375 6706 5ustar 0 0 org/apache/ 40755 0 0 0 11146172375 10127 5ustar 0 0 org/apache/xmlcommons/ 40755 0 0 0 11310364117 12311 5ustar 0 0 org/w3c/ 40755 0 0 0 11146172407 7376 5ustar 0 0 org/w3c/css/ 40755 0 0 0 11146172407 10166 5ustar 0 0 org/w3c/css/sac/ 40755 0 0 0 11146172410 10726 5ustar 0 0 org/w3c/css/sac/helpers/ 40755 0 0 0 11146172410 12370 5ustar 0 0 org/w3c/dom/ 40755 0 0 0 11146174440 10154 5ustar 0 0 org/w3c/dom/bootstrap/ 40755 0 0 0 11146172404 12167 5ustar 0 0 org/w3c/dom/css/ 40755 0 0 0 11146172406 10744 5ustar 0 0 org/w3c/dom/events/ 40755 0 0 0 11146172404 11456 5ustar 0 0 org/w3c/dom/html/ 40755 0 0 0 11146172403 11115 5ustar 0 0 org/w3c/dom/ls/ 40755 0 0 0 11146172405 10571 5ustar 0 0 org/w3c/dom/ranges/ 40755 0 0 0 11146172405 11432 5ustar 0 0 org/w3c/dom/smil/ 40755 0 0 0 11146172406 11120 5ustar 0 0 org/w3c/dom/stylesheets/ 40755 0 0 0 11146172407 12531 5ustar 0 0 org/w3c/dom/svg/ 40755 0 0 0 11146172401 10746 5ustar 0 0 org/w3c/dom/traversal/ 40755 0 0 0 11146172406 12157 5ustar 0 0 org/w3c/dom/views/ 40755 0 0 0 11146172406 11311 5ustar 0 0 org/w3c/dom/xpath/ 40755 0 0 0 11146172405 11277 5ustar 0 0 org/xml/ 40755 0 0 0 11146172374 7505 5ustar 0 0 org/xml/sax/ 40755 0 0 0 11146172375 10301 5ustar 0 0 org/xml/sax/ext/ 40755 0 0 0 11146172374 11100 5ustar 0 0 org/xml/sax/helpers/ 40755 0 0 0 11146172375 11743 5ustar 0 0 javax/xml/XMLConstants.java100644 0 0 16233 11146172417 13347 0ustar 0 0 /* * 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: XMLConstants.java 584477 2007-10-14 02:44:03Z mrglavas $ package javax.xml; /** *

Utility class to contain basic XML values as constants.

* * @author Jeff Suttor * @version $Revision: 584477 $, $Date: 2007-10-13 22:44:03 -0400 (Sat, 13 Oct 2007) $ * @see Extensible Markup Language (XML) 1.1 * @see Extensible Markup Language (XML) 1.0 (Second Edition) * @see XML 1.0 Second Edition Specification Errata * @see Namespaces in XML 1.1 * @see Namespaces in XML * @see Namespaces in XML Errata * @see XML Schema Part 1: Structures * @since 1.5 **/ public final class XMLConstants { /** *

Private constructor to prevent instantiation.

*/ private XMLConstants() { } /** *

Namespace URI to use to represent that there is no Namespace.

* *

Defined by the Namespace specification to be "".

* * @see * Namespaces in XML, 5.2 Namespace Defaulting */ public static final String NULL_NS_URI = ""; /** *

Prefix to use to represent the default XML Namespace.

* *

Defined by the XML specification to be "".

* * @see * Namespaces in XML, 3. Qualified Names */ public static final String DEFAULT_NS_PREFIX = ""; /** *

The official XML Namespace name URI.

* *

Defined by the XML specification to be * "http://www.w3.org/XML/1998/namespace".

* * @see * Namespaces in XML, 3. Qualified Names */ public static final String XML_NS_URI = "http://www.w3.org/XML/1998/namespace"; /** *

The official XML Namespace prefix.

* *

Defined by the XML specification to be "xml".

* * @see * Namespaces in XML, 3. Qualified Names< */ public static final String XML_NS_PREFIX = "xml"; /** *

The official XML attribute used for specifying XML Namespace * declarations, {@link #XMLNS_ATTRIBUTE * XMLConstants.XMLNS_ATTRIBUTE}, Namespace name URI.

* *

Defined by the XML specification to be * "http://www.w3.org/2000/xmlns/".

* * @see * Namespaces in XML, 3. Qualified Names * @see * Namespaces in XML Errata */ public static final String XMLNS_ATTRIBUTE_NS_URI = "http://www.w3.org/2000/xmlns/"; /** *

The official XML attribute used for specifying XML Namespace * declarations.

* *

It is NOT valid to use as a * prefix. Defined by the XML specification to be * "xmlns".

* * @see * Namespaces in XML, 3. Qualified Names */ public static final String XMLNS_ATTRIBUTE = "xmlns"; /** *

W3C XML Schema Namespace URI.

* *

Defined to be "http://www.w3.org/2001/XMLSchema". * * @see * XML Schema Part 1: * Structures, 2.6 Schema-Related Markup in Documents Being Validated */ public static final String W3C_XML_SCHEMA_NS_URI = "http://www.w3.org/2001/XMLSchema"; /** *

W3C XML Schema Instance Namespace URI.

* *

Defined to be "http://www.w3.org/2001/XMLSchema-instance".

* * @see * XML Schema Part 1: * Structures, 2.6 Schema-Related Markup in Documents Being Validated */ public static final String W3C_XML_SCHEMA_INSTANCE_NS_URI = "http://www.w3.org/2001/XMLSchema-instance"; /** *

W3C XPath Datatype Namespace URI.

* *

Defined to be "http://www.w3.org/2003/11/xpath-datatypes".

* * @see XQuery 1.0 and XPath 2.0 Data Model */ public static final String W3C_XPATH_DATATYPE_NS_URI = "http://www.w3.org/2003/11/xpath-datatypes"; /** *

XML Document Type Declaration Namespace URI as an arbitrary value.

* *

Since not formally defined by any existing standard, arbitrarily define to be "http://www.w3.org/TR/REC-xml". */ public static final String XML_DTD_NS_URI = "http://www.w3.org/TR/REC-xml"; /** *

RELAX NG Namespace URI.

* *

Defined to be "http://relaxng.org/ns/structure/1.0".

* * @see RELAX NG Specification */ public static final String RELAXNG_NS_URI = "http://relaxng.org/ns/structure/1.0"; /** *

Feature for secure processing.

* * */ public static final String FEATURE_SECURE_PROCESSING = "http://javax.xml.XMLConstants/feature/secure-processing"; } javax/xml/datatype/DatatypeConfigurationException.java100644 0 0 13505 11146172413 21002 0ustar 0 0 /* * 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: DatatypeConfigurationException.java 569987 2007-08-27 04:08:46Z mrglavas $ package javax.xml.datatype; import java.io.IOException; import java.io.ObjectInputStream; import java.io.PrintStream; import java.io.PrintWriter; import java.lang.reflect.Method; /** *

Indicates a serious configuration error.

* * @author Jeff Suttor * @version $Revision: 569987 $, $Date: 2007-08-27 00:08:46 -0400 (Mon, 27 Aug 2007) $ * @since 1.5 */ public class DatatypeConfigurationException extends Exception { /** Stream Unique Identifier. */ private static final long serialVersionUID = -1699373159027047238L; /** This field is required to store the cause on JDK 1.3 and below. */ private Throwable causeOnJDK13OrBelow; /** Indicates whether this class is being used in a JDK 1.4 context. */ private transient boolean isJDK14OrAbove = false; /** *

Create a new DatatypeConfigurationException with * no specified detail message and cause.

*/ public DatatypeConfigurationException() { super(); } /** *

Create a new DatatypeConfigurationException with * the specified detail message.

* * @param message The detail message. */ public DatatypeConfigurationException(String message) { super(message); } /** *

Create a new DatatypeConfigurationException with * the specified detail message and cause.

* * @param message The detail message. * @param cause The cause. A null value is permitted, and indicates that the cause is nonexistent or unknown. */ public DatatypeConfigurationException(String message, Throwable cause) { super(message); initCauseByReflection(cause); } /** *

Create a new DatatypeConfigurationException with * the specified cause.

* * @param cause The cause. A null value is permitted, and indicates that the cause is nonexistent or unknown. */ public DatatypeConfigurationException(Throwable cause) { super(cause == null ? null : cause.toString()); initCauseByReflection(cause); } /** * Print the the trace of methods from where the error * originated. This will trace all nested exception * objects, as well as this object. */ public void printStackTrace() { if (!isJDK14OrAbove && causeOnJDK13OrBelow != null) { printStackTrace0(new PrintWriter(System.err, true)); } else { super.printStackTrace(); } } /** * Print the the trace of methods from where the error * originated. This will trace all nested exception * objects, as well as this object. * @param s The stream where the dump will be sent to. */ public void printStackTrace(PrintStream s) { if (!isJDK14OrAbove && causeOnJDK13OrBelow != null) { printStackTrace0(new PrintWriter(s)); } else { super.printStackTrace(s); } } /** * Print the the trace of methods from where the error * originated. This will trace all nested exception * objects, as well as this object. * @param s The writer where the dump will be sent to. */ public void printStackTrace(PrintWriter s) { if (!isJDK14OrAbove && causeOnJDK13OrBelow != null) { printStackTrace0(s); } else { super.printStackTrace(s); } } private void printStackTrace0(PrintWriter s) { causeOnJDK13OrBelow.printStackTrace(s); s.println("------------------------------------------"); super.printStackTrace(s); } private void initCauseByReflection(Throwable cause) { causeOnJDK13OrBelow = cause; try { Method m = this.getClass().getMethod("initCause", new Class[] {Throwable.class}); m.invoke(this, new Object[] {cause}); isJDK14OrAbove = true; } // Ignore exception catch (Exception e) {} } private void readObject(ObjectInputStream in) throws IOException, ClassNotFoundException { in.defaultReadObject(); try { Method m1 = this.getClass().getMethod("getCause", new Class[] {}); Throwable cause = (Throwable) m1.invoke(this, new Object[] {}); if (causeOnJDK13OrBelow == null) { causeOnJDK13OrBelow = cause; } else if (cause == null) { Method m2 = this.getClass().getMethod("initCause", new Class[] {Throwable.class}); m2.invoke(this, new Object[] {causeOnJDK13OrBelow}); } isJDK14OrAbove = true; } // Ignore exception catch (Exception e) {} } } javax/xml/datatype/DatatypeConstants.java100644 0 0 16521 11146172413 16271 0ustar 0 0 /* * 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: DatatypeConstants.java 446598 2006-09-15 12:55:40Z jeremias $ package javax.xml.datatype; import javax.xml.XMLConstants; import javax.xml.namespace.QName; /** *

Utility class to contain basic Datatype values as constants.

* * @author Jeff Suttor * @version $Revision: 446598 $, $Date: 2006-09-15 08:55:40 -0400 (Fri, 15 Sep 2006) $ * @since 1.5 */ public final class DatatypeConstants { /** *

Private constructor to prevent instantiation.

*/ private DatatypeConstants() { } /** * Value for first month of year. */ public static final int JANUARY = 1; /** * Value for second month of year. */ public static final int FEBRUARY = 2; /** * Value for third month of year. */ public static final int MARCH = 3; /** * Value for fourth month of year. */ public static final int APRIL = 4; /** * Value for fifth month of year. */ public static final int MAY = 5; /** * Value for sixth month of year. */ public static final int JUNE = 6; /** * Value for seventh month of year. */ public static final int JULY = 7; /** * Value for eighth month of year. */ public static final int AUGUST = 8; /** * Value for ninth month of year. */ public static final int SEPTEMBER = 9; /** * Value for tenth month of year. */ public static final int OCTOBER = 10; /** * Value for eleven month of year. */ public static final int NOVEMBER = 11; /** * Value for twelve month of year. */ public static final int DECEMBER = 12; /** *

Comparison result.

*/ public static final int LESSER = -1; /** *

Comparison result.

*/ public static final int EQUAL = 0; /** *

Comparison result.

*/ public static final int GREATER = 1; /** *

Comparison result.

*/ public static final int INDETERMINATE = 2; /** * Designation that an "int" field is not set. */ public static final int FIELD_UNDEFINED = Integer.MIN_VALUE; /** *

A constant that represents the years field.

*/ public static final Field YEARS = new Field("YEARS", 0); /** *

A constant that represents the months field.

*/ public static final Field MONTHS = new Field("MONTHS", 1); /** *

A constant that represents the days field.

*/ public static final Field DAYS = new Field("DAYS", 2); /** *

A constant that represents the hours field.

*/ public static final Field HOURS = new Field("HOURS", 3); /** *

A constant that represents the minutes field.

*/ public static final Field MINUTES = new Field("MINUTES", 4); /** *

A constant that represents the seconds field.

*/ public static final Field SECONDS = new Field("SECONDS", 5); /** * Type-safe enum class that represents six fields * of the {@link Duration} class. */ public static final class Field { /** *

String representation of Field.

*/ private final String str; /** *

Unique id of the field.

* *

This value allows the {@link Duration} class to use switch * statements to process fields.

*/ private final int id; /** *

Construct a Field with specified values.

* @param str String representation of Field * @param id int representation of Field */ private Field(final String str, final int id) { this.str = str; this.id = id; } /** * Returns a field name in English. This method * is intended to be used for debugging/diagnosis * and not for display to end-users. * * @return * a non-null valid String constant. */ public String toString() { return str; } /** *

Get id of this Field.

* * @return Id of field. */ public int getId() { return id; } } /** *

Fully qualified name for W3C XML Schema 1.0 datatype dateTime.

*/ public static final QName DATETIME = new QName(XMLConstants.W3C_XML_SCHEMA_NS_URI, "dateTime"); /** *

Fully qualified name for W3C XML Schema 1.0 datatype time.

*/ public static final QName TIME = new QName(XMLConstants.W3C_XML_SCHEMA_NS_URI, "time"); /** *

Fully qualified name for W3C XML Schema 1.0 datatype date.

*/ public static final QName DATE = new QName(XMLConstants.W3C_XML_SCHEMA_NS_URI, "date"); /** *

Fully qualified name for W3C XML Schema 1.0 datatype gYearMonth.

*/ public static final QName GYEARMONTH = new QName(XMLConstants.W3C_XML_SCHEMA_NS_URI, "gYearMonth"); /** *

Fully qualified name for W3C XML Schema 1.0 datatype gMonthDay.

*/ public static final QName GMONTHDAY = new QName(XMLConstants.W3C_XML_SCHEMA_NS_URI, "gMonthDay"); /** *

Fully qualified name for W3C XML Schema 1.0 datatype gYear.

*/ public static final QName GYEAR = new QName(XMLConstants.W3C_XML_SCHEMA_NS_URI, "gYear"); /** *

Fully qualified name for W3C XML Schema 1.0 datatype gMonth.

*/ public static final QName GMONTH = new QName(XMLConstants.W3C_XML_SCHEMA_NS_URI, "gMonth"); /** *

Fully qualified name for W3C XML Schema 1.0 datatype gDay.

*/ public static final QName GDAY = new QName(XMLConstants.W3C_XML_SCHEMA_NS_URI, "gDay"); /** *

Fully qualified name for W3C XML Schema datatype duration.

*/ public static final QName DURATION = new QName(XMLConstants.W3C_XML_SCHEMA_NS_URI, "duration"); /** *

Fully qualified name for XQuery 1.0 and XPath 2.0 datatype dayTimeDuration.

*/ public static final QName DURATION_DAYTIME = new QName(XMLConstants.W3C_XPATH_DATATYPE_NS_URI, "dayTimeDuration"); /** *

Fully qualified name for XQuery 1.0 and XPath 2.0 datatype yearMonthDuration.

*/ public static final QName DURATION_YEARMONTH = new QName(XMLConstants.W3C_XPATH_DATATYPE_NS_URI, "yearMonthDuration"); /** * W3C XML Schema max timezone offset is -14:00. Zone offset is in minutes. */ public static final int MAX_TIMEZONE_OFFSET = -14 * 60; /** * W3C XML Schema min timezone offset is +14:00. Zone offset is in minutes. */ public static final int MIN_TIMEZONE_OFFSET = 14 * 60; } javax/xml/datatype/DatatypeFactory.java100644 0 0 142455 11304017200 15736 0ustar 0 0 /* * 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: DatatypeFactory.java 884950 2009-11-27 18:46:18Z mrglavas $ package javax.xml.datatype; import java.math.BigInteger; import java.math.BigDecimal; import java.util.GregorianCalendar; /** *

Factory that creates new javax.xml.datatype Objects that map XML to/from Java Objects.

* *

{@link #newInstance()} is used to create a new DatatypeFactory. * The following implementation resolution mechanisms are used in the following order:

*
    *
  1. * If the system property specified by {@link #DATATYPEFACTORY_PROPERTY}, "javax.xml.datatype.DatatypeFactory", * exists, a class with the name of the property's value is instantiated. * Any Exception thrown during the instantiation process is wrapped as a {@link DatatypeConfigurationException}. *
  2. *
  3. * If the file ${JAVA_HOME}/lib/jaxp.properties exists, it is loaded in a {@link java.util.Properties} Object. * The Properties Object is then queried for the property as documented in the prior step * and processed as documented in the prior step. *
  4. *
  5. * The services resolution mechanism is used, e.g. META-INF/services/java.xml.datatype.DatatypeFactory. * Any Exception thrown during the instantiation process is wrapped as a {@link DatatypeConfigurationException}. *
  6. *
  7. * The final mechanism is to attempt to instantiate the Class specified by * {@link #DATATYPEFACTORY_IMPLEMENTATION_CLASS}, "javax.xml.datatype.DatatypeFactoryImpl". * Any Exception thrown during the instantiation process is wrapped as a {@link DatatypeConfigurationException}. *
  8. *
* * @author Joseph Fialli * @author Jeff Suttor * @version $Revision: 884950 $, $Date: 2009-11-27 13:46:18 -0500 (Fri, 27 Nov 2009) $ * @since 1.5 */ public abstract class DatatypeFactory { /** *

Default property name as defined in JSR 206: Java(TM) API for XML Processing (JAXP) 1.3.

* *

Default value is javax.xml.datatype.DatatypeFactory.

*/ public static final String DATATYPEFACTORY_PROPERTY = "javax.xml.datatype.DatatypeFactory"; /** *

Default implementation class name as defined in JSR 206: Java(TM) API for XML Processing (JAXP) 1.3.

* *

Default value is org.apache.xerces.jaxp.datatype.DatatypeFactoryImpl.

*/ public static final String DATATYPEFACTORY_IMPLEMENTATION_CLASS = new String("org.apache.xerces.jaxp.datatype.DatatypeFactoryImpl"); /** *

Protected constructor to prevent instantiation outside of package.

* *

Use {@link #newInstance()} to create a DatatypeFactory.

*/ protected DatatypeFactory() {} /** *

Obtain a new instance of a DatatypeFactory.

* *

The implementation resolution mechanisms are defined in this * Class's documentation.

* * @return New instance of a DocumentBuilderFactory * * @throws DatatypeConfigurationException If the implementation is not * available or cannot be instantiated. */ public static DatatypeFactory newInstance() throws DatatypeConfigurationException { try { return (DatatypeFactory) FactoryFinder.find( /* The default property name according to the JAXP spec */ DATATYPEFACTORY_PROPERTY, /* The fallback implementation class name */ DATATYPEFACTORY_IMPLEMENTATION_CLASS); } catch (FactoryFinder.ConfigurationError e) { throw new DatatypeConfigurationException(e.getMessage(), e.getException()); } } /** * @return New instance of a DocumentBuilderFactory * * @throws DatatypeConfigurationException If the implementation is not * available or cannot be instantiated. */ public static DatatypeFactory newInstance(String factoryClassName, ClassLoader classLoader) throws DatatypeConfigurationException { if (factoryClassName == null) { throw new DatatypeConfigurationException("factoryClassName cannot be null."); } if (classLoader == null) { classLoader = SecuritySupport.getContextClassLoader(); } try { return (DatatypeFactory) FactoryFinder.newInstance(factoryClassName, classLoader); } catch (FactoryFinder.ConfigurationError e) { throw new DatatypeConfigurationException(e.getMessage(), e.getException()); } } /** *

Obtain a new instance of a Duration * specifying the Duration as its string representation, "PnYnMnDTnHnMnS", * as defined in XML Schema 1.0 section 3.2.6.1.

* *

XML Schema Part 2: Datatypes, 3.2.6 duration, defines duration as:

*
* duration represents a duration of time. * The value space of duration is a six-dimensional space where the coordinates designate the * Gregorian year, month, day, hour, minute, and second components defined in Section 5.5.3.2 of [ISO 8601], respectively. * These components are ordered in their significance by their order of appearance i.e. as * year, month, day, hour, minute, and second. *
*

All six values are set and available from the created {@link Duration}

* *

The XML Schema specification states that values can be of an arbitrary size. * Implementations may chose not to or be incapable of supporting arbitrarily large and/or small values. * An {@link UnsupportedOperationException} will be thrown with a message indicating implementation limits * if implementation capacities are exceeded.

* * @param lexicalRepresentation String representation of a Duration. * * @return New Duration created from parsing the lexicalRepresentation. * * @throws IllegalArgumentException If lexicalRepresentation is not a valid representation of a Duration. * @throws UnsupportedOperationException If implementation cannot support requested values. * @throws NullPointerException if lexicalRepresentation is null. */ public abstract Duration newDuration(final String lexicalRepresentation); /** *

Obtain a new instance of a Duration * specifying the Duration as milliseconds.

* *

XML Schema Part 2: Datatypes, 3.2.6 duration, defines duration as:

*
* duration represents a duration of time. * The value space of duration is a six-dimensional space where the coordinates designate the * Gregorian year, month, day, hour, minute, and second components defined in Section 5.5.3.2 of [ISO 8601], respectively. * These components are ordered in their significance by their order of appearance i.e. as * year, month, day, hour, minute, and second. *
*

All six values are set by computing their values from the specified milliseconds * and are available using the get methods of the created {@link Duration}. * The values conform to and are defined by:

* * *

The default start instance is defined by {@link GregorianCalendar}'s use of the start of the epoch: i.e., * {@link java.util.Calendar#YEAR} = 1970, * {@link java.util.Calendar#MONTH} = {@link java.util.Calendar#JANUARY}, * {@link java.util.Calendar#DATE} = 1, etc. * This is important as there are variations in the Gregorian Calendar, * e.g. leap years have different days in the month = {@link java.util.Calendar#FEBRUARY} * so the result of {@link Duration#getMonths()} and {@link Duration#getDays()} can be influenced.

* * @param durationInMilliSeconds Duration in milliseconds to create. * * @return New Duration representing durationInMilliSeconds. */ public abstract Duration newDuration(final long durationInMilliSeconds); /** *

Obtain a new instance of a Duration * specifying the Duration as isPositive, years, months, days, hours, minutes, seconds.

* *

The XML Schema specification states that values can be of an arbitrary size. * Implementations may chose not to or be incapable of supporting arbitrarily large and/or small values. * An {@link UnsupportedOperationException} will be thrown with a message indicating implementation limits * if implementation capacities are exceeded.

* *

A null value indicates that field is not set.

* * @param isPositive Set to false to create a negative duration. When the length * of the duration is zero, this parameter will be ignored. * @param years of this Duration * @param months of this Duration * @param days of this Duration * @param hours of this Duration * @param minutes of this Duration * @param seconds of this Duration * * @return New Duration created from the specified values. * * @throws IllegalArgumentException If values are not a valid representation of a Duration. * @throws UnsupportedOperationException If implementation cannot support requested values. */ public abstract Duration newDuration( final boolean isPositive, final BigInteger years, final BigInteger months, final BigInteger days, final BigInteger hours, final BigInteger minutes, final BigDecimal seconds); /** *

Obtain a new instance of a Duration * specifying the Duration as isPositive, years, months, days, hours, minutes, seconds.

* *

A {@link DatatypeConstants#FIELD_UNDEFINED} value indicates that field is not set.

* * @param isPositive Set to false to create a negative duration. When the length * of the duration is zero, this parameter will be ignored. * @param years of this Duration * @param months of this Duration * @param days of this Duration * @param hours of this Duration * @param minutes of this Duration * @param seconds of this Duration * * @return New Duration created from the specified values. * * @throws IllegalArgumentException If values are not a valid representation of a Duration. * * @see #newDuration( * boolean isPositive, * BigInteger years, * BigInteger months, * BigInteger days, * BigInteger hours, * BigInteger minutes, * BigDecimal seconds) */ public Duration newDuration( final boolean isPositive, final int years, final int months, final int days, final int hours, final int minutes, final int seconds) { // years may not be set BigInteger realYears = (years != DatatypeConstants.FIELD_UNDEFINED) ? BigInteger.valueOf((long) years) : null; // months may not be set BigInteger realMonths = (months != DatatypeConstants.FIELD_UNDEFINED) ? BigInteger.valueOf((long) months) : null; // days may not be set BigInteger realDays = (days != DatatypeConstants.FIELD_UNDEFINED) ? BigInteger.valueOf((long) days) : null; // hours may not be set BigInteger realHours = (hours != DatatypeConstants.FIELD_UNDEFINED) ? BigInteger.valueOf((long) hours) : null; // minutes may not be set BigInteger realMinutes = (minutes != DatatypeConstants.FIELD_UNDEFINED) ? BigInteger.valueOf((long) minutes) : null; // seconds may not be set BigDecimal realSeconds = (seconds != DatatypeConstants.FIELD_UNDEFINED) ? BigDecimal.valueOf((long) seconds) : null; return newDuration( isPositive, realYears, realMonths, realDays, realHours, realMinutes, realSeconds ); } /** *

Create a Duration of type xdt:dayTimeDuration by parsing its String representation, * "PnDTnHnMnS", * XQuery 1.0 and XPath 2.0 Data Model, xdt:dayTimeDuration.

* *

The datatype xdt:dayTimeDuration is a subtype of xs:duration * whose lexical representation contains only day, hour, minute, and second components. * This datatype resides in the namespace http://www.w3.org/2003/11/xpath-datatypes.

* *

All four values are set and available from the created {@link Duration}

* *

The XML Schema specification states that values can be of an arbitrary size. * Implementations may chose not to or be incapable of supporting arbitrarily large and/or small values. * An {@link UnsupportedOperationException} will be thrown with a message indicating implementation limits * if implementation capacities are exceeded.

* * @param lexicalRepresentation Lexical representation of a duration. * * @return New Duration created using the specified lexicalRepresentation. * * @throws IllegalArgumentException If the given string does not conform to the aforementioned specification. * @throws UnsupportedOperationException If implementation cannot support requested values. * @throws NullPointerException If lexicalRepresentation is null. */ public Duration newDurationDayTime(final String lexicalRepresentation) { if (lexicalRepresentation == null) { throw new NullPointerException("The lexical representation cannot be null."); } // The lexical representation must match the pattern [^YM]*(T.*)? int pos = lexicalRepresentation.indexOf('T'); int length = (pos >= 0) ? pos : lexicalRepresentation.length(); for (int i = 0; i < length; ++i) { char c = lexicalRepresentation.charAt(i); if (c == 'Y' || c == 'M') { throw new IllegalArgumentException("Invalid dayTimeDuration value: " + lexicalRepresentation); } } return newDuration(lexicalRepresentation); } /** *

Create a Duration of type xdt:dayTimeDuration using the specified milliseconds as defined in * * XQuery 1.0 and XPath 2.0 Data Model, xdt:dayTimeDuration.

* *

The datatype xdt:dayTimeDuration is a subtype of xs:duration * whose lexical representation contains only day, hour, minute, and second components. * This datatype resides in the namespace http://www.w3.org/2003/11/xpath-datatypes.

* *

All four values are set by computing their values from the specified milliseconds * and are available using the get methods of the created {@link Duration}. * The values conform to and are defined by:

* * *

The default start instance is defined by {@link GregorianCalendar}'s use of the start of the epoch: i.e., * {@link java.util.Calendar#YEAR} = 1970, * {@link java.util.Calendar#MONTH} = {@link java.util.Calendar#JANUARY}, * {@link java.util.Calendar#DATE} = 1, etc. * This is important as there are variations in the Gregorian Calendar, * e.g. leap years have different days in the month = {@link java.util.Calendar#FEBRUARY} * so the result of {@link Duration#getDays()} can be influenced.

* *

Any remaining milliseconds after determining the day, hour, minute and second are discarded.

* * @param durationInMilliseconds Milliseconds of Duration to create. * * @return New Duration created with the specified durationInMilliseconds. * * @see * XQuery 1.0 and XPath 2.0 Data Model, xdt:dayTimeDuration */ public Duration newDurationDayTime(final long durationInMilliseconds) { long _durationInMilliseconds = durationInMilliseconds; if (_durationInMilliseconds == 0) { return newDuration(true, DatatypeConstants.FIELD_UNDEFINED, DatatypeConstants.FIELD_UNDEFINED, 0, 0, 0, 0); } boolean tooLong = false; final boolean isPositive; if (_durationInMilliseconds < 0) { isPositive = false; if (_durationInMilliseconds == Long.MIN_VALUE) { _durationInMilliseconds++; tooLong = true; } _durationInMilliseconds *= -1; } else { isPositive = true; } long val = _durationInMilliseconds; int milliseconds = (int) (val % 60000L); // 60000 milliseconds per minute if (tooLong) { ++milliseconds; } if (milliseconds % 1000 == 0) { int seconds = milliseconds / 1000; val = val / 60000L; int minutes = (int) (val % 60L); // 60 minutes per hour val = val / 60L; int hours = (int) (val % 24L); // 24 hours per day long days = val / 24L; if (days <= ((long) Integer.MAX_VALUE)) { return newDuration(isPositive, DatatypeConstants.FIELD_UNDEFINED, DatatypeConstants.FIELD_UNDEFINED, (int) days, hours, minutes, seconds); } else { return newDuration(isPositive, null, null, BigInteger.valueOf(days), BigInteger.valueOf(hours), BigInteger.valueOf(minutes), BigDecimal.valueOf(milliseconds, 3)); } } BigDecimal seconds = BigDecimal.valueOf(milliseconds, 3); val = val / 60000L; BigInteger minutes = BigInteger.valueOf(val % 60L); // 60 minutes per hour val = val / 60L; BigInteger hours = BigInteger.valueOf(val % 24L); // 24 hours per day val = val / 24L; BigInteger days = BigInteger.valueOf(val); return newDuration(isPositive, null, null, days, hours, minutes, seconds); } /** *

Create a Duration of type xdt:dayTimeDuration using the specified * day, hour, minute and second as defined in * * XQuery 1.0 and XPath 2.0 Data Model, xdt:dayTimeDuration.

* *

The datatype xdt:dayTimeDuration is a subtype of xs:duration * whose lexical representation contains only day, hour, minute, and second components. * This datatype resides in the namespace http://www.w3.org/2003/11/xpath-datatypes.

* *

The XML Schema specification states that values can be of an arbitrary size. * Implementations may chose not to or be incapable of supporting arbitrarily large and/or small values. * An {@link UnsupportedOperationException} will be thrown with a message indicating implementation limits * if implementation capacities are exceeded.

* *

A null value indicates that field is not set.

* * @param isPositive Set to false to create a negative duration. When the length * of the duration is zero, this parameter will be ignored. * @param day Day of Duration. * @param hour Hour of Duration. * @param minute Minute of Duration. * @param second Second of Duration. * * @return New Duration created with the specified day, hour, minute * and second. * * @throws IllegalArgumentException If any values would create an invalid Duration. * @throws UnsupportedOperationException If implementation cannot support requested values. */ public Duration newDurationDayTime( final boolean isPositive, final BigInteger day, final BigInteger hour, final BigInteger minute, final BigInteger second) { return newDuration( isPositive, null, // years null, // months day, hour, minute, (second != null)? new BigDecimal(second):null ); } /** *

Create a Duration of type xdt:dayTimeDuration using the specified * day, hour, minute and second as defined in * * XQuery 1.0 and XPath 2.0 Data Model, xdt:dayTimeDuration.

* *

The datatype xdt:dayTimeDuration is a subtype of xs:duration * whose lexical representation contains only day, hour, minute, and second components. * This datatype resides in the namespace http://www.w3.org/2003/11/xpath-datatypes.

* *

A {@link DatatypeConstants#FIELD_UNDEFINED} value indicates that field is not set.

* * @param isPositive Set to false to create a negative duration. When the length * of the duration is zero, this parameter will be ignored. * @param day Day of Duration. * @param hour Hour of Duration. * @param minute Minute of Duration. * @param second Second of Duration. * * @return New Duration created with the specified day, hour, minute * and second. * * @throws IllegalArgumentException If any values would create an invalid Duration. */ public Duration newDurationDayTime( final boolean isPositive, final int day, final int hour, final int minute, final int second) { return newDuration(isPositive, DatatypeConstants.FIELD_UNDEFINED, DatatypeConstants.FIELD_UNDEFINED, day, hour, minute, second); } /** *

Create a Duration of type xdt:yearMonthDuration by parsing its String representation, * "PnYnM", * XQuery 1.0 and XPath 2.0 Data Model, xdt:yearMonthDuration.

* *

The datatype xdt:yearMonthDuration is a subtype of xs:duration * whose lexical representation contains only year and month components. * This datatype resides in the namespace {@link javax.xml.XMLConstants#W3C_XPATH_DATATYPE_NS_URI}.

* *

Both values are set and available from the created {@link Duration}

* *

The XML Schema specification states that values can be of an arbitrary size. * Implementations may chose not to or be incapable of supporting arbitrarily large and/or small values. * An {@link UnsupportedOperationException} will be thrown with a message indicating implementation limits * if implementation capacities are exceeded.

* * @param lexicalRepresentation Lexical representation of a duration. * * @return New Duration created using the specified lexicalRepresentation. * * @throws IllegalArgumentException If the lexicalRepresentation does not conform to the specification. * @throws UnsupportedOperationException If implementation cannot support requested values. * @throws NullPointerException If lexicalRepresentation is null. */ public Duration newDurationYearMonth(final String lexicalRepresentation) { if (lexicalRepresentation == null) { throw new NullPointerException("The lexical representation cannot be null."); } // The lexical representation must match the pattern [^DT]*. int length = lexicalRepresentation.length(); for (int i = 0; i < length; ++i) { char c = lexicalRepresentation.charAt(i); if (c == 'D' || c == 'T') { throw new IllegalArgumentException("Invalid yearMonthDuration value: " + lexicalRepresentation); } } return newDuration(lexicalRepresentation); } /** *

Create a Duration of type xdt:yearMonthDuration using the specified milliseconds as defined in * * XQuery 1.0 and XPath 2.0 Data Model, xdt:yearMonthDuration.

* *

The datatype xdt:yearMonthDuration is a subtype of xs:duration * whose lexical representation contains only year and month components. * This datatype resides in the namespace {@link javax.xml.XMLConstants#W3C_XPATH_DATATYPE_NS_URI}.

* *

Both values are set by computing their values from the specified milliseconds * and are available using the get methods of the created {@link Duration}. * The values conform to and are defined by:

* * *

The default start instance is defined by {@link GregorianCalendar}'s use of the start of the epoch: i.e., * {@link java.util.Calendar#YEAR} = 1970, * {@link java.util.Calendar#MONTH} = {@link java.util.Calendar#JANUARY}, * {@link java.util.Calendar#DATE} = 1, etc. * This is important as there are variations in the Gregorian Calendar, * e.g. leap years have different days in the month = {@link java.util.Calendar#FEBRUARY} * so the result of {@link Duration#getMonths()} can be influenced.

* *

Any remaining milliseconds after determining the year and month are discarded.

* * @param durationInMilliseconds Milliseconds of Duration to create. * * @return New Duration created using the specified durationInMilliseconds. */ public Duration newDurationYearMonth(final long durationInMilliseconds) { return newDuration(durationInMilliseconds); } /** *

Create a Duration of type xdt:yearMonthDuration using the specified * year and month as defined in * * XQuery 1.0 and XPath 2.0 Data Model, xdt:yearMonthDuration.

* *

The XML Schema specification states that values can be of an arbitrary size. * Implementations may chose not to or be incapable of supporting arbitrarily large and/or small values. * An {@link UnsupportedOperationException} will be thrown with a message indicating implementation limits * if implementation capacities are exceeded.

* *

A null value indicates that field is not set.

* * @param isPositive Set to false to create a negative duration. When the length * of the duration is zero, this parameter will be ignored. * @param year Year of Duration. * @param month Month of Duration. * * @return New Duration created using the specified year and month. * * @throws IllegalArgumentException If any values would create an invalid Duration. * @throws UnsupportedOperationException If implementation cannot support requested values. */ public Duration newDurationYearMonth( final boolean isPositive, final BigInteger year, final BigInteger month) { return newDuration( isPositive, year, month, null, // days null, // hours null, // minutes null // seconds ); } /** *

Create a Duration of type xdt:yearMonthDuration using the specified * year and month as defined in * * XQuery 1.0 and XPath 2.0 Data Model, xdt:yearMonthDuration.

* *

A {@link DatatypeConstants#FIELD_UNDEFINED} value indicates that field is not set.

* * @param isPositive Set to false to create a negative duration. When the length * of the duration is zero, this parameter will be ignored. * @param year Year of Duration. * @param month Month of Duration. * * @return New Duration created using the specified year and month. * * @throws IllegalArgumentException If any values would create an invalid Duration. */ public Duration newDurationYearMonth( final boolean isPositive, final int year, final int month) { return newDuration(isPositive, year, month, DatatypeConstants.FIELD_UNDEFINED, DatatypeConstants.FIELD_UNDEFINED, DatatypeConstants.FIELD_UNDEFINED, DatatypeConstants.FIELD_UNDEFINED); } /** *

Create a new instance of an XMLGregorianCalendar.

* *

All date/time datatype fields set to {@link DatatypeConstants#FIELD_UNDEFINED} or null.

* * @return New XMLGregorianCalendar with all date/time datatype fields set to * {@link DatatypeConstants#FIELD_UNDEFINED} or null. */ public abstract XMLGregorianCalendar newXMLGregorianCalendar(); /** *

Create a new XMLGregorianCalendar by parsing the String as a lexical representation.

* *

Parsing the lexical string representation is defined in * XML Schema 1.0 Part 2, Section 3.2.[7-14].1, * Lexical Representation.

* *

The string representation may not have any leading and trailing whitespaces.

* *

The parsing is done field by field so that * the following holds for any lexically correct String x:

*
     * newXMLGregorianCalendar(x).toXMLFormat().equals(x)
     * 
*

Except for the noted lexical/canonical representation mismatches * listed in * XML Schema 1.0 errata, Section 3.2.7.2.

* * @param lexicalRepresentation Lexical representation of one the eight XML Schema date/time datatypes. * * @return XMLGregorianCalendar created from the lexicalRepresentation. * * @throws IllegalArgumentException If the lexicalRepresentation is not a valid XMLGregorianCalendar. * @throws NullPointerException If lexicalRepresentation is null. */ public abstract XMLGregorianCalendar newXMLGregorianCalendar(final String lexicalRepresentation); /** *

Create an XMLGregorianCalendar from a {@link GregorianCalendar}.

* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
* Field by Field Conversion from * {@link GregorianCalendar} to an {@link XMLGregorianCalendar} *
java.util.GregorianCalendar fieldjavax.xml.datatype.XMLGregorianCalendar field
ERA == GregorianCalendar.BC ? -YEAR : YEAR{@link XMLGregorianCalendar#setYear(int year)}
MONTH + 1{@link XMLGregorianCalendar#setMonth(int month)}
DAY_OF_MONTH{@link XMLGregorianCalendar#setDay(int day)}
HOUR_OF_DAY, MINUTE, SECOND, MILLISECOND{@link XMLGregorianCalendar#setTime(int hour, int minute, int second, BigDecimal fractional)}
* (ZONE_OFFSET + DST_OFFSET) / (60*1000)
* (in minutes) *
{@link XMLGregorianCalendar#setTimezone(int offset)}* *
*

*conversion loss of information. It is not possible to represent * a java.util.GregorianCalendar daylight savings timezone id in the * XML Schema 1.0 date/time datatype representation.

* *

To compute the return value's TimeZone field, *

*/ public String getLocalName(); } org/w3c/css/sac/ErrorHandler.java100644 0 0 10660 11146172410 14300 0ustar 0 0 /* * Copyright (c) 1999 World Wide Web Consortium * (Massachusetts Institute of Technology, Institut National de Recherche * en Informatique et en Automatique, Keio University). * All Rights Reserved. http://www.w3.org/Consortium/Legal/ * * The original version of this interface comes from SAX : * http://www.megginson.com/SAX/ * * $Id: ErrorHandler.java 477010 2006-11-20 02:54:38Z mrglavas $ */ package org.w3c.css.sac; /** * Basic interface for CSS error handlers. * *

If a CSS application needs to implement customized error * handling, it must implement this interface and then register an * instance with the CSS parser using the parser's setErrorHandler * method. The parser will then report all errors and warnings * through this interface.

* *

The parser shall use this interface instead of throwing an * exception: it is up to the application whether to throw an * exception for different types of errors and warnings. Note, * however, that there is no requirement that the parser continue to * provide useful information after a call to fatalError (in other * words, a CSS driver class could catch an exception and report a * fatalError).

* *

The HandlerBase class provides a default implementation of this * interface, ignoring warnings and recoverable errors and throwing a * SAXParseException for fatal errors. An application may extend * that class rather than implementing the complete interface * itself.

* * @version $Revision: 477010 $ * @author Philippe Le Hegaret */ public interface ErrorHandler { /** * Receive notification of a warning. * *

CSS parsers will use this method to report conditions that * are not errors or fatal errors as defined by the XML 1.0 * recommendation. The default behaviour is to take no action.

* *

The CSS parser must continue to provide normal parsing events * after invoking this method: it should still be possible for the * application to process the document through to the end.

* * @param exception The warning information encapsulated in a * CSS parse exception. * @exception CSSException Any CSS exception, possibly * wrapping another exception. * @see CSSParseException */ public void warning(CSSParseException exception) throws CSSException; /** * Receive notification of a recoverable error. * *

This corresponds to the definition of "error" in section 1.2 * of the W3C XML 1.0 Recommendation. For example, a validating * parser would use this callback to report the violation of a * validity constraint. The default behaviour is to take no * action.

* *

The CSS parser must continue to provide normal parsing events * after invoking this method: it should still be possible for the * application to process the document through to the end. If the * application cannot do so, then the parser should report a fatal * error even if the XML 1.0 recommendation does not require it to * do so.

* * @param exception The error information encapsulated in a * CSS parse exception. * @exception CSSException Any CSS exception, possibly * wrapping another exception. * @see CSSParseException */ public void error(CSSParseException exception) throws CSSException; /** * Receive notification of a non-recoverable error. * *

This corresponds to the definition of "fatal error" in * section 1.2 of the W3C XML 1.0 Recommendation. For example, a * parser would use this callback to report the violation of a * well-formedness constraint.

* *

The application must assume that the document is unusable * after the parser has invoked this method, and should continue * (if at all) only for the sake of collecting addition error * messages: in fact, CSS parsers are free to stop reporting any * other events once this method has been invoked.

* * @param exception The error information encapsulated in a * CSS parse exception. * @exception CSSException Any CSS exception, possibly * wrapping another exception. * @see CSSParseException */ public void fatalError(CSSParseException exception) throws CSSException; } org/w3c/css/sac/InputSource.java100644 0 0 17323 11146172410 14174 0ustar 0 0 /* * Copyright (c) 1999 World Wide Web Consortium * (Massachusetts Institute of Technology, Institut National de Recherche * en Informatique et en Automatique, Keio University). * All Rights Reserved. http://www.w3.org/Consortium/Legal/ * * The original version of this interface comes from SAX : * http://www.megginson.com/SAX/ * * $Id: InputSource.java 477010 2006-11-20 02:54:38Z mrglavas $ */ package org.w3c.css.sac; import java.io.InputStream; import java.io.Reader; /** * A single input source for a CSS source. * *

This class allows a CSS application to encapsulate information about an * input source in a single object, which may include a URI, a byte stream * (possibly with a specified encoding), and/or a character stream.

* *

The CSS parser will use the InputSource object to determine how * to read CSS input. If there is a character stream available, the * parser will read that stream directly; if not, the parser will use * a byte stream, if available; if neither a character stream nor a * byte stream is available, the parser will attempt to open a URI * connection to the resource identified by the URI.

* *

An InputSource object belongs to the application: the CSS parser * shall never modify it in any way (it may modify a copy if * necessary).

* * @version $Revision: 477010 $ * @author Philippe Le Hegaret */ public class InputSource { private String uri; private InputStream byteStream; private String encoding; private Reader characterStream; private String title; private String media; /** * Zero-argument default constructor. * * @see #setURI * @see #setByteStream * @see #setCharacterStream * @see #setEncoding */ public InputSource() { } /** * Create a new input source with a URI. * *

The URI must be full resolved.

* * @param uri The URI. * @see #setURI * @see #setByteStream * @see #setEncoding * @see #setCharacterStream */ public InputSource(String uri) { setURI(uri); } /** * Create a new input source with a character stream. * *

Application writers may use setURI() to provide a base * for resolving relative URIs, and setPublicId to include a * public identifier.

* *

The character stream shall not include a byte order mark.

* * @see #setURI * @see #setByteStream * @see #setCharacterStream */ public InputSource(Reader characterStream) { setCharacterStream(characterStream); } /** * Set the URI for this input source. * *

The URI is optional if there is a byte stream or a character stream, * but it is still useful to provide one, since the application can use it * to resolve relative URIs and can include it in error messages and * warnings (the parser will attempt to open a connection to the URI only * if there is no byte stream or character stream specified).

* *

If the application knows the character encoding of the * object pointed to by the URI, it can register * the encoding using the setEncoding method.

* *

The URI must be fully resolved.

* * @param uri The URI as a string. * @see #setEncoding * @see #getURI * @see Locator#getURI * @see CSSParseException#getURI */ public void setURI(String uri) { this.uri = uri; } /** * Get the URI for this input source. * *

The getEncoding method will return the character encoding * of the object pointed to, or null if unknown.

* *

The URI will be fully resolved.

* * @return The URI. * @see #setURI * @see #getEncoding */ public String getURI() { return uri; } /** * Set the byte stream for this input source. * *

The SAX parser will ignore this if there is also a character * stream specified, but it will use a byte stream in preference * to opening a URI connection itself.

* *

If the application knows the character encoding of the * byte stream, it should set it with the setEncoding method.

* * @param byteStream A byte stream containing an CSS document or * other entity. * @see #setEncoding * @see #getByteStream * @see #getEncoding */ public void setByteStream(InputStream byteStream) { this.byteStream = byteStream; } /** * Get the byte stream for this input source. * *

The getEncoding method will return the character * encoding for this byte stream, or null if unknown.

* * @return The byte stream, or null if none was supplied. * @see #getEncoding * @see #setByteStream */ public InputStream getByteStream() { return byteStream; } /** * Set the character encoding, if known. * *

The encoding must be a string acceptable for an * CHARSET encoding declaration (see section 4.4 of the CSS * recommendation Level 2).

* *

This method has no effect when the application provides a * character stream.

* * @param encoding A string describing the character encoding. * @see #setURI * @see #setByteStream * @see #getEncoding */ public void setEncoding(String encoding) { this.encoding = encoding; } /** * Get the character encoding for a byte stream or URI. * * @return The encoding, or null if none was supplied. * @see #setByteStream * @see #getURI * @see #getByteStream */ public String getEncoding() { return encoding; } /** * Set the character stream for this input source. * *

If there is a character stream specified, the SAX parser * will ignore any byte stream and will not attempt to open * a URI connection to the URI.

* * @param characterStream The character stream containing the * CSS document or other entity. * @see #getCharacterStream */ public void setCharacterStream(Reader characterStream) { this.characterStream = characterStream; } /** * Get the character stream for this input source. * * @return The character stream, or null if none was supplied. * @see #setCharacterStream */ public Reader getCharacterStream() { return characterStream; } /** * Set the title for this input source. * @param title The advisory title. See the title attribute definition * for the LINK * element in HTML 4.0, and the title pseudo-attribute for the XML * style sheet processing instruction. */ public void setTitle(String title) { this.title = title; } /** * Returns the title for this input source. */ public String getTitle() { return title; } /** * Set the media for this input source. * @param media A comma separated list with all media. */ public void setMedia(String media) { this.media = media; } /** * Returns the media associated to the input source or null * if media are currently unknown. * @return the media associated to this input source. */ public String getMedia() { if (media == null) { return "all"; } return media; } } org/w3c/css/sac/LangCondition.java100644 0 0 1125 11146172410 14415 0ustar 0 0 /* * (c) COPYRIGHT 1999 World Wide Web Consortium * (Massachusetts Institute of Technology, Institut National de Recherche * en Informatique et en Automatique, Keio University). * All Rights Reserved. http://www.w3.org/Consortium/Legal/ * * $Id: LangCondition.java 477010 2006-11-20 02:54:38Z mrglavas $ */ package org.w3c.css.sac; /** * @version $Revision: 477010 $ * @author Philippe Le Hegaret * @see Condition#SAC_LANG_CONDITION */ public interface LangCondition extends Condition { /** * Returns the language */ public String getLang(); } org/w3c/css/sac/LexicalUnit.java100644 0 0 23313 11146172410 14131 0ustar 0 0 /* * Copyright (c) 1999 World Wide Web Consortium * (Massachusetts Institute of Technology, Institut National de Recherche * en Informatique et en Automatique, Keio University). * All Rights Reserved. http://www.w3.org/Consortium/Legal/ * * $Id: LexicalUnit.java 477010 2006-11-20 02:54:38Z mrglavas $ */ package org.w3c.css.sac; /** * This is a lexical unit for CSS values. *

Remarks: Not all the following lexical units are supported (or * will be supported) by CSS. *

All examples are CSS2 compliant. * * @version $Revision: 477010 $ * @author Philippe Le Hegaret */ public interface LexicalUnit { /** * , */ public static final short SAC_OPERATOR_COMMA = 0; /** * + */ public static final short SAC_OPERATOR_PLUS = 1; /** * - */ public static final short SAC_OPERATOR_MINUS = 2; /** * * */ public static final short SAC_OPERATOR_MULTIPLY = 3; /** * / */ public static final short SAC_OPERATOR_SLASH = 4; /** * % */ public static final short SAC_OPERATOR_MOD = 5; /** * ^ */ public static final short SAC_OPERATOR_EXP = 6; /** * < */ public static final short SAC_OPERATOR_LT = 7; /** * > */ public static final short SAC_OPERATOR_GT = 8; /** * <= */ public static final short SAC_OPERATOR_LE = 9; /** * >= */ public static final short SAC_OPERATOR_GE = 10; /** * ~ */ public static final short SAC_OPERATOR_TILDE = 11; /** * identifier inherit. */ public static final short SAC_INHERIT = 12; /** * Integers. * @see #getIntegerValue */ public static final short SAC_INTEGER = 13; /** * reals. * @see #getFloatValue * @see #getDimensionUnitText */ public static final short SAC_REAL = 14; /** * Relative lengthem. * @see #getFloatValue * @see #getDimensionUnitText */ public static final short SAC_EM = 15; /** * Relative lengthex. * @see #getFloatValue * @see #getDimensionUnitText */ public static final short SAC_EX = 16; /** * Relative length px. * @see #getFloatValue * @see #getDimensionUnitText */ public static final short SAC_PIXEL = 17; /** * Absolute length in. * @see #getFloatValue * @see #getDimensionUnitText */ public static final short SAC_INCH = 18; /** * Absolute length cm. * @see #getFloatValue * @see #getDimensionUnitText */ public static final short SAC_CENTIMETER = 19; /** * Absolute length mm. * @see #getFloatValue * @see #getDimensionUnitText */ public static final short SAC_MILLIMETER = 20; /** * Absolute length pt. * @see #getFloatValue * @see #getDimensionUnitText */ public static final short SAC_POINT = 21; /** * Absolute length pc. * @see #getFloatValue * @see #getDimensionUnitText */ public static final short SAC_PICA = 22; /** * Percentage. * @see #getFloatValue * @see #getDimensionUnitText */ public static final short SAC_PERCENTAGE = 23; /** * URI: uri(...). * @see #getStringValue */ public static final short SAC_URI = 24; /** * function counter. * @see #getFunctionName * @see #getParameters */ public static final short SAC_COUNTER_FUNCTION = 25; /** * function counters. * @see #getFunctionName * @see #getParameters */ public static final short SAC_COUNTERS_FUNCTION = 26; /** * RGB Colors. * rgb(0, 0, 0) and #000 * @see #getFunctionName * @see #getParameters */ public static final short SAC_RGBCOLOR = 27; /** * Angle deg. * @see #getFloatValue * @see #getDimensionUnitText */ public static final short SAC_DEGREE = 28; /** * Angle grad. * @see #getFloatValue * @see #getDimensionUnitText */ public static final short SAC_GRADIAN = 29; /** * Angle rad. * @see #getFloatValue * @see #getDimensionUnitText */ public static final short SAC_RADIAN = 30; /** * Time ms. * @see #getFloatValue * @see #getDimensionUnitText */ public static final short SAC_MILLISECOND = 31; /** * Time s. * @see #getFloatValue * @see #getDimensionUnitText */ public static final short SAC_SECOND = 32; /** * Frequency Hz. * @see #getFloatValue * @see #getDimensionUnitText */ public static final short SAC_HERTZ = 33; /** * Frequency kHz. * @see #getFloatValue * @see #getDimensionUnitText */ public static final short SAC_KILOHERTZ = 34; /** * any identifier except inherit. * @see #getStringValue */ public static final short SAC_IDENT = 35; /** * A string. * @see #getStringValue */ public static final short SAC_STRING_VALUE = 36; /** * Attribute: attr(...). * @see #getStringValue */ public static final short SAC_ATTR = 37; /** * function rect. * @see #getFunctionName * @see #getParameters */ public static final short SAC_RECT_FUNCTION = 38; /** * A unicode range. @@TO BE DEFINED */ public static final short SAC_UNICODERANGE = 39; /** * sub expressions * (a) (a + b) (normal/none) * @see #getSubValues */ public static final short SAC_SUB_EXPRESSION = 40; /** * unknown function. * @see #getFunctionName * @see #getParameters */ public static final short SAC_FUNCTION = 41; /** * unknown dimension. * @see #getFloatValue * @see #getDimensionUnitText */ public static final short SAC_DIMENSION = 42; /** * An integer indicating the type of LexicalUnit. */ public short getLexicalUnitType(); /** * Returns the next value or null if any. */ public LexicalUnit getNextLexicalUnit(); /** * Returns the previous value or null if any. */ public LexicalUnit getPreviousLexicalUnit(); /** * Returns the integer value. * @see #SAC_INTEGER */ public int getIntegerValue(); /** * Returns the float value. *

If the type of LexicalUnit is one of SAC_DEGREE, * SAC_GRADIAN, SAC_RADIAN, SAC_MILLISECOND, SAC_SECOND, SAC_HERTZ * or SAC_KILOHERTZ, the value can never be negative.

* * @see #SAC_REAL * @see #SAC_DIMENSION * @see #SAC_EM * @see #SAC_EX * @see #SAC_PIXEL * @see #SAC_INCH * @see #SAC_CENTIMETER * @see #SAC_MILLIMETER * @see #SAC_POINT * @see #SAC_PICA * @see #SAC_PERCENTAGE * @see #SAC_DEGREE * @see #SAC_GRADIAN * @see #SAC_RADIAN * @see #SAC_MILLISECOND * @see #SAC_SECOND * @see #SAC_HERTZ * @see #SAC_KILOHERTZ */ public float getFloatValue(); /** * Returns the string representation of the unit. *

if this lexical unit represents a float, the dimension is an empty * string.

* @see #SAC_REAL * @see #SAC_DIMENSION * @see #SAC_EM * @see #SAC_EX * @see #SAC_PIXEL * @see #SAC_INCH * @see #SAC_CENTIMETER * @see #SAC_MILLIMETER * @see #SAC_POINT * @see #SAC_PICA * @see #SAC_PERCENTAGE * @see #SAC_DEGREE * @see #SAC_GRADIAN * @see #SAC_RADIAN * @see #SAC_MILLISECOND * @see #SAC_SECOND * @see #SAC_HERTZ * @see #SAC_KILOHERTZ */ public String getDimensionUnitText(); /** * Returns the name of the function. * @see #SAC_COUNTER_FUNCTION * @see #SAC_COUNTERS_FUNCTION * @see #SAC_RECT_FUNCTION * @see #SAC_FUNCTION * @see #SAC_RGBCOLOR */ public String getFunctionName(); /** * The function parameters including operators (like the comma). * #000 is converted to rgb(0, 0, 0) * can return null if SAC_FUNCTION. * @see #SAC_COUNTER_FUNCTION * @see #SAC_COUNTERS_FUNCTION * @see #SAC_RECT_FUNCTION * @see #SAC_FUNCTION * @see #SAC_RGBCOLOR */ public LexicalUnit getParameters(); /** * Returns the string value. *

If the type is SAC_URI, the return value doesn't contain * uri(....) or quotes. *

If the type is SAC_ATTR, the return value doesn't contain * attr(....). * * @see #SAC_URI * @see #SAC_ATTR * @see #SAC_IDENT * @see #SAC_STRING_VALUE * @see #SAC_UNICODERANGE @@TO BE DEFINED */ public String getStringValue(); /** * Returns a list of values inside the sub expression. * @see #SAC_SUB_EXPRESSION */ public LexicalUnit getSubValues(); } org/w3c/css/sac/Locator.java100644 0 0 5162 11146172410 13275 0ustar 0 0 /* * Copyright (c) 1999 World Wide Web Consortium * (Massachusetts Institute of Technology, Institut National de Recherche * en Informatique et en Automatique, Keio University). * All Rights Reserved. http://www.w3.org/Consortium/Legal/ * * The original version of this interface comes from SAX : * http://www.megginson.com/SAX/ * * $Id: Locator.java 477010 2006-11-20 02:54:38Z mrglavas $ */ package org.w3c.css.sac; /** * Interface for associating a CSS event with a document location. * *

If a SAX parser provides location information to the SAX * application, it does so by implementing this interface and then * passing an instance to the application using the document * handler's setDocumentLocator method. The application can use the * object to obtain the location of any other document handler event * in the CSS source document.

* *

Note that the results returned by the object will be valid only * during the scope of each document handler method: the application * will receive unpredictable results if it attempts to use the * locator at any other time.

* *

CSS parsers are not required to supply a locator, but they are * very strong encouraged to do so. If the parser supplies a * locator, it must do so before reporting any other document events. * If no locator has been set by the time the application receives * the startDocument event, the application should assume that a * locator is not available.

* * @version $Revision: 477010 $ * @author Philippe Le Hegaret */ public interface Locator { /** * Return the URI for the current document event. * *

The parser must resolve the URI fully before passing it to the * application.

* * @return A string containing the URI, or null * if none is available. */ public String getURI(); /** * Return the line number where the current document event ends. * Note that this is the line position of the first character * after the text associated with the document event. * @return The line number, or -1 if none is available. * @see #getColumnNumber */ public int getLineNumber(); /** * Return the column number where the current document event ends. * Note that this is the column number of the first * character after the text associated with the document * event. The first column in a line is position 1. * @return The column number, or -1 if none is available. * @see #getLineNumber */ public int getColumnNumber(); } org/w3c/css/sac/NegativeCondition.java100644 0 0 1161 11146172410 15276 0ustar 0 0 /* * (c) COPYRIGHT 1999 World Wide Web Consortium * (Massachusetts Institute of Technology, Institut National de Recherche * en Informatique et en Automatique, Keio University). * All Rights Reserved. http://www.w3.org/Consortium/Legal/ * * $Id: NegativeCondition.java 477010 2006-11-20 02:54:38Z mrglavas $ */ package org.w3c.css.sac; /** * @version $Revision: 477010 $ * @author Philippe Le Hegaret * @see Condition#SAC_NEGATIVE_CONDITION */ public interface NegativeCondition extends Condition { /** * Returns the condition. */ public Condition getCondition(); } org/w3c/css/sac/NegativeSelector.java100644 0 0 1202 11146172410 15124 0ustar 0 0 /* * (c) COPYRIGHT 1999 World Wide Web Consortium * (Massachusetts Institute of Technology, Institut National de Recherche * en Informatique et en Automatique, Keio University). * All Rights Reserved. http://www.w3.org/Consortium/Legal/ * * $Id: NegativeSelector.java 477010 2006-11-20 02:54:38Z mrglavas $ */ package org.w3c.css.sac; /** * @version $Revision: 477010 $ * @author Philippe Le Hegaret * @see Selector#SAC_NEGATIVE_SELECTOR */ public interface NegativeSelector extends SimpleSelector { /** * Returns the simple selector. */ public SimpleSelector getSimpleSelector(); } org/w3c/css/sac/Parser.java100644 0 0 20472 11146172410 13147 0ustar 0 0 /* * Copyright (c) 1999 World Wide Web Consortium * (Massachusetts Institute of Technology, Institut National de Recherche * en Informatique et en Automatique, Keio University). * All Rights Reserved. http://www.w3.org/Consortium/Legal/ * * The original version of this interface comes from SAX : * http://www.megginson.com/SAX/ * * $Id: Parser.java 477010 2006-11-20 02:54:38Z mrglavas $ */ package org.w3c.css.sac; import java.io.IOException; import java.util.Locale; /** * Basic interface for CSS (Simple API for CSS) parsers. * *

All CSS parsers must implement this basic interface: it allows * applications to register handlers for different types of events * and to initiate a parse from a URI, or a character stream.

* *

All CSS parsers must also implement a zero-argument constructor * (though other constructors are also allowed).

* *

CSS parsers are reusable but not re-entrant: the application * may reuse a parser object (possibly with a different input source) * once the first parse has completed successfully, but it may not * invoke the parse() methods recursively within a parse.

* * @version $Revision: 477010 $ * @author Philippe Le Hegaret * @see DocumentHandler * @see ErrorHandler * @see InputSource */ public interface Parser { /** * Allow an application to request a locale for errors and warnings. * *

CSS parsers are not required to provide localisation for errors * and warnings; if they cannot support the requested locale, * however, they must throw a CSS exception. Applications may * not request a locale change in the middle of a parse.

* * @param locale A Java Locale object. * @exception CSSException Throws an exception * (using the previous or default locale) if the * requested locale is not supported. * @see CSSException * @see CSSParseException */ public void setLocale(Locale locale) throws CSSException; /** * Allow an application to register a document event handler. * *

If the application does not register a document handler, all * document events reported by the CSS parser will be silently * ignored (this is the default behaviour implemented by * HandlerBase).

* *

Applications may register a new or different handler in the * middle of a parse, and the CSS parser must begin using the new * handler immediately.

* * @param handler The document handler. * @see DocumentHandler */ public void setDocumentHandler(DocumentHandler handler); public void setSelectorFactory(SelectorFactory selectorFactory); public void setConditionFactory(ConditionFactory conditionFactory); /** * Allow an application to register an error event handler. * *

If the application does not register an error event handler, * all error events reported by the CSS parser will be silently * ignored, except for fatalError, which will throw a CSSException * (this is the default behaviour implemented by HandlerBase).

* *

Applications may register a new or different handler in the * middle of a parse, and the CSS parser must begin using the new * handler immediately.

* * @param handler The error handler. * @see ErrorHandler * @see CSSException */ public void setErrorHandler(ErrorHandler handler); /** * Parse a CSS document. * *

The application can use this method to instruct the CSS parser * to begin parsing an CSS document from any valid input * source (a character stream, a byte stream, or a URI).

* *

Applications may not invoke this method while a parse is in * progress (they should create a new Parser instead for each * additional CSS document). Once a parse is complete, an * application may reuse the same Parser object, possibly with a * different input source.

* * @param source The input source for the top-level of the * CSS document. * @exception CSSException Any CSS exception, possibly * wrapping another exception. * @exception java.io.IOException An IO exception from the parser, * possibly from a byte stream or character stream * supplied by the application. * @see InputSource * @see #parseStyleSheet(java.lang.String) * @see #setDocumentHandler * @see #setErrorHandler */ public void parseStyleSheet(InputSource source) throws CSSException, IOException; /** * Parse a CSS document from a URI. * *

This method is a shortcut for the common case of reading a document * from a URI. It is the exact equivalent of the following:

* *
     * parse(new InputSource(uri));
     * 
* *

The URI must be fully resolved by the application before it is passed * to the parser.

* * @param uri The URI. * @exception CSSException Any CSS exception, possibly * wrapping another exception. * @exception java.io.IOException An IO exception from the parser, * possibly from a byte stream or character stream * supplied by the application. * @see #parseStyleSheet(InputSource) */ public void parseStyleSheet(String uri) throws CSSException, IOException; /** * Parse a CSS style declaration (without '{' and '}'). * * @param styleValue The declaration. * @exception CSSException Any CSS exception, possibly * wrapping another exception. * @exception java.io.IOException An IO exception from the parser, * possibly from a byte stream or character stream * supplied by the application. */ public void parseStyleDeclaration(InputSource source) throws CSSException, IOException; /** * Parse a CSS rule. * * @exception CSSException Any CSS exception, possibly * wrapping another exception. * @exception java.io.IOException An IO exception from the parser, * possibly from a byte stream or character stream * supplied by the application. */ public void parseRule(InputSource source) throws CSSException, IOException; /** * Returns a string about which CSS language is supported by this * parser. For CSS Level 1, it returns "http://www.w3.org/TR/REC-CSS1", for * CSS Level 2, it returns "http://www.w3.org/TR/REC-CSS2". Note that a * "CSSx" parser can return lexical unit other than those allowed by CSS * Level x but this usage is not recommended. */ public String getParserVersion(); /** * Parse a comma separated list of selectors. * * * @exception CSSException Any CSS exception, possibly * wrapping another exception. * @exception java.io.IOException An IO exception from the parser, * possibly from a byte stream or character stream * supplied by the application. */ public SelectorList parseSelectors(InputSource source) throws CSSException, IOException; /** * Parse a CSS property value. * * * @exception CSSException Any CSS exception, possibly * wrapping another exception. * @exception java.io.IOException An IO exception from the parser, * possibly from a byte stream or character stream * supplied by the application. */ public LexicalUnit parsePropertyValue(InputSource source) throws CSSException, IOException; /** * Parse a CSS priority value (e.g. "!important"). * * * @exception CSSException Any CSS exception, possibly * wrapping another exception. * @exception java.io.IOException An IO exception from the parser, * possibly from a byte stream or character stream * supplied by the application. */ public boolean parsePriority(InputSource source) throws CSSException, IOException; } org/w3c/css/sac/PositionalCondition.java100644 0 0 2145 11146172410 15660 0ustar 0 0 /* * (c) COPYRIGHT 1999 World Wide Web Consortium * (Massachusetts Institute of Technology, Institut National de Recherche * en Informatique et en Automatique, Keio University). * All Rights Reserved. http://www.w3.org/Consortium/Legal/ * * $Id: PositionalCondition.java 477010 2006-11-20 02:54:38Z mrglavas $ */ package org.w3c.css.sac; /** * @version $Revision: 477010 $ * @author Philippe Le Hegaret * @see Condition#SAC_POSITIONAL_CONDITION */ public interface PositionalCondition extends Condition { /** * Returns the position in the tree. *

A negative value means from the end of the child node list. *

The child node list begins at 0. */ public int getPosition(); /** * true if the child node list only shows nodes of the same * type of the selector (only elements, only PIS, ...) */ public boolean getTypeNode(); /** * true if the node should have the same node type (for * element, same namespaceURI and same localName). */ public boolean getType(); } org/w3c/css/sac/ProcessingInstructionSelector.java100644 0 0 1671 11146172410 17752 0ustar 0 0 /* * (c) COPYRIGHT 1999 World Wide Web Consortium * (Massachusetts Institute of Technology, Institut National de Recherche * en Informatique et en Automatique, Keio University). * All Rights Reserved. http://www.w3.org/Consortium/Legal/ * * $Id: ProcessingInstructionSelector.java 477010 2006-11-20 02:54:38Z mrglavas $ */ package org.w3c.css.sac; /** * This simple matches a * processing instruction. * * @version $Revision: 477010 $ * @author Philippe Le Hegaret * @see Selector#SAC_PROCESSING_INSTRUCTION_NODE_SELECTOR */ public interface ProcessingInstructionSelector extends SimpleSelector { /** * Returns the target * of the processing instruction. */ public String getTarget(); /** * Returns the character data. */ public String getData(); } org/w3c/css/sac/SACMediaList.java100644 0 0 1331 11146172410 14066 0ustar 0 0 /* * (c) COPYRIGHT 1999 World Wide Web Consortium * (Massachusetts Institute of Technology, Institut National de Recherche * en Informatique et en Automatique, Keio University). * All Rights Reserved. http://www.w3.org/Consortium/Legal/ * * $Id: SACMediaList.java 477010 2006-11-20 02:54:38Z mrglavas $ */ package org.w3c.css.sac; /** * @version $Revision: 477010 $ * @author Philippe Le Hegaret */ public interface SACMediaList { /** * Returns the length of this media list */ public int getLength(); /** * Returns the medium at the specified index, or null if this * is not a valid index. */ public String item(int index); } org/w3c/css/sac/Selector.java100644 0 0 10055 11146172410 13467 0ustar 0 0 /* * Copyright (c) 1999 World Wide Web Consortium, * (Massachusetts Institute of Technology, Institut National de * Recherche en Informatique et en Automatique, Keio University). All * Rights Reserved. This program is distributed under the W3C's Software * Intellectual Property License. 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 W3C License http://www.w3.org/Consortium/Legal/ for more details. * * $Id: Selector.java 477010 2006-11-20 02:54:38Z mrglavas $ */ package org.w3c.css.sac; /** * This interface defines a selector. *

Remarks: Not all the following selectors are supported (or will be * supported) by CSS. *

All examples are CSS2 compliant. * * @version $Revision: 477010 $ * @author Philippe Le Hegaret */ public interface Selector { /* simple selectors */ /** * This is a conditional selector. * example: *

     *   simple[role="private"]
     *   .part1
     *   H1#myId
     *   P:lang(fr).p1
     * 
* * @see ConditionalSelector */ public static final short SAC_CONDITIONAL_SELECTOR = 0; /** * This selector matches any node. * @see SimpleSelector */ public static final short SAC_ANY_NODE_SELECTOR = 1; /** * This selector matches the root node. * @see SimpleSelector */ public static final short SAC_ROOT_NODE_SELECTOR = 2; /** * This selector matches only node that are different from a specified one. * @see NegativeSelector */ public static final short SAC_NEGATIVE_SELECTOR = 3; /** * This selector matches only element node. * example: *
     *   H1
     *   animate
     * 
* @see ElementSelector */ public static final short SAC_ELEMENT_NODE_SELECTOR = 4; /** * This selector matches only text node. * @see CharacterDataSelector */ public static final short SAC_TEXT_NODE_SELECTOR = 5; /** * This selector matches only cdata node. * @see CharacterDataSelector */ public static final short SAC_CDATA_SECTION_NODE_SELECTOR = 6; /** * This selector matches only processing instruction node. * @see ProcessingInstructionSelector */ public static final short SAC_PROCESSING_INSTRUCTION_NODE_SELECTOR = 7; /** * This selector matches only comment node. * @see CharacterDataSelector */ public static final short SAC_COMMENT_NODE_SELECTOR = 8; /** * This selector matches the 'first line' pseudo element. * example: *
     *   :first-line
     * 
* @see ElementSelector */ public static final short SAC_PSEUDO_ELEMENT_SELECTOR = 9; /* combinator selectors */ /** * This selector matches an arbitrary descendant of some ancestor element. * example: *
     *   E F
     * 
* @see DescendantSelector */ public static final short SAC_DESCENDANT_SELECTOR = 10; /** * This selector matches a childhood relationship between two elements. * example: *
     *   E > F
     * 
* @see DescendantSelector */ public static final short SAC_CHILD_SELECTOR = 11; /** * This selector matches two selectors who shared the same parent in the * document tree and the element represented by the first sequence * immediately precedes the element represented by the second one. * example: *
     *   E + F
     * 
* @see SiblingSelector */ public static final short SAC_DIRECT_ADJACENT_SELECTOR = 12; /** * An integer indicating the type of Selector */ public short getSelectorType(); } org/w3c/css/sac/SelectorFactory.java100644 0 0 13157 11146172410 15025 0ustar 0 0 /* * Copyright (c) 1999 World Wide Web Consortium, * (Massachusetts Institute of Technology, Institut National de * Recherche en Informatique et en Automatique, Keio University). All * Rights Reserved. This program is distributed under the W3C's Software * Intellectual Property License. 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 W3C License http://www.w3.org/Consortium/Legal/ for more details. * * $Id: SelectorFactory.java 477010 2006-11-20 02:54:38Z mrglavas $ */ package org.w3c.css.sac; /** * @version $Revision: 477010 $ * @author Philippe Le Hegaret * @see org.w3c.css.sac.Selector */ public interface SelectorFactory { /** * Creates a conditional selector. * * @param selector a selector. * @param condition a condition * @return the conditional selector. * @exception CSSException If this selector is not supported. */ ConditionalSelector createConditionalSelector(SimpleSelector selector, Condition condition) throws CSSException; /** * Creates an any node selector. * * @return the any node selector. * @exception CSSException If this selector is not supported. */ SimpleSelector createAnyNodeSelector() throws CSSException; /** * Creates an root node selector. * * @return the root node selector. * @exception CSSException If this selector is not supported. */ SimpleSelector createRootNodeSelector() throws CSSException; /** * Creates an negative selector. * * @param selector a selector. * @return the negative selector. * @exception CSSException If this selector is not supported. */ NegativeSelector createNegativeSelector(SimpleSelector selector) throws CSSException; /** * Creates an element selector. * * @param namespaceURI the namespace * URI of the element selector. * @param tagName the local * part of the element name. NULL if this element * selector can match any element.

* @return the element selector * @exception CSSException If this selector is not supported. */ ElementSelector createElementSelector(String namespaceURI, String tagName) throws CSSException; /** * Creates a text node selector. * * @param data the data * @return the text node selector * @exception CSSException If this selector is not supported. */ CharacterDataSelector createTextNodeSelector(String data) throws CSSException; /** * Creates a cdata section node selector. * * @param data the data * @return the cdata section node selector * @exception CSSException If this selector is not supported. */ CharacterDataSelector createCDataSectionSelector(String data) throws CSSException; /** * Creates a processing instruction node selector. * * @param target the target * @param data the data * @return the processing instruction node selector * @exception CSSException If this selector is not supported. */ ProcessingInstructionSelector createProcessingInstructionSelector(String target, String data) throws CSSException; /** * Creates a comment node selector. * * @param data the data * @return the comment node selector * @exception CSSException If this selector is not supported. */ CharacterDataSelector createCommentSelector(String data) throws CSSException; /** * Creates a pseudo element selector. * * @param pseudoName the pseudo element name. NULL if this * element selector can match any pseudo element.

* @return the element selector * @exception CSSException If this selector is not supported. */ ElementSelector createPseudoElementSelector(String namespaceURI, String pseudoName) throws CSSException; /** * Creates a descendant selector. * * @param parent the parent selector * @param descendant the descendant selector * @return the combinator selector. * @exception CSSException If this selector is not supported. */ DescendantSelector createDescendantSelector(Selector parent, SimpleSelector descendant) throws CSSException; /** * Creates a child selector. * * @param parent the parent selector * @param child the child selector * @return the combinator selector. * @exception CSSException If this selector is not supported. */ DescendantSelector createChildSelector(Selector parent, SimpleSelector child) throws CSSException; /** * Creates a sibling selector. * * @param nodeType the type of nodes in the siblings list. * @param child the child selector * @param adjacent the direct adjacent selector * @return the sibling selector with nodeType equals to org.w3c.dom.Node.ELEMENT_NODE * @exception CSSException If this selector is not supported. */ SiblingSelector createDirectAdjacentSelector(short nodeType, Selector child, SimpleSelector directAdjacent) throws CSSException; } org/w3c/css/sac/SelectorList.java100644 0 0 1621 11146172410 14302 0ustar 0 0 /* * Copyright (c) 1999 World Wide Web Consortium * (Massachusetts Institute of Technology, Institut National de Recherche * en Informatique et en Automatique, Keio University). * All Rights Reserved. http://www.w3.org/Consortium/Legal/ * * $Id: SelectorList.java 477010 2006-11-20 02:54:38Z mrglavas $ */ package org.w3c.css.sac; /** * The SelectorList interface provides the abstraction of an ordered collection * of selectors, without defining or constraining how this collection is * implemented. * * @version $Revision: 477010 $ * @author Philippe Le Hegaret */ public interface SelectorList { /** * Returns the length of this selector list */ public int getLength(); /** * Returns the selector at the specified index, or null if this * is not a valid index. */ public Selector item(int index); } org/w3c/css/sac/SiblingSelector.java100644 0 0 2022 11146172410 14752 0ustar 0 0 /* * (c) COPYRIGHT 1999 World Wide Web Consortium * (Massachusetts Institute of Technology, Institut National de Recherche * en Informatique et en Automatique, Keio University). * All Rights Reserved. http://www.w3.org/Consortium/Legal/ * * $Id: SiblingSelector.java 477010 2006-11-20 02:54:38Z mrglavas $ */ package org.w3c.css.sac; /** * @version $Revision: 477010 $ * @author Philippe Le Hegaret * @see Selector#SAC_DIRECT_ADJACENT_SELECTOR */ public interface SiblingSelector extends Selector { public static final short ANY_NODE = 201; /** * The node type to considered in the siblings list. * All DOM node types are supported. In order to support the "any" node * type, the code ANY_NODE is added to the DOM node types. */ public short getNodeType(); /** * Returns the first selector. */ public Selector getSelector(); /* * Returns the second selector. */ public SimpleSelector getSiblingSelector(); } org/w3c/css/sac/SimpleSelector.java100644 0 0 1233 11146172410 14617 0ustar 0 0 /* * (c) COPYRIGHT 1999 World Wide Web Consortium * (Massachusetts Institute of Technology, Institut National de Recherche * en Informatique et en Automatique, Keio University). * All Rights Reserved. http://www.w3.org/Consortium/Legal/ * * $Id: SimpleSelector.java 477010 2006-11-20 02:54:38Z mrglavas $ */ package org.w3c.css.sac; /** * This interface is only for constraints on selectors. * *

A ConditionalSelector can only accept a simple selector or a * negative selector.

* * @version $Revision: 477010 $ * @author Philippe Le Hegaret */ public interface SimpleSelector extends Selector { // empty } org/w3c/css/sac/helpers/ParserFactory.java100644 0 0 2534 11146172410 16120 0ustar 0 0 /* * Copyright (c) 1999 World Wide Web Consortium, * (Massachusetts Institute of Technology, Institut National de * Recherche en Informatique et en Automatique, Keio University). All * Rights Reserved. This program is distributed under the W3C's Software * Intellectual Property License. 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 W3C License http://www.w3.org/Consortium/Legal/ for more details. * * $Id: ParserFactory.java 477010 2006-11-20 02:54:38Z mrglavas $ */ package org.w3c.css.sac.helpers; import org.w3c.css.sac.Parser; /** * @version $Revision: 477010 $ * @author Philippe Le Hegaret */ public class ParserFactory { /** * Create a parser with given selectors factory and conditions factory. */ public Parser makeParser() throws ClassNotFoundException, IllegalAccessException, InstantiationException, NullPointerException, ClassCastException { String className = System.getProperty("org.w3c.css.sac.parser"); if (className == null) { throw new NullPointerException("No value for sac.parser property"); } else { return (Parser)(Class.forName(className).newInstance()); } } } org/w3c/dom/Attr.java100644 0 0 33332 11146172407 12053 0ustar 0 0 /* * Copyright (c) 2004 World Wide Web Consortium, * * (Massachusetts Institute of Technology, European Research Consortium for * Informatics and Mathematics, Keio University). All Rights Reserved. This * work is distributed under the W3C(r) Software License [1] 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. * * [1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 */ package org.w3c.dom; /** * The Attr interface represents an attribute in an * Element object. Typically the allowable values for the * attribute are defined in a schema associated with the document. *

Attr objects inherit the Node interface, but * since they are not actually child nodes of the element they describe, the * DOM does not consider them part of the document tree. Thus, the * Node attributes parentNode, * previousSibling, and nextSibling have a * null value for Attr objects. The DOM takes the * view that attributes are properties of elements rather than having a * separate identity from the elements they are associated with; this should * make it more efficient to implement such features as default attributes * associated with all elements of a given type. Furthermore, * Attr nodes may not be immediate children of a * DocumentFragment. However, they can be associated with * Element nodes contained within a * DocumentFragment. In short, users and implementors of the * DOM need to be aware that Attr nodes have some things in * common with other objects inheriting the Node interface, but * they also are quite distinct. *

The attribute's effective value is determined as follows: if this * attribute has been explicitly assigned any value, that value is the * attribute's effective value; otherwise, if there is a declaration for * this attribute, and that declaration includes a default value, then that * default value is the attribute's effective value; otherwise, the * attribute does not exist on this element in the structure model until it * has been explicitly added. Note that the Node.nodeValue * attribute on the Attr instance can also be used to retrieve * the string version of the attribute's value(s). *

If the attribute was not explicitly given a value in the instance * document but has a default value provided by the schema associated with * the document, an attribute node will be created with * specified set to false. Removing attribute * nodes for which a default value is defined in the schema generates a new * attribute node with the default value and specified set to * false. If validation occurred while invoking * Document.normalizeDocument(), attribute nodes with * specified equals to false are recomputed * according to the default attribute values provided by the schema. If no * default value is associate with this attribute in the schema, the * attribute node is discarded. *

In XML, where the value of an attribute can contain entity references, * the child nodes of the Attr node may be either * Text or EntityReference nodes (when these are * in use; see the description of EntityReference for * discussion). *

The DOM Core represents all attribute values as simple strings, even if * the DTD or schema associated with the document declares them of some * specific type such as tokenized. *

The way attribute value normalization is performed by the DOM * implementation depends on how much the implementation knows about the * schema in use. Typically, the value and * nodeValue attributes of an Attr node initially * returns the normalized value given by the parser. It is also the case * after Document.normalizeDocument() is called (assuming the * right options have been set). But this may not be the case after * mutation, independently of whether the mutation is performed by setting * the string value directly or by changing the Attr child * nodes. In particular, this is true when character * references are involved, given that they are not represented in the DOM and they * impact attribute value normalization. On the other hand, if the * implementation knows about the schema in use when the attribute value is * changed, and it is of a different type than CDATA, it may normalize it * again at that time. This is especially true of specialized DOM * implementations, such as SVG DOM implementations, which store attribute * values in an internal form different from a string. *

The following table gives some examples of the relations between the * attribute value in the original document (parsed attribute), the value as * exposed in the DOM, and the serialization of the value: * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
ExamplesParsed * attribute valueInitial Attr.valueSerialized attribute value
* Character reference *
"x&#178;=5"
*
*
"x\u00b2=5"
*
*
"x&#178;=5"
*
Built-in * character entity *
"y&lt;6"
*
*
"y<6"
*
*
"y&lt;6"
*
Literal newline between *
 * "x=5&#10;y=6"
*
*
"x=5 y=6"
*
*
"x=5&#10;y=6"
*
Normalized newline between *
"x=5 
 * y=6"
*
*
"x=5 y=6"
*
*
"x=5 y=6"
*
Entity e with literal newline *
 * <!ENTITY e '...&#10;...'> [...]> "x=5&e;y=6"
*
Dependent on Implementation and Load OptionsDependent on Implementation and Load/Save Options
*

See also the Document Object Model (DOM) Level 3 Core Specification. */ public interface Attr extends Node { /** * Returns the name of this attribute. If Node.localName is * different from null, this attribute is a qualified name. */ public String getName(); /** * True if this attribute was explicitly given a value in * the instance document, false otherwise. If the * application changed the value of this attribute node (even if it ends * up having the same value as the default value) then it is set to * true. The implementation may handle attributes with * default values from other schemas similarly but applications should * use Document.normalizeDocument() to guarantee this * information is up-to-date. */ public boolean getSpecified(); /** * On retrieval, the value of the attribute is returned as a string. * Character and general entity references are replaced with their * values. See also the method getAttribute on the * Element interface. *
On setting, this creates a Text node with the unparsed * contents of the string, i.e. any characters that an XML processor * would recognize as markup are instead treated as literal text. See * also the method Element.setAttribute(). *
Some specialized implementations, such as some [SVG 1.1] * implementations, may do normalization automatically, even after * mutation; in such case, the value on retrieval may differ from the * value on setting. */ public String getValue(); /** * On retrieval, the value of the attribute is returned as a string. * Character and general entity references are replaced with their * values. See also the method getAttribute on the * Element interface. *
On setting, this creates a Text node with the unparsed * contents of the string, i.e. any characters that an XML processor * would recognize as markup are instead treated as literal text. See * also the method Element.setAttribute(). *
Some specialized implementations, such as some [SVG 1.1] * implementations, may do normalization automatically, even after * mutation; in such case, the value on retrieval may differ from the * value on setting. * @exception DOMException * NO_MODIFICATION_ALLOWED_ERR: Raised when the node is readonly. */ public void setValue(String value) throws DOMException; /** * The Element node this attribute is attached to or * null if this attribute is not in use. * @since DOM Level 2 */ public Element getOwnerElement(); /** * The type information associated with this attribute. While the type * information contained in this attribute is guarantee to be correct * after loading the document or invoking * Document.normalizeDocument(), schemaTypeInfo * may not be reliable if the node was moved. * @since DOM Level 3 */ public TypeInfo getSchemaTypeInfo(); /** * Returns whether this attribute is known to be of type ID (i.e. to * contain an identifier for its owner element) or not. When it is and * its value is unique, the ownerElement of this attribute * can be retrieved using the method Document.getElementById * . The implementation could use several ways to determine if an * attribute node is known to contain an identifier: *

*
If validation occurred while invoking * Document.normalizeDocument(), all user-determined ID * attributes are reset and all attribute nodes ID information are then * reevaluated in accordance to the schema used. As a consequence, if * the Attr.schemaTypeInfo attribute contains an ID type, * isId will always return true. * @since DOM Level 3 */ public boolean isId(); } org/w3c/dom/CDATASection.java100644 0 0 6460 11146172407 13264 0ustar 0 0 /* * Copyright (c) 2004 World Wide Web Consortium, * * (Massachusetts Institute of Technology, European Research Consortium for * Informatics and Mathematics, Keio University). All Rights Reserved. This * work is distributed under the W3C(r) Software License [1] 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. * * [1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 */ package org.w3c.dom; /** * CDATA sections are used to escape blocks of text containing characters that * would otherwise be regarded as markup. The only delimiter that is * recognized in a CDATA section is the "]]>" string that ends the CDATA * section. CDATA sections cannot be nested. Their primary purpose is for * including material such as XML fragments, without needing to escape all * the delimiters. *

The CharacterData.data attribute holds the text that is * contained by the CDATA section. Note that this may contain characters that need to be escaped outside of CDATA sections and * that, depending on the character encoding ("charset") chosen for * serialization, it may be impossible to write out some characters as part * of a CDATA section. *

The CDATASection interface inherits from the * CharacterData interface through the Text * interface. Adjacent CDATASection nodes are not merged by use * of the normalize method of the Node interface. *

No lexical check is done on the content of a CDATA section and it is * therefore possible to have the character sequence "]]>" * in the content, which is illegal in a CDATA section per section 2.7 of [XML 1.0]. The * presence of this character sequence must generate a fatal error during * serialization or the cdata section must be splitted before the * serialization (see also the parameter "split-cdata-sections" * in the DOMConfiguration interface). *

Note: Because no markup is recognized within a * CDATASection, character numeric references cannot be used as * an escape mechanism when serializing. Therefore, action needs to be taken * when serializing a CDATASection with a character encoding * where some of the contained characters cannot be represented. Failure to * do so would not produce well-formed XML. *

Note: One potential solution in the serialization process is to * end the CDATA section before the character, output the character using a * character reference or entity reference, and open a new CDATA section for * any further characters in the text node. Note, however, that some code * conversion libraries at the time of writing do not return an error or * exception when a character is missing from the encoding, making the task * of ensuring that data is not corrupted on serialization more difficult. *

See also the Document Object Model (DOM) Level 3 Core Specification. */ public interface CDATASection extends Text { } org/w3c/dom/CharacterData.java100644 0 0 16515 11146172407 13633 0ustar 0 0 /* * Copyright (c) 2004 World Wide Web Consortium, * * (Massachusetts Institute of Technology, European Research Consortium for * Informatics and Mathematics, Keio University). All Rights Reserved. This * work is distributed under the W3C(r) Software License [1] 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. * * [1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 */ package org.w3c.dom; /** * The CharacterData interface extends Node with a set of * attributes and methods for accessing character data in the DOM. For * clarity this set is defined here rather than on each object that uses * these attributes and methods. No DOM objects correspond directly to * CharacterData, though Text and others do * inherit the interface from it. All offsets in this interface * start from 0. *

As explained in the DOMString interface, text strings in * the DOM are represented in UTF-16, i.e. as a sequence of 16-bit units. In * the following, the term 16-bit units is used whenever necessary to * indicate that indexing on CharacterData is done in 16-bit units. *

See also the Document Object Model (DOM) Level 3 Core Specification. */ public interface CharacterData extends Node { /** * The character data of the node that implements this interface. The DOM * implementation may not put arbitrary limits on the amount of data * that may be stored in a CharacterData node. However, * implementation limits may mean that the entirety of a node's data may * not fit into a single DOMString. In such cases, the user * may call substringData to retrieve the data in * appropriately sized pieces. * @exception DOMException * DOMSTRING_SIZE_ERR: Raised when it would return more characters than * fit in a DOMString variable on the implementation * platform. */ public String getData() throws DOMException; /** * The character data of the node that implements this interface. The DOM * implementation may not put arbitrary limits on the amount of data * that may be stored in a CharacterData node. However, * implementation limits may mean that the entirety of a node's data may * not fit into a single DOMString. In such cases, the user * may call substringData to retrieve the data in * appropriately sized pieces. * @exception DOMException * NO_MODIFICATION_ALLOWED_ERR: Raised when the node is readonly. */ public void setData(String data) throws DOMException; /** * The number of 16-bit units that are available through data * and the substringData method below. This may have the * value zero, i.e., CharacterData nodes may be empty. */ public int getLength(); /** * Extracts a range of data from the node. * @param offset Start offset of substring to extract. * @param count The number of 16-bit units to extract. * @return The specified substring. If the sum of offset and * count exceeds the length, then all 16-bit * units to the end of the data are returned. * @exception DOMException * INDEX_SIZE_ERR: Raised if the specified offset is * negative or greater than the number of 16-bit units in * data, or if the specified count is * negative. *
DOMSTRING_SIZE_ERR: Raised if the specified range of text does * not fit into a DOMString. */ public String substringData(int offset, int count) throws DOMException; /** * Append the string to the end of the character data of the node. Upon * success, data provides access to the concatenation of * data and the DOMString specified. * @param arg The DOMString to append. * @exception DOMException * NO_MODIFICATION_ALLOWED_ERR: Raised if this node is readonly. */ public void appendData(String arg) throws DOMException; /** * Insert a string at the specified 16-bit unit offset. * @param offset The character offset at which to insert. * @param arg The DOMString to insert. * @exception DOMException * INDEX_SIZE_ERR: Raised if the specified offset is * negative or greater than the number of 16-bit units in * data. *
NO_MODIFICATION_ALLOWED_ERR: Raised if this node is readonly. */ public void insertData(int offset, String arg) throws DOMException; /** * Remove a range of 16-bit units from the node. Upon success, * data and length reflect the change. * @param offset The offset from which to start removing. * @param count The number of 16-bit units to delete. If the sum of * offset and count exceeds * length then all 16-bit units from offset * to the end of the data are deleted. * @exception DOMException * INDEX_SIZE_ERR: Raised if the specified offset is * negative or greater than the number of 16-bit units in * data, or if the specified count is * negative. *
NO_MODIFICATION_ALLOWED_ERR: Raised if this node is readonly. */ public void deleteData(int offset, int count) throws DOMException; /** * Replace the characters starting at the specified 16-bit unit offset * with the specified string. * @param offset The offset from which to start replacing. * @param count The number of 16-bit units to replace. If the sum of * offset and count exceeds * length, then all 16-bit units to the end of the data * are replaced; (i.e., the effect is the same as a remove * method call with the same range, followed by an append * method invocation). * @param arg The DOMString with which the range must be * replaced. * @exception DOMException * INDEX_SIZE_ERR: Raised if the specified offset is * negative or greater than the number of 16-bit units in * data, or if the specified count is * negative. *
NO_MODIFICATION_ALLOWED_ERR: Raised if this node is readonly. */ public void replaceData(int offset, int count, String arg) throws DOMException; } org/w3c/dom/Comment.java100644 0 0 2775 11146172407 12532 0ustar 0 0 /* * Copyright (c) 2004 World Wide Web Consortium, * * (Massachusetts Institute of Technology, European Research Consortium for * Informatics and Mathematics, Keio University). All Rights Reserved. This * work is distributed under the W3C(r) Software License [1] 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. * * [1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 */ package org.w3c.dom; /** * This interface inherits from CharacterData and represents the * content of a comment, i.e., all the characters between the starting ' * <!--' and ending '-->'. Note that this is * the definition of a comment in XML, and, in practice, HTML, although some * HTML tools may implement the full SGML comment structure. *

No lexical check is done on the content of a comment and it is * therefore possible to have the character sequence "--" * (double-hyphen) in the content, which is illegal in a comment per section * 2.5 of [XML 1.0]. The * presence of this character sequence must generate a fatal error during * serialization. *

See also the Document Object Model (DOM) Level 3 Core Specification. */ public interface Comment extends CharacterData { } org/w3c/dom/DOMConfiguration.java100644 0 0 53253 11146172407 14314 0ustar 0 0 /* * Copyright (c) 2004 World Wide Web Consortium, * * (Massachusetts Institute of Technology, European Research Consortium for * Informatics and Mathematics, Keio University). All Rights Reserved. This * work is distributed under the W3C(r) Software License [1] 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. * * [1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 */ package org.w3c.dom; /** * The DOMConfiguration interface represents the configuration * of a document and maintains a table of recognized parameters. Using the * configuration, it is possible to change * Document.normalizeDocument() behavior, such as replacing the * CDATASection nodes with Text nodes or * specifying the type of the schema that must be used when the validation * of the Document is requested. DOMConfiguration * objects are also used in [DOM Level 3 Load and Save] * in the DOMParser and DOMSerializer interfaces. *

The parameter names used by the DOMConfiguration object * are defined throughout the DOM Level 3 specifications. Names are * case-insensitive. To avoid possible conflicts, as a convention, names * referring to parameters defined outside the DOM specification should be * made unique. Because parameters are exposed as properties in the , names * are recommended to follow the section 5.16 Identifiers of [Unicode] with the addition of the character '-' (HYPHEN-MINUS) but it is not * enforced by the DOM implementation. DOM Level 3 Core Implementations are * required to recognize all parameters defined in this specification. Some * parameter values may also be required to be supported by the * implementation. Refer to the definition of the parameter to know if a * value must be supported or not. *

Note: Parameters are similar to features and properties used in * SAX2 [SAX]. *

The following list of parameters defined in the DOM: *

*
* "canonical-form"
*
*
*
true
*
[optional] Canonicalize the document according to the rules specified in [Canonical XML], * such as removing the DocumentType node (if any) from the * tree, or removing superfluous namespace declarations from each element. * Note that this is limited to what can be represented in the DOM; in * particular, there is no way to specify the order of the attributes in the * DOM. In addition, Setting this parameter to true will also * set the state of the parameters listed below. Later changes to the state * of one of those parameters will revert "canonical-form" back to * false. Parameters set to false: "entities", " * normalize-characters", "cdata-sections". Parameters set to * true: "namespaces", "namespace-declarations", "well-formed", * "element-content-whitespace". Other parameters are not changed unless * explicitly specified in the description of the parameters.
*
* false
*
[required] (default)Do not canonicalize the document.
*
*
"cdata-sections"
*
*
*
* true
*
[required] (default)Keep CDATASection nodes in the document.
*
false
*
[required]Transform CDATASection nodes in the document into * Text nodes. The new Text node is then combined * with any adjacent Text node.
*
*
* "check-character-normalization"
*
*
*
true
*
[optional] Check if the characters in the document are fully * normalized, as defined in appendix B of [XML 1.1]. When a * sequence of characters is encountered that fails normalization checking, * an error with the DOMError.type equals to * "check-character-normalization-failure" is issued.
*
false
*
[required] (default)Do not check if characters are normalized.
*
*
"comments"
*
*
*
* true
*
[required] (default)Keep Comment nodes in the document.
*
false
*
[required]Discard Comment nodes in the document.
*
*
* "datatype-normalization"
*
*
*
true
*
[optional] Expose schema normalized values in the tree, such as XML * Schema normalized values in the case of XML Schema. Since this parameter requires to have schema * information, the "validate" parameter will also be set to * true. Having this parameter activated when "validate" is * false has no effect and no schema-normalization will happen. *

Note: Since the document contains the result of the XML 1.0 * processing, this parameter does not apply to attribute value * normalization as defined in section 3.3.3 of [XML 1.0] and is only * meant for schema languages other than Document Type Definition (DTD).

*
* false
*
[required] (default) Do not perform schema normalization on the tree.
*
*
* "element-content-whitespace"
*
*
*
true
*
[required] (default)Keep all whitespaces in the document.
*
false
*
[optional] Discard all Text nodes that contain whitespaces in element * content, as described in * [element content whitespace]. The implementation is expected to use the attribute * Text.isElementContentWhitespace to determine if a * Text node should be discarded or not.
*
*
"entities"
*
*
*
* true
*
[required] (default)Keep EntityReference nodes in the document.
*
* false
*
[required] Remove all EntityReference nodes from the document, * putting the entity expansions directly in their place. Text * nodes are normalized, as defined in Node.normalize. Only * unexpanded entity references are kept in the document.
*
*

Note: This parameter does not affect Entity nodes.

*
* "error-handler"
*
[required] Contains a DOMErrorHandler object. If an error is * encountered in the document, the implementation will call back the * DOMErrorHandler registered using this parameter. The * implementation may provide a default DOMErrorHandler object. * When called, DOMError.relatedData will contain the closest * node to where the error occurred. If the implementation is unable to * determine the node where the error occurs, * DOMError.relatedData will contain the Document * node. Mutations to the document from within an error handler will result * in implementation dependent behavior.
*
"infoset"
*
*
*
* true
*
[required]Keep in the document the information defined in the XML Information Set [XML Information Set] * .This forces the following parameters to false: " * validate-if-schema", "entities", "datatype-normalization", "cdata-sections * ".This forces the following parameters to true: " * namespace-declarations", "well-formed", "element-content-whitespace", " * comments", "namespaces".Other parameters are not changed unless * explicitly specified in the description of the parameters. Note that * querying this parameter with getParameter returns * true only if the individual parameters specified above are * appropriately set.
*
false
*
Setting infoset to * false has no effect.
*
*
"namespaces"
*
*
*
* true
*
[required] (default) Perform the namespace processing as defined in .
*
false
*
[optional] Do not perform the namespace processing.
*
*
* "namespace-declarations"
*
This parameter has no effect if the * parameter "namespaces" is set to false. *
*
true
*
[required] (default) Include namespace declaration attributes, specified or defaulted from * the schema, in the document. See also the sections "Declaring Namespaces" * in [XML Namespaces] * and [XML Namespaces 1.1] * .
*
false
*
[required]Discard all namespace declaration attributes. The namespace prefixes ( * Node.prefix) are retained even if this parameter is set to * false.
*
*
"normalize-characters"
*
*
*
true
*
[optional] Fully * normalized the characters in the document as defined in appendix B of [XML 1.1].
*
* false
*
[required] (default)Do not perform character normalization.
*
*
"schema-location"
*
[optional] Represent a DOMString object containing a list of URIs, * separated by whitespaces (characters matching the nonterminal * production S defined in section 2.3 [XML 1.0]), that * represents the schemas against which validation should occur, i.e. the * current schema. The types of schemas referenced in this list must match * the type specified with schema-type, otherwise the behavior * of an implementation is undefined. The schemas specified using this * property take precedence to the schema information specified in the * document itself. For namespace aware schema, if a schema specified using * this property and a schema specified in the document instance (i.e. using * the schemaLocation attribute) in a schema document (i.e. * using schema import mechanisms) share the same * targetNamespace, the schema specified by the user using this * property will be used. If two schemas specified using this property share * the same targetNamespace or have no namespace, the behavior * is implementation dependent. If no location has been provided, this * parameter is null. *

Note: The "schema-location" parameter is ignored * unless the "schema-type" parameter value is set. It is strongly * recommended that Document.documentURI will be set so that an * implementation can successfully resolve any external entities referenced.

*
* "schema-type"
*
[optional] Represent a DOMString object containing an absolute URI * and representing the type of the schema language used to validate a * document against. Note that no lexical checking is done on the absolute * URI. If this parameter is not set, a default value may be provided by * the implementation, based on the schema languages supported and on the * schema language used at load time. If no value is provided, this * parameter is null. *

Note: For XML Schema [XML Schema Part 1] * , applications must use the value * "http://www.w3.org/2001/XMLSchema". For XML DTD [XML 1.0], * applications must use the value * "http://www.w3.org/TR/REC-xml". Other schema languages are * outside the scope of the W3C and therefore should recommend an absolute * URI in order to use this method.

*
"split-cdata-sections"
*
*
*
* true
*
[required] (default)Split CDATA sections containing the CDATA section termination marker * ']]>'. When a CDATA section is split a warning is issued with a * DOMError.type equals to * "cdata-sections-splitted" and * DOMError.relatedData equals to the first * CDATASection node in document order resulting from the split.
*
* false
*
[required]Signal an error if a CDATASection contains an * unrepresentable character.
*
*
"validate"
*
*
*
true
*
[optional] Require the validation against a schema (i.e. XML schema, DTD, any * other type or representation of schema) of the document as it is being * normalized as defined by [XML 1.0]. If * validation errors are found, or no schema was found, the error handler is * notified. Schema-normalized values will not be exposed according to the * schema in used unless the parameter "datatype-normalization" is * true. This parameter will reevaluate: *
    *
  • Attribute nodes with * Attr.specified equals to false, as specified in * the description of the Attr interface; *
  • *
  • The value of the * attribute Text.isElementContentWhitespace for all * Text nodes; *
  • *
  • The value of the attribute * Attr.isId for all Attr nodes; *
  • *
  • The attributes * Element.schemaTypeInfo and Attr.schemaTypeInfo. *
  • *
*

Note: "validate-if-schema" and "validate" are mutually * exclusive, setting one of them to true will set the other * one to false. Applications should also consider setting the * parameter "well-formed" to true, which is the default for * that option, when validating the document.

*
false
*
[required] (default) Do not accomplish schema processing, including the internal subset * processing. Default attribute values information are kept. Note that * validation might still happen if "validate-if-schema" is true * .
*
*
"validate-if-schema"
*
*
*
true
*
[optional]Enable validation only if a declaration for the document element can be * found in a schema (independently of where it is found, i.e. XML schema, * DTD, or any other type or representation of schema). If validation is * enabled, this parameter has the same behavior as the parameter "validate" * set to true. *

Note: "validate-if-schema" and "validate" are mutually * exclusive, setting one of them to true will set the other * one to false.

*
false
*
[required] (default) No schema processing should be performed if the document has a schema, * including internal subset processing. Default attribute values * information are kept. Note that validation must still happen if "validate * " is true.
*
*
"well-formed"
*
*
*
true
*
[required] (default) Check if all nodes are XML well formed according to the XML version in * use in Document.xmlVersion: *
    *
  • check if the attribute * Node.nodeName contains invalid characters according to its * node type and generate a DOMError of type * "wf-invalid-character-in-node-name", with a * DOMError.SEVERITY_ERROR severity, if necessary; *
  • *
  • check if * the text content inside Attr, Element, * Comment, Text, CDATASection nodes * for invalid characters and generate a DOMError of type * "wf-invalid-character", with a * DOMError.SEVERITY_ERROR severity, if necessary; *
  • *
  • check if * the data inside ProcessingInstruction nodes for invalid * characters and generate a DOMError of type * "wf-invalid-character", with a * DOMError.SEVERITY_ERROR severity, if necessary; *
  • *
*
* false
*
[optional] Do not check for XML well-formedness.
*
*
*

The resolution of the system identifiers associated with entities is * done using Document.documentURI. However, when the feature * "LS" defined in [DOM Level 3 Load and Save] * is supported by the DOM implementation, the parameter * "resource-resolver" can also be used on DOMConfiguration * objects attached to Document nodes. If this parameter is * set, Document.normalizeDocument() will invoke the resource * resolver instead of using Document.documentURI. *

See also the Document Object Model (DOM) Level 3 Core Specification. * @since DOM Level 3 */ public interface DOMConfiguration { /** * Set the value of a parameter. * @param name The name of the parameter to set. * @param value The new value or null if the user wishes to * unset the parameter. While the type of the value parameter is * defined as DOMUserData, the object type must match the * type defined by the definition of the parameter. For example, if * the parameter is "error-handler", the value must be of type * DOMErrorHandler. * @exception DOMException * NOT_FOUND_ERR: Raised when the parameter name is not recognized. *
NOT_SUPPORTED_ERR: Raised when the parameter name is recognized * but the requested value cannot be set. *
TYPE_MISMATCH_ERR: Raised if the value type for this parameter * name is incompatible with the expected value type. */ public void setParameter(String name, Object value) throws DOMException; /** * Return the value of a parameter if known. * @param name The name of the parameter. * @return The current object associated with the specified parameter or * null if no object has been associated or if the * parameter is not supported. * @exception DOMException * NOT_FOUND_ERR: Raised when the parameter name is not recognized. */ public Object getParameter(String name) throws DOMException; /** * Check if setting a parameter to a specific value is supported. * @param name The name of the parameter to check. * @param value An object. if null, the returned value is * true. * @return true if the parameter could be successfully set * to the specified value, or false if the parameter is * not recognized or the requested value is not supported. This does * not change the current value of the parameter itself. */ public boolean canSetParameter(String name, Object value); /** * The list of the parameters supported by this * DOMConfiguration object and for which at least one value * can be set by the application. Note that this list can also contain * parameter names defined outside this specification. */ public DOMStringList getParameterNames(); } org/w3c/dom/DOMError.java100644 0 0 6660 11146172407 12556 0ustar 0 0 /* * Copyright (c) 2004 World Wide Web Consortium, * * (Massachusetts Institute of Technology, European Research Consortium for * Informatics and Mathematics, Keio University). All Rights Reserved. This * work is distributed under the W3C(r) Software License [1] 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. * * [1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 */ package org.w3c.dom; /** * DOMError is an interface that describes an error. *

See also the Document Object Model (DOM) Level 3 Core Specification. * @since DOM Level 3 */ public interface DOMError { // ErrorSeverity /** * The severity of the error described by the DOMError is * warning. A SEVERITY_WARNING will not cause the * processing to stop, unless DOMErrorHandler.handleError() * returns false. */ public static final short SEVERITY_WARNING = 1; /** * The severity of the error described by the DOMError is * error. A SEVERITY_ERROR may not cause the processing to * stop if the error can be recovered, unless * DOMErrorHandler.handleError() returns false. */ public static final short SEVERITY_ERROR = 2; /** * The severity of the error described by the DOMError is * fatal error. A SEVERITY_FATAL_ERROR will cause the * normal processing to stop. The return value of * DOMErrorHandler.handleError() is ignored unless the * implementation chooses to continue, in which case the behavior * becomes undefined. */ public static final short SEVERITY_FATAL_ERROR = 3; /** * The severity of the error, either SEVERITY_WARNING, * SEVERITY_ERROR, or SEVERITY_FATAL_ERROR. */ public short getSeverity(); /** * An implementation specific string describing the error that occurred. */ public String getMessage(); /** * A DOMString indicating which related data is expected in * relatedData. Users should refer to the specification of * the error in order to find its DOMString type and * relatedData definitions if any. *

Note: As an example, * Document.normalizeDocument() does generate warnings when * the "split-cdata-sections" parameter is in use. Therefore, the method * generates a SEVERITY_WARNING with type * "cdata-sections-splitted" and the first * CDATASection node in document order resulting from the * split is returned by the relatedData attribute. */ public String getType(); /** * The related platform dependent exception if any. */ public Object getRelatedException(); /** * The related DOMError.type dependent data if any. */ public Object getRelatedData(); /** * The location of the error. */ public DOMLocator getLocation(); } org/w3c/dom/DOMErrorHandler.java100644 0 0 4300 11146172407 14041 0ustar 0 0 /* * Copyright (c) 2004 World Wide Web Consortium, * * (Massachusetts Institute of Technology, European Research Consortium for * Informatics and Mathematics, Keio University). All Rights Reserved. This * work is distributed under the W3C(r) Software License [1] 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. * * [1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 */ package org.w3c.dom; /** * DOMErrorHandler is a callback interface that the DOM * implementation can call when reporting errors that happens while * processing XML data, or when doing some other processing (e.g. validating * a document). A DOMErrorHandler object can be attached to a * Document using the "error-handler" on the * DOMConfiguration interface. If more than one error needs to * be reported during an operation, the sequence and numbers of the errors * passed to the error handler are implementation dependent. *

The application that is using the DOM implementation is expected to * implement this interface. *

See also the Document Object Model (DOM) Level 3 Core Specification. * @since DOM Level 3 */ public interface DOMErrorHandler { /** * This method is called on the error handler when an error occurs. *
If an exception is thrown from this method, it is considered to be * equivalent of returning true. * @param error The error object that describes the error. This object * may be reused by the DOM implementation across multiple calls to * the handleError method. * @return If the handleError method returns * false, the DOM implementation should stop the current * processing when possible. If the method returns true, * the processing may continue depending on * DOMError.severity. */ public boolean handleError(DOMError error); } org/w3c/dom/DOMException.java100644 0 0 12637 11146172407 13444 0ustar 0 0 /* * Copyright (c) 2004 World Wide Web Consortium, * * (Massachusetts Institute of Technology, European Research Consortium for * Informatics and Mathematics, Keio University). All Rights Reserved. This * work is distributed under the W3C(r) Software License [1] 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. * * [1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 */ package org.w3c.dom; /** * DOM operations only raise exceptions in "exceptional" circumstances, i.e., * when an operation is impossible to perform (either for logical reasons, * because data is lost, or because the implementation has become unstable). * In general, DOM methods return specific error values in ordinary * processing situations, such as out-of-bound errors when using * NodeList. *

Implementations should raise other exceptions under other circumstances. * For example, implementations should raise an implementation-dependent * exception if a null argument is passed when null * was not expected. *

Some languages and object systems do not support the concept of * exceptions. For such systems, error conditions may be indicated using * native error reporting mechanisms. For some bindings, for example, * methods may return error codes similar to those listed in the * corresponding method descriptions. *

See also the Document Object Model (DOM) Level 3 Core Specification. */ public class DOMException extends RuntimeException { public DOMException(short code, String message) { super(message); this.code = code; } public short code; // ExceptionCode /** * If index or size is negative, or greater than the allowed value. */ public static final short INDEX_SIZE_ERR = 1; /** * If the specified range of text does not fit into a * DOMString. */ public static final short DOMSTRING_SIZE_ERR = 2; /** * If any Node is inserted somewhere it doesn't belong. */ public static final short HIERARCHY_REQUEST_ERR = 3; /** * If a Node is used in a different document than the one * that created it (that doesn't support it). */ public static final short WRONG_DOCUMENT_ERR = 4; /** * If an invalid or illegal character is specified, such as in an XML name. */ public static final short INVALID_CHARACTER_ERR = 5; /** * If data is specified for a Node which does not support * data. */ public static final short NO_DATA_ALLOWED_ERR = 6; /** * If an attempt is made to modify an object where modifications are not * allowed. */ public static final short NO_MODIFICATION_ALLOWED_ERR = 7; /** * If an attempt is made to reference a Node in a context * where it does not exist. */ public static final short NOT_FOUND_ERR = 8; /** * If the implementation does not support the requested type of object or * operation. */ public static final short NOT_SUPPORTED_ERR = 9; /** * If an attempt is made to add an attribute that is already in use * elsewhere. */ public static final short INUSE_ATTRIBUTE_ERR = 10; /** * If an attempt is made to use an object that is not, or is no longer, * usable. * @since DOM Level 2 */ public static final short INVALID_STATE_ERR = 11; /** * If an invalid or illegal string is specified. * @since DOM Level 2 */ public static final short SYNTAX_ERR = 12; /** * If an attempt is made to modify the type of the underlying object. * @since DOM Level 2 */ public static final short INVALID_MODIFICATION_ERR = 13; /** * If an attempt is made to create or change an object in a way which is * incorrect with regard to namespaces. * @since DOM Level 2 */ public static final short NAMESPACE_ERR = 14; /** * If a parameter or an operation is not supported by the underlying * object. * @since DOM Level 2 */ public static final short INVALID_ACCESS_ERR = 15; /** * If a call to a method such as insertBefore or * removeChild would make the Node invalid * with respect to "partial validity", this exception would be raised * and the operation would not be done. This code is used in [DOM Level 3 Validation] * . Refer to this specification for further information. * @since DOM Level 3 */ public static final short VALIDATION_ERR = 16; /** * If the type of an object is incompatible with the expected type of the * parameter associated to the object. * @since DOM Level 3 */ public static final short TYPE_MISMATCH_ERR = 17; // Added serialVersionUID to preserve binary compatibility static final long serialVersionUID = 6627732366795969916L; } org/w3c/dom/DOMImplementation.java100644 0 0 17406 11146172407 14472 0ustar 0 0 /* * Copyright (c) 2004 World Wide Web Consortium, * * (Massachusetts Institute of Technology, European Research Consortium for * Informatics and Mathematics, Keio University). All Rights Reserved. This * work is distributed under the W3C(r) Software License [1] 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. * * [1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 */ package org.w3c.dom; /** * The DOMImplementation interface provides a number of methods * for performing operations that are independent of any particular instance * of the document object model. *

See also the Document Object Model (DOM) Level 3 Core Specification. */ public interface DOMImplementation { /** * Test if the DOM implementation implements a specific feature and * version, as specified in . * @param feature The name of the feature to test. * @param version This is the version number of the feature to test. * @return true if the feature is implemented in the * specified version, false otherwise. */ public boolean hasFeature(String feature, String version); /** * Creates an empty DocumentType node. Entity declarations * and notations are not made available. Entity reference expansions and * default attribute additions do not occur.. * @param qualifiedName The qualified name of the document type to be * created. * @param publicId The external subset public identifier. * @param systemId The external subset system identifier. * @return A new DocumentType node with * Node.ownerDocument set to null. * @exception DOMException * INVALID_CHARACTER_ERR: Raised if the specified qualified name is not * an XML name according to [XML 1.0]. *
NAMESPACE_ERR: Raised if the qualifiedName is * malformed. *
NOT_SUPPORTED_ERR: May be raised if the implementation does not * support the feature "XML" and the language exposed through the * Document does not support XML Namespaces (such as [HTML 4.01]). * @since DOM Level 2 */ public DocumentType createDocumentType(String qualifiedName, String publicId, String systemId) throws DOMException; /** * Creates a DOM Document object of the specified type with its document * element. *
Note that based on the DocumentType given to create * the document, the implementation may instantiate specialized * Document objects that support additional features than * the "Core", such as "HTML" [DOM Level 2 HTML] * . On the other hand, setting the DocumentType after the * document was created makes this very unlikely to happen. * Alternatively, specialized Document creation methods, * such as createHTMLDocument [DOM Level 2 HTML] * , can be used to obtain specific types of Document * objects. * @param namespaceURI The namespace URI of the document element to * create or null. * @param qualifiedName The qualified name of the document element to be * created or null. * @param doctype The type of document to be created or null. * When doctype is not null, its * Node.ownerDocument attribute is set to the document * being created. * @return A new Document object with its document element. * If the NamespaceURI, qualifiedName, and * doctype are null, the returned * Document is empty with no document element. * @exception DOMException * INVALID_CHARACTER_ERR: Raised if the specified qualified name is not * an XML name according to [XML 1.0]. *
NAMESPACE_ERR: Raised if the qualifiedName is * malformed, if the qualifiedName has a prefix and the * namespaceURI is null, or if the * qualifiedName is null and the * namespaceURI is different from null, or * if the qualifiedName has a prefix that is "xml" and * the namespaceURI is different from " * http://www.w3.org/XML/1998/namespace" [XML Namespaces] * , or if the DOM implementation does not support the * "XML" feature but a non-null namespace URI was * provided, since namespaces were defined by XML. *
WRONG_DOCUMENT_ERR: Raised if doctype has already * been used with a different document or was created from a different * implementation. *
NOT_SUPPORTED_ERR: May be raised if the implementation does not * support the feature "XML" and the language exposed through the * Document does not support XML Namespaces (such as [HTML 4.01]). * @since DOM Level 2 */ public Document createDocument(String namespaceURI, String qualifiedName, DocumentType doctype) throws DOMException; /** * This method returns a specialized object which implements the * specialized APIs of the specified feature and version, as specified * in . The specialized object may also be obtained by using * binding-specific casting methods but is not necessarily expected to, * as discussed in . This method also allow the implementation to * provide specialized objects which do not support the * DOMImplementation interface. * @param feature The name of the feature requested. Note that any plus * sign "+" prepended to the name of the feature will be ignored since * it is not significant in the context of this method. * @param version This is the version number of the feature to test. * @return Returns an object which implements the specialized APIs of * the specified feature and version, if any, or null if * there is no object which implements interfaces associated with that * feature. If the DOMObject returned by this method * implements the DOMImplementation interface, it must * delegate to the primary core DOMImplementation and not * return results inconsistent with the primary core * DOMImplementation such as hasFeature, * getFeature, etc. * @since DOM Level 3 */ public Object getFeature(String feature, String version); } org/w3c/dom/DOMImplementationList.java100644 0 0 3500 11146172407 15274 0ustar 0 0 /* * Copyright (c) 2004 World Wide Web Consortium, * * (Massachusetts Institute of Technology, European Research Consortium for * Informatics and Mathematics, Keio University). All Rights Reserved. This * work is distributed under the W3C(r) Software License [1] 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. * * [1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 */ package org.w3c.dom; /** * The DOMImplementationList interface provides the abstraction * of an ordered collection of DOM implementations, without defining or * constraining how this collection is implemented. The items in the * DOMImplementationList are accessible via an integral index, * starting from 0. *

See also the Document Object Model (DOM) Level 3 Core Specification. * @since DOM Level 3 */ public interface DOMImplementationList { /** * Returns the indexth item in the collection. If * index is greater than or equal to the number of * DOMImplementations in the list, this returns * null. * @param index Index into the collection. * @return The DOMImplementation at the index * th position in the DOMImplementationList, or * null if that is not a valid index. */ public DOMImplementation item(int index); /** * The number of DOMImplementations in the list. The range * of valid child node indices is 0 to length-1 inclusive. */ public int getLength(); } org/w3c/dom/DOMImplementationSource.java100644 0 0 5611 11146172407 15626 0ustar 0 0 /* * Copyright (c) 2004 World Wide Web Consortium, * * (Massachusetts Institute of Technology, European Research Consortium for * Informatics and Mathematics, Keio University). All Rights Reserved. This * work is distributed under the W3C(r) Software License [1] 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. * * [1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 */ package org.w3c.dom; /** * This interface permits a DOM implementer to supply one or more * implementations, based upon requested features and versions, as specified * in . Each implemented DOMImplementationSource object is * listed in the binding-specific list of available sources so that its * DOMImplementation objects are made available. *

See also the Document Object Model (DOM) Level 3 Core Specification. * @since DOM Level 3 */ public interface DOMImplementationSource { /** * A method to request the first DOM implementation that supports the * specified features. * @param features A string that specifies which features and versions * are required. This is a space separated list in which each feature * is specified by its name optionally followed by a space and a * version number. This method returns the first item of the list * returned by getDOMImplementationList. As an example, * the string "XML 3.0 Traversal +Events 2.0" will * request a DOM implementation that supports the module "XML" for its * 3.0 version, a module that support of the "Traversal" module for * any version, and the module "Events" for its 2.0 version. The * module "Events" must be accessible using the method * Node.getFeature() and * DOMImplementation.getFeature(). * @return The first DOM implementation that support the desired * features, or null if this source has none. */ public DOMImplementation getDOMImplementation(String features); /** * A method to request a list of DOM implementations that support the * specified features and versions, as specified in . * @param features A string that specifies which features and versions * are required. This is a space separated list in which each feature * is specified by its name optionally followed by a space and a * version number. This is something like: "XML 3.0 Traversal +Events * 2.0" * @return A list of DOM implementations that support the desired * features. */ public DOMImplementationList getDOMImplementationList(String features); } org/w3c/dom/DOMLocator.java100644 0 0 3665 11146172407 13072 0ustar 0 0 /* * Copyright (c) 2004 World Wide Web Consortium, * * (Massachusetts Institute of Technology, European Research Consortium for * Informatics and Mathematics, Keio University). All Rights Reserved. This * work is distributed under the W3C(r) Software License [1] 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. * * [1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 */ package org.w3c.dom; /** * DOMLocator is an interface that describes a location (e.g. * where an error occurred). *

See also the Document Object Model (DOM) Level 3 Core Specification. * @since DOM Level 3 */ public interface DOMLocator { /** * The line number this locator is pointing to, or -1 if * there is no column number available. */ public int getLineNumber(); /** * The column number this locator is pointing to, or -1 if * there is no column number available. */ public int getColumnNumber(); /** * The byte offset into the input source this locator is pointing to or * -1 if there is no byte offset available. */ public int getByteOffset(); /** * 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(); /** * The node this locator is pointing to, or null if no node * is available. */ public Node getRelatedNode(); /** * The URI this locator is pointing to, or null if no URI is * available. */ public String getUri(); } org/w3c/dom/DOMStringList.java100644 0 0 4031 11146172407 13555 0ustar 0 0 /* * Copyright (c) 2004 World Wide Web Consortium, * * (Massachusetts Institute of Technology, European Research Consortium for * Informatics and Mathematics, Keio University). All Rights Reserved. This * work is distributed under the W3C(r) Software License [1] 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. * * [1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 */ package org.w3c.dom; /** * The DOMStringList interface provides the abstraction of an * ordered collection of DOMString values, without defining or * constraining how this collection is implemented. The items in the * DOMStringList are accessible via an integral index, starting * from 0. *

See also the Document Object Model (DOM) Level 3 Core Specification. * @since DOM Level 3 */ public interface DOMStringList { /** * Returns the indexth item in the collection. If * index is greater than or equal to the number of * DOMStrings in the list, this returns null. * @param index Index into the collection. * @return The DOMString at the indexth * position in the DOMStringList, or null if * that is not a valid index. */ public String item(int index); /** * The number of DOMStrings in the list. The range of valid * child node indices is 0 to length-1 inclusive. */ public int getLength(); /** * Test if a string is part of this DOMStringList. * @param str The string to look for. * @return true if the string has been found, * false otherwise. */ public boolean contains(String str); } org/w3c/dom/Document.java100644 0 0 127554 11146172407 12751 0ustar 0 0 /* * Copyright (c) 2004 World Wide Web Consortium, * * (Massachusetts Institute of Technology, European Research Consortium for * Informatics and Mathematics, Keio University). All Rights Reserved. This * work is distributed under the W3C(r) Software License [1] 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. * * [1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 */ package org.w3c.dom; /** * The Document interface represents the entire HTML or XML * document. Conceptually, it is the root of the document tree, and provides * the primary access to the document's data. *

Since elements, text nodes, comments, processing instructions, etc. * cannot exist outside the context of a Document, the * Document interface also contains the factory methods needed * to create these objects. The Node objects created have a * ownerDocument attribute which associates them with the * Document within whose context they were created. *

See also the Document Object Model (DOM) Level 3 Core Specification. */ public interface Document extends Node { /** * The Document Type Declaration (see DocumentType) * associated with this document. For XML documents without a document * type declaration this returns null. For HTML documents, * a DocumentType object may be returned, independently of * the presence or absence of document type declaration in the HTML * document. *
This provides direct access to the DocumentType node, * child node of this Document. This node can be set at * document creation time and later changed through the use of child * nodes manipulation methods, such as Node.insertBefore, * or Node.replaceChild. Note, however, that while some * implementations may instantiate different types of * Document objects supporting additional features than the * "Core", such as "HTML" [DOM Level 2 HTML] * , based on the DocumentType specified at creation time, * changing it afterwards is very unlikely to result in a change of the * features supported. * @since DOM Level 3 */ public DocumentType getDoctype(); /** * The DOMImplementation object that handles this document. A * DOM application may use objects from multiple implementations. */ public DOMImplementation getImplementation(); /** * This is a convenience attribute that allows direct access to the child * node that is the document element of the document. */ public Element getDocumentElement(); /** * Creates an element of the type specified. Note that the instance * returned implements the Element interface, so attributes * can be specified directly on the returned object. *
In addition, if there are known attributes with default values, * Attr nodes representing them are automatically created * and attached to the element. *
To create an element with a qualified name and namespace URI, use * the createElementNS method. * @param tagName The name of the element type to instantiate. For XML, * this is case-sensitive, otherwise it depends on the * case-sensitivity of the markup language in use. In that case, the * name is mapped to the canonical form of that markup by the DOM * implementation. * @return A new Element object with the * nodeName attribute set to tagName, and * localName, prefix, and * namespaceURI set to null. * @exception DOMException * INVALID_CHARACTER_ERR: Raised if the specified name is not an XML * name according to the XML version in use specified in the * Document.xmlVersion attribute. */ public Element createElement(String tagName) throws DOMException; /** * Creates an empty DocumentFragment object. * @return A new DocumentFragment. */ public DocumentFragment createDocumentFragment(); /** * Creates a Text node given the specified string. * @param data The data for the node. * @return The new Text object. */ public Text createTextNode(String data); /** * Creates a Comment node given the specified string. * @param data The data for the node. * @return The new Comment object. */ public Comment createComment(String data); /** * Creates a CDATASection node whose value is the specified * string. * @param data The data for the CDATASection contents. * @return The new CDATASection object. * @exception DOMException * NOT_SUPPORTED_ERR: Raised if this document is an HTML document. */ public CDATASection createCDATASection(String data) throws DOMException; /** * Creates a ProcessingInstruction node given the specified * name and data strings. * @param target The target part of the processing instruction.Unlike * Document.createElementNS or * Document.createAttributeNS, no namespace well-formed * checking is done on the target name. Applications should invoke * Document.normalizeDocument() with the parameter " * namespaces" set to true in order to ensure that the * target name is namespace well-formed. * @param data The data for the node. * @return The new ProcessingInstruction object. * @exception DOMException * INVALID_CHARACTER_ERR: Raised if the specified target is not an XML * name according to the XML version in use specified in the * Document.xmlVersion attribute. *
NOT_SUPPORTED_ERR: Raised if this document is an HTML document. */ public ProcessingInstruction createProcessingInstruction(String target, String data) throws DOMException; /** * Creates an Attr of the given name. Note that the * Attr instance can then be set on an Element * using the setAttributeNode method. *
To create an attribute with a qualified name and namespace URI, use * the createAttributeNS method. * @param name The name of the attribute. * @return A new Attr object with the nodeName * attribute set to name, and localName, * prefix, and namespaceURI set to * null. The value of the attribute is the empty string. * @exception DOMException * INVALID_CHARACTER_ERR: Raised if the specified name is not an XML * name according to the XML version in use specified in the * Document.xmlVersion attribute. */ public Attr createAttribute(String name) throws DOMException; /** * Creates an EntityReference object. In addition, if the * referenced entity is known, the child list of the * EntityReference node is made the same as that of the * corresponding Entity node. *

Note: If any descendant of the Entity node has * an unbound namespace prefix, the corresponding descendant of the * created EntityReference node is also unbound; (its * namespaceURI is null). The DOM Level 2 and * 3 do not support any mechanism to resolve namespace prefixes in this * case. * @param name The name of the entity to reference.Unlike * Document.createElementNS or * Document.createAttributeNS, no namespace well-formed * checking is done on the entity name. Applications should invoke * Document.normalizeDocument() with the parameter " * namespaces" set to true in order to ensure that the * entity name is namespace well-formed. * @return The new EntityReference object. * @exception DOMException * INVALID_CHARACTER_ERR: Raised if the specified name is not an XML * name according to the XML version in use specified in the * Document.xmlVersion attribute. *
NOT_SUPPORTED_ERR: Raised if this document is an HTML document. */ public EntityReference createEntityReference(String name) throws DOMException; /** * Returns a NodeList of all the Elements in * document order with a given tag name and are contained in the * document. * @param tagname The name of the tag to match on. The special value "*" * matches all tags. For XML, the tagname parameter is * case-sensitive, otherwise it depends on the case-sensitivity of the * markup language in use. * @return A new NodeList object containing all the matched * Elements. */ public NodeList getElementsByTagName(String tagname); /** * Imports a node from another document to this document, without altering * or removing the source node from the original document; this method * creates a new copy of the source node. The returned node has no * parent; (parentNode is null). *
For all nodes, importing a node creates a node object owned by the * importing document, with attribute values identical to the source * node's nodeName and nodeType, plus the * attributes related to namespaces (prefix, * localName, and namespaceURI). As in the * cloneNode operation, the source node is not altered. * User data associated to the imported node is not carried over. * However, if any UserDataHandlers has been specified * along with the associated data these handlers will be called with the * appropriate parameters before this method returns. *
Additional information is copied as appropriate to the * nodeType, attempting to mirror the behavior expected if * a fragment of XML or HTML source was copied from one document to * another, recognizing that the two documents may have different DTDs * in the XML case. The following list describes the specifics for each * type of node. *

*
ATTRIBUTE_NODE
*
The ownerElement attribute * is set to null and the specified flag is * set to true on the generated Attr. The * descendants of the source Attr are recursively imported * and the resulting nodes reassembled to form the corresponding subtree. * Note that the deep parameter has no effect on * Attr nodes; they always carry their children with them * when imported.
*
DOCUMENT_FRAGMENT_NODE
*
If the deep option * was set to true, the descendants of the source * DocumentFragment are recursively imported and the * resulting nodes reassembled under the imported * DocumentFragment to form the corresponding subtree. * Otherwise, this simply generates an empty * DocumentFragment.
*
DOCUMENT_NODE
*
Document * nodes cannot be imported.
*
DOCUMENT_TYPE_NODE
*
DocumentType * nodes cannot be imported.
*
ELEMENT_NODE
*
Specified attribute nodes of the source element are imported, and the generated * Attr nodes are attached to the generated * Element. Default attributes are not copied, though if the document being imported into defines default * attributes for this element name, those are assigned. If the * importNode deep parameter was set to * true, the descendants of the source element are * recursively imported and the resulting nodes reassembled to form the * corresponding subtree.
*
ENTITY_NODE
*
Entity nodes can be * imported, however in the current release of the DOM the * DocumentType is readonly. Ability to add these imported * nodes to a DocumentType will be considered for addition * to a future release of the DOM.On import, the publicId, * systemId, and notationName attributes are * copied. If a deep import is requested, the descendants * of the the source Entity are recursively imported and * the resulting nodes reassembled to form the corresponding subtree.
*
* ENTITY_REFERENCE_NODE
*
Only the EntityReference itself is * copied, even if a deep import is requested, since the * source and destination documents might have defined the entity * differently. If the document being imported into provides a * definition for this entity name, its value is assigned.
*
NOTATION_NODE
*
* Notation nodes can be imported, however in the current * release of the DOM the DocumentType is readonly. Ability * to add these imported nodes to a DocumentType will be * considered for addition to a future release of the DOM.On import, the * publicId and systemId attributes are copied. * Note that the deep parameter has no effect on this type * of nodes since they cannot have any children.
*
* PROCESSING_INSTRUCTION_NODE
*
The imported node copies its * target and data values from those of the * source node.Note that the deep parameter has no effect * on this type of nodes since they cannot have any children.
*
TEXT_NODE, * CDATA_SECTION_NODE, COMMENT_NODE
*
These three types of nodes inheriting * from CharacterData copy their data and * length attributes from those of the source node.Note * that the deep parameter has no effect on these types of * nodes since they cannot have any children.
*
* @param importedNode The node to import. * @param deep If true, recursively import the subtree under * the specified node; if false, import only the node * itself, as explained above. This has no effect on nodes that cannot * have any children, and on Attr, and * EntityReference nodes. * @return The imported node that belongs to this Document. * @exception DOMException * NOT_SUPPORTED_ERR: Raised if the type of node being imported is not * supported. *
INVALID_CHARACTER_ERR: Raised if one of the imported names is not * an XML name according to the XML version in use specified in the * Document.xmlVersion attribute. This may happen when * importing an XML 1.1 [XML 1.1] element * into an XML 1.0 document, for instance. * @since DOM Level 2 */ public Node importNode(Node importedNode, boolean deep) throws DOMException; /** * Creates an element of the given qualified name and namespace URI. *
Per [XML Namespaces] * , applications must use the value null as the * namespaceURI parameter for methods if they wish to have no namespace. * @param namespaceURI The namespace URI of the element to create. * @param qualifiedName The qualified name of the element type to * instantiate. * @return A new Element object with the following * attributes: * * * * * * * * * * * * * * * * * * * * * * * * * *
AttributeValue
Node.nodeName * qualifiedName
Node.namespaceURI * namespaceURI
Node.prefixprefix, extracted * from qualifiedName, or null if there is * no prefix
Node.localNamelocal name, extracted from * qualifiedName
Element.tagName * qualifiedName
* @exception DOMException * INVALID_CHARACTER_ERR: Raised if the specified * qualifiedName is not an XML name according to the XML * version in use specified in the Document.xmlVersion * attribute. *
NAMESPACE_ERR: Raised if the qualifiedName is a * malformed qualified name, if the qualifiedName has a * prefix and the namespaceURI is null, or * if the qualifiedName has a prefix that is "xml" and * the namespaceURI is different from " * http://www.w3.org/XML/1998/namespace" [XML Namespaces] * , or if the qualifiedName or its prefix is "xmlns" and * the namespaceURI is different from "http://www.w3.org/2000/xmlns/", or if the namespaceURI is "http://www.w3.org/2000/xmlns/" and neither the qualifiedName nor its prefix is "xmlns". *
NOT_SUPPORTED_ERR: Always thrown if the current document does not * support the "XML" feature, since namespaces were * defined by XML. * @since DOM Level 2 */ public Element createElementNS(String namespaceURI, String qualifiedName) throws DOMException; /** * Creates an attribute of the given qualified name and namespace URI. *
Per [XML Namespaces] * , applications must use the value null as the * namespaceURI parameter for methods if they wish to have * no namespace. * @param namespaceURI The namespace URI of the attribute to create. * @param qualifiedName The qualified name of the attribute to * instantiate. * @return A new Attr object with the following attributes: * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
* AttributeValue
Node.nodeNamequalifiedName
* Node.namespaceURInamespaceURI
* Node.prefixprefix, extracted from * qualifiedName, or null if there is no * prefix
Node.localNamelocal name, extracted from * qualifiedName
Attr.name * qualifiedName
Node.nodeValuethe empty * string
* @exception DOMException * INVALID_CHARACTER_ERR: Raised if the specified * qualifiedName is not an XML name according to the XML * version in use specified in the Document.xmlVersion * attribute. *
NAMESPACE_ERR: Raised if the qualifiedName is a * malformed qualified name, if the qualifiedName has a * prefix and the namespaceURI is null, if * the qualifiedName has a prefix that is "xml" and the * namespaceURI is different from " * http://www.w3.org/XML/1998/namespace", if the qualifiedName or its prefix is "xmlns" and the * namespaceURI is different from "http://www.w3.org/2000/xmlns/", or if the namespaceURI is "http://www.w3.org/2000/xmlns/" and neither the qualifiedName nor its prefix is "xmlns". *
NOT_SUPPORTED_ERR: Always thrown if the current document does not * support the "XML" feature, since namespaces were * defined by XML. * @since DOM Level 2 */ public Attr createAttributeNS(String namespaceURI, String qualifiedName) throws DOMException; /** * Returns a NodeList of all the Elements with a * given local name and namespace URI in document order. * @param namespaceURI The namespace URI of the elements to match on. The * special value "*" matches all namespaces. * @param localName The local name of the elements to match on. The * special value "*" matches all local names. * @return A new NodeList object containing all the matched * Elements. * @since DOM Level 2 */ public NodeList getElementsByTagNameNS(String namespaceURI, String localName); /** * Returns the Element that has an ID attribute with the * given value. If no such element exists, this returns null * . If more than one element has an ID attribute with that value, what * is returned is undefined. *
The DOM implementation is expected to use the attribute * Attr.isId to determine if an attribute is of type ID. *

Note: Attributes with the name "ID" or "id" are not of type * ID unless so defined. * @param elementId The unique id value for an element. * @return The matching element or null if there is none. * @since DOM Level 2 */ public Element getElementById(String elementId); /** * An attribute specifying the encoding used for this document at the time * of the parsing. This is null when it is not known, such * as when the Document was created in memory. * @since DOM Level 3 */ public String getInputEncoding(); /** * An attribute specifying, as part of the XML declaration, the encoding of this document. This is null when * unspecified or when it is not known, such as when the * Document was created in memory. * @since DOM Level 3 */ public String getXmlEncoding(); /** * An attribute specifying, as part of the XML declaration, whether this document is standalone. This is false when * unspecified. *

Note: No verification is done on the value when setting * this attribute. Applications should use * Document.normalizeDocument() with the "validate" * parameter to verify if the value matches the validity * constraint for standalone document declaration as defined in [XML 1.0]. * @since DOM Level 3 */ public boolean getXmlStandalone(); /** * An attribute specifying, as part of the XML declaration, whether this document is standalone. This is false when * unspecified. *

Note: No verification is done on the value when setting * this attribute. Applications should use * Document.normalizeDocument() with the "validate" * parameter to verify if the value matches the validity * constraint for standalone document declaration as defined in [XML 1.0]. * @exception DOMException * NOT_SUPPORTED_ERR: Raised if this document does not support the * "XML" feature. * @since DOM Level 3 */ public void setXmlStandalone(boolean xmlStandalone) throws DOMException; /** * An attribute specifying, as part of the XML declaration, the version number of this document. If there is no declaration and if * this document supports the "XML" feature, the value is * "1.0". If this document does not support the "XML" * feature, the value is always null. Changing this * attribute will affect methods that check for invalid characters in * XML names. Application should invoke * Document.normalizeDocument() in order to check for * invalid characters in the Nodes that are already part of * this Document. *
DOM applications may use the * DOMImplementation.hasFeature(feature, version) method * with parameter values "XMLVersion" and "1.0" (respectively) to * determine if an implementation supports [XML 1.0]. DOM * applications may use the same method with parameter values * "XMLVersion" and "1.1" (respectively) to determine if an * implementation supports [XML 1.1]. In both * cases, in order to support XML, an implementation must also support * the "XML" feature defined in this specification. Document * objects supporting a version of the "XMLVersion" feature must not * raise a NOT_SUPPORTED_ERR exception for the same version * number when using Document.xmlVersion. * @since DOM Level 3 */ public String getXmlVersion(); /** * An attribute specifying, as part of the XML declaration, the version number of this document. If there is no declaration and if * this document supports the "XML" feature, the value is * "1.0". If this document does not support the "XML" * feature, the value is always null. Changing this * attribute will affect methods that check for invalid characters in * XML names. Application should invoke * Document.normalizeDocument() in order to check for * invalid characters in the Nodes that are already part of * this Document. *
DOM applications may use the * DOMImplementation.hasFeature(feature, version) method * with parameter values "XMLVersion" and "1.0" (respectively) to * determine if an implementation supports [XML 1.0]. DOM * applications may use the same method with parameter values * "XMLVersion" and "1.1" (respectively) to determine if an * implementation supports [XML 1.1]. In both * cases, in order to support XML, an implementation must also support * the "XML" feature defined in this specification. Document * objects supporting a version of the "XMLVersion" feature must not * raise a NOT_SUPPORTED_ERR exception for the same version * number when using Document.xmlVersion. * @exception DOMException * NOT_SUPPORTED_ERR: Raised if the version is set to a value that is * not supported by this Document or if this document * does not support the "XML" feature. * @since DOM Level 3 */ public void setXmlVersion(String xmlVersion) throws DOMException; /** * An attribute specifying whether error checking is enforced or not. When * set to false, the implementation is free to not test * every possible error case normally defined on DOM operations, and not * raise any DOMException on DOM operations or report * errors while using Document.normalizeDocument(). In case * of error, the behavior is undefined. This attribute is * true by default. * @since DOM Level 3 */ public boolean getStrictErrorChecking(); /** * An attribute specifying whether error checking is enforced or not. When * set to false, the implementation is free to not test * every possible error case normally defined on DOM operations, and not * raise any DOMException on DOM operations or report * errors while using Document.normalizeDocument(). In case * of error, the behavior is undefined. This attribute is * true by default. * @since DOM Level 3 */ public void setStrictErrorChecking(boolean strictErrorChecking); /** * The location of the document or null if undefined or if * the Document was created using * DOMImplementation.createDocument. No lexical checking is * performed when setting this attribute; this could result in a * null value returned when using Node.baseURI * . *
Beware that when the Document supports the feature * "HTML" [DOM Level 2 HTML] * , the href attribute of the HTML BASE element takes precedence over * this attribute when computing Node.baseURI. * @since DOM Level 3 */ public String getDocumentURI(); /** * The location of the document or null if undefined or if * the Document was created using * DOMImplementation.createDocument. No lexical checking is * performed when setting this attribute; this could result in a * null value returned when using Node.baseURI * . *
Beware that when the Document supports the feature * "HTML" [DOM Level 2 HTML] * , the href attribute of the HTML BASE element takes precedence over * this attribute when computing Node.baseURI. * @since DOM Level 3 */ public void setDocumentURI(String documentURI); /** * Attempts to adopt a node from another document to this document. If * supported, it changes the ownerDocument of the source * node, its children, as well as the attached attribute nodes if there * are any. If the source node has a parent it is first removed from the * child list of its parent. This effectively allows moving a subtree * from one document to another (unlike importNode() which * create a copy of the source node instead of moving it). When it * fails, applications should use Document.importNode() * instead. Note that if the adopted node is already part of this * document (i.e. the source and target document are the same), this * method still has the effect of removing the source node from the * child list of its parent, if any. The following list describes the * specifics for each type of node. *

*
ATTRIBUTE_NODE
*
The * ownerElement attribute is set to null and * the specified flag is set to true on the * adopted Attr. The descendants of the source * Attr are recursively adopted.
*
DOCUMENT_FRAGMENT_NODE
*
The * descendants of the source node are recursively adopted.
*
DOCUMENT_NODE
*
* Document nodes cannot be adopted.
*
DOCUMENT_TYPE_NODE
*
* DocumentType nodes cannot be adopted.
*
ELEMENT_NODE
*
Specified attribute nodes of the source element are adopted. Default attributes * are discarded, though if the document being adopted into defines * default attributes for this element name, those are assigned. The * descendants of the source element are recursively adopted.
*
ENTITY_NODE
*
* Entity nodes cannot be adopted.
*
ENTITY_REFERENCE_NODE
*
Only * the EntityReference node itself is adopted, the * descendants are discarded, since the source and destination documents * might have defined the entity differently. If the document being * imported into provides a definition for this entity name, its value * is assigned.
*
NOTATION_NODE
*
Notation nodes cannot be * adopted.
*
PROCESSING_INSTRUCTION_NODE, TEXT_NODE, CDATA_SECTION_NODE, * COMMENT_NODE
*
These nodes can all be adopted. No specifics.
*
*

Note: Since it does not create new nodes unlike the * Document.importNode() method, this method does not raise * an INVALID_CHARACTER_ERR exception, and applications * should use the Document.normalizeDocument() method to * check if an imported name is not an XML name according to the XML * version in use. * @param source The node to move into this document. * @return The adopted node, or null if this operation * fails, such as when the source node comes from a different * implementation. * @exception DOMException * NOT_SUPPORTED_ERR: Raised if the source node is of type * DOCUMENT, DOCUMENT_TYPE. *
NO_MODIFICATION_ALLOWED_ERR: Raised when the source node is * readonly. * @since DOM Level 3 */ public Node adoptNode(Node source) throws DOMException; /** * The configuration used when Document.normalizeDocument() * is invoked. * @since DOM Level 3 */ public DOMConfiguration getDomConfig(); /** * This method acts as if the document was going through a save and load * cycle, putting the document in a "normal" form. As a consequence, * this method updates the replacement tree of * EntityReference nodes and normalizes Text * nodes, as defined in the method Node.normalize(). *
Otherwise, the actual result depends on the features being set on * the Document.domConfig object and governing what * operations actually take place. Noticeably this method could also * make the document namespace well-formed according to the algorithm * described in , check the character normalization, remove the * CDATASection nodes, etc. See * DOMConfiguration for details. *

// Keep in the document 
     * the information defined // in the XML Information Set (Java example) 
     * DOMConfiguration docConfig = myDocument.getDomConfig(); 
     * docConfig.setParameter("infoset", Boolean.TRUE); 
     * myDocument.normalizeDocument();
* *
Mutation events, when supported, are generated to reflect the * changes occurring on the document. *
If errors occur during the invocation of this method, such as an * attempt to update a read-only node or a Node.nodeName * contains an invalid character according to the XML version in use, * errors or warnings (DOMError.SEVERITY_ERROR or * DOMError.SEVERITY_WARNING) will be reported using the * DOMErrorHandler object associated with the "error-handler * " parameter. Note this method might also report fatal errors ( * DOMError.SEVERITY_FATAL_ERROR) if an implementation * cannot recover from an error. * @since DOM Level 3 */ public void normalizeDocument(); /** * Rename an existing node of type ELEMENT_NODE or * ATTRIBUTE_NODE. *
When possible this simply changes the name of the given node, * otherwise this creates a new node with the specified name and * replaces the existing node with the new node as described below. *
If simply changing the name of the given node is not possible, the * following operations are performed: a new node is created, any * registered event listener is registered on the new node, any user * data attached to the old node is removed from that node, the old node * is removed from its parent if it has one, the children are moved to * the new node, if the renamed node is an Element its * attributes are moved to the new node, the new node is inserted at the * position the old node used to have in its parent's child nodes list * if it has one, the user data that was attached to the old node is * attached to the new node. *
When the node being renamed is an Element only the * specified attributes are moved, default attributes originated from * the DTD are updated according to the new element name. In addition, * the implementation may update default attributes from other schemas. * Applications should use Document.normalizeDocument() to * guarantee these attributes are up-to-date. *
When the node being renamed is an Attr that is * attached to an Element, the node is first removed from * the Element attributes map. Then, once renamed, either * by modifying the existing node or creating a new one as described * above, it is put back. *
In addition, * * @param n The node to rename. * @param namespaceURI The new namespace URI. * @param qualifiedName The new qualified name. * @return The renamed node. This is either the specified node or the new * node that was created to replace the specified node. * @exception DOMException * NOT_SUPPORTED_ERR: Raised when the type of the specified node is * neither ELEMENT_NODE nor ATTRIBUTE_NODE, * or if the implementation does not support the renaming of the * document element. *
INVALID_CHARACTER_ERR: Raised if the new qualified name is not an * XML name according to the XML version in use specified in the * Document.xmlVersion attribute. *
WRONG_DOCUMENT_ERR: Raised when the specified node was created * from a different document than this document. *
NAMESPACE_ERR: Raised if the qualifiedName is a * malformed qualified name, if the qualifiedName has a * prefix and the namespaceURI is null, or * if the qualifiedName has a prefix that is "xml" and * the namespaceURI is different from " * http://www.w3.org/XML/1998/namespace" [XML Namespaces] * . Also raised, when the node being renamed is an attribute, if the * qualifiedName, or its prefix, is "xmlns" and the * namespaceURI is different from "http://www.w3.org/2000/xmlns/". * @since DOM Level 3 */ public Node renameNode(Node n, String namespaceURI, String qualifiedName) throws DOMException; } org/w3c/dom/DocumentFragment.java100644 0 0 6110 11146172407 14355 0ustar 0 0 /* * Copyright (c) 2004 World Wide Web Consortium, * * (Massachusetts Institute of Technology, European Research Consortium for * Informatics and Mathematics, Keio University). All Rights Reserved. This * work is distributed under the W3C(r) Software License [1] 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. * * [1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 */ package org.w3c.dom; /** * DocumentFragment is a "lightweight" or "minimal" * Document object. It is very common to want to be able to * extract a portion of a document's tree or to create a new fragment of a * document. Imagine implementing a user command like cut or rearranging a * document by moving fragments around. It is desirable to have an object * which can hold such fragments and it is quite natural to use a Node for * this purpose. While it is true that a Document object could * fulfill this role, a Document object can potentially be a * heavyweight object, depending on the underlying implementation. What is * really needed for this is a very lightweight object. * DocumentFragment is such an object. *

Furthermore, various operations -- such as inserting nodes as children * of another Node -- may take DocumentFragment * objects as arguments; this results in all the child nodes of the * DocumentFragment being moved to the child list of this node. *

The children of a DocumentFragment node are zero or more * nodes representing the tops of any sub-trees defining the structure of * the document. DocumentFragment nodes do not need to be * well-formed XML documents (although they do need to follow the rules * imposed upon well-formed XML parsed entities, which can have multiple top * nodes). For example, a DocumentFragment might have only one * child and that child node could be a Text node. Such a * structure model represents neither an HTML document nor a well-formed XML * document. *

When a DocumentFragment is inserted into a * Document (or indeed any other Node that may * take children) the children of the DocumentFragment and not * the DocumentFragment itself are inserted into the * Node. This makes the DocumentFragment very * useful when the user wishes to create nodes that are siblings; the * DocumentFragment acts as the parent of these nodes so that * the user can use the standard methods from the Node * interface, such as Node.insertBefore and * Node.appendChild. *

See also the Document Object Model (DOM) Level 3 Core Specification. */ public interface DocumentFragment extends Node { } org/w3c/dom/DocumentType.java100644 0 0 7003 11146172407 13535 0ustar 0 0 /* * Copyright (c) 2004 World Wide Web Consortium, * * (Massachusetts Institute of Technology, European Research Consortium for * Informatics and Mathematics, Keio University). All Rights Reserved. This * work is distributed under the W3C(r) Software License [1] 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. * * [1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 */ package org.w3c.dom; /** * Each Document has a doctype attribute whose value * is either null or a DocumentType object. The * DocumentType interface in the DOM Core provides an interface * to the list of entities that are defined for the document, and little * else because the effect of namespaces and the various XML schema efforts * on DTD representation are not clearly understood as of this writing. *

DOM Level 3 doesn't support editing DocumentType nodes. * DocumentType nodes are read-only. *

See also the Document Object Model (DOM) Level 3 Core Specification. */ public interface DocumentType extends Node { /** * The name of DTD; i.e., the name immediately following the * DOCTYPE keyword. */ public String getName(); /** * A NamedNodeMap containing the general entities, both * external and internal, declared in the DTD. Parameter entities are * not contained. Duplicates are discarded. For example in: *

<!DOCTYPE 
     * ex SYSTEM "ex.dtd" [ <!ENTITY foo "foo"> <!ENTITY bar 
     * "bar"> <!ENTITY bar "bar2"> <!ENTITY % baz "baz"> 
     * ]> <ex/>
* the interface provides access to foo * and the first declaration of bar but not the second * declaration of bar or baz. Every node in * this map also implements the Entity interface. *
The DOM Level 2 does not support editing entities, therefore * entities cannot be altered in any way. */ public NamedNodeMap getEntities(); /** * A NamedNodeMap containing the notations declared in the * DTD. Duplicates are discarded. Every node in this map also implements * the Notation interface. *
The DOM Level 2 does not support editing notations, therefore * notations cannot be altered in any way. */ public NamedNodeMap getNotations(); /** * The public identifier of the external subset. * @since DOM Level 2 */ public String getPublicId(); /** * The system identifier of the external subset. This may be an absolute * URI or not. * @since DOM Level 2 */ public String getSystemId(); /** * The internal subset as a string, or null if there is none. * This is does not contain the delimiting square brackets. *

Note: The actual content returned depends on how much * information is available to the implementation. This may vary * depending on various parameters, including the XML processor used to * build the document. * @since DOM Level 2 */ public String getInternalSubset(); } org/w3c/dom/Element.java100644 0 0 57362 11146172407 12543 0ustar 0 0 /* * Copyright (c) 2004 World Wide Web Consortium, * * (Massachusetts Institute of Technology, European Research Consortium for * Informatics and Mathematics, Keio University). All Rights Reserved. This * work is distributed under the W3C(r) Software License [1] 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. * * [1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 */ package org.w3c.dom; /** * The Element interface represents an element in an HTML or XML * document. Elements may have attributes associated with them; since the * Element interface inherits from Node, the * generic Node interface attribute attributes may * be used to retrieve the set of all attributes for an element. There are * methods on the Element interface to retrieve either an * Attr object by name or an attribute value by name. In XML, * where an attribute value may contain entity references, an * Attr object should be retrieved to examine the possibly * fairly complex sub-tree representing the attribute value. On the other * hand, in HTML, where all attributes have simple string values, methods to * directly access an attribute value can safely be used as a convenience. *

Note: In DOM Level 2, the method normalize is * inherited from the Node interface where it was moved. *

See also the Document Object Model (DOM) Level 3 Core Specification. */ public interface Element extends Node { /** * The name of the element. If Node.localName is different * from null, this attribute is a qualified name. For * example, in: *

 <elementExample id="demo"> ... 
     * </elementExample> , 
* tagName has the value * "elementExample". Note that this is case-preserving in * XML, as are all of the operations of the DOM. The HTML DOM returns * the tagName of an HTML element in the canonical * uppercase form, regardless of the case in the source HTML document. */ public String getTagName(); /** * Retrieves an attribute value by name. * @param name The name of the attribute to retrieve. * @return The Attr value as a string, or the empty string * if that attribute does not have a specified or default value. */ public String getAttribute(String name); /** * Adds a new attribute. If an attribute with that name is already present * in the element, its value is changed to be that of the value * parameter. This value is a simple string; it is not parsed as it is * being set. So any markup (such as syntax to be recognized as an * entity reference) is treated as literal text, and needs to be * appropriately escaped by the implementation when it is written out. * In order to assign an attribute value that contains entity * references, the user must create an Attr node plus any * Text and EntityReference nodes, build the * appropriate subtree, and use setAttributeNode to assign * it as the value of an attribute. *
To set an attribute with a qualified name and namespace URI, use * the setAttributeNS method. * @param name The name of the attribute to create or alter. * @param value Value to set in string form. * @exception DOMException * INVALID_CHARACTER_ERR: Raised if the specified name is not an XML * name according to the XML version in use specified in the * Document.xmlVersion attribute. *
NO_MODIFICATION_ALLOWED_ERR: Raised if this node is readonly. */ public void setAttribute(String name, String value) throws DOMException; /** * Removes an attribute by name. If a default value for the removed * attribute is defined in the DTD, a new attribute immediately appears * with the default value as well as the corresponding namespace URI, * local name, and prefix when applicable. The implementation may handle * default values from other schemas similarly but applications should * use Document.normalizeDocument() to guarantee this * information is up-to-date. *
If no attribute with this name is found, this method has no effect. *
To remove an attribute by local name and namespace URI, use the * removeAttributeNS method. * @param name The name of the attribute to remove. * @exception DOMException * NO_MODIFICATION_ALLOWED_ERR: Raised if this node is readonly. */ public void removeAttribute(String name) throws DOMException; /** * Retrieves an attribute node by name. *
To retrieve an attribute node by qualified name and namespace URI, * use the getAttributeNodeNS method. * @param name The name (nodeName) of the attribute to * retrieve. * @return The Attr node with the specified name ( * nodeName) or null if there is no such * attribute. */ public Attr getAttributeNode(String name); /** * Adds a new attribute node. If an attribute with that name ( * nodeName) is already present in the element, it is * replaced by the new one. Replacing an attribute node by itself has no * effect. *
To add a new attribute node with a qualified name and namespace * URI, use the setAttributeNodeNS method. * @param newAttr The Attr node to add to the attribute list. * @return If the newAttr attribute replaces an existing * attribute, the replaced Attr node is returned, * otherwise null is returned. * @exception DOMException * WRONG_DOCUMENT_ERR: Raised if newAttr was created from a * different document than the one that created the element. *
NO_MODIFICATION_ALLOWED_ERR: Raised if this node is readonly. *
INUSE_ATTRIBUTE_ERR: Raised if newAttr is already an * attribute of another Element object. The DOM user must * explicitly clone Attr nodes to re-use them in other * elements. */ public Attr setAttributeNode(Attr newAttr) throws DOMException; /** * Removes the specified attribute node. If a default value for the * removed Attr node is defined in the DTD, a new node * immediately appears with the default value as well as the * corresponding namespace URI, local name, and prefix when applicable. * The implementation may handle default values from other schemas * similarly but applications should use * Document.normalizeDocument() to guarantee this * information is up-to-date. * @param oldAttr The Attr node to remove from the attribute * list. * @return The Attr node that was removed. * @exception DOMException * NO_MODIFICATION_ALLOWED_ERR: Raised if this node is readonly. *
NOT_FOUND_ERR: Raised if oldAttr is not an attribute * of the element. */ public Attr removeAttributeNode(Attr oldAttr) throws DOMException; /** * Returns a NodeList of all descendant Elements * with a given tag name, in document order. * @param name The name of the tag to match on. The special value "*" * matches all tags. * @return A list of matching Element nodes. */ public NodeList getElementsByTagName(String name); /** * Retrieves an attribute value by local name and namespace URI. *
Per [XML Namespaces] * , applications must use the value null as the * namespaceURI parameter for methods if they wish to have * no namespace. * @param namespaceURI The namespace URI of the attribute to retrieve. * @param localName The local name of the attribute to retrieve. * @return The Attr value as a string, or the empty string * if that attribute does not have a specified or default value. * @exception DOMException * NOT_SUPPORTED_ERR: May be raised if the implementation does not * support the feature "XML" and the language exposed * through the Document does not support XML Namespaces (such as [HTML 4.01]). * @since DOM Level 2 */ public String getAttributeNS(String namespaceURI, String localName) throws DOMException; /** * Adds a new attribute. If an attribute with the same local name and * namespace URI is already present on the element, its prefix is * changed to be the prefix part of the qualifiedName, and * its value is changed to be the value parameter. This * value is a simple string; it is not parsed as it is being set. So any * markup (such as syntax to be recognized as an entity reference) is * treated as literal text, and needs to be appropriately escaped by the * implementation when it is written out. In order to assign an * attribute value that contains entity references, the user must create * an Attr node plus any Text and * EntityReference nodes, build the appropriate subtree, * and use setAttributeNodeNS or * setAttributeNode to assign it as the value of an * attribute. *
Per [XML Namespaces] * , applications must use the value null as the * namespaceURI parameter for methods if they wish to have * no namespace. * @param namespaceURI The namespace URI of the attribute to create or * alter. * @param qualifiedName The qualified name of the attribute to create or * alter. * @param value The value to set in string form. * @exception DOMException * INVALID_CHARACTER_ERR: Raised if the specified qualified name is not * an XML name according to the XML version in use specified in the * Document.xmlVersion attribute. *
NO_MODIFICATION_ALLOWED_ERR: Raised if this node is readonly. *
NAMESPACE_ERR: Raised if the qualifiedName is * malformed per the Namespaces in XML specification, if the * qualifiedName has a prefix and the * namespaceURI is null, if the * qualifiedName has a prefix that is "xml" and the * namespaceURI is different from " * http://www.w3.org/XML/1998/namespace", if the qualifiedName or its prefix is "xmlns" and the * namespaceURI is different from "http://www.w3.org/2000/xmlns/", or if the namespaceURI is "http://www.w3.org/2000/xmlns/" and neither the qualifiedName nor its prefix is "xmlns". *
NOT_SUPPORTED_ERR: May be raised if the implementation does not * support the feature "XML" and the language exposed * through the Document does not support XML Namespaces (such as [HTML 4.01]). * @since DOM Level 2 */ public void setAttributeNS(String namespaceURI, String qualifiedName, String value) throws DOMException; /** * Removes an attribute by local name and namespace URI. If a default * value for the removed attribute is defined in the DTD, a new * attribute immediately appears with the default value as well as the * corresponding namespace URI, local name, and prefix when applicable. * The implementation may handle default values from other schemas * similarly but applications should use * Document.normalizeDocument() to guarantee this * information is up-to-date. *
If no attribute with this local name and namespace URI is found, * this method has no effect. *
Per [XML Namespaces] * , applications must use the value null as the * namespaceURI parameter for methods if they wish to have * no namespace. * @param namespaceURI The namespace URI of the attribute to remove. * @param localName The local name of the attribute to remove. * @exception DOMException * NO_MODIFICATION_ALLOWED_ERR: Raised if this node is readonly. *
NOT_SUPPORTED_ERR: May be raised if the implementation does not * support the feature "XML" and the language exposed * through the Document does not support XML Namespaces (such as [HTML 4.01]). * @since DOM Level 2 */ public void removeAttributeNS(String namespaceURI, String localName) throws DOMException; /** * Retrieves an Attr node by local name and namespace URI. *
Per [XML Namespaces] * , applications must use the value null as the * namespaceURI parameter for methods if they wish to have * no namespace. * @param namespaceURI The namespace URI of the attribute to retrieve. * @param localName The local name of the attribute to retrieve. * @return The Attr node with the specified attribute local * name and namespace URI or null if there is no such * attribute. * @exception DOMException * NOT_SUPPORTED_ERR: May be raised if the implementation does not * support the feature "XML" and the language exposed * through the Document does not support XML Namespaces (such as [HTML 4.01]). * @since DOM Level 2 */ public Attr getAttributeNodeNS(String namespaceURI, String localName) throws DOMException; /** * Adds a new attribute. If an attribute with that local name and that * namespace URI is already present in the element, it is replaced by * the new one. Replacing an attribute node by itself has no effect. *
Per [XML Namespaces] * , applications must use the value null as the * namespaceURI parameter for methods if they wish to have * no namespace. * @param newAttr The Attr node to add to the attribute list. * @return If the newAttr attribute replaces an existing * attribute with the same local name and namespace URI, the replaced * Attr node is returned, otherwise null is * returned. * @exception DOMException * WRONG_DOCUMENT_ERR: Raised if newAttr was created from a * different document than the one that created the element. *
NO_MODIFICATION_ALLOWED_ERR: Raised if this node is readonly. *
INUSE_ATTRIBUTE_ERR: Raised if newAttr is already an * attribute of another Element object. The DOM user must * explicitly clone Attr nodes to re-use them in other * elements. *
NOT_SUPPORTED_ERR: May be raised if the implementation does not * support the feature "XML" and the language exposed * through the Document does not support XML Namespaces (such as [HTML 4.01]). * @since DOM Level 2 */ public Attr setAttributeNodeNS(Attr newAttr) throws DOMException; /** * Returns a NodeList of all the descendant * Elements with a given local name and namespace URI in * document order. * @param namespaceURI The namespace URI of the elements to match on. The * special value "*" matches all namespaces. * @param localName The local name of the elements to match on. The * special value "*" matches all local names. * @return A new NodeList object containing all the matched * Elements. * @exception DOMException * NOT_SUPPORTED_ERR: May be raised if the implementation does not * support the feature "XML" and the language exposed * through the Document does not support XML Namespaces (such as [HTML 4.01]). * @since DOM Level 2 */ public NodeList getElementsByTagNameNS(String namespaceURI, String localName) throws DOMException; /** * Returns true when an attribute with a given name is * specified on this element or has a default value, false * otherwise. * @param name The name of the attribute to look for. * @return true if an attribute with the given name is * specified on this element or has a default value, false * otherwise. * @since DOM Level 2 */ public boolean hasAttribute(String name); /** * Returns true when an attribute with a given local name and * namespace URI is specified on this element or has a default value, * false otherwise. *
Per [XML Namespaces] * , applications must use the value null as the * namespaceURI parameter for methods if they wish to have * no namespace. * @param namespaceURI The namespace URI of the attribute to look for. * @param localName The local name of the attribute to look for. * @return true if an attribute with the given local name * and namespace URI is specified or has a default value on this * element, false otherwise. * @exception DOMException * NOT_SUPPORTED_ERR: May be raised if the implementation does not * support the feature "XML" and the language exposed * through the Document does not support XML Namespaces (such as [HTML 4.01]). * @since DOM Level 2 */ public boolean hasAttributeNS(String namespaceURI, String localName) throws DOMException; /** * The type information associated with this element. * @since DOM Level 3 */ public TypeInfo getSchemaTypeInfo(); /** * If the parameter isId is true, this method * declares the specified attribute to be a user-determined ID attribute * . This affects the value of Attr.isId and the behavior * of Document.getElementById, but does not change any * schema that may be in use, in particular this does not affect the * Attr.schemaTypeInfo of the specified Attr * node. Use the value false for the parameter * isId to undeclare an attribute for being a * user-determined ID attribute. *
To specify an attribute by local name and namespace URI, use the * setIdAttributeNS method. * @param name The name of the attribute. * @param isId Whether the attribute is a of type ID. * @exception DOMException * NO_MODIFICATION_ALLOWED_ERR: Raised if this node is readonly. *
NOT_FOUND_ERR: Raised if the specified node is not an attribute * of this element. * @since DOM Level 3 */ public void setIdAttribute(String name, boolean isId) throws DOMException; /** * If the parameter isId is true, this method * declares the specified attribute to be a user-determined ID attribute * . This affects the value of Attr.isId and the behavior * of Document.getElementById, but does not change any * schema that may be in use, in particular this does not affect the * Attr.schemaTypeInfo of the specified Attr * node. Use the value false for the parameter * isId to undeclare an attribute for being a * user-determined ID attribute. * @param namespaceURI The namespace URI of the attribute. * @param localName The local name of the attribute. * @param isId Whether the attribute is a of type ID. * @exception DOMException * NO_MODIFICATION_ALLOWED_ERR: Raised if this node is readonly. *
NOT_FOUND_ERR: Raised if the specified node is not an attribute * of this element. * @since DOM Level 3 */ public void setIdAttributeNS(String namespaceURI, String localName, boolean isId) throws DOMException; /** * If the parameter isId is true, this method * declares the specified attribute to be a user-determined ID attribute * . This affects the value of Attr.isId and the behavior * of Document.getElementById, but does not change any * schema that may be in use, in particular this does not affect the * Attr.schemaTypeInfo of the specified Attr * node. Use the value false for the parameter * isId to undeclare an attribute for being a * user-determined ID attribute. * @param idAttr The attribute node. * @param isId Whether the attribute is a of type ID. * @exception DOMException * NO_MODIFICATION_ALLOWED_ERR: Raised if this node is readonly. *
NOT_FOUND_ERR: Raised if the specified node is not an attribute * of this element. * @since DOM Level 3 */ public void setIdAttributeNode(Attr idAttr, boolean isId) throws DOMException; } org/w3c/dom/ElementTraversal.java100644 0 0 5101 11146174440 14366 0ustar 0 0 /* * Copyright (c) 2009 World Wide Web Consortium, * * (Massachusetts Institute of Technology, European Research Consortium for * Informatics and Mathematics, Keio University). All Rights Reserved. This * work is distributed under the W3C(r) Software License [1] 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. * * [1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 */ package org.w3c.dom; /** * The ElementTraversal interface is a set of read-only attributes * which allow an author to easily navigate between elements in a document. *

In conforming implementations of Element Traversal, all objects that * implement {@link Element} must also implement the * ElementTraversal interface. Four of the methods, * {@link #getFirstElementChild}, {@link #getLastElementChild}, * {@link #getPreviousElementSibling}, and {@link #getNextElementSibling}, * each return a live reference to another element with the defined * relationship to the current element, if the related element exists. The * fifth method, {@link #getChildElementCount}, exposes the number of child * elements of an element, for preprocessing before navigation. *

See also the * Element Traversal Specification. */ public interface ElementTraversal { /** * Returns the first child element node of this element. null * if this element has no child elements. */ Element getFirstElementChild(); /** * Returns the last child element node of this element. null * if this element has no child elements. */ Element getLastElementChild(); /** * Returns the previous sibling element node of this element. * null if this element has no element sibling nodes that * come before this one in the document tree. */ Element getPreviousElementSibling(); /** * Returns the next sibling element node of this element. * null if this element has no element sibling nodes that * come after this one in the document tree. */ Element getNextElementSibling(); /** * Returns the current number of element nodes that are children of this * element. 0 if this element has no child nodes that are of * nodeType 1. */ int getChildElementCount(); } org/w3c/dom/Entity.java100644 0 0 10242 11146172407 12410 0ustar 0 0 /* * Copyright (c) 2004 World Wide Web Consortium, * * (Massachusetts Institute of Technology, European Research Consortium for * Informatics and Mathematics, Keio University). All Rights Reserved. This * work is distributed under the W3C(r) Software License [1] 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. * * [1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 */ package org.w3c.dom; /** * This interface represents a known entity, either parsed or unparsed, in an * XML document. Note that this models the entity itself not the entity declaration. *

The nodeName attribute that is inherited from * Node contains the name of the entity. *

An XML processor may choose to completely expand entities before the * structure model is passed to the DOM; in this case there will be no * EntityReference nodes in the document tree. *

XML does not mandate that a non-validating XML processor read and * process entity declarations made in the external subset or declared in * parameter entities. This means that parsed entities declared in the * external subset need not be expanded by some classes of applications, and * that the replacement text of the entity may not be available. When the * replacement text is available, the corresponding Entity node's child list * represents the structure of that replacement value. Otherwise, the child * list is empty. *

DOM Level 3 does not support editing Entity nodes; if a * user wants to make changes to the contents of an Entity, * every related EntityReference node has to be replaced in the * structure model by a clone of the Entity's contents, and * then the desired changes must be made to each of those clones instead. * Entity nodes and all their descendants are readonly. *

An Entity node does not have any parent. *

Note: If the entity contains an unbound namespace prefix, the * namespaceURI of the corresponding node in the * Entity node subtree is null. The same is true * for EntityReference nodes that refer to this entity, when * they are created using the createEntityReference method of * the Document interface. *

See also the Document Object Model (DOM) Level 3 Core Specification. */ public interface Entity extends Node { /** * The public identifier associated with the entity if specified, and * null otherwise. */ public String getPublicId(); /** * The system identifier associated with the entity if specified, and * null otherwise. This may be an absolute URI or not. */ public String getSystemId(); /** * For unparsed entities, the name of the notation for the entity. For * parsed entities, this is null. */ public String getNotationName(); /** * An attribute specifying the encoding used for this entity at the time * of parsing, when it is an external parsed entity. This is * null if it an entity from the internal subset or if it * is not known. * @since DOM Level 3 */ public String getInputEncoding(); /** * An attribute specifying, as part of the text declaration, the encoding * of this entity, when it is an external parsed entity. This is * null otherwise. * @since DOM Level 3 */ public String getXmlEncoding(); /** * An attribute specifying, as part of the text declaration, the version * number of this entity, when it is an external parsed entity. This is * null otherwise. * @since DOM Level 3 */ public String getXmlVersion(); } org/w3c/dom/EntityReference.java100644 0 0 4623 11146172407 14215 0ustar 0 0 /* * Copyright (c) 2004 World Wide Web Consortium, * * (Massachusetts Institute of Technology, European Research Consortium for * Informatics and Mathematics, Keio University). All Rights Reserved. This * work is distributed under the W3C(r) Software License [1] 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. * * [1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 */ package org.w3c.dom; /** * EntityReference nodes may be used to represent an entity * reference in the tree. Note that character references and references to * predefined entities are considered to be expanded by the HTML or XML * processor so that characters are represented by their Unicode equivalent * rather than by an entity reference. Moreover, the XML processor may * completely expand references to entities while building the * Document, instead of providing EntityReference * nodes. If it does provide such nodes, then for an * EntityReference node that represents a reference to a known * entity an Entity exists, and the subtree of the * EntityReference node is a copy of the Entity * node subtree. However, the latter may not be true when an entity contains * an unbound namespace prefix. In such a case, because the namespace prefix * resolution depends on where the entity reference is, the descendants of * the EntityReference node may be bound to different namespace * URIs. When an EntityReference node represents a reference to * an unknown entity, the node has no children and its replacement value, * when used by Attr.value for example, is empty. *

As for Entity nodes, EntityReference nodes and * all their descendants are readonly. *

Note: EntityReference nodes may cause element * content and attribute value normalization problems when, such as in XML * 1.0 and XML Schema, the normalization is performed after entity reference * are expanded. *

See also the Document Object Model (DOM) Level 3 Core Specification. */ public interface EntityReference extends Node { } org/w3c/dom/NameList.java100644 0 0 5424 11146172407 12636 0ustar 0 0 /* * Copyright (c) 2004 World Wide Web Consortium, * * (Massachusetts Institute of Technology, European Research Consortium for * Informatics and Mathematics, Keio University). All Rights Reserved. This * work is distributed under the W3C(r) Software License [1] 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. * * [1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 */ package org.w3c.dom; /** * The NameList interface provides the abstraction of an ordered * collection of parallel pairs of name and namespace values (which could be * null values), without defining or constraining how this collection is * implemented. The items in the NameList are accessible via an * integral index, starting from 0. *

See also the Document Object Model (DOM) Level 3 Core Specification. * @since DOM Level 3 */ public interface NameList { /** * Returns the indexth name item in the collection. * @param index Index into the collection. * @return The name at the indexth position in the * NameList, or null if there is no name for * the specified index or if the index is out of range. */ public String getName(int index); /** * Returns the indexth namespaceURI item in the collection. * @param index Index into the collection. * @return The namespace URI at the indexth position in the * NameList, or null if there is no name for * the specified index or if the index is out of range. */ public String getNamespaceURI(int index); /** * The number of pairs (name and namespaceURI) in the list. The range of * valid child node indices is 0 to length-1 inclusive. */ public int getLength(); /** * Test if a name is part of this NameList. * @param str The name to look for. * @return true if the name has been found, * false otherwise. */ public boolean contains(String str); /** * Test if the pair namespaceURI/name is part of this * NameList. * @param namespaceURI The namespace URI to look for. * @param name The name to look for. * @return true if the pair namespaceURI/name has been * found, false otherwise. */ public boolean containsNS(String namespaceURI, String name); } org/w3c/dom/NamedNodeMap.java100644 0 0 23511 11146172407 13427 0ustar 0 0 /* * Copyright (c) 2004 World Wide Web Consortium, * * (Massachusetts Institute of Technology, European Research Consortium for * Informatics and Mathematics, Keio University). All Rights Reserved. This * work is distributed under the W3C(r) Software License [1] 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. * * [1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 */ package org.w3c.dom; /** * Objects implementing the NamedNodeMap interface are used to * represent collections of nodes that can be accessed by name. Note that * NamedNodeMap does not inherit from NodeList; * NamedNodeMaps are not maintained in any particular order. * Objects contained in an object implementing NamedNodeMap may * also be accessed by an ordinal index, but this is simply to allow * convenient enumeration of the contents of a NamedNodeMap, * and does not imply that the DOM specifies an order to these Nodes. *

NamedNodeMap objects in the DOM are live. *

See also the Document Object Model (DOM) Level 3 Core Specification. */ public interface NamedNodeMap { /** * Retrieves a node specified by name. * @param name The nodeName of a node to retrieve. * @return A Node (of any type) with the specified * nodeName, or null if it does not identify * any node in this map. */ public Node getNamedItem(String name); /** * Adds a node using its nodeName attribute. If a node with * that name is already present in this map, it is replaced by the new * one. Replacing a node by itself has no effect. *
As the nodeName attribute is used to derive the name * which the node must be stored under, multiple nodes of certain types * (those that have a "special" string value) cannot be stored as the * names would clash. This is seen as preferable to allowing nodes to be * aliased. * @param arg A node to store in this map. The node will later be * accessible using the value of its nodeName attribute. * @return If the new Node replaces an existing node the * replaced Node is returned, otherwise null * is returned. * @exception DOMException * WRONG_DOCUMENT_ERR: Raised if arg was created from a * different document than the one that created this map. *
NO_MODIFICATION_ALLOWED_ERR: Raised if this map is readonly. *
INUSE_ATTRIBUTE_ERR: Raised if arg is an * Attr that is already an attribute of another * Element object. The DOM user must explicitly clone * Attr nodes to re-use them in other elements. *
HIERARCHY_REQUEST_ERR: Raised if an attempt is made to add a node * doesn't belong in this NamedNodeMap. Examples would include trying * to insert something other than an Attr node into an Element's map * of attributes, or a non-Entity node into the DocumentType's map of * Entities. */ public Node setNamedItem(Node arg) throws DOMException; /** * Removes a node specified by name. When this map contains the attributes * attached to an element, if the removed attribute is known to have a * default value, an attribute immediately appears containing the * default value as well as the corresponding namespace URI, local name, * and prefix when applicable. * @param name The nodeName of the node to remove. * @return The node removed from this map if a node with such a name * exists. * @exception DOMException * NOT_FOUND_ERR: Raised if there is no node named name in * this map. *
NO_MODIFICATION_ALLOWED_ERR: Raised if this map is readonly. */ public Node removeNamedItem(String name) throws DOMException; /** * Returns the indexth item in the map. If index * is greater than or equal to the number of nodes in this map, this * returns null. * @param index Index into this map. * @return The node at the indexth position in the map, or * null if that is not a valid index. */ public Node item(int index); /** * The number of nodes in this map. The range of valid child node indices * is 0 to length-1 inclusive. */ public int getLength(); /** * Retrieves a node specified by local name and namespace URI. *
Per [XML Namespaces] * , applications must use the value null as the namespaceURI parameter * for methods if they wish to have no namespace. * @param namespaceURI The namespace URI of the node to retrieve. * @param localName The local name of the node to retrieve. * @return A Node (of any type) with the specified local * name and namespace URI, or null if they do not * identify any node in this map. * @exception DOMException * NOT_SUPPORTED_ERR: May be raised if the implementation does not * support the feature "XML" and the language exposed through the * Document does not support XML Namespaces (such as [HTML 4.01]). * @since DOM Level 2 */ public Node getNamedItemNS(String namespaceURI, String localName) throws DOMException; /** * Adds a node using its namespaceURI and * localName. If a node with that namespace URI and that * local name is already present in this map, it is replaced by the new * one. Replacing a node by itself has no effect. *
Per [XML Namespaces] * , applications must use the value null as the namespaceURI parameter * for methods if they wish to have no namespace. * @param arg A node to store in this map. The node will later be * accessible using the value of its namespaceURI and * localName attributes. * @return If the new Node replaces an existing node the * replaced Node is returned, otherwise null * is returned. * @exception DOMException * WRONG_DOCUMENT_ERR: Raised if arg was created from a * different document than the one that created this map. *
NO_MODIFICATION_ALLOWED_ERR: Raised if this map is readonly. *
INUSE_ATTRIBUTE_ERR: Raised if arg is an * Attr that is already an attribute of another * Element object. The DOM user must explicitly clone * Attr nodes to re-use them in other elements. *
HIERARCHY_REQUEST_ERR: Raised if an attempt is made to add a node * doesn't belong in this NamedNodeMap. Examples would include trying * to insert something other than an Attr node into an Element's map * of attributes, or a non-Entity node into the DocumentType's map of * Entities. *
NOT_SUPPORTED_ERR: May be raised if the implementation does not * support the feature "XML" and the language exposed through the * Document does not support XML Namespaces (such as [HTML 4.01]). * @since DOM Level 2 */ public Node setNamedItemNS(Node arg) throws DOMException; /** * Removes a node specified by local name and namespace URI. A removed * attribute may be known to have a default value when this map contains * the attributes attached to an element, as returned by the attributes * attribute of the Node interface. If so, an attribute * immediately appears containing the default value as well as the * corresponding namespace URI, local name, and prefix when applicable. *
Per [XML Namespaces] * , applications must use the value null as the namespaceURI parameter * for methods if they wish to have no namespace. * @param namespaceURI The namespace URI of the node to remove. * @param localName The local name of the node to remove. * @return The node removed from this map if a node with such a local * name and namespace URI exists. * @exception DOMException * NOT_FOUND_ERR: Raised if there is no node with the specified * namespaceURI and localName in this map. *
NO_MODIFICATION_ALLOWED_ERR: Raised if this map is readonly. *
NOT_SUPPORTED_ERR: May be raised if the implementation does not * support the feature "XML" and the language exposed through the * Document does not support XML Namespaces (such as [HTML 4.01]). * @since DOM Level 2 */ public Node removeNamedItemNS(String namespaceURI, String localName) throws DOMException; } org/w3c/dom/Node.java100644 0 0 124557 11146172407 12060 0ustar 0 0 /* * Copyright (c) 2004 World Wide Web Consortium, * * (Massachusetts Institute of Technology, European Research Consortium for * Informatics and Mathematics, Keio University). All Rights Reserved. This * work is distributed under the W3C(r) Software License [1] 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. * * [1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 */ package org.w3c.dom; /** * The Node interface is the primary datatype for the entire * Document Object Model. It represents a single node in the document tree. * While all objects implementing the Node interface expose * methods for dealing with children, not all objects implementing the * Node interface may have children. For example, * Text nodes may not have children, and adding children to * such nodes results in a DOMException being raised. *

The attributes nodeName, nodeValue and * attributes are included as a mechanism to get at node * information without casting down to the specific derived interface. In * cases where there is no obvious mapping of these attributes for a * specific nodeType (e.g., nodeValue for an * Element or attributes for a Comment * ), this returns null. Note that the specialized interfaces * may contain additional and more convenient mechanisms to get and set the * relevant information. *

The values of nodeName, * nodeValue, and attributes vary according to the * node type as follows: * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
InterfacenodeNamenodeValueattributes
* Attrsame as Attr.namesame as * Attr.valuenull
CDATASection * "#cdata-section"same as CharacterData.data, the * content of the CDATA Sectionnull
Comment * "#comment"same as CharacterData.data, the * content of the commentnull
Document * "#document"nullnull
* DocumentFragment"#document-fragment" * nullnull
DocumentTypesame as * DocumentType.namenullnull
* Elementsame as Element.tagNamenull * NamedNodeMap
Entityentity namenull * null
EntityReferencename of entity referenced * nullnull
Notationnotation name * nullnull
ProcessingInstructionsame * as ProcessingInstruction.targetsame as * ProcessingInstruction.datanull
Text * "#text"same as CharacterData.data, the content * of the text nodenull
*

See also the Document Object Model (DOM) Level 3 Core Specification. */ public interface Node { // NodeType /** * The node is an Element. */ public static final short ELEMENT_NODE = 1; /** * The node is an Attr. */ public static final short ATTRIBUTE_NODE = 2; /** * The node is a Text node. */ public static final short TEXT_NODE = 3; /** * The node is a CDATASection. */ public static final short CDATA_SECTION_NODE = 4; /** * The node is an EntityReference. */ public static final short ENTITY_REFERENCE_NODE = 5; /** * The node is an Entity. */ public static final short ENTITY_NODE = 6; /** * The node is a ProcessingInstruction. */ public static final short PROCESSING_INSTRUCTION_NODE = 7; /** * The node is a Comment. */ public static final short COMMENT_NODE = 8; /** * The node is a Document. */ public static final short DOCUMENT_NODE = 9; /** * The node is a DocumentType. */ public static final short DOCUMENT_TYPE_NODE = 10; /** * The node is a DocumentFragment. */ public static final short DOCUMENT_FRAGMENT_NODE = 11; /** * The node is a Notation. */ public static final short NOTATION_NODE = 12; /** * The name of this node, depending on its type; see the table above. */ public String getNodeName(); /** * The value of this node, depending on its type; see the table above. * When it is defined to be null, setting it has no effect, * including if the node is read-only. * @exception DOMException * DOMSTRING_SIZE_ERR: Raised when it would return more characters than * fit in a DOMString variable on the implementation * platform. */ public String getNodeValue() throws DOMException; /** * The value of this node, depending on its type; see the table above. * When it is defined to be null, setting it has no effect, * including if the node is read-only. * @exception DOMException * NO_MODIFICATION_ALLOWED_ERR: Raised when the node is readonly and if * it is not defined to be null. */ public void setNodeValue(String nodeValue) throws DOMException; /** * A code representing the type of the underlying object, as defined above. */ public short getNodeType(); /** * The parent of this node. All nodes, except Attr, * Document, DocumentFragment, * Entity, and Notation may have a parent. * However, if a node has just been created and not yet added to the * tree, or if it has been removed from the tree, this is * null. */ public Node getParentNode(); /** * A NodeList that contains all children of this node. If * there are no children, this is a NodeList containing no * nodes. */ public NodeList getChildNodes(); /** * The first child of this node. If there is no such node, this returns * null. */ public Node getFirstChild(); /** * The last child of this node. If there is no such node, this returns * null. */ public Node getLastChild(); /** * The node immediately preceding this node. If there is no such node, * this returns null. */ public Node getPreviousSibling(); /** * The node immediately following this node. If there is no such node, * this returns null. */ public Node getNextSibling(); /** * A NamedNodeMap containing the attributes of this node (if * it is an Element) or null otherwise. */ public NamedNodeMap getAttributes(); /** * The Document object associated with this node. This is * also the Document object used to create new nodes. When * this node is a Document or a DocumentType * which is not used with any Document yet, this is * null. * @since DOM Level 2 */ public Document getOwnerDocument(); /** * Inserts the node newChild before the existing child node * refChild. If refChild is null, * insert newChild at the end of the list of children. *
If newChild is a DocumentFragment object, * all of its children are inserted, in the same order, before * refChild. If the newChild is already in the * tree, it is first removed. *

Note: Inserting a node before itself is implementation * dependent. * @param newChild The node to insert. * @param refChild The reference node, i.e., the node before which the * new node must be inserted. * @return The node being inserted. * @exception DOMException * HIERARCHY_REQUEST_ERR: Raised if this node is of a type that does not * allow children of the type of the newChild node, or if * the node to insert is one of this node's ancestors or this node * itself, or if this node is of type Document and the * DOM application attempts to insert a second * DocumentType or Element node. *
WRONG_DOCUMENT_ERR: Raised if newChild was created * from a different document than the one that created this node. *
NO_MODIFICATION_ALLOWED_ERR: Raised if this node is readonly or * if the parent of the node being inserted is readonly. *
NOT_FOUND_ERR: Raised if refChild is not a child of * this node. *
NOT_SUPPORTED_ERR: if this node is of type Document, * this exception might be raised if the DOM implementation doesn't * support the insertion of a DocumentType or * Element node. * @since DOM Level 3 */ public Node insertBefore(Node newChild, Node refChild) throws DOMException; /** * Replaces the child node oldChild with newChild * in the list of children, and returns the oldChild node. *
If newChild is a DocumentFragment object, * oldChild is replaced by all of the * DocumentFragment children, which are inserted in the * same order. If the newChild is already in the tree, it * is first removed. *

Note: Replacing a node with itself is implementation * dependent. * @param newChild The new node to put in the child list. * @param oldChild The node being replaced in the list. * @return The node replaced. * @exception DOMException * HIERARCHY_REQUEST_ERR: Raised if this node is of a type that does not * allow children of the type of the newChild node, or if * the node to put in is one of this node's ancestors or this node * itself, or if this node is of type Document and the * result of the replacement operation would add a second * DocumentType or Element on the * Document node. *
WRONG_DOCUMENT_ERR: Raised if newChild was created * from a different document than the one that created this node. *
NO_MODIFICATION_ALLOWED_ERR: Raised if this node or the parent of * the new node is readonly. *
NOT_FOUND_ERR: Raised if oldChild is not a child of * this node. *
NOT_SUPPORTED_ERR: if this node is of type Document, * this exception might be raised if the DOM implementation doesn't * support the replacement of the DocumentType child or * Element child. * @since DOM Level 3 */ public Node replaceChild(Node newChild, Node oldChild) throws DOMException; /** * Removes the child node indicated by oldChild from the list * of children, and returns it. * @param oldChild The node being removed. * @return The node removed. * @exception DOMException * NO_MODIFICATION_ALLOWED_ERR: Raised if this node is readonly. *
NOT_FOUND_ERR: Raised if oldChild is not a child of * this node. *
NOT_SUPPORTED_ERR: if this node is of type Document, * this exception might be raised if the DOM implementation doesn't * support the removal of the DocumentType child or the * Element child. * @since DOM Level 3 */ public Node removeChild(Node oldChild) throws DOMException; /** * Adds the node newChild to the end of the list of children * of this node. If the newChild is already in the tree, it * is first removed. * @param newChild The node to add.If it is a * DocumentFragment object, the entire contents of the * document fragment are moved into the child list of this node * @return The node added. * @exception DOMException * HIERARCHY_REQUEST_ERR: Raised if this node is of a type that does not * allow children of the type of the newChild node, or if * the node to append is one of this node's ancestors or this node * itself, or if this node is of type Document and the * DOM application attempts to append a second * DocumentType or Element node. *
WRONG_DOCUMENT_ERR: Raised if newChild was created * from a different document than the one that created this node. *
NO_MODIFICATION_ALLOWED_ERR: Raised if this node is readonly or * if the previous parent of the node being inserted is readonly. *
NOT_SUPPORTED_ERR: if the newChild node is a child * of the Document node, this exception might be raised * if the DOM implementation doesn't support the removal of the * DocumentType child or Element child. * @since DOM Level 3 */ public Node appendChild(Node newChild) throws DOMException; /** * Returns whether this node has any children. * @return Returns true if this node has any children, * false otherwise. */ public boolean hasChildNodes(); /** * Returns a duplicate of this node, i.e., serves as a generic copy * constructor for nodes. The duplicate node has no parent ( * parentNode is null) and no user data. User * data associated to the imported node is not carried over. However, if * any UserDataHandlers has been specified along with the * associated data these handlers will be called with the appropriate * parameters before this method returns. *
Cloning an Element copies all attributes and their * values, including those generated by the XML processor to represent * defaulted attributes, but this method does not copy any children it * contains unless it is a deep clone. This includes text contained in * an the Element since the text is contained in a child * Text node. Cloning an Attr directly, as * opposed to be cloned as part of an Element cloning * operation, returns a specified attribute (specified is * true). Cloning an Attr always clones its * children, since they represent its value, no matter whether this is a * deep clone or not. Cloning an EntityReference * automatically constructs its subtree if a corresponding * Entity is available, no matter whether this is a deep * clone or not. Cloning any other type of node simply returns a copy of * this node. *
Note that cloning an immutable subtree results in a mutable copy, * but the children of an EntityReference clone are readonly * . In addition, clones of unspecified Attr nodes are * specified. And, cloning Document, * DocumentType, Entity, and * Notation nodes is implementation dependent. * @param deep If true, recursively clone the subtree under * the specified node; if false, clone only the node * itself (and its attributes, if it is an Element). * @return The duplicate node. */ public Node cloneNode(boolean deep); /** * Puts all Text nodes in the full depth of the sub-tree * underneath this Node, including attribute nodes, into a * "normal" form where only structure (e.g., elements, comments, * processing instructions, CDATA sections, and entity references) * separates Text nodes, i.e., there are neither adjacent * Text nodes nor empty Text nodes. This can * be used to ensure that the DOM view of a document is the same as if * it were saved and re-loaded, and is useful when operations (such as * XPointer [XPointer] * lookups) that depend on a particular document tree structure are to * be used. If the parameter "normalize-characters" of the * DOMConfiguration object attached to the * Node.ownerDocument is true, this method * will also fully normalize the characters of the Text * nodes. *

Note: In cases where the document contains * CDATASections, the normalize operation alone may not be * sufficient, since XPointers do not differentiate between * Text nodes and CDATASection nodes. * @since DOM Level 3 */ public void normalize(); /** * Tests whether the DOM implementation implements a specific feature and * that feature is supported by this node, as specified in . * @param feature The name of the feature to test. * @param version This is the version number of the feature to test. * @return Returns true if the specified feature is * supported on this node, false otherwise. * @since DOM Level 2 */ public boolean isSupported(String feature, String version); /** * The namespace URI of this node, or null if it is * unspecified (see ). *
This is not a computed value that is the result of a namespace * lookup based on an examination of the namespace declarations in * scope. It is merely the namespace URI given at creation time. *
For nodes of any type other than ELEMENT_NODE and * ATTRIBUTE_NODE and nodes created with a DOM Level 1 * method, such as Document.createElement(), this is always * null. *

Note: Per the Namespaces in XML Specification [XML Namespaces] * an attribute does not inherit its namespace from the element it is * attached to. If an attribute is not explicitly given a namespace, it * simply has no namespace. * @since DOM Level 2 */ public String getNamespaceURI(); /** * The namespace prefix of this node, or null if it is * unspecified. When it is defined to be null, setting it * has no effect, including if the node is read-only. *
Note that setting this attribute, when permitted, changes the * nodeName attribute, which holds the qualified name, as * well as the tagName and name attributes of * the Element and Attr interfaces, when * applicable. *
Setting the prefix to null makes it unspecified, * setting it to an empty string is implementation dependent. *
Note also that changing the prefix of an attribute that is known to * have a default value, does not make a new attribute with the default * value and the original prefix appear, since the * namespaceURI and localName do not change. *
For nodes of any type other than ELEMENT_NODE and * ATTRIBUTE_NODE and nodes created with a DOM Level 1 * method, such as createElement from the * Document interface, this is always null. * @since DOM Level 2 */ public String getPrefix(); /** * The namespace prefix of this node, or null if it is * unspecified. When it is defined to be null, setting it * has no effect, including if the node is read-only. *
Note that setting this attribute, when permitted, changes the * nodeName attribute, which holds the qualified name, as * well as the tagName and name attributes of * the Element and Attr interfaces, when * applicable. *
Setting the prefix to null makes it unspecified, * setting it to an empty string is implementation dependent. *
Note also that changing the prefix of an attribute that is known to * have a default value, does not make a new attribute with the default * value and the original prefix appear, since the * namespaceURI and localName do not change. *
For nodes of any type other than ELEMENT_NODE and * ATTRIBUTE_NODE and nodes created with a DOM Level 1 * method, such as createElement from the * Document interface, this is always null. * @exception DOMException * INVALID_CHARACTER_ERR: Raised if the specified prefix contains an * illegal character according to the XML version in use specified in * the Document.xmlVersion attribute. *
NO_MODIFICATION_ALLOWED_ERR: Raised if this node is readonly. *
NAMESPACE_ERR: Raised if the specified prefix is * malformed per the Namespaces in XML specification, if the * namespaceURI of this node is null, if the * specified prefix is "xml" and the namespaceURI of this * node is different from " * http://www.w3.org/XML/1998/namespace", if this node is an attribute and the specified prefix is "xmlns" and * the namespaceURI of this node is different from "http://www.w3.org/2000/xmlns/", or if this node is an attribute and the qualifiedName of * this node is "xmlns" [XML Namespaces] * . * @since DOM Level 2 */ public void setPrefix(String prefix) throws DOMException; /** * Returns the local part of the qualified name of this node. *
For nodes of any type other than ELEMENT_NODE and * ATTRIBUTE_NODE and nodes created with a DOM Level 1 * method, such as Document.createElement(), this is always * null. * @since DOM Level 2 */ public String getLocalName(); /** * Returns whether this node (if it is an element) has any attributes. * @return Returns true if this node has any attributes, * false otherwise. * @since DOM Level 2 */ public boolean hasAttributes(); /** * The absolute base URI of this node or null if the * implementation wasn't able to obtain an absolute URI. This value is * computed as described in . However, when the Document * supports the feature "HTML" [DOM Level 2 HTML] * , the base URI is computed using first the value of the href * attribute of the HTML BASE element if any, and the value of the * documentURI attribute from the Document * interface otherwise. * @since DOM Level 3 */ public String getBaseURI(); // DocumentPosition /** * The two nodes are disconnected. Order between disconnected nodes is * always implementation-specific. */ public static final short DOCUMENT_POSITION_DISCONNECTED = 0x01; /** * The second node precedes the reference node. */ public static final short DOCUMENT_POSITION_PRECEDING = 0x02; /** * The node follows the reference node. */ public static final short DOCUMENT_POSITION_FOLLOWING = 0x04; /** * The node contains the reference node. A node which contains is always * preceding, too. */ public static final short DOCUMENT_POSITION_CONTAINS = 0x08; /** * The node is contained by the reference node. A node which is contained * is always following, too. */ public static final short DOCUMENT_POSITION_CONTAINED_BY = 0x10; /** * The determination of preceding versus following is * implementation-specific. */ public static final short DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC = 0x20; /** * Compares the reference node, i.e. the node on which this method is * being called, with a node, i.e. the one passed as a parameter, with * regard to their position in the document and according to the * document order. * @param other The node to compare against the reference node. * @return Returns how the node is positioned relatively to the reference * node. * @exception DOMException * NOT_SUPPORTED_ERR: when the compared nodes are from different DOM * implementations that do not coordinate to return consistent * implementation-specific results. * @since DOM Level 3 */ public short compareDocumentPosition(Node other) throws DOMException; /** * This attribute returns the text content of this node and its * descendants. When it is defined to be null, setting it * has no effect. On setting, any possible children this node may have * are removed and, if it the new string is not empty or * null, replaced by a single Text node * containing the string this attribute is set to. *
On getting, no serialization is performed, the returned string * does not contain any markup. No whitespace normalization is performed * and the returned string does not contain the white spaces in element * content (see the attribute * Text.isElementContentWhitespace). Similarly, on setting, * no parsing is performed either, the input string is taken as pure * textual content. *
The string returned is made of the text content of this node * depending on its type, as defined below: * * * * * * * * * * * * * * * * * *
Node typeContent
* ELEMENT_NODE, ATTRIBUTE_NODE, ENTITY_NODE, ENTITY_REFERENCE_NODE, * DOCUMENT_FRAGMENT_NODEconcatenation of the textContent * attribute value of every child node, excluding COMMENT_NODE and * PROCESSING_INSTRUCTION_NODE nodes. This is the empty string if the * node has no children.
TEXT_NODE, CDATA_SECTION_NODE, COMMENT_NODE, * PROCESSING_INSTRUCTION_NODEnodeValue
DOCUMENT_NODE, * DOCUMENT_TYPE_NODE, NOTATION_NODEnull
* @exception DOMException * DOMSTRING_SIZE_ERR: Raised when it would return more characters than * fit in a DOMString variable on the implementation * platform. * @since DOM Level 3 */ public String getTextContent() throws DOMException; /** * This attribute returns the text content of this node and its * descendants. When it is defined to be null, setting it * has no effect. On setting, any possible children this node may have * are removed and, if it the new string is not empty or * null, replaced by a single Text node * containing the string this attribute is set to. *
On getting, no serialization is performed, the returned string * does not contain any markup. No whitespace normalization is performed * and the returned string does not contain the white spaces in element * content (see the attribute * Text.isElementContentWhitespace). Similarly, on setting, * no parsing is performed either, the input string is taken as pure * textual content. *
The string returned is made of the text content of this node * depending on its type, as defined below: * * * * * * * * * * * * * * * * * *
Node typeContent
* ELEMENT_NODE, ATTRIBUTE_NODE, ENTITY_NODE, ENTITY_REFERENCE_NODE, * DOCUMENT_FRAGMENT_NODEconcatenation of the textContent * attribute value of every child node, excluding COMMENT_NODE and * PROCESSING_INSTRUCTION_NODE nodes. This is the empty string if the * node has no children.
TEXT_NODE, CDATA_SECTION_NODE, COMMENT_NODE, * PROCESSING_INSTRUCTION_NODEnodeValue
DOCUMENT_NODE, * DOCUMENT_TYPE_NODE, NOTATION_NODEnull
* @exception DOMException * NO_MODIFICATION_ALLOWED_ERR: Raised when the node is readonly. * @since DOM Level 3 */ public void setTextContent(String textContent) throws DOMException; /** * Returns whether this node is the same node as the given one. *
This method provides a way to determine whether two * Node references returned by the implementation reference * the same object. When two Node references are references * to the same object, even if through a proxy, the references may be * used completely interchangeably, such that all attributes have the * same values and calling the same DOM method on either reference * always has exactly the same effect. * @param other The node to test against. * @return Returns true if the nodes are the same, * false otherwise. * @since DOM Level 3 */ public boolean isSameNode(Node other); /** * Look up the prefix associated to the given namespace URI, starting from * this node. The default namespace declarations are ignored by this * method. *
See for details on the algorithm used by this method. * @param namespaceURI The namespace URI to look for. * @return Returns an associated namespace prefix if found or * null if none is found. If more than one prefix are * associated to the namespace prefix, the returned namespace prefix * is implementation dependent. * @since DOM Level 3 */ public String lookupPrefix(String namespaceURI); /** * This method checks if the specified namespaceURI is the * default namespace or not. * @param namespaceURI The namespace URI to look for. * @return Returns true if the specified * namespaceURI is the default namespace, * false otherwise. * @since DOM Level 3 */ public boolean isDefaultNamespace(String namespaceURI); /** * Look up the namespace URI associated to the given prefix, starting from * this node. *
See for details on the algorithm used by this method. * @param prefix The prefix to look for. If this parameter is * null, the method will return the default namespace URI * if any. * @return Returns the associated namespace URI or null if * none is found. * @since DOM Level 3 */ public String lookupNamespaceURI(String prefix); /** * Tests whether two nodes are equal. *
This method tests for equality of nodes, not sameness (i.e., * whether the two nodes are references to the same object) which can be * tested with Node.isSameNode(). All nodes that are the * same will also be equal, though the reverse may not be true. *
Two nodes are equal if and only if the following conditions are * satisfied: *

*
For two DocumentType nodes to be equal, the following * conditions must also be satisfied: * *
On the other hand, the following do not affect equality: the * ownerDocument, baseURI, and * parentNode attributes, the specified * attribute for Attr nodes, the schemaTypeInfo * attribute for Attr and Element nodes, the * Text.isElementContentWhitespace attribute for * Text nodes, as well as any user data or event listeners * registered on the nodes. *

Note: As a general rule, anything not mentioned in the * description above is not significant in consideration of equality * checking. Note that future versions of this specification may take * into account more attributes and implementations conform to this * specification are expected to be updated accordingly. * @param arg The node to compare equality with. * @return Returns true if the nodes are equal, * false otherwise. * @since DOM Level 3 */ public boolean isEqualNode(Node arg); /** * This method returns a specialized object which implements the * specialized APIs of the specified feature and version, as specified * in . The specialized object may also be obtained by using * binding-specific casting methods but is not necessarily expected to, * as discussed in . This method also allow the implementation to * provide specialized objects which do not support the Node * interface. * @param feature The name of the feature requested. Note that any plus * sign "+" prepended to the name of the feature will be ignored since * it is not significant in the context of this method. * @param version This is the version number of the feature to test. * @return Returns an object which implements the specialized APIs of * the specified feature and version, if any, or null if * there is no object which implements interfaces associated with that * feature. If the DOMObject returned by this method * implements the Node interface, it must delegate to the * primary core Node and not return results inconsistent * with the primary core Node such as attributes, * childNodes, etc. * @since DOM Level 3 */ public Object getFeature(String feature, String version); /** * Associate an object to a key on this node. The object can later be * retrieved from this node by calling getUserData with the * same key. * @param key The key to associate the object to. * @param data The object to associate to the given key, or * null to remove any existing association to that key. * @param handler The handler to associate to that key, or * null. * @return Returns the DOMUserData previously associated to * the given key on this node, or null if there was none. * @since DOM Level 3 */ public Object setUserData(String key, Object data, UserDataHandler handler); /** * Retrieves the object associated to a key on a this node. The object * must first have been set to this node by calling * setUserData with the same key. * @param key The key the object is associated to. * @return Returns the DOMUserData associated to the given * key on this node, or null if there was none. * @since DOM Level 3 */ public Object getUserData(String key); } org/w3c/dom/NodeList.java100644 0 0 3260 11146172407 12637 0ustar 0 0 /* * Copyright (c) 2004 World Wide Web Consortium, * * (Massachusetts Institute of Technology, European Research Consortium for * Informatics and Mathematics, Keio University). All Rights Reserved. This * work is distributed under the W3C(r) Software License [1] 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. * * [1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 */ package org.w3c.dom; /** * The NodeList interface provides the abstraction of an ordered * collection of nodes, without defining or constraining how this collection * is implemented. NodeList objects in the DOM are live. *

The items in the NodeList are accessible via an integral * index, starting from 0. *

See also the Document Object Model (DOM) Level 3 Core Specification. */ public interface NodeList { /** * Returns the indexth item in the collection. If * index is greater than or equal to the number of nodes in * the list, this returns null. * @param index Index into the collection. * @return The node at the indexth position in the * NodeList, or null if that is not a valid * index. */ public Node item(int index); /** * The number of nodes in the list. The range of valid child node indices * is 0 to length-1 inclusive. */ public int getLength(); } org/w3c/dom/Notation.java100644 0 0 3744 11146172407 12720 0ustar 0 0 /* * Copyright (c) 2004 World Wide Web Consortium, * * (Massachusetts Institute of Technology, European Research Consortium for * Informatics and Mathematics, Keio University). All Rights Reserved. This * work is distributed under the W3C(r) Software License [1] 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. * * [1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 */ package org.w3c.dom; /** * This interface represents a notation declared in the DTD. A notation either * declares, by name, the format of an unparsed entity (see section 4.7 of the XML 1.0 specification [XML 1.0]), or is * used for formal declaration of processing instruction targets (see section 2.6 of the XML 1.0 specification [XML 1.0]). The * nodeName attribute inherited from Node is set * to the declared name of the notation. *

The DOM Core does not support editing Notation nodes; they * are therefore readonly. *

A Notation node does not have any parent. *

See also the Document Object Model (DOM) Level 3 Core Specification. */ public interface Notation extends Node { /** * The public identifier of this notation. If the public identifier was * not specified, this is null. */ public String getPublicId(); /** * The system identifier of this notation. If the system identifier was * not specified, this is null. This may be an absolute URI * or not. */ public String getSystemId(); } org/w3c/dom/ProcessingInstruction.java100644 0 0 4322 11146172407 15474 0ustar 0 0 /* * Copyright (c) 2004 World Wide Web Consortium, * * (Massachusetts Institute of Technology, European Research Consortium for * Informatics and Mathematics, Keio University). All Rights Reserved. This * work is distributed under the W3C(r) Software License [1] 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. * * [1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 */ package org.w3c.dom; /** * The ProcessingInstruction interface represents a "processing * instruction", used in XML as a way to keep processor-specific information * in the text of the document. *

No lexical check is done on the content of a processing instruction and * it is therefore possible to have the character sequence * "?>" in the content, which is illegal a processing * instruction per section 2.6 of [XML 1.0]. The * presence of this character sequence must generate a fatal error during * serialization. *

See also the Document Object Model (DOM) Level 3 Core Specification. */ public interface ProcessingInstruction extends Node { /** * The target of this processing instruction. XML defines this as being * the first token following the markup that begins the processing * instruction. */ public String getTarget(); /** * The content of this processing instruction. This is from the first non * white space character after the target to the character immediately * preceding the ?>. */ public String getData(); /** * The content of this processing instruction. This is from the first non * white space character after the target to the character immediately * preceding the ?>. * @exception DOMException * NO_MODIFICATION_ALLOWED_ERR: Raised when the node is readonly. */ public void setData(String data) throws DOMException; } org/w3c/dom/Text.java100644 0 0 15371 11146172407 12070 0ustar 0 0 /* * Copyright (c) 2004 World Wide Web Consortium, * * (Massachusetts Institute of Technology, European Research Consortium for * Informatics and Mathematics, Keio University). All Rights Reserved. This * work is distributed under the W3C(r) Software License [1] 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. * * [1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 */ package org.w3c.dom; /** * The Text interface inherits from CharacterData * and represents the textual content (termed character data in XML) of an Element or Attr. If there is no * markup inside an element's content, the text is contained in a single * object implementing the Text interface that is the only * child of the element. If there is markup, it is parsed into the * information items (elements, comments, etc.) and Text nodes * that form the list of children of the element. *

When a document is first made available via the DOM, there is only one * Text node for each block of text. Users may create adjacent * Text nodes that represent the contents of a given element * without any intervening markup, but should be aware that there is no way * to represent the separations between these nodes in XML or HTML, so they * will not (in general) persist between DOM editing sessions. The * Node.normalize() method merges any such adjacent * Text objects into a single node for each block of text. *

No lexical check is done on the content of a Text node * and, depending on its position in the document, some characters must be * escaped during serialization using character references; e.g. the * characters "<&" if the textual content is part of an element or of * an attribute, the character sequence "]]>" when part of an element, * the quotation mark character " or the apostrophe character ' when part of * an attribute. *

See also the Document Object Model (DOM) Level 3 Core Specification. */ public interface Text extends CharacterData { /** * Breaks this node into two nodes at the specified offset, * keeping both in the tree as siblings. After being split, this node * will contain all the content up to the offset point. A * new node of the same type, which contains all the content at and * after the offset point, is returned. If the original * node had a parent node, the new node is inserted as the next sibling * of the original node. When the offset is equal to the * length of this node, the new node has no data. * @param offset The 16-bit unit offset at which to split, starting from * 0. * @return The new node, of the same type as this node. * @exception DOMException * INDEX_SIZE_ERR: Raised if the specified offset is negative or greater * than the number of 16-bit units in data. *
NO_MODIFICATION_ALLOWED_ERR: Raised if this node is readonly. */ public Text splitText(int offset) throws DOMException; /** * Returns whether this text node contains * element content whitespace, often abusively called "ignorable whitespace". The text node is * determined to contain whitespace in element content during the load * of the document or if validation occurs while using * Document.normalizeDocument(). * @since DOM Level 3 */ public boolean isElementContentWhitespace(); /** * Returns all text of Text nodes logically-adjacent text * nodes to this node, concatenated in document order. *
For instance, in the example below wholeText on the * Text node that contains "bar" returns "barfoo", while on * the Text node that contains "foo" it returns "barfoo". * @since DOM Level 3 */ public String getWholeText(); /** * Replaces the text of the current node and all logically-adjacent text * nodes with the specified text. All logically-adjacent text nodes are * removed including the current node unless it was the recipient of the * replacement text. *
This method returns the node which received the replacement text. * The returned node is: *

*
For instance, in the above example calling * replaceWholeText on the Text node that * contains "bar" with "yo" in argument results in the following: *
Where the nodes to be removed are read-only descendants of an * EntityReference, the EntityReference must * be removed instead of the read-only nodes. If any * EntityReference to be removed has descendants that are * not EntityReference, Text, or * CDATASection nodes, the replaceWholeText * method must fail before performing any modification of the document, * raising a DOMException with the code * NO_MODIFICATION_ALLOWED_ERR. *
For instance, in the example below calling * replaceWholeText on the Text node that * contains "bar" fails, because the EntityReference node * "ent" contains an Element node which cannot be removed. * @param content The content of the replacing Text node. * @return The Text node created with the specified content. * @exception DOMException * NO_MODIFICATION_ALLOWED_ERR: Raised if one of the Text * nodes being replaced is readonly. * @since DOM Level 3 */ public Text replaceWholeText(String content) throws DOMException; } org/w3c/dom/TypeInfo.java100644 0 0 23423 11146172407 12676 0ustar 0 0 /* * Copyright (c) 2004 World Wide Web Consortium, * * (Massachusetts Institute of Technology, European Research Consortium for * Informatics and Mathematics, Keio University). All Rights Reserved. This * work is distributed under the W3C(r) Software License [1] 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. * * [1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 */ package org.w3c.dom; /** * The TypeInfo interface represents a type referenced from * Element or Attr nodes, specified in the schemas * associated with the document. The type is a pair of a namespace URI and * name properties, and depends on the document's schema. *

If the document's schema is an XML DTD [XML 1.0], the values * are computed as follows: *

*

If the document's schema is an XML Schema [XML Schema Part 1] * , the values are computed as follows using the post-schema-validation * infoset contributions (also called PSVI contributions): *

*

Note: Other schema languages are outside the scope of the W3C * and therefore should define how to represent their type systems using * TypeInfo. *

See also the Document Object Model (DOM) Level 3 Core Specification. * @since DOM Level 3 */ public interface TypeInfo { /** * The name of a type declared for the associated element or attribute, * or null if unknown. */ public String getTypeName(); /** * The namespace of the type declared for the associated element or * attribute or null if the element does not have * declaration or if no namespace information is available. */ public String getTypeNamespace(); // DerivationMethods /** * If the document's schema is an XML Schema [XML Schema Part 1] * , this constant represents the derivation by * restriction if complex types are involved, or a * restriction if simple types are involved. *
The reference type definition is derived by restriction from the * other type definition if the other type definition is the same as the * reference type definition, or if the other type definition can be * reached recursively following the {base type definition} property * from the reference type definition, and all the derivation methods involved are restriction. */ public static final int DERIVATION_RESTRICTION = 0x00000001; /** * If the document's schema is an XML Schema [XML Schema Part 1] * , this constant represents the derivation by * extension. *
The reference type definition is derived by extension from the * other type definition if the other type definition can be reached * recursively following the {base type definition} property from the * reference type definition, and at least one of the derivation methods involved is an extension. */ public static final int DERIVATION_EXTENSION = 0x00000002; /** * If the document's schema is an XML Schema [XML Schema Part 1] * , this constant represents the * union if simple types are involved. *
The reference type definition is derived by union from the other * type definition if there exists two type definitions T1 and T2 such * as the reference type definition is derived from T1 by * DERIVATION_RESTRICTION or * DERIVATION_EXTENSION, T2 is derived from the other type * definition by DERIVATION_RESTRICTION, T1 has {variety} union, and one of the {member type definitions} is T2. Note that T1 could be * the same as the reference type definition, and T2 could be the same * as the other type definition. */ public static final int DERIVATION_UNION = 0x00000004; /** * If the document's schema is an XML Schema [XML Schema Part 1] * , this constant represents the list. *
The reference type definition is derived by list from the other * type definition if there exists two type definitions T1 and T2 such * as the reference type definition is derived from T1 by * DERIVATION_RESTRICTION or * DERIVATION_EXTENSION, T2 is derived from the other type * definition by DERIVATION_RESTRICTION, T1 has {variety} list, and T2 is the {item type definition}. Note that T1 could be the same as * the reference type definition, and T2 could be the same as the other * type definition. */ public static final int DERIVATION_LIST = 0x00000008; /** * This method returns if there is a derivation between the reference * type definition, i.e. the TypeInfo on which the method * is being called, and the other type definition, i.e. the one passed * as parameters. * @param typeNamespaceArg the namespace of the other type definition. * @param typeNameArg the name of the other type definition. * @param derivationMethod the type of derivation and conditions applied * between two types, as described in the list of constants provided * in this interface. * @return If the document's schema is a DTD or no schema is associated * with the document, this method will always return false * . If the document's schema is an XML Schema, the method will * true if the reference type definition is derived from * the other type definition according to the derivation parameter. If * the value of the parameter is 0 (no bit is set to * 1 for the derivationMethod parameter), * the method will return true if the other type * definition can be reached by recursing any combination of {base * type definition}, {item type definition}, or {member type * definitions} from the reference type definition. */ public boolean isDerivedFrom(String typeNamespaceArg, String typeNameArg, int derivationMethod); } org/w3c/dom/UserDataHandler.java100644 0 0 6105 11146172407 14125 0ustar 0 0 /* * Copyright (c) 2004 World Wide Web Consortium, * * (Massachusetts Institute of Technology, European Research Consortium for * Informatics and Mathematics, Keio University). All Rights Reserved. This * work is distributed under the W3C(r) Software License [1] 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. * * [1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 */ package org.w3c.dom; /** * When associating an object to a key on a node using * Node.setUserData() the application can provide a handler * that gets called when the node the object is associated to is being * cloned, imported, or renamed. This can be used by the application to * implement various behaviors regarding the data it associates to the DOM * nodes. This interface defines that handler. *

See also the Document Object Model (DOM) Level 3 Core Specification. * @since DOM Level 3 */ public interface UserDataHandler { // OperationType /** * The node is cloned, using Node.cloneNode(). */ public static final short NODE_CLONED = 1; /** * The node is imported, using Document.importNode(). */ public static final short NODE_IMPORTED = 2; /** * The node is deleted. *

Note: This may not be supported or may not be reliable in * certain environments, such as Java, where the implementation has no * real control over when objects are actually deleted. */ public static final short NODE_DELETED = 3; /** * The node is renamed, using Document.renameNode(). */ public static final short NODE_RENAMED = 4; /** * The node is adopted, using Document.adoptNode(). */ public static final short NODE_ADOPTED = 5; /** * This method is called whenever the node for which this handler is * registered is imported or cloned. *
DOM applications must not raise exceptions in a * UserDataHandler. The effect of throwing exceptions from * the handler is DOM implementation dependent. * @param operation Specifies the type of operation that is being * performed on the node. * @param key Specifies the key for which this handler is being called. * @param data Specifies the data for which this handler is being called. * @param src Specifies the node being cloned, adopted, imported, or * renamed. This is null when the node is being deleted. * @param dst Specifies the node newly created if any, or * null. */ public void handle(short operation, String key, Object data, Node src, Node dst); } org/w3c/dom/bootstrap/DOMImplementationRegistry.java100644 0 0 34510 11146172404 20230 0ustar 0 0 /* * Copyright (c) 2004 World Wide Web Consortium, * * (Massachusetts Institute of Technology, European Research Consortium for * Informatics and Mathematics, Keio University). All Rights Reserved. This * work is distributed under the W3C(r) Software License [1] 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. * * [1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 */ package org.w3c.dom.bootstrap; import java.util.StringTokenizer; import java.util.Vector; import org.w3c.dom.DOMImplementationSource; import org.w3c.dom.DOMImplementationList; import org.w3c.dom.DOMImplementation; import java.io.InputStream; import java.io.BufferedReader; import java.io.InputStreamReader; import java.security.AccessController; import java.security.PrivilegedAction; /** * A factory that enables applications to obtain instances of * DOMImplementation. * *

* Example: *

* *
 *  // get an instance of the DOMImplementation registry
 *  DOMImplementationRegistry registry =
 *       DOMImplementationRegistry.newInstance();
 *  // get a DOM implementation the Level 3 XML module
 *  DOMImplementation domImpl =
 *       registry.getDOMImplementation("XML 3.0");
 * 
* *

* This provides an application with an implementation-independent starting * point. DOM implementations may modify this class to meet new security * standards or to provide *additional* fallbacks for the list of * DOMImplementationSources. *

* * @see DOMImplementation * @see DOMImplementationSource * @since DOM Level 3 */ public final class DOMImplementationRegistry { /** * The system property to specify the * DOMImplementationSource class names. */ public static final String PROPERTY = "org.w3c.dom.DOMImplementationSourceList"; /** * Default columns per line. */ private static final int DEFAULT_LINE_LENGTH = 80; /** * Default DOMImplementationSource. */ private static final String DEFAULT_DOM_IMPLEMENTATION_SOURCE = "org.apache.xerces.dom.DOMXSImplementationSourceImpl"; /** * The list of DOMImplementationSources. */ private Vector sources; /** * Private constructor. * @param srcs Vector List of DOMImplementationSources */ private DOMImplementationRegistry(final Vector srcs) { sources = srcs; } /** * Obtain a new instance of a DOMImplementationRegistry. * * The DOMImplementationRegistry is initialized by the * application or the implementation, depending on the context, by * first checking the value of the Java system property * org.w3c.dom.DOMImplementationSourceList and * the the service provider whose contents are at * "META-INF/services/org.w3c.dom.DOMImplementationSourceList" * The value of this property is a white-space separated list of * names of availables classes implementing the * DOMImplementationSource interface. Each class listed * in the class name list is instantiated and any exceptions * encountered are thrown to the application. * * @return an initialized instance of DOMImplementationRegistry * @throws ClassNotFoundException * If any specified class can not be found * @throws InstantiationException * If any specified class is an interface or abstract class * @throws IllegalAccessException * If the default constructor of a specified class is not accessible * @throws ClassCastException * If any specified class does not implement * DOMImplementationSource */ public static DOMImplementationRegistry newInstance() throws ClassNotFoundException, InstantiationException, IllegalAccessException, ClassCastException { Vector sources = new Vector(); ClassLoader classLoader = getClassLoader(); // fetch system property: String p = getSystemProperty(PROPERTY); // // if property is not specified then use contents of // META-INF/org.w3c.dom.DOMImplementationSourceList from classpath if (p == null || p.length() == 0) { p = getServiceValue(classLoader); } if (p == null) { // // DOM Implementations can modify here to add *additional* fallback // mechanisms to access a list of default DOMImplementationSources. p = DEFAULT_DOM_IMPLEMENTATION_SOURCE; } if (p != null) { StringTokenizer st = new StringTokenizer(p); while (st.hasMoreTokens()) { String sourceName = st.nextToken(); // Use context class loader, falling back to Class.forName // if and only if this fails... Class sourceClass = null; if (classLoader != null) { sourceClass = classLoader.loadClass(sourceName); } else { sourceClass = Class.forName(sourceName); } DOMImplementationSource source = (DOMImplementationSource) sourceClass.newInstance(); sources.addElement(source); } } return new DOMImplementationRegistry(sources); } /** * Return the first implementation that has the desired * features, or null if none is found. * * @param features * A string that specifies which features are required. This is * a space separated list in which each feature is specified by * its name optionally followed by a space and a version number. * This is something like: "XML 1.0 Traversal +Events 2.0" * @return An implementation that has the desired features, * or null if none found. */ public DOMImplementation getDOMImplementation(final String features) { int size = sources.size(); String name = null; for (int i = 0; i < size; i++) { DOMImplementationSource source = (DOMImplementationSource) sources.elementAt(i); DOMImplementation impl = source.getDOMImplementation(features); if (impl != null) { return impl; } } return null; } /** * Return a list of implementations that support the * desired features. * * @param features * A string that specifies which features are required. This is * a space separated list in which each feature is specified by * its name optionally followed by a space and a version number. * This is something like: "XML 1.0 Traversal +Events 2.0" * @return A list of DOMImplementations that support the desired features. */ public DOMImplementationList getDOMImplementationList(final String features) { final Vector implementations = new Vector(); int size = sources.size(); for (int i = 0; i < size; i++) { DOMImplementationSource source = (DOMImplementationSource) sources.elementAt(i); DOMImplementationList impls = source.getDOMImplementationList(features); for (int j = 0; j < impls.getLength(); j++) { DOMImplementation impl = impls.item(j); implementations.addElement(impl); } } return new DOMImplementationList() { public DOMImplementation item(final int index) { if (index >= 0 && index < implementations.size()) { try { return (DOMImplementation) implementations.elementAt(index); } catch (ArrayIndexOutOfBoundsException e) { return null; } } return null; } public int getLength() { return implementations.size(); } }; } /** * Register an implementation. * * @param s The source to be registered, may not be null */ public void addSource(final DOMImplementationSource s) { if (s == null) { throw new NullPointerException(); } if (!sources.contains(s)) { sources.addElement(s); } } /** * * Gets a class loader. * * @return A class loader, possibly null */ private static ClassLoader getClassLoader() { try { ClassLoader contextClassLoader = getContextClassLoader(); if (contextClassLoader != null) { return contextClassLoader; } } catch (Exception e) { // Assume that the DOM application is in a JRE 1.1, use the // current ClassLoader return DOMImplementationRegistry.class.getClassLoader(); } return DOMImplementationRegistry.class.getClassLoader(); } /** * This method attempts to return the first line of the resource * META-INF/services/org.w3c.dom.DOMImplementationSourceList * from the provided ClassLoader. * * @param classLoader classLoader, may not be null. * @return first line of resource, or null */ private static String getServiceValue(final ClassLoader classLoader) { String serviceId = "META-INF/services/" + PROPERTY; // try to find services in CLASSPATH try { InputStream is = getResourceAsStream(classLoader, serviceId); if (is != null) { BufferedReader rd; try { rd = new BufferedReader(new InputStreamReader(is, "UTF-8"), DEFAULT_LINE_LENGTH); } catch (java.io.UnsupportedEncodingException e) { rd = new BufferedReader(new InputStreamReader(is), DEFAULT_LINE_LENGTH); } String serviceValue = null; try { serviceValue = rd.readLine(); } finally { rd.close(); } if (serviceValue != null && serviceValue.length() > 0) { return serviceValue; } } } catch (Exception ex) { return null; } return null; } /** * A simple JRE (Java Runtime Environment) 1.1 test * * @return true if JRE 1.1 */ private static boolean isJRE11() { try { Class c = Class.forName("java.security.AccessController"); // java.security.AccessController existed since 1.2 so, if no // exception was thrown, the DOM application is running in a JRE // 1.2 or higher return false; } catch (Exception ex) { // ignore } return true; } /** * This method returns the ContextClassLoader or null if * running in a JRE 1.1 * * @return The Context Classloader */ private static ClassLoader getContextClassLoader() { return isJRE11() ? null : (ClassLoader) AccessController.doPrivileged(new PrivilegedAction() { public Object run() { ClassLoader classLoader = null; try { classLoader = Thread.currentThread().getContextClassLoader(); } catch (SecurityException ex) { } return classLoader; } }); } /** * This method returns the system property indicated by the specified name * after checking access control privileges. For a JRE 1.1, this check is * not done. * * @param name the name of the system property * @return the system property */ private static String getSystemProperty(final String name) { return isJRE11() ? (String) System.getProperty(name) : (String) AccessController.doPrivileged(new PrivilegedAction() { public Object run() { return System.getProperty(name); } }); } /** * This method returns an Inputstream for the reading resource * META-INF/services/org.w3c.dom.DOMImplementationSourceList after checking * access control privileges. For a JRE 1.1, this check is not done. * * @param classLoader classLoader * @param name the resource * @return an Inputstream for the resource specified */ private static InputStream getResourceAsStream(final ClassLoader classLoader, final String name) { if (isJRE11()) { InputStream ris; if (classLoader == null) { ris = ClassLoader.getSystemResourceAsStream(name); } else { ris = classLoader.getResourceAsStream(name); } return ris; } else { return (InputStream) AccessController.doPrivileged(new PrivilegedAction() { public Object run() { InputStream ris; if (classLoader == null) { ris = ClassLoader.getSystemResourceAsStream(name); } else { ris = classLoader.getResourceAsStream(name); } return ris; } }); } } } org/w3c/dom/css/CSS2Properties.java100644 0 0 203131 11146172406 14533 0ustar 0 0 /* * Copyright (c) 2000 World Wide Web Consortium, * (Massachusetts Institute of Technology, Institut National de * Recherche en Informatique et en Automatique, Keio University). All * Rights Reserved. This program is distributed under the W3C's Software * Intellectual Property License. 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 W3C License http://www.w3.org/Consortium/Legal/ for more details. */ package org.w3c.dom.css; import org.w3c.dom.DOMException; /** * The CSS2Properties interface represents a convenience * mechanism for retrieving and setting properties within a * CSSStyleDeclaration. The attributes of this interface * correspond to all the properties specified in CSS2. Getting an attribute * of this interface is equivalent to calling the * getPropertyValue method of the * CSSStyleDeclaration interface. Setting an attribute of this * interface is equivalent to calling the setProperty method of * the CSSStyleDeclaration interface. *

A conformant implementation of the CSS module is not required to * implement the CSS2Properties interface. If an implementation * does implement this interface, the expectation is that language-specific * methods can be used to cast from an instance of the * CSSStyleDeclaration interface to the * CSS2Properties interface. *

If an implementation does implement this interface, it is expected to * understand the specific syntax of the shorthand properties, and apply * their semantics; when the margin property is set, for * example, the marginTop, marginRight, * marginBottom and marginLeft properties are * actually being set by the underlying implementation. *

When dealing with CSS "shorthand" properties, the shorthand properties * should be decomposed into their component longhand properties as * appropriate, and when querying for their value, the form returned should * be the shortest form exactly equivalent to the declarations made in the * ruleset. However, if there is no shorthand declaration that could be * added to the ruleset without changing in any way the rules already * declared in the ruleset (i.e., by adding longhand rules that were * previously not declared in the ruleset), then the empty string should be * returned for the shorthand property. *

For example, querying for the font property should not * return "normal normal normal 14pt/normal Arial, sans-serif", when "14pt * Arial, sans-serif" suffices. (The normals are initial values, and are * implied by use of the longhand property.) *

If the values for all the longhand properties that compose a particular * string are the initial values, then a string consisting of all the * initial values should be returned (e.g. a border-width value * of "medium" should be returned as such, not as ""). *

For some shorthand properties that take missing values from other * sides, such as the margin, padding, and * border-[width|style|color] properties, the minimum number of * sides possible should be used; i.e., "0px 10px" will be returned instead * of "0px 10px 0px 10px". *

If the value of a shorthand property can not be decomposed into its * component longhand properties, as is the case for the font * property with a value of "menu", querying for the values of the component * longhand properties should return the empty string. *

See also the Document Object Model (DOM) Level 2 Style Specification. * @since DOM Level 2 */ public interface CSS2Properties { /** * See the azimuth property definition in CSS2. */ public String getAzimuth(); /** * See the azimuth property definition in CSS2. * @exception DOMException * SYNTAX_ERR: Raised if the new value has a syntax error and is * unparsable. *
NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly. */ public void setAzimuth(String azimuth) throws DOMException; /** * See the background property definition in CSS2. */ public String getBackground(); /** * See the background property definition in CSS2. * @exception DOMException * SYNTAX_ERR: Raised if the new value has a syntax error and is * unparsable. *
NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly. */ public void setBackground(String background) throws DOMException; /** * See the background-attachment property definition in CSS2. */ public String getBackgroundAttachment(); /** * See the background-attachment property definition in CSS2. * @exception DOMException * SYNTAX_ERR: Raised if the new value has a syntax error and is * unparsable. *
NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly. */ public void setBackgroundAttachment(String backgroundAttachment) throws DOMException; /** * See the background-color property definition in CSS2. */ public String getBackgroundColor(); /** * See the background-color property definition in CSS2. * @exception DOMException * SYNTAX_ERR: Raised if the new value has a syntax error and is * unparsable. *
NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly. */ public void setBackgroundColor(String backgroundColor) throws DOMException; /** * See the background-image property definition in CSS2. */ public String getBackgroundImage(); /** * See the background-image property definition in CSS2. * @exception DOMException * SYNTAX_ERR: Raised if the new value has a syntax error and is * unparsable. *
NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly. */ public void setBackgroundImage(String backgroundImage) throws DOMException; /** * See the background-position property definition in CSS2. */ public String getBackgroundPosition(); /** * See the background-position property definition in CSS2. * @exception DOMException * SYNTAX_ERR: Raised if the new value has a syntax error and is * unparsable. *
NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly. */ public void setBackgroundPosition(String backgroundPosition) throws DOMException; /** * See the background-repeat property definition in CSS2. */ public String getBackgroundRepeat(); /** * See the background-repeat property definition in CSS2. * @exception DOMException * SYNTAX_ERR: Raised if the new value has a syntax error and is * unparsable. *
NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly. */ public void setBackgroundRepeat(String backgroundRepeat) throws DOMException; /** * See the border property definition in CSS2. */ public String getBorder(); /** * See the border property definition in CSS2. * @exception DOMException * SYNTAX_ERR: Raised if the new value has a syntax error and is * unparsable. *
NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly. */ public void setBorder(String border) throws DOMException; /** * See the border-collapse property definition in CSS2. */ public String getBorderCollapse(); /** * See the border-collapse property definition in CSS2. * @exception DOMException * SYNTAX_ERR: Raised if the new value has a syntax error and is * unparsable. *
NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly. */ public void setBorderCollapse(String borderCollapse) throws DOMException; /** * See the border-color property definition in CSS2. */ public String getBorderColor(); /** * See the border-color property definition in CSS2. * @exception DOMException * SYNTAX_ERR: Raised if the new value has a syntax error and is * unparsable. *
NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly. */ public void setBorderColor(String borderColor) throws DOMException; /** * See the border-spacing property definition in CSS2. */ public String getBorderSpacing(); /** * See the border-spacing property definition in CSS2. * @exception DOMException * SYNTAX_ERR: Raised if the new value has a syntax error and is * unparsable. *
NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly. */ public void setBorderSpacing(String borderSpacing) throws DOMException; /** * See the border-style property definition in CSS2. */ public String getBorderStyle(); /** * See the border-style property definition in CSS2. * @exception DOMException * SYNTAX_ERR: Raised if the new value has a syntax error and is * unparsable. *
NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly. */ public void setBorderStyle(String borderStyle) throws DOMException; /** * See the border-top property definition in CSS2. */ public String getBorderTop(); /** * See the border-top property definition in CSS2. * @exception DOMException * SYNTAX_ERR: Raised if the new value has a syntax error and is * unparsable. *
NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly. */ public void setBorderTop(String borderTop) throws DOMException; /** * See the border-right property definition in CSS2. */ public String getBorderRight(); /** * See the border-right property definition in CSS2. * @exception DOMException * SYNTAX_ERR: Raised if the new value has a syntax error and is * unparsable. *
NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly. */ public void setBorderRight(String borderRight) throws DOMException; /** * See the border-bottom property definition in CSS2. */ public String getBorderBottom(); /** * See the border-bottom property definition in CSS2. * @exception DOMException * SYNTAX_ERR: Raised if the new value has a syntax error and is * unparsable. *
NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly. */ public void setBorderBottom(String borderBottom) throws DOMException; /** * See the border-left property definition in CSS2. */ public String getBorderLeft(); /** * See the border-left property definition in CSS2. * @exception DOMException * SYNTAX_ERR: Raised if the new value has a syntax error and is * unparsable. *
NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly. */ public void setBorderLeft(String borderLeft) throws DOMException; /** * See the border-top-color property definition in CSS2. */ public String getBorderTopColor(); /** * See the border-top-color property definition in CSS2. * @exception DOMException * SYNTAX_ERR: Raised if the new value has a syntax error and is * unparsable. *
NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly. */ public void setBorderTopColor(String borderTopColor) throws DOMException; /** * See the border-right-color property definition in CSS2. */ public String getBorderRightColor(); /** * See the border-right-color property definition in CSS2. * @exception DOMException * SYNTAX_ERR: Raised if the new value has a syntax error and is * unparsable. *
NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly. */ public void setBorderRightColor(String borderRightColor) throws DOMException; /** * See the border-bottom-color property definition in CSS2. */ public String getBorderBottomColor(); /** * See the border-bottom-color property definition in CSS2. * @exception DOMException * SYNTAX_ERR: Raised if the new value has a syntax error and is * unparsable. *
NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly. */ public void setBorderBottomColor(String borderBottomColor) throws DOMException; /** * See the border-left-color property definition in CSS2. */ public String getBorderLeftColor(); /** * See the border-left-color property definition in CSS2. * @exception DOMException * SYNTAX_ERR: Raised if the new value has a syntax error and is * unparsable. *
NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly. */ public void setBorderLeftColor(String borderLeftColor) throws DOMException; /** * See the border-top-style property definition in CSS2. */ public String getBorderTopStyle(); /** * See the border-top-style property definition in CSS2. * @exception DOMException * SYNTAX_ERR: Raised if the new value has a syntax error and is * unparsable. *
NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly. */ public void setBorderTopStyle(String borderTopStyle) throws DOMException; /** * See the border-right-style property definition in CSS2. */ public String getBorderRightStyle(); /** * See the border-right-style property definition in CSS2. * @exception DOMException * SYNTAX_ERR: Raised if the new value has a syntax error and is * unparsable. *
NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly. */ public void setBorderRightStyle(String borderRightStyle) throws DOMException; /** * See the border-bottom-style property definition in CSS2. */ public String getBorderBottomStyle(); /** * See the border-bottom-style property definition in CSS2. * @exception DOMException * SYNTAX_ERR: Raised if the new value has a syntax error and is * unparsable. *
NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly. */ public void setBorderBottomStyle(String borderBottomStyle) throws DOMException; /** * See the border-left-style property definition in CSS2. */ public String getBorderLeftStyle(); /** * See the border-left-style property definition in CSS2. * @exception DOMException * SYNTAX_ERR: Raised if the new value has a syntax error and is * unparsable. *
NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly. */ public void setBorderLeftStyle(String borderLeftStyle) throws DOMException; /** * See the border-top-width property definition in CSS2. */ public String getBorderTopWidth(); /** * See the border-top-width property definition in CSS2. * @exception DOMException * SYNTAX_ERR: Raised if the new value has a syntax error and is * unparsable. *
NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly. */ public void setBorderTopWidth(String borderTopWidth) throws DOMException; /** * See the border-right-width property definition in CSS2. */ public String getBorderRightWidth(); /** * See the border-right-width property definition in CSS2. * @exception DOMException * SYNTAX_ERR: Raised if the new value has a syntax error and is * unparsable. *
NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly. */ public void setBorderRightWidth(String borderRightWidth) throws DOMException; /** * See the border-bottom-width property definition in CSS2. */ public String getBorderBottomWidth(); /** * See the border-bottom-width property definition in CSS2. * @exception DOMException * SYNTAX_ERR: Raised if the new value has a syntax error and is * unparsable. *
NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly. */ public void setBorderBottomWidth(String borderBottomWidth) throws DOMException; /** * See the border-left-width property definition in CSS2. */ public String getBorderLeftWidth(); /** * See the border-left-width property definition in CSS2. * @exception DOMException * SYNTAX_ERR: Raised if the new value has a syntax error and is * unparsable. *
NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly. */ public void setBorderLeftWidth(String borderLeftWidth) throws DOMException; /** * See the border-width property definition in CSS2. */ public String getBorderWidth(); /** * See the border-width property definition in CSS2. * @exception DOMException * SYNTAX_ERR: Raised if the new value has a syntax error and is * unparsable. *
NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly. */ public void setBorderWidth(String borderWidth) throws DOMException; /** * See the bottom property definition in CSS2. */ public String getBottom(); /** * See the bottom property definition in CSS2. * @exception DOMException * SYNTAX_ERR: Raised if the new value has a syntax error and is * unparsable. *
NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly. */ public void setBottom(String bottom) throws DOMException; /** * See the caption-side property definition in CSS2. */ public String getCaptionSide(); /** * See the caption-side property definition in CSS2. * @exception DOMException * SYNTAX_ERR: Raised if the new value has a syntax error and is * unparsable. *
NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly. */ public void setCaptionSide(String captionSide) throws DOMException; /** * See the clear property definition in CSS2. */ public String getClear(); /** * See the clear property definition in CSS2. * @exception DOMException * SYNTAX_ERR: Raised if the new value has a syntax error and is * unparsable. *
NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly. */ public void setClear(String clear) throws DOMException; /** * See the clip property definition in CSS2. */ public String getClip(); /** * See the clip property definition in CSS2. * @exception DOMException * SYNTAX_ERR: Raised if the new value has a syntax error and is * unparsable. *
NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly. */ public void setClip(String clip) throws DOMException; /** * See the color property definition in CSS2. */ public String getColor(); /** * See the color property definition in CSS2. * @exception DOMException * SYNTAX_ERR: Raised if the new value has a syntax error and is * unparsable. *
NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly. */ public void setColor(String color) throws DOMException; /** * See the content property definition in CSS2. */ public String getContent(); /** * See the content property definition in CSS2. * @exception DOMException * SYNTAX_ERR: Raised if the new value has a syntax error and is * unparsable. *
NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly. */ public void setContent(String content) throws DOMException; /** * See the counter-increment property definition in CSS2. */ public String getCounterIncrement(); /** * See the counter-increment property definition in CSS2. * @exception DOMException * SYNTAX_ERR: Raised if the new value has a syntax error and is * unparsable. *
NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly. */ public void setCounterIncrement(String counterIncrement) throws DOMException; /** * See the counter-reset property definition in CSS2. */ public String getCounterReset(); /** * See the counter-reset property definition in CSS2. * @exception DOMException * SYNTAX_ERR: Raised if the new value has a syntax error and is * unparsable. *
NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly. */ public void setCounterReset(String counterReset) throws DOMException; /** * See the cue property definition in CSS2. */ public String getCue(); /** * See the cue property definition in CSS2. * @exception DOMException * SYNTAX_ERR: Raised if the new value has a syntax error and is * unparsable. *
NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly. */ public void setCue(String cue) throws DOMException; /** * See the cue-after property definition in CSS2. */ public String getCueAfter(); /** * See the cue-after property definition in CSS2. * @exception DOMException * SYNTAX_ERR: Raised if the new value has a syntax error and is * unparsable. *
NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly. */ public void setCueAfter(String cueAfter) throws DOMException; /** * See the cue-before property definition in CSS2. */ public String getCueBefore(); /** * See the cue-before property definition in CSS2. * @exception DOMException * SYNTAX_ERR: Raised if the new value has a syntax error and is * unparsable. *
NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly. */ public void setCueBefore(String cueBefore) throws DOMException; /** * See the cursor property definition in CSS2. */ public String getCursor(); /** * See the cursor property definition in CSS2. * @exception DOMException * SYNTAX_ERR: Raised if the new value has a syntax error and is * unparsable. *
NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly. */ public void setCursor(String cursor) throws DOMException; /** * See the direction property definition in CSS2. */ public String getDirection(); /** * See the direction property definition in CSS2. * @exception DOMException * SYNTAX_ERR: Raised if the new value has a syntax error and is * unparsable. *
NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly. */ public void setDirection(String direction) throws DOMException; /** * See the display property definition in CSS2. */ public String getDisplay(); /** * See the display property definition in CSS2. * @exception DOMException * SYNTAX_ERR: Raised if the new value has a syntax error and is * unparsable. *
NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly. */ public void setDisplay(String display) throws DOMException; /** * See the elevation property definition in CSS2. */ public String getElevation(); /** * See the elevation property definition in CSS2. * @exception DOMException * SYNTAX_ERR: Raised if the new value has a syntax error and is * unparsable. *
NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly. */ public void setElevation(String elevation) throws DOMException; /** * See the empty-cells property definition in CSS2. */ public String getEmptyCells(); /** * See the empty-cells property definition in CSS2. * @exception DOMException * SYNTAX_ERR: Raised if the new value has a syntax error and is * unparsable. *
NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly. */ public void setEmptyCells(String emptyCells) throws DOMException; /** * See the float property definition in CSS2. */ public String getCssFloat(); /** * See the float property definition in CSS2. * @exception DOMException * SYNTAX_ERR: Raised if the new value has a syntax error and is * unparsable. *
NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly. */ public void setCssFloat(String cssFloat) throws DOMException; /** * See the font property definition in CSS2. */ public String getFont(); /** * See the font property definition in CSS2. * @exception DOMException * SYNTAX_ERR: Raised if the new value has a syntax error and is * unparsable. *
NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly. */ public void setFont(String font) throws DOMException; /** * See the font-family property definition in CSS2. */ public String getFontFamily(); /** * See the font-family property definition in CSS2. * @exception DOMException * SYNTAX_ERR: Raised if the new value has a syntax error and is * unparsable. *
NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly. */ public void setFontFamily(String fontFamily) throws DOMException; /** * See the font-size property definition in CSS2. */ public String getFontSize(); /** * See the font-size property definition in CSS2. * @exception DOMException * SYNTAX_ERR: Raised if the new value has a syntax error and is * unparsable. *
NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly. */ public void setFontSize(String fontSize) throws DOMException; /** * See the font-size-adjust property definition in CSS2. */ public String getFontSizeAdjust(); /** * See the font-size-adjust property definition in CSS2. * @exception DOMException * SYNTAX_ERR: Raised if the new value has a syntax error and is * unparsable. *
NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly. */ public void setFontSizeAdjust(String fontSizeAdjust) throws DOMException; /** * See the font-stretch property definition in CSS2. */ public String getFontStretch(); /** * See the font-stretch property definition in CSS2. * @exception DOMException * SYNTAX_ERR: Raised if the new value has a syntax error and is * unparsable. *
NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly. */ public void setFontStretch(String fontStretch) throws DOMException; /** * See the font-style property definition in CSS2. */ public String getFontStyle(); /** * See the font-style property definition in CSS2. * @exception DOMException * SYNTAX_ERR: Raised if the new value has a syntax error and is * unparsable. *
NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly. */ public void setFontStyle(String fontStyle) throws DOMException; /** * See the font-variant property definition in CSS2. */ public String getFontVariant(); /** * See the font-variant property definition in CSS2. * @exception DOMException * SYNTAX_ERR: Raised if the new value has a syntax error and is * unparsable. *
NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly. */ public void setFontVariant(String fontVariant) throws DOMException; /** * See the font-weight property definition in CSS2. */ public String getFontWeight(); /** * See the font-weight property definition in CSS2. * @exception DOMException * SYNTAX_ERR: Raised if the new value has a syntax error and is * unparsable. *
NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly. */ public void setFontWeight(String fontWeight) throws DOMException; /** * See the height property definition in CSS2. */ public String getHeight(); /** * See the height property definition in CSS2. * @exception DOMException * SYNTAX_ERR: Raised if the new value has a syntax error and is * unparsable. *
NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly. */ public void setHeight(String height) throws DOMException; /** * See the left property definition in CSS2. */ public String getLeft(); /** * See the left property definition in CSS2. * @exception DOMException * SYNTAX_ERR: Raised if the new value has a syntax error and is * unparsable. *
NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly. */ public void setLeft(String left) throws DOMException; /** * See the letter-spacing property definition in CSS2. */ public String getLetterSpacing(); /** * See the letter-spacing property definition in CSS2. * @exception DOMException * SYNTAX_ERR: Raised if the new value has a syntax error and is * unparsable. *
NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly. */ public void setLetterSpacing(String letterSpacing) throws DOMException; /** * See the line-height property definition in CSS2. */ public String getLineHeight(); /** * See the line-height property definition in CSS2. * @exception DOMException * SYNTAX_ERR: Raised if the new value has a syntax error and is * unparsable. *
NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly. */ public void setLineHeight(String lineHeight) throws DOMException; /** * See the list-style property definition in CSS2. */ public String getListStyle(); /** * See the list-style property definition in CSS2. * @exception DOMException * SYNTAX_ERR: Raised if the new value has a syntax error and is * unparsable. *
NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly. */ public void setListStyle(String listStyle) throws DOMException; /** * See the list-style-image property definition in CSS2. */ public String getListStyleImage(); /** * See the list-style-image property definition in CSS2. * @exception DOMException * SYNTAX_ERR: Raised if the new value has a syntax error and is * unparsable. *
NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly. */ public void setListStyleImage(String listStyleImage) throws DOMException; /** * See the list-style-position property definition in CSS2. */ public String getListStylePosition(); /** * See the list-style-position property definition in CSS2. * @exception DOMException * SYNTAX_ERR: Raised if the new value has a syntax error and is * unparsable. *
NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly. */ public void setListStylePosition(String listStylePosition) throws DOMException; /** * See the list-style-type property definition in CSS2. */ public String getListStyleType(); /** * See the list-style-type property definition in CSS2. * @exception DOMException * SYNTAX_ERR: Raised if the new value has a syntax error and is * unparsable. *
NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly. */ public void setListStyleType(String listStyleType) throws DOMException; /** * See the margin property definition in CSS2. */ public String getMargin(); /** * See the margin property definition in CSS2. * @exception DOMException * SYNTAX_ERR: Raised if the new value has a syntax error and is * unparsable. *
NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly. */ public void setMargin(String margin) throws DOMException; /** * See the margin-top property definition in CSS2. */ public String getMarginTop(); /** * See the margin-top property definition in CSS2. * @exception DOMException * SYNTAX_ERR: Raised if the new value has a syntax error and is * unparsable. *
NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly. */ public void setMarginTop(String marginTop) throws DOMException; /** * See the margin-right property definition in CSS2. */ public String getMarginRight(); /** * See the margin-right property definition in CSS2. * @exception DOMException * SYNTAX_ERR: Raised if the new value has a syntax error and is * unparsable. *
NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly. */ public void setMarginRight(String marginRight) throws DOMException; /** * See the margin-bottom property definition in CSS2. */ public String getMarginBottom(); /** * See the margin-bottom property definition in CSS2. * @exception DOMException * SYNTAX_ERR: Raised if the new value has a syntax error and is * unparsable. *
NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly. */ public void setMarginBottom(String marginBottom) throws DOMException; /** * See the margin-left property definition in CSS2. */ public String getMarginLeft(); /** * See the margin-left property definition in CSS2. * @exception DOMException * SYNTAX_ERR: Raised if the new value has a syntax error and is * unparsable. *
NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly. */ public void setMarginLeft(String marginLeft) throws DOMException; /** * See the marker-offset property definition in CSS2. */ public String getMarkerOffset(); /** * See the marker-offset property definition in CSS2. * @exception DOMException * SYNTAX_ERR: Raised if the new value has a syntax error and is * unparsable. *
NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly. */ public void setMarkerOffset(String markerOffset) throws DOMException; /** * See the marks property definition in CSS2. */ public String getMarks(); /** * See the marks property definition in CSS2. * @exception DOMException * SYNTAX_ERR: Raised if the new value has a syntax error and is * unparsable. *
NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly. */ public void setMarks(String marks) throws DOMException; /** * See the max-height property definition in CSS2. */ public String getMaxHeight(); /** * See the max-height property definition in CSS2. * @exception DOMException * SYNTAX_ERR: Raised if the new value has a syntax error and is * unparsable. *
NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly. */ public void setMaxHeight(String maxHeight) throws DOMException; /** * See the max-width property definition in CSS2. */ public String getMaxWidth(); /** * See the max-width property definition in CSS2. * @exception DOMException * SYNTAX_ERR: Raised if the new value has a syntax error and is * unparsable. *
NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly. */ public void setMaxWidth(String maxWidth) throws DOMException; /** * See the min-height property definition in CSS2. */ public String getMinHeight(); /** * See the min-height property definition in CSS2. * @exception DOMException * SYNTAX_ERR: Raised if the new value has a syntax error and is * unparsable. *
NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly. */ public void setMinHeight(String minHeight) throws DOMException; /** * See the min-width property definition in CSS2. */ public String getMinWidth(); /** * See the min-width property definition in CSS2. * @exception DOMException * SYNTAX_ERR: Raised if the new value has a syntax error and is * unparsable. *
NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly. */ public void setMinWidth(String minWidth) throws DOMException; /** * See the orphans property definition in CSS2. */ public String getOrphans(); /** * See the orphans property definition in CSS2. * @exception DOMException * SYNTAX_ERR: Raised if the new value has a syntax error and is * unparsable. *
NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly. */ public void setOrphans(String orphans) throws DOMException; /** * See the outline property definition in CSS2. */ public String getOutline(); /** * See the outline property definition in CSS2. * @exception DOMException * SYNTAX_ERR: Raised if the new value has a syntax error and is * unparsable. *
NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly. */ public void setOutline(String outline) throws DOMException; /** * See the outline-color property definition in CSS2. */ public String getOutlineColor(); /** * See the outline-color property definition in CSS2. * @exception DOMException * SYNTAX_ERR: Raised if the new value has a syntax error and is * unparsable. *
NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly. */ public void setOutlineColor(String outlineColor) throws DOMException; /** * See the outline-style property definition in CSS2. */ public String getOutlineStyle(); /** * See the outline-style property definition in CSS2. * @exception DOMException * SYNTAX_ERR: Raised if the new value has a syntax error and is * unparsable. *
NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly. */ public void setOutlineStyle(String outlineStyle) throws DOMException; /** * See the outline-width property definition in CSS2. */ public String getOutlineWidth(); /** * See the outline-width property definition in CSS2. * @exception DOMException * SYNTAX_ERR: Raised if the new value has a syntax error and is * unparsable. *
NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly. */ public void setOutlineWidth(String outlineWidth) throws DOMException; /** * See the overflow property definition in CSS2. */ public String getOverflow(); /** * See the overflow property definition in CSS2. * @exception DOMException * SYNTAX_ERR: Raised if the new value has a syntax error and is * unparsable. *
NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly. */ public void setOverflow(String overflow) throws DOMException; /** * See the padding property definition in CSS2. */ public String getPadding(); /** * See the padding property definition in CSS2. * @exception DOMException * SYNTAX_ERR: Raised if the new value has a syntax error and is * unparsable. *
NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly. */ public void setPadding(String padding) throws DOMException; /** * See the padding-top property definition in CSS2. */ public String getPaddingTop(); /** * See the padding-top property definition in CSS2. * @exception DOMException * SYNTAX_ERR: Raised if the new value has a syntax error and is * unparsable. *
NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly. */ public void setPaddingTop(String paddingTop) throws DOMException; /** * See the padding-right property definition in CSS2. */ public String getPaddingRight(); /** * See the padding-right property definition in CSS2. * @exception DOMException * SYNTAX_ERR: Raised if the new value has a syntax error and is * unparsable. *
NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly. */ public void setPaddingRight(String paddingRight) throws DOMException; /** * See the padding-bottom property definition in CSS2. */ public String getPaddingBottom(); /** * See the padding-bottom property definition in CSS2. * @exception DOMException * SYNTAX_ERR: Raised if the new value has a syntax error and is * unparsable. *
NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly. */ public void setPaddingBottom(String paddingBottom) throws DOMException; /** * See the padding-left property definition in CSS2. */ public String getPaddingLeft(); /** * See the padding-left property definition in CSS2. * @exception DOMException * SYNTAX_ERR: Raised if the new value has a syntax error and is * unparsable. *
NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly. */ public void setPaddingLeft(String paddingLeft) throws DOMException; /** * See the page property definition in CSS2. */ public String getPage(); /** * See the page property definition in CSS2. * @exception DOMException * SYNTAX_ERR: Raised if the new value has a syntax error and is * unparsable. *
NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly. */ public void setPage(String page) throws DOMException; /** * See the page-break-after property definition in CSS2. */ public String getPageBreakAfter(); /** * See the page-break-after property definition in CSS2. * @exception DOMException * SYNTAX_ERR: Raised if the new value has a syntax error and is * unparsable. *
NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly. */ public void setPageBreakAfter(String pageBreakAfter) throws DOMException; /** * See the page-break-before property definition in CSS2. */ public String getPageBreakBefore(); /** * See the page-break-before property definition in CSS2. * @exception DOMException * SYNTAX_ERR: Raised if the new value has a syntax error and is * unparsable. *
NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly. */ public void setPageBreakBefore(String pageBreakBefore) throws DOMException; /** * See the page-break-inside property definition in CSS2. */ public String getPageBreakInside(); /** * See the page-break-inside property definition in CSS2. * @exception DOMException * SYNTAX_ERR: Raised if the new value has a syntax error and is * unparsable. *
NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly. */ public void setPageBreakInside(String pageBreakInside) throws DOMException; /** * See the pause property definition in CSS2. */ public String getPause(); /** * See the pause property definition in CSS2. * @exception DOMException * SYNTAX_ERR: Raised if the new value has a syntax error and is * unparsable. *
NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly. */ public void setPause(String pause) throws DOMException; /** * See the pause-after property definition in CSS2. */ public String getPauseAfter(); /** * See the pause-after property definition in CSS2. * @exception DOMException * SYNTAX_ERR: Raised if the new value has a syntax error and is * unparsable. *
NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly. */ public void setPauseAfter(String pauseAfter) throws DOMException; /** * See the pause-before property definition in CSS2. */ public String getPauseBefore(); /** * See the pause-before property definition in CSS2. * @exception DOMException * SYNTAX_ERR: Raised if the new value has a syntax error and is * unparsable. *
NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly. */ public void setPauseBefore(String pauseBefore) throws DOMException; /** * See the pitch property definition in CSS2. */ public String getPitch(); /** * See the pitch property definition in CSS2. * @exception DOMException * SYNTAX_ERR: Raised if the new value has a syntax error and is * unparsable. *
NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly. */ public void setPitch(String pitch) throws DOMException; /** * See the pitch-range property definition in CSS2. */ public String getPitchRange(); /** * See the pitch-range property definition in CSS2. * @exception DOMException * SYNTAX_ERR: Raised if the new value has a syntax error and is * unparsable. *
NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly. */ public void setPitchRange(String pitchRange) throws DOMException; /** * See the play-during property definition in CSS2. */ public String getPlayDuring(); /** * See the play-during property definition in CSS2. * @exception DOMException * SYNTAX_ERR: Raised if the new value has a syntax error and is * unparsable. *
NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly. */ public void setPlayDuring(String playDuring) throws DOMException; /** * See the position property definition in CSS2. */ public String getPosition(); /** * See the position property definition in CSS2. * @exception DOMException * SYNTAX_ERR: Raised if the new value has a syntax error and is * unparsable. *
NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly. */ public void setPosition(String position) throws DOMException; /** * See the quotes property definition in CSS2. */ public String getQuotes(); /** * See the quotes property definition in CSS2. * @exception DOMException * SYNTAX_ERR: Raised if the new value has a syntax error and is * unparsable. *
NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly. */ public void setQuotes(String quotes) throws DOMException; /** * See the richness property definition in CSS2. */ public String getRichness(); /** * See the richness property definition in CSS2. * @exception DOMException * SYNTAX_ERR: Raised if the new value has a syntax error and is * unparsable. *
NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly. */ public void setRichness(String richness) throws DOMException; /** * See the right property definition in CSS2. */ public String getRight(); /** * See the right property definition in CSS2. * @exception DOMException * SYNTAX_ERR: Raised if the new value has a syntax error and is * unparsable. *
NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly. */ public void setRight(String right) throws DOMException; /** * See the size property definition in CSS2. */ public String getSize(); /** * See the size property definition in CSS2. * @exception DOMException * SYNTAX_ERR: Raised if the new value has a syntax error and is * unparsable. *
NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly. */ public void setSize(String size) throws DOMException; /** * See the speak property definition in CSS2. */ public String getSpeak(); /** * See the speak property definition in CSS2. * @exception DOMException * SYNTAX_ERR: Raised if the new value has a syntax error and is * unparsable. *
NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly. */ public void setSpeak(String speak) throws DOMException; /** * See the speak-header property definition in CSS2. */ public String getSpeakHeader(); /** * See the speak-header property definition in CSS2. * @exception DOMException * SYNTAX_ERR: Raised if the new value has a syntax error and is * unparsable. *
NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly. */ public void setSpeakHeader(String speakHeader) throws DOMException; /** * See the speak-numeral property definition in CSS2. */ public String getSpeakNumeral(); /** * See the speak-numeral property definition in CSS2. * @exception DOMException * SYNTAX_ERR: Raised if the new value has a syntax error and is * unparsable. *
NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly. */ public void setSpeakNumeral(String speakNumeral) throws DOMException; /** * See the speak-punctuation property definition in CSS2. */ public String getSpeakPunctuation(); /** * See the speak-punctuation property definition in CSS2. * @exception DOMException * SYNTAX_ERR: Raised if the new value has a syntax error and is * unparsable. *
NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly. */ public void setSpeakPunctuation(String speakPunctuation) throws DOMException; /** * See the speech-rate property definition in CSS2. */ public String getSpeechRate(); /** * See the speech-rate property definition in CSS2. * @exception DOMException * SYNTAX_ERR: Raised if the new value has a syntax error and is * unparsable. *
NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly. */ public void setSpeechRate(String speechRate) throws DOMException; /** * See the stress property definition in CSS2. */ public String getStress(); /** * See the stress property definition in CSS2. * @exception DOMException * SYNTAX_ERR: Raised if the new value has a syntax error and is * unparsable. *
NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly. */ public void setStress(String stress) throws DOMException; /** * See the table-layout property definition in CSS2. */ public String getTableLayout(); /** * See the table-layout property definition in CSS2. * @exception DOMException * SYNTAX_ERR: Raised if the new value has a syntax error and is * unparsable. *
NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly. */ public void setTableLayout(String tableLayout) throws DOMException; /** * See the text-align property definition in CSS2. */ public String getTextAlign(); /** * See the text-align property definition in CSS2. * @exception DOMException * SYNTAX_ERR: Raised if the new value has a syntax error and is * unparsable. *
NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly. */ public void setTextAlign(String textAlign) throws DOMException; /** * See the text-decoration property definition in CSS2. */ public String getTextDecoration(); /** * See the text-decoration property definition in CSS2. * @exception DOMException * SYNTAX_ERR: Raised if the new value has a syntax error and is * unparsable. *
NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly. */ public void setTextDecoration(String textDecoration) throws DOMException; /** * See the text-indent property definition in CSS2. */ public String getTextIndent(); /** * See the text-indent property definition in CSS2. * @exception DOMException * SYNTAX_ERR: Raised if the new value has a syntax error and is * unparsable. *
NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly. */ public void setTextIndent(String textIndent) throws DOMException; /** * See the text-shadow property definition in CSS2. */ public String getTextShadow(); /** * See the text-shadow property definition in CSS2. * @exception DOMException * SYNTAX_ERR: Raised if the new value has a syntax error and is * unparsable. *
NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly. */ public void setTextShadow(String textShadow) throws DOMException; /** * See the text-transform property definition in CSS2. */ public String getTextTransform(); /** * See the text-transform property definition in CSS2. * @exception DOMException * SYNTAX_ERR: Raised if the new value has a syntax error and is * unparsable. *
NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly. */ public void setTextTransform(String textTransform) throws DOMException; /** * See the top property definition in CSS2. */ public String getTop(); /** * See the top property definition in CSS2. * @exception DOMException * SYNTAX_ERR: Raised if the new value has a syntax error and is * unparsable. *
NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly. */ public void setTop(String top) throws DOMException; /** * See the unicode-bidi property definition in CSS2. */ public String getUnicodeBidi(); /** * See the unicode-bidi property definition in CSS2. * @exception DOMException * SYNTAX_ERR: Raised if the new value has a syntax error and is * unparsable. *
NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly. */ public void setUnicodeBidi(String unicodeBidi) throws DOMException; /** * See the vertical-align property definition in CSS2. */ public String getVerticalAlign(); /** * See the vertical-align property definition in CSS2. * @exception DOMException * SYNTAX_ERR: Raised if the new value has a syntax error and is * unparsable. *
NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly. */ public void setVerticalAlign(String verticalAlign) throws DOMException; /** * See the visibility property definition in CSS2. */ public String getVisibility(); /** * See the visibility property definition in CSS2. * @exception DOMException * SYNTAX_ERR: Raised if the new value has a syntax error and is * unparsable. *
NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly. */ public void setVisibility(String visibility) throws DOMException; /** * See the voice-family property definition in CSS2. */ public String getVoiceFamily(); /** * See the voice-family property definition in CSS2. * @exception DOMException * SYNTAX_ERR: Raised if the new value has a syntax error and is * unparsable. *
NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly. */ public void setVoiceFamily(String voiceFamily) throws DOMException; /** * See the volume property definition in CSS2. */ public String getVolume(); /** * See the volume property definition in CSS2. * @exception DOMException * SYNTAX_ERR: Raised if the new value has a syntax error and is * unparsable. *
NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly. */ public void setVolume(String volume) throws DOMException; /** * See the white-space property definition in CSS2. */ public String getWhiteSpace(); /** * See the white-space property definition in CSS2. * @exception DOMException * SYNTAX_ERR: Raised if the new value has a syntax error and is * unparsable. *
NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly. */ public void setWhiteSpace(String whiteSpace) throws DOMException; /** * See the widows property definition in CSS2. */ public String getWidows(); /** * See the widows property definition in CSS2. * @exception DOMException * SYNTAX_ERR: Raised if the new value has a syntax error and is * unparsable. *
NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly. */ public void setWidows(String widows) throws DOMException; /** * See the width property definition in CSS2. */ public String getWidth(); /** * See the width property definition in CSS2. * @exception DOMException * SYNTAX_ERR: Raised if the new value has a syntax error and is * unparsable. *
NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly. */ public void setWidth(String width) throws DOMException; /** * See the word-spacing property definition in CSS2. */ public String getWordSpacing(); /** * See the word-spacing property definition in CSS2. * @exception DOMException * SYNTAX_ERR: Raised if the new value has a syntax error and is * unparsable. *
NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly. */ public void setWordSpacing(String wordSpacing) throws DOMException; /** * See the z-index property definition in CSS2. */ public String getZIndex(); /** * See the z-index property definition in CSS2. * @exception DOMException * SYNTAX_ERR: Raised if the new value has a syntax error and is * unparsable. *
NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly. */ public void setZIndex(String zIndex) throws DOMException; } org/w3c/dom/css/CSSCharsetRule.java100644 0 0 4575 11146172406 14511 0ustar 0 0 /* * Copyright (c) 2000 World Wide Web Consortium, * (Massachusetts Institute of Technology, Institut National de * Recherche en Informatique et en Automatique, Keio University). All * Rights Reserved. This program is distributed under the W3C's Software * Intellectual Property License. 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 W3C License http://www.w3.org/Consortium/Legal/ for more details. */ package org.w3c.dom.css; import org.w3c.dom.DOMException; /** * The CSSCharsetRule interface represents a @charset rule in a * CSS style sheet. The value of the encoding attribute does * not affect the encoding of text data in the DOM objects; this encoding is * always UTF-16. After a stylesheet is loaded, the value of the * encoding attribute is the value found in the * @charset rule. If there was no @charset in the * original document, then no CSSCharsetRule is created. The * value of the encoding attribute may also be used as a hint * for the encoding used on serialization of the style sheet. *

The value of the @charset rule (and therefore of the * CSSCharsetRule) may not correspond to the encoding the * document actually came in; character encoding information e.g. in an HTTP * header, has priority (see CSS document representation) but this is not * reflected in the CSSCharsetRule. *

See also the Document Object Model (DOM) Level 2 Style Specification. * @since DOM Level 2 */ public interface CSSCharsetRule extends CSSRule { /** * The encoding information used in this @charset rule. */ public String getEncoding(); /** * The encoding information used in this @charset rule. * @exception DOMException * SYNTAX_ERR: Raised if the specified encoding value has a syntax error * and is unparsable. *
NO_MODIFICATION_ALLOWED_ERR: Raised if this encoding rule is * readonly. */ public void setEncoding(String encoding) throws DOMException; } org/w3c/dom/css/CSSFontFaceRule.java100644 0 0 2155 11146172406 14575 0ustar 0 0 /* * Copyright (c) 2000 World Wide Web Consortium, * (Massachusetts Institute of Technology, Institut National de * Recherche en Informatique et en Automatique, Keio University). All * Rights Reserved. This program is distributed under the W3C's Software * Intellectual Property License. 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 W3C License http://www.w3.org/Consortium/Legal/ for more details. */ package org.w3c.dom.css; /** * The CSSFontFaceRule interface represents a @font-face rule in * a CSS style sheet. The @font-face rule is used to hold a set * of font descriptions. *

See also the Document Object Model (DOM) Level 2 Style Specification. * @since DOM Level 2 */ public interface CSSFontFaceRule extends CSSRule { /** * The declaration-block of this rule. */ public CSSStyleDeclaration getStyle(); } org/w3c/dom/css/CSSImportRule.java100644 0 0 3344 11146172406 14363 0ustar 0 0 /* * Copyright (c) 2000 World Wide Web Consortium, * (Massachusetts Institute of Technology, Institut National de * Recherche en Informatique et en Automatique, Keio University). All * Rights Reserved. This program is distributed under the W3C's Software * Intellectual Property License. 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 W3C License http://www.w3.org/Consortium/Legal/ for more details. */ package org.w3c.dom.css; import org.w3c.dom.stylesheets.MediaList; /** * The CSSImportRule interface represents a @import rule within * a CSS style sheet. The @import rule is used to import style * rules from other style sheets. *

See also the Document Object Model (DOM) Level 2 Style Specification. * @since DOM Level 2 */ public interface CSSImportRule extends CSSRule { /** * The location of the style sheet to be imported. The attribute will not * contain the "url(...)" specifier around the URI. */ public String getHref(); /** * A list of media types for which this style sheet may be used. */ public MediaList getMedia(); /** * The style sheet referred to by this rule, if it has been loaded. The * value of this attribute is null if the style sheet has * not yet been loaded or if it will not be loaded (e.g. if the style * sheet is for a media type not supported by the user agent). */ public CSSStyleSheet getStyleSheet(); } org/w3c/dom/css/CSSMediaRule.java100644 0 0 6257 11146172406 14136 0ustar 0 0 /* * Copyright (c) 2000 World Wide Web Consortium, * (Massachusetts Institute of Technology, Institut National de * Recherche en Informatique et en Automatique, Keio University). All * Rights Reserved. This program is distributed under the W3C's Software * Intellectual Property License. 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 W3C License http://www.w3.org/Consortium/Legal/ for more details. */ package org.w3c.dom.css; import org.w3c.dom.DOMException; import org.w3c.dom.stylesheets.MediaList; /** * The CSSMediaRule interface represents a @media rule in a CSS * style sheet. A @media rule can be used to delimit style * rules for specific media types. *

See also the Document Object Model (DOM) Level 2 Style Specification. * @since DOM Level 2 */ public interface CSSMediaRule extends CSSRule { /** * A list of media types for this rule. */ public MediaList getMedia(); /** * A list of all CSS rules contained within the media block. */ public CSSRuleList getCssRules(); /** * Used to insert a new rule into the media block. * @param rule The parsable text representing the rule. For rule sets * this contains both the selector and the style declaration. For * at-rules, this specifies both the at-identifier and the rule * content. * @param index The index within the media block's rule collection of * the rule before which to insert the specified rule. If the * specified index is equal to the length of the media blocks's rule * collection, the rule will be added to the end of the media block. * @return The index within the media block's rule collection of the * newly inserted rule. * @exception DOMException * HIERARCHY_REQUEST_ERR: Raised if the rule cannot be inserted at the * specified index, e.g., if an @import rule is inserted * after a standard rule set or other at-rule. *
INDEX_SIZE_ERR: Raised if the specified index is not a valid * insertion point. *
NO_MODIFICATION_ALLOWED_ERR: Raised if this media rule is * readonly. *
SYNTAX_ERR: Raised if the specified rule has a syntax error and * is unparsable. */ public int insertRule(String rule, int index) throws DOMException; /** * Used to delete a rule from the media block. * @param index The index within the media block's rule collection of * the rule to remove. * @exception DOMException * INDEX_SIZE_ERR: Raised if the specified index does not correspond to * a rule in the media rule list. *
NO_MODIFICATION_ALLOWED_ERR: Raised if this media rule is * readonly. */ public void deleteRule(int index) throws DOMException; } org/w3c/dom/css/CSSPageRule.java100644 0 0 3345 11146172406 13766 0ustar 0 0 /* * Copyright (c) 2000 World Wide Web Consortium, * (Massachusetts Institute of Technology, Institut National de * Recherche en Informatique et en Automatique, Keio University). All * Rights Reserved. This program is distributed under the W3C's Software * Intellectual Property License. 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 W3C License http://www.w3.org/Consortium/Legal/ for more details. */ package org.w3c.dom.css; import org.w3c.dom.DOMException; /** * The CSSPageRule interface represents a @page rule within a * CSS style sheet. The @page rule is used to specify the * dimensions, orientation, margins, etc. of a page box for paged media. *

See also the Document Object Model (DOM) Level 2 Style Specification. * @since DOM Level 2 */ public interface CSSPageRule extends CSSRule { /** * The parsable textual representation of the page selector for the rule. */ public String getSelectorText(); /** * The parsable textual representation of the page selector for the rule. * @exception DOMException * SYNTAX_ERR: Raised if the specified CSS string value has a syntax * error and is unparsable. *
NO_MODIFICATION_ALLOWED_ERR: Raised if this rule is readonly. */ public void setSelectorText(String selectorText) throws DOMException; /** * The declaration-block of this rule. */ public CSSStyleDeclaration getStyle(); } org/w3c/dom/css/CSSPrimitiveValue.java100644 0 0 32341 11146172406 15245 0ustar 0 0 /* * Copyright (c) 2000 World Wide Web Consortium, * (Massachusetts Institute of Technology, Institut National de * Recherche en Informatique et en Automatique, Keio University). All * Rights Reserved. This program is distributed under the W3C's Software * Intellectual Property License. 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 W3C License http://www.w3.org/Consortium/Legal/ for more details. */ package org.w3c.dom.css; import org.w3c.dom.DOMException; /** * The CSSPrimitiveValue interface represents a single CSS value * . This interface may be used to determine the value of a specific style * property currently set in a block or to set a specific style property * explicitly within the block. An instance of this interface might be * obtained from the getPropertyCSSValue method of the * CSSStyleDeclaration interface. A * CSSPrimitiveValue object only occurs in a context of a CSS * property. *

Conversions are allowed between absolute values (from millimeters to * centimeters, from degrees to radians, and so on) but not between relative * values. (For example, a pixel value cannot be converted to a centimeter * value.) Percentage values can't be converted since they are relative to * the parent value (or another property value). There is one exception for * color percentage values: since a color percentage value is relative to * the range 0-255, a color percentage value can be converted to a number; * (see also the RGBColor interface). *

See also the Document Object Model (DOM) Level 2 Style Specification. * @since DOM Level 2 */ public interface CSSPrimitiveValue extends CSSValue { // UnitTypes /** * The value is not a recognized CSS2 value. The value can only be * obtained by using the cssText attribute. */ public static final short CSS_UNKNOWN = 0; /** * The value is a simple number. The value can be obtained by using the * getFloatValue method. */ public static final short CSS_NUMBER = 1; /** * The value is a percentage. The value can be obtained by using the * getFloatValue method. */ public static final short CSS_PERCENTAGE = 2; /** * The value is a length (ems). The value can be obtained by using the * getFloatValue method. */ public static final short CSS_EMS = 3; /** * The value is a length (exs). The value can be obtained by using the * getFloatValue method. */ public static final short CSS_EXS = 4; /** * The value is a length (px). The value can be obtained by using the * getFloatValue method. */ public static final short CSS_PX = 5; /** * The value is a length (cm). The value can be obtained by using the * getFloatValue method. */ public static final short CSS_CM = 6; /** * The value is a length (mm). The value can be obtained by using the * getFloatValue method. */ public static final short CSS_MM = 7; /** * The value is a length (in). The value can be obtained by using the * getFloatValue method. */ public static final short CSS_IN = 8; /** * The value is a length (pt). The value can be obtained by using the * getFloatValue method. */ public static final short CSS_PT = 9; /** * The value is a length (pc). The value can be obtained by using the * getFloatValue method. */ public static final short CSS_PC = 10; /** * The value is an angle (deg). The value can be obtained by using the * getFloatValue method. */ public static final short CSS_DEG = 11; /** * The value is an angle (rad). The value can be obtained by using the * getFloatValue method. */ public static final short CSS_RAD = 12; /** * The value is an angle (grad). The value can be obtained by using the * getFloatValue method. */ public static final short CSS_GRAD = 13; /** * The value is a time (ms). The value can be obtained by using the * getFloatValue method. */ public static final short CSS_MS = 14; /** * The value is a time (s). The value can be obtained by using the * getFloatValue method. */ public static final short CSS_S = 15; /** * The value is a frequency (Hz). The value can be obtained by using the * getFloatValue method. */ public static final short CSS_HZ = 16; /** * The value is a frequency (kHz). The value can be obtained by using the * getFloatValue method. */ public static final short CSS_KHZ = 17; /** * The value is a number with an unknown dimension. The value can be * obtained by using the getFloatValue method. */ public static final short CSS_DIMENSION = 18; /** * The value is a STRING. The value can be obtained by using the * getStringValue method. */ public static final short CSS_STRING = 19; /** * The value is a URI. The value can be obtained by using the * getStringValue method. */ public static final short CSS_URI = 20; /** * The value is an identifier. The value can be obtained by using the * getStringValue method. */ public static final short CSS_IDENT = 21; /** * The value is a attribute function. The value can be obtained by using * the getStringValue method. */ public static final short CSS_ATTR = 22; /** * The value is a counter or counters function. The value can be obtained * by using the getCounterValue method. */ public static final short CSS_COUNTER = 23; /** * The value is a rect function. The value can be obtained by using the * getRectValue method. */ public static final short CSS_RECT = 24; /** * The value is a RGB color. The value can be obtained by using the * getRGBColorValue method. */ public static final short CSS_RGBCOLOR = 25; /** * The type of the value as defined by the constants specified above. */ public short getPrimitiveType(); /** * A method to set the float value with a specified unit. If the property * attached with this value can not accept the specified unit or the * float value, the value will be unchanged and a * DOMException will be raised. * @param unitType A unit code as defined above. The unit code can only * be a float unit type (i.e. CSS_NUMBER, * CSS_PERCENTAGE, CSS_EMS, * CSS_EXS, CSS_PX, CSS_CM, * CSS_MM, CSS_IN, CSS_PT, * CSS_PC, CSS_DEG, CSS_RAD, * CSS_GRAD, CSS_MS, CSS_S, * CSS_HZ, CSS_KHZ, * CSS_DIMENSION). * @param floatValue The new float value. * @exception DOMException * INVALID_ACCESS_ERR: Raised if the attached property doesn't support * the float value or the unit type. *
NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly. */ public void setFloatValue(short unitType, float floatValue) throws DOMException; /** * This method is used to get a float value in a specified unit. If this * CSS value doesn't contain a float value or can't be converted into * the specified unit, a DOMException is raised. * @param unitType A unit code to get the float value. The unit code can * only be a float unit type (i.e. CSS_NUMBER, * CSS_PERCENTAGE, CSS_EMS, * CSS_EXS, CSS_PX, CSS_CM, * CSS_MM, CSS_IN, CSS_PT, * CSS_PC, CSS_DEG, CSS_RAD, * CSS_GRAD, CSS_MS, CSS_S, * CSS_HZ, CSS_KHZ, * CSS_DIMENSION). * @return The float value in the specified unit. * @exception DOMException * INVALID_ACCESS_ERR: Raised if the CSS value doesn't contain a float * value or if the float value can't be converted into the specified * unit. */ public float getFloatValue(short unitType) throws DOMException; /** * A method to set the string value with the specified unit. If the * property attached to this value can't accept the specified unit or * the string value, the value will be unchanged and a * DOMException will be raised. * @param stringType A string code as defined above. The string code can * only be a string unit type (i.e. CSS_STRING, * CSS_URI, CSS_IDENT, and * CSS_ATTR). * @param stringValue The new string value. * @exception DOMException * INVALID_ACCESS_ERR: Raised if the CSS value doesn't contain a string * value or if the string value can't be converted into the specified * unit. *
NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly. */ public void setStringValue(short stringType, String stringValue) throws DOMException; /** * This method is used to get the string value. If the CSS value doesn't * contain a string value, a DOMException is raised. Some * properties (like 'font-family' or 'voice-family') convert a * whitespace separated list of idents to a string. * @return The string value in the current unit. The current * primitiveType can only be a string unit type (i.e. * CSS_STRING, CSS_URI, * CSS_IDENT and CSS_ATTR). * @exception DOMException * INVALID_ACCESS_ERR: Raised if the CSS value doesn't contain a string * value. */ public String getStringValue() throws DOMException; /** * This method is used to get the Counter value. If this CSS value * doesn't contain a counter value, a DOMException is * raised. Modification to the corresponding style property can be * achieved using the Counter interface. * @return The Counter value. * @exception DOMException * INVALID_ACCESS_ERR: Raised if the CSS value doesn't contain a * Counter value (e.g. this is not CSS_COUNTER). */ public Counter getCounterValue() throws DOMException; /** * This method is used to get the Rect value. If this CSS value doesn't * contain a rect value, a DOMException is raised. * Modification to the corresponding style property can be achieved * using the Rect interface. * @return The Rect value. * @exception DOMException * INVALID_ACCESS_ERR: Raised if the CSS value doesn't contain a Rect * value. (e.g. this is not CSS_RECT). */ public Rect getRectValue() throws DOMException; /** * This method is used to get the RGB color. If this CSS value doesn't * contain a RGB color value, a DOMException is raised. * Modification to the corresponding style property can be achieved * using the RGBColor interface. * @return the RGB color value. * @exception DOMException * INVALID_ACCESS_ERR: Raised if the attached property can't return a * RGB color value (e.g. this is not CSS_RGBCOLOR). */ public RGBColor getRGBColorValue() throws DOMException; } org/w3c/dom/css/CSSRule.java100644 0 0 7363 11146172406 13175 0ustar 0 0 /* * Copyright (c) 2000 World Wide Web Consortium, * (Massachusetts Institute of Technology, Institut National de * Recherche en Informatique et en Automatique, Keio University). All * Rights Reserved. This program is distributed under the W3C's Software * Intellectual Property License. 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 W3C License http://www.w3.org/Consortium/Legal/ for more details. */ package org.w3c.dom.css; import org.w3c.dom.DOMException; /** * The CSSRule interface is the abstract base interface for any * type of CSS statement. This includes both rule sets and at-rules. An * implementation is expected to preserve all rules specified in a CSS style * sheet, even if the rule is not recognized by the parser. Unrecognized * rules are represented using the CSSUnknownRule interface. *

See also the Document Object Model (DOM) Level 2 Style Specification. * @since DOM Level 2 */ public interface CSSRule { // RuleType /** * The rule is a CSSUnknownRule. */ public static final short UNKNOWN_RULE = 0; /** * The rule is a CSSStyleRule. */ public static final short STYLE_RULE = 1; /** * The rule is a CSSCharsetRule. */ public static final short CHARSET_RULE = 2; /** * The rule is a CSSImportRule. */ public static final short IMPORT_RULE = 3; /** * The rule is a CSSMediaRule. */ public static final short MEDIA_RULE = 4; /** * The rule is a CSSFontFaceRule. */ public static final short FONT_FACE_RULE = 5; /** * The rule is a CSSPageRule. */ public static final short PAGE_RULE = 6; /** * The type of the rule, as defined above. The expectation is that * binding-specific casting methods can be used to cast down from an * instance of the CSSRule interface to the specific * derived interface implied by the type. */ public short getType(); /** * The parsable textual representation of the rule. This reflects the * current state of the rule and not its initial value. */ public String getCssText(); /** * The parsable textual representation of the rule. This reflects the * current state of the rule and not its initial value. * @exception DOMException * SYNTAX_ERR: Raised if the specified CSS string value has a syntax * error and is unparsable. *
INVALID_MODIFICATION_ERR: Raised if the specified CSS string * value represents a different type of rule than the current one. *
HIERARCHY_REQUEST_ERR: Raised if the rule cannot be inserted at * this point in the style sheet. *
NO_MODIFICATION_ALLOWED_ERR: Raised if the rule is readonly. */ public void setCssText(String cssText) throws DOMException; /** * The style sheet that contains this rule. */ public CSSStyleSheet getParentStyleSheet(); /** * If this rule is contained inside another rule (e.g. a style rule * inside an @media block), this is the containing rule. If this rule is * not nested inside any other rules, this returns null. */ public CSSRule getParentRule(); } org/w3c/dom/css/CSSRuleList.java100644 0 0 3420 11146172406 14017 0ustar 0 0 /* * Copyright (c) 2000 World Wide Web Consortium, * (Massachusetts Institute of Technology, Institut National de * Recherche en Informatique et en Automatique, Keio University). All * Rights Reserved. This program is distributed under the W3C's Software * Intellectual Property License. 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 W3C License http://www.w3.org/Consortium/Legal/ for more details. */ package org.w3c.dom.css; /** * The CSSRuleList interface provides the abstraction of an * ordered collection of CSS rules. *

The items in the CSSRuleList are accessible via an * integral index, starting from 0. *

See also the Document Object Model (DOM) Level 2 Style Specification. * @since DOM Level 2 */ public interface CSSRuleList { /** * The number of CSSRules in the list. The range of valid * child rule indices is 0 to length-1 * inclusive. */ public int getLength(); /** * Used to retrieve a CSS rule by ordinal index. The order in this * collection represents the order of the rules in the CSS style sheet. * If index is greater than or equal to the number of rules in the list, * this returns null. * @param index Index into the collection * @return The style rule at the index position in the * CSSRuleList, or null if that is not a * valid index. */ public CSSRule item(int index); } org/w3c/dom/css/CSSStyleDeclaration.java100644 0 0 17013 11146172406 15545 0ustar 0 0 /* * Copyright (c) 2000 World Wide Web Consortium, * (Massachusetts Institute of Technology, Institut National de * Recherche en Informatique et en Automatique, Keio University). All * Rights Reserved. This program is distributed under the W3C's Software * Intellectual Property License. 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 W3C License http://www.w3.org/Consortium/Legal/ for more details. */ package org.w3c.dom.css; import org.w3c.dom.DOMException; /** * The CSSStyleDeclaration interface represents a single CSS * declaration block. This interface may be used to determine the style * properties currently set in a block or to set style properties explicitly * within the block. *

While an implementation may not recognize all CSS properties within a * CSS declaration block, it is expected to provide access to all specified * properties in the style sheet through the CSSStyleDeclaration * interface. Furthermore, implementations that support a specific level of * CSS should correctly handle CSS shorthand properties for that level. For * a further discussion of shorthand properties, see the * CSS2Properties interface. *

This interface is also used to provide a read-only access to the * computed values of an element. See also the ViewCSS * interface. The CSS Object Model doesn't provide an access to the * specified or actual values of the CSS cascade. *

See also the Document Object Model (DOM) Level 2 Style Specification. * @since DOM Level 2 */ public interface CSSStyleDeclaration { /** * The parsable textual representation of the declaration block * (excluding the surrounding curly braces). Setting this attribute will * result in the parsing of the new value and resetting of all the * properties in the declaration block including the removal or addition * of properties. */ public String getCssText(); /** * The parsable textual representation of the declaration block * (excluding the surrounding curly braces). Setting this attribute will * result in the parsing of the new value and resetting of all the * properties in the declaration block including the removal or addition * of properties. * @exception DOMException * SYNTAX_ERR: Raised if the specified CSS string value has a syntax * error and is unparsable. *
NO_MODIFICATION_ALLOWED_ERR: Raised if this declaration is * readonly or a property is readonly. */ public void setCssText(String cssText) throws DOMException; /** * Used to retrieve the value of a CSS property if it has been explicitly * set within this declaration block. * @param propertyName The name of the CSS property. See the CSS * property index. * @return Returns the value of the property if it has been explicitly * set for this declaration block. Returns the empty string if the * property has not been set. */ public String getPropertyValue(String propertyName); /** * Used to retrieve the object representation of the value of a CSS * property if it has been explicitly set within this declaration block. * This method returns null if the property is a shorthand * property. Shorthand property values can only be accessed and modified * as strings, using the getPropertyValue and * setProperty methods. * @param propertyName The name of the CSS property. See the CSS * property index. * @return Returns the value of the property if it has been explicitly * set for this declaration block. Returns null if the * property has not been set. */ public CSSValue getPropertyCSSValue(String propertyName); /** * Used to remove a CSS property if it has been explicitly set within * this declaration block. * @param propertyName The name of the CSS property. See the CSS * property index. * @return Returns the value of the property if it has been explicitly * set for this declaration block. Returns the empty string if the * property has not been set or the property name does not correspond * to a known CSS property. * @exception DOMException * NO_MODIFICATION_ALLOWED_ERR: Raised if this declaration is readonly * or the property is readonly. */ public String removeProperty(String propertyName) throws DOMException; /** * Used to retrieve the priority of a CSS property (e.g. the * "important" qualifier) if the priority has been * explicitly set in this declaration block. * @param propertyName The name of the CSS property. See the CSS * property index. * @return A string representing the priority (e.g. * "important") if the property has been explicitly set * in this declaration block and has a priority specified. The empty * string otherwise. */ public String getPropertyPriority(String propertyName); /** * Used to set a property value and priority within this declaration * block. setProperty permits to modify a property or add a * new one in the declaration block. Any call to this method may modify * the order of properties in the item method. * @param propertyName The name of the CSS property. See the CSS * property index. * @param value The new value of the property. * @param priority The new priority of the property (e.g. * "important") or the empty string if none. * @exception DOMException * SYNTAX_ERR: Raised if the specified value has a syntax error and is * unparsable. *
NO_MODIFICATION_ALLOWED_ERR: Raised if this declaration is * readonly or the property is readonly. */ public void setProperty(String propertyName, String value, String priority) throws DOMException; /** * The number of properties that have been explicitly set in this * declaration block. The range of valid indices is 0 to length-1 * inclusive. */ public int getLength(); /** * Used to retrieve the properties that have been explicitly set in this * declaration block. The order of the properties retrieved using this * method does not have to be the order in which they were set. This * method can be used to iterate over all properties in this declaration * block. * @param index Index of the property name to retrieve. * @return The name of the property at this ordinal position. The empty * string if no property exists at this position. */ public String item(int index); /** * The CSS rule that contains this declaration block or null * if this CSSStyleDeclaration is not attached to a * CSSRule. */ public CSSRule getParentRule(); } org/w3c/dom/css/CSSStyleRule.java100644 0 0 3467 11146172406 14217 0ustar 0 0 /* * Copyright (c) 2000 World Wide Web Consortium, * (Massachusetts Institute of Technology, Institut National de * Recherche en Informatique et en Automatique, Keio University). All * Rights Reserved. This program is distributed under the W3C's Software * Intellectual Property License. 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 W3C License http://www.w3.org/Consortium/Legal/ for more details. */ package org.w3c.dom.css; import org.w3c.dom.DOMException; /** * The CSSStyleRule interface represents a single rule set in a * CSS style sheet. *

See also the Document Object Model (DOM) Level 2 Style Specification. * @since DOM Level 2 */ public interface CSSStyleRule extends CSSRule { /** * The textual representation of the selector for the rule set. The * implementation may have stripped out insignificant whitespace while * parsing the selector. */ public String getSelectorText(); /** * The textual representation of the selector for the rule set. The * implementation may have stripped out insignificant whitespace while * parsing the selector. * @exception DOMException * SYNTAX_ERR: Raised if the specified CSS string value has a syntax * error and is unparsable. *
NO_MODIFICATION_ALLOWED_ERR: Raised if this rule is readonly. */ public void setSelectorText(String selectorText) throws DOMException; /** * The declaration-block of this rule set. */ public CSSStyleDeclaration getStyle(); } org/w3c/dom/css/CSSStyleSheet.java100644 0 0 7374 11146172406 14361 0ustar 0 0 /* * Copyright (c) 2000 World Wide Web Consortium, * (Massachusetts Institute of Technology, Institut National de * Recherche en Informatique et en Automatique, Keio University). All * Rights Reserved. This program is distributed under the W3C's Software * Intellectual Property License. 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 W3C License http://www.w3.org/Consortium/Legal/ for more details. */ package org.w3c.dom.css; import org.w3c.dom.DOMException; import org.w3c.dom.stylesheets.StyleSheet; /** * The CSSStyleSheet interface is a concrete interface used to * represent a CSS style sheet i.e., a style sheet whose content type is * "text/css". *

See also the Document Object Model (DOM) Level 2 Style Specification. * @since DOM Level 2 */ public interface CSSStyleSheet extends StyleSheet { /** * If this style sheet comes from an @import rule, the * ownerRule attribute will contain the * CSSImportRule. In that case, the ownerNode * attribute in the StyleSheet interface will be * null. If the style sheet comes from an element or a * processing instruction, the ownerRule attribute will be * null and the ownerNode attribute will * contain the Node. */ public CSSRule getOwnerRule(); /** * The list of all CSS rules contained within the style sheet. This * includes both rule sets and at-rules. */ public CSSRuleList getCssRules(); /** * Used to insert a new rule into the style sheet. The new rule now * becomes part of the cascade. * @param rule The parsable text representing the rule. For rule sets * this contains both the selector and the style declaration. For * at-rules, this specifies both the at-identifier and the rule * content. * @param index The index within the style sheet's rule list of the rule * before which to insert the specified rule. If the specified index * is equal to the length of the style sheet's rule collection, the * rule will be added to the end of the style sheet. * @return The index within the style sheet's rule collection of the * newly inserted rule. * @exception DOMException * HIERARCHY_REQUEST_ERR: Raised if the rule cannot be inserted at the * specified index e.g. if an @import rule is inserted * after a standard rule set or other at-rule. *
INDEX_SIZE_ERR: Raised if the specified index is not a valid * insertion point. *
NO_MODIFICATION_ALLOWED_ERR: Raised if this style sheet is * readonly. *
SYNTAX_ERR: Raised if the specified rule has a syntax error and * is unparsable. */ public int insertRule(String rule, int index) throws DOMException; /** * Used to delete a rule from the style sheet. * @param index The index within the style sheet's rule list of the rule * to remove. * @exception DOMException * INDEX_SIZE_ERR: Raised if the specified index does not correspond to * a rule in the style sheet's rule list. *
NO_MODIFICATION_ALLOWED_ERR: Raised if this style sheet is * readonly. */ public void deleteRule(int index) throws DOMException; } org/w3c/dom/css/CSSUnknownRule.java100644 0 0 1660 11146172406 14547 0ustar 0 0 /* * Copyright (c) 2000 World Wide Web Consortium, * (Massachusetts Institute of Technology, Institut National de * Recherche en Informatique et en Automatique, Keio University). All * Rights Reserved. This program is distributed under the W3C's Software * Intellectual Property License. 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 W3C License http://www.w3.org/Consortium/Legal/ for more details. */ package org.w3c.dom.css; /** * The CSSUnknownRule interface represents an at-rule not * supported by this user agent. *

See also the Document Object Model (DOM) Level 2 Style Specification. * @since DOM Level 2 */ public interface CSSUnknownRule extends CSSRule { } org/w3c/dom/css/CSSValue.java100644 0 0 5373 11146172406 13341 0ustar 0 0 /* * Copyright (c) 2000 World Wide Web Consortium, * (Massachusetts Institute of Technology, Institut National de * Recherche en Informatique et en Automatique, Keio University). All * Rights Reserved. This program is distributed under the W3C's Software * Intellectual Property License. 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 W3C License http://www.w3.org/Consortium/Legal/ for more details. */ package org.w3c.dom.css; import org.w3c.dom.DOMException; /** * The CSSValue interface represents a simple or a complex * value. A CSSValue object only occurs in a context of a CSS * property. *

See also the Document Object Model (DOM) Level 2 Style Specification. * @since DOM Level 2 */ public interface CSSValue { // UnitTypes /** * The value is inherited and the cssText contains "inherit". */ public static final short CSS_INHERIT = 0; /** * The value is a primitive value and an instance of the * CSSPrimitiveValue interface can be obtained by using * binding-specific casting methods on this instance of the * CSSValue interface. */ public static final short CSS_PRIMITIVE_VALUE = 1; /** * The value is a CSSValue list and an instance of the * CSSValueList interface can be obtained by using * binding-specific casting methods on this instance of the * CSSValue interface. */ public static final short CSS_VALUE_LIST = 2; /** * The value is a custom value. */ public static final short CSS_CUSTOM = 3; /** * A string representation of the current value. */ public String getCssText(); /** * A string representation of the current value. * @exception DOMException * SYNTAX_ERR: Raised if the specified CSS string value has a syntax * error (according to the attached property) or is unparsable. *
INVALID_MODIFICATION_ERR: Raised if the specified CSS string * value represents a different type of values than the values allowed * by the CSS property. *
NO_MODIFICATION_ALLOWED_ERR: Raised if this value is readonly. */ public void setCssText(String cssText) throws DOMException; /** * A code defining the type of the value as defined above. */ public short getCssValueType(); } org/w3c/dom/css/CSSValueList.java100644 0 0 4035 11146172406 14167 0ustar 0 0 /* * Copyright (c) 2000 World Wide Web Consortium, * (Massachusetts Institute of Technology, Institut National de * Recherche en Informatique et en Automatique, Keio University). All * Rights Reserved. This program is distributed under the W3C's Software * Intellectual Property License. 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 W3C License http://www.w3.org/Consortium/Legal/ for more details. */ package org.w3c.dom.css; /** * The CSSValueList interface provides the abstraction of an * ordered collection of CSS values. *

Some properties allow an empty list into their syntax. In that case, * these properties take the none identifier. So, an empty list * means that the property has the value none. *

The items in the CSSValueList are accessible via an * integral index, starting from 0. *

See also the Document Object Model (DOM) Level 2 Style Specification. * @since DOM Level 2 */ public interface CSSValueList extends CSSValue { /** * The number of CSSValues in the list. The range of valid * values of the indices is 0 to length-1 * inclusive. */ public int getLength(); /** * Used to retrieve a CSSValue by ordinal index. The order in * this collection represents the order of the values in the CSS style * property. If index is greater than or equal to the number of values * in the list, this returns null. * @param index Index into the collection. * @return The CSSValue at the index position * in the CSSValueList, or null if that is * not a valid index. */ public CSSValue item(int index); } org/w3c/dom/css/Counter.java100644 0 0 2522 11146172406 13324 0ustar 0 0 /* * Copyright (c) 2000 World Wide Web Consortium, * (Massachusetts Institute of Technology, Institut National de * Recherche en Informatique et en Automatique, Keio University). All * Rights Reserved. This program is distributed under the W3C's Software * Intellectual Property License. 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 W3C License http://www.w3.org/Consortium/Legal/ for more details. */ package org.w3c.dom.css; /** * The Counter interface is used to represent any counter or * counters function value. This interface reflects the values in the * underlying style property. *

See also the Document Object Model (DOM) Level 2 Style Specification. * @since DOM Level 2 */ public interface Counter { /** * This attribute is used for the identifier of the counter. */ public String getIdentifier(); /** * This attribute is used for the style of the list. */ public String getListStyle(); /** * This attribute is used for the separator of the nested counters. */ public String getSeparator(); } org/w3c/dom/css/DOMImplementationCSS.java100644 0 0 3374 11146172406 15611 0ustar 0 0 /* * Copyright (c) 2000 World Wide Web Consortium, * (Massachusetts Institute of Technology, Institut National de * Recherche en Informatique et en Automatique, Keio University). All * Rights Reserved. This program is distributed under the W3C's Software * Intellectual Property License. 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 W3C License http://www.w3.org/Consortium/Legal/ for more details. */ package org.w3c.dom.css; import org.w3c.dom.DOMImplementation; import org.w3c.dom.DOMException; /** * This interface allows the DOM user to create a CSSStyleSheet * outside the context of a document. There is no way to associate the new * CSSStyleSheet with a document in DOM Level 2. *

See also the Document Object Model (DOM) Level 2 Style Specification. * @since DOM Level 2 */ public interface DOMImplementationCSS extends DOMImplementation { /** * Creates a new CSSStyleSheet. * @param title The advisory title. See also the section. * @param media The comma-separated list of media associated with the * new style sheet. See also the section. * @return A new CSS style sheet. * @exception DOMException * SYNTAX_ERR: Raised if the specified media string value has a syntax * error and is unparsable. */ public CSSStyleSheet createCSSStyleSheet(String title, String media) throws DOMException; } org/w3c/dom/css/DocumentCSS.java100644 0 0 4763 11146172406 14045 0ustar 0 0 /* * Copyright (c) 2000 World Wide Web Consortium, * (Massachusetts Institute of Technology, Institut National de * Recherche en Informatique et en Automatique, Keio University). All * Rights Reserved. This program is distributed under the W3C's Software * Intellectual Property License. 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 W3C License http://www.w3.org/Consortium/Legal/ for more details. */ package org.w3c.dom.css; import org.w3c.dom.Element; import org.w3c.dom.stylesheets.DocumentStyle; /** * This interface represents a document with a CSS view. *

The getOverrideStyle method provides a mechanism through * which a DOM author could effect immediate change to the style of an * element without modifying the explicitly linked style sheets of a * document or the inline style of elements in the style sheets. This style * sheet comes after the author style sheet in the cascade algorithm and is * called override style sheet. The override style sheet takes precedence * over author style sheets. An "!important" declaration still takes * precedence over a normal declaration. Override, author, and user style * sheets all may contain "!important" declarations. User "!important" rules * take precedence over both override and author "!important" rules, and * override "!important" rules take precedence over author "!important" * rules. *

The expectation is that an instance of the DocumentCSS * interface can be obtained by using binding-specific casting methods on an * instance of the Document interface. *

See also the Document Object Model (DOM) Level 2 Style Specification. * @since DOM Level 2 */ public interface DocumentCSS extends DocumentStyle { /** * This method is used to retrieve the override style declaration for a * specified element and a specified pseudo-element. * @param elt The element whose style is to be modified. This parameter * cannot be null. * @param pseudoElt The pseudo-element or null if none. * @return The override style declaration. */ public CSSStyleDeclaration getOverrideStyle(Element elt, String pseudoElt); } org/w3c/dom/css/ElementCSSInlineStyle.java100644 0 0 2642 11146172406 16032 0ustar 0 0 /* * Copyright (c) 2000 World Wide Web Consortium, * (Massachusetts Institute of Technology, Institut National de * Recherche en Informatique et en Automatique, Keio University). All * Rights Reserved. This program is distributed under the W3C's Software * Intellectual Property License. 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 W3C License http://www.w3.org/Consortium/Legal/ for more details. */ package org.w3c.dom.css; /** * Inline style information attached to elements is exposed through the * style attribute. This represents the contents of the STYLE * attribute for HTML elements (or elements in other schemas or DTDs which * use the STYLE attribute in the same way). The expectation is that an * instance of the ElementCSSInlineStyle interface can be obtained by using * binding-specific casting methods on an instance of the Element interface * when the element supports inline CSS style informations. *

See also the Document Object Model (DOM) Level 2 Style Specification. * @since DOM Level 2 */ public interface ElementCSSInlineStyle { /** * The style attribute. */ public CSSStyleDeclaration getStyle(); } org/w3c/dom/css/RGBColor.java100644 0 0 3632 11146172406 13321 0ustar 0 0 /* * Copyright (c) 2000 World Wide Web Consortium, * (Massachusetts Institute of Technology, Institut National de * Recherche en Informatique et en Automatique, Keio University). All * Rights Reserved. This program is distributed under the W3C's Software * Intellectual Property License. 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 W3C License http://www.w3.org/Consortium/Legal/ for more details. */ package org.w3c.dom.css; /** * The RGBColor interface is used to represent any RGB color * value. This interface reflects the values in the underlying style * property. Hence, modifications made to the CSSPrimitiveValue * objects modify the style property. *

A specified RGB color is not clipped (even if the number is outside the * range 0-255 or 0%-100%). A computed RGB color is clipped depending on the * device. *

Even if a style sheet can only contain an integer for a color value, * the internal storage of this integer is a float, and this can be used as * a float in the specified or the computed style. *

A color percentage value can always be converted to a number and vice * versa. *

See also the Document Object Model (DOM) Level 2 Style Specification. * @since DOM Level 2 */ public interface RGBColor { /** * This attribute is used for the red value of the RGB color. */ public CSSPrimitiveValue getRed(); /** * This attribute is used for the green value of the RGB color. */ public CSSPrimitiveValue getGreen(); /** * This attribute is used for the blue value of the RGB color. */ public CSSPrimitiveValue getBlue(); } org/w3c/dom/css/Rect.java100644 0 0 3017 11146172406 12602 0ustar 0 0 /* * Copyright (c) 2000 World Wide Web Consortium, * (Massachusetts Institute of Technology, Institut National de * Recherche en Informatique et en Automatique, Keio University). All * Rights Reserved. This program is distributed under the W3C's Software * Intellectual Property License. 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 W3C License http://www.w3.org/Consortium/Legal/ for more details. */ package org.w3c.dom.css; /** * The Rect interface is used to represent any rect value. This * interface reflects the values in the underlying style property. Hence, * modifications made to the CSSPrimitiveValue objects modify * the style property. *

See also the Document Object Model (DOM) Level 2 Style Specification. * @since DOM Level 2 */ public interface Rect { /** * This attribute is used for the top of the rect. */ public CSSPrimitiveValue getTop(); /** * This attribute is used for the right of the rect. */ public CSSPrimitiveValue getRight(); /** * This attribute is used for the bottom of the rect. */ public CSSPrimitiveValue getBottom(); /** * This attribute is used for the left of the rect. */ public CSSPrimitiveValue getLeft(); } org/w3c/dom/css/ViewCSS.java100644 0 0 4133 11146172406 13170 0ustar 0 0 /* * Copyright (c) 2000 World Wide Web Consortium, * (Massachusetts Institute of Technology, Institut National de * Recherche en Informatique et en Automatique, Keio University). All * Rights Reserved. This program is distributed under the W3C's Software * Intellectual Property License. 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 W3C License http://www.w3.org/Consortium/Legal/ for more details. */ package org.w3c.dom.css; import org.w3c.dom.Element; import org.w3c.dom.views.AbstractView; /** * This interface represents a CSS view. The getComputedStyle * method provides a read only access to the computed values of an element. *

The expectation is that an instance of the ViewCSS * interface can be obtained by using binding-specific casting methods on an * instance of the AbstractView interface. *

Since a computed style is related to an Element node, if * this element is removed from the document, the associated * CSSStyleDeclaration and CSSValue related to * this declaration are no longer valid. *

See also the Document Object Model (DOM) Level 2 Style Specification. * @since DOM Level 2 */ public interface ViewCSS extends AbstractView { /** * This method is used to get the computed style as it is defined in [CSS2]. * @param elt The element whose style is to be computed. This parameter * cannot be null. * @param pseudoElt The pseudo-element or null if none. * @return The computed style. The CSSStyleDeclaration is * read-only and contains only absolute values. */ public CSSStyleDeclaration getComputedStyle(Element elt, String pseudoElt); } org/w3c/dom/events/DocumentEvent.java100644 0 0 5646 11146172404 15211 0ustar 0 0 /* * Copyright (c) 2000 World Wide Web Consortium, * (Massachusetts Institute of Technology, Institut National de * Recherche en Informatique et en Automatique, Keio University). All * Rights Reserved. This program is distributed under the W3C's Software * Intellectual Property License. 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 W3C License http://www.w3.org/Consortium/Legal/ for more details. */ package org.w3c.dom.events; import org.w3c.dom.DOMException; /** * The DocumentEvent interface provides a mechanism by which the * user can create an Event of a type supported by the implementation. It is * expected that the DocumentEvent interface will be * implemented on the same object which implements the Document * interface in an implementation which supports the Event model. *

See also the Document Object Model (DOM) Level 2 Events Specification. * @since DOM Level 2 */ public interface DocumentEvent { /** * * @param eventType The eventType parameter specifies the * type of Event interface to be created. If the * Event interface specified is supported by the * implementation this method will return a new Event of * the interface type requested. If the Event is to be * dispatched via the dispatchEvent method the * appropriate event init method must be called after creation in * order to initialize the Event's values. As an example, * a user wishing to synthesize some kind of UIEvent * would call createEvent with the parameter "UIEvents". * The initUIEvent method could then be called on the * newly created UIEvent to set the specific type of * UIEvent to be dispatched and set its context information.The * createEvent method is used in creating * Events when it is either inconvenient or unnecessary * for the user to create an Event themselves. In cases * where the implementation provided Event is * insufficient, users may supply their own Event * implementations for use with the dispatchEvent method. * @return The newly created Event * @exception DOMException * NOT_SUPPORTED_ERR: Raised if the implementation does not support the * type of Event interface requested */ public Event createEvent(String eventType) throws DOMException; } org/w3c/dom/events/Event.java100644 0 0 14372 11146172404 13526 0ustar 0 0 /* * Copyright (c) 2000 World Wide Web Consortium, * (Massachusetts Institute of Technology, Institut National de * Recherche en Informatique et en Automatique, Keio University). All * Rights Reserved. This program is distributed under the W3C's Software * Intellectual Property License. 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 W3C License http://www.w3.org/Consortium/Legal/ for more details. */ package org.w3c.dom.events; /** * The Event interface is used to provide contextual information * about an event to the handler processing the event. An object which * implements the Event interface is generally passed as the * first parameter to an event handler. More specific context information is * passed to event handlers by deriving additional interfaces from * Event which contain information directly relating to the * type of event they accompany. These derived interfaces are also * implemented by the object passed to the event listener. *

See also the Document Object Model (DOM) Level 2 Events Specification. * @since DOM Level 2 */ public interface Event { // PhaseType /** * The current event phase is the capturing phase. */ public static final short CAPTURING_PHASE = 1; /** * The event is currently being evaluated at the target * EventTarget. */ public static final short AT_TARGET = 2; /** * The current event phase is the bubbling phase. */ public static final short BUBBLING_PHASE = 3; /** * The name of the event (case-insensitive). The name must be an XML name. */ public String getType(); /** * Used to indicate the EventTarget to which the event was * originally dispatched. */ public EventTarget getTarget(); /** * Used to indicate the EventTarget whose * EventListeners are currently being processed. This is * particularly useful during capturing and bubbling. */ public EventTarget getCurrentTarget(); /** * Used to indicate which phase of event flow is currently being * evaluated. */ public short getEventPhase(); /** * Used to indicate whether or not an event is a bubbling event. If the * event can bubble the value is true, else the value is false. */ public boolean getBubbles(); /** * Used to indicate whether or not an event can have its default action * prevented. If the default action can be prevented the value is true, * else the value is false. */ public boolean getCancelable(); /** * Used to specify the time (in milliseconds relative to the epoch) at * which the event was created. Due to the fact that some systems may * not provide this information the value of timeStamp may * be not available for all events. When not available, a value of 0 * will be returned. Examples of epoch time are the time of the system * start or 0:0:0 UTC 1st January 1970. */ public long getTimeStamp(); /** * The stopPropagation method is used prevent further * propagation of an event during event flow. If this method is called * by any EventListener the event will cease propagating * through the tree. The event will complete dispatch to all listeners * on the current EventTarget before event flow stops. This * method may be used during any stage of event flow. */ public void stopPropagation(); /** * If an event is cancelable, the preventDefault method is * used to signify that the event is to be canceled, meaning any default * action normally taken by the implementation as a result of the event * will not occur. If, during any stage of event flow, the * preventDefault method is called the event is canceled. * Any default action associated with the event will not occur. Calling * this method for a non-cancelable event has no effect. Once * preventDefault has been called it will remain in effect * throughout the remainder of the event's propagation. This method may * be used during any stage of event flow. */ public void preventDefault(); /** * The initEvent method is used to initialize the value of an * Event created through the DocumentEvent * interface. This method may only be called before the * Event has been dispatched via the * dispatchEvent method, though it may be called multiple * times during that phase if necessary. If called multiple times the * final invocation takes precedence. If called from a subclass of * Event interface only the values specified in the * initEvent method are modified, all other attributes are * left unchanged. * @param eventTypeArg Specifies the event type. This type may be any * event type currently defined in this specification or a new event * type.. The string must be an XML name. Any new event type must not * begin with any upper, lower, or mixed case version of the string * "DOM". This prefix is reserved for future DOM event sets. It is * also strongly recommended that third parties adding their own * events use their own prefix to avoid confusion and lessen the * probability of conflicts with other new events. * @param canBubbleArg Specifies whether or not the event can bubble. * @param cancelableArg Specifies whether or not the event's default * action can be prevented. */ public void initEvent(String eventTypeArg, boolean canBubbleArg, boolean cancelableArg); } org/w3c/dom/events/EventException.java100644 0 0 2663 11146172404 15365 0ustar 0 0 /* * Copyright (c) 2000 World Wide Web Consortium, * (Massachusetts Institute of Technology, Institut National de * Recherche en Informatique et en Automatique, Keio University). All * Rights Reserved. This program is distributed under the W3C's Software * Intellectual Property License. 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 W3C License http://www.w3.org/Consortium/Legal/ for more details. */ package org.w3c.dom.events; /** * Event operations may throw an EventException as specified in * their method descriptions. *

See also the Document Object Model (DOM) Level 2 Events Specification. * @since DOM Level 2 */ public class EventException extends RuntimeException { public EventException(short code, String message) { super(message); this.code = code; } public short code; // EventExceptionCode /** * If the Event's type was not specified by initializing the * event before the method was called. Specification of the Event's type * as null or an empty string will also trigger this * exception. */ public static final short UNSPECIFIED_EVENT_TYPE_ERR = 0; } org/w3c/dom/events/EventListener.java100644 0 0 4050 11146172404 15204 0ustar 0 0 /* * Copyright (c) 2000 World Wide Web Consortium, * (Massachusetts Institute of Technology, Institut National de * Recherche en Informatique et en Automatique, Keio University). All * Rights Reserved. This program is distributed under the W3C's Software * Intellectual Property License. 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 W3C License http://www.w3.org/Consortium/Legal/ for more details. */ package org.w3c.dom.events; /** * The EventListener interface is the primary method for * handling events. Users implement the EventListener interface * and register their listener on an EventTarget using the * AddEventListener method. The users should also remove their * EventListener from its EventTarget after they * have completed using the listener. *

When a Node is copied using the cloneNode * method the EventListeners attached to the source * Node are not attached to the copied Node. If * the user wishes the same EventListeners to be added to the * newly created copy the user must add them manually. *

See also the Document Object Model (DOM) Level 2 Events Specification. * @since DOM Level 2 */ public interface EventListener { /** * This method is called whenever an event occurs of the type for which * the EventListener interface was registered. * @param evt The Event contains contextual information * about the event. It also contains the stopPropagation * and preventDefault methods which are used in * determining the event's flow and default action. */ public void handleEvent(Event evt); } org/w3c/dom/events/EventTarget.java100644 0 0 13042 11146172404 14666 0ustar 0 0 /* * Copyright (c) 2000 World Wide Web Consortium, * (Massachusetts Institute of Technology, Institut National de * Recherche en Informatique et en Automatique, Keio University). All * Rights Reserved. This program is distributed under the W3C's Software * Intellectual Property License. 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 W3C License http://www.w3.org/Consortium/Legal/ for more details. */ package org.w3c.dom.events; /** * The EventTarget interface is implemented by all * Nodes in an implementation which supports the DOM Event * Model. Therefore, this interface can be obtained by using * binding-specific casting methods on an instance of the Node * interface. The interface allows registration and removal of * EventListeners on an EventTarget and dispatch * of events to that EventTarget. *

See also the Document Object Model (DOM) Level 2 Events Specification. * @since DOM Level 2 */ public interface EventTarget { /** * This method allows the registration of event listeners on the event * target. If an EventListener is added to an * EventTarget while it is processing an event, it will not * be triggered by the current actions but may be triggered during a * later stage of event flow, such as the bubbling phase. *
If multiple identical EventListeners are registered * on the same EventTarget with the same parameters the * duplicate instances are discarded. They do not cause the * EventListener to be called twice and since they are * discarded they do not need to be removed with the * removeEventListener method. * @param type The event type for which the user is registering * @param listener The listener parameter takes an interface * implemented by the user which contains the methods to be called * when the event occurs. * @param useCapture If true, useCapture indicates that the * user wishes to initiate capture. After initiating capture, all * events of the specified type will be dispatched to the registered * EventListener before being dispatched to any * EventTargets beneath them in the tree. Events which * are bubbling upward through the tree will not trigger an * EventListener designated to use capture. */ public void addEventListener(String type, EventListener listener, boolean useCapture); /** * This method allows the removal of event listeners from the event * target. If an EventListener is removed from an * EventTarget while it is processing an event, it will not * be triggered by the current actions. EventListeners can * never be invoked after being removed. *
Calling removeEventListener with arguments which do * not identify any currently registered EventListener on * the EventTarget has no effect. * @param type Specifies the event type of the EventListener * being removed. * @param listener The EventListener parameter indicates the * EventListener to be removed. * @param useCapture Specifies whether the EventListener * being removed was registered as a capturing listener or not. If a * listener was registered twice, one with capture and one without, * each must be removed separately. Removal of a capturing listener * does not affect a non-capturing version of the same listener, and * vice versa. */ public void removeEventListener(String type, EventListener listener, boolean useCapture); /** * This method allows the dispatch of events into the implementations * event model. Events dispatched in this manner will have the same * capturing and bubbling behavior as events dispatched directly by the * implementation. The target of the event is the * EventTarget on which dispatchEvent is * called. * @param evt Specifies the event type, behavior, and contextual * information to be used in processing the event. * @return The return value of dispatchEvent indicates * whether any of the listeners which handled the event called * preventDefault. If preventDefault was * called the value is false, else the value is true. * @exception EventException * UNSPECIFIED_EVENT_TYPE_ERR: Raised if the Event's type * was not specified by initializing the event before * dispatchEvent was called. Specification of the * Event's type as null or an empty string * will also trigger this exception. */ public boolean dispatchEvent(Event evt) throws EventException; } org/w3c/dom/events/MouseEvent.java100644 0 0 15402 11146172404 14532 0ustar 0 0 /* * Copyright (c) 2000 World Wide Web Consortium, * (Massachusetts Institute of Technology, Institut National de * Recherche en Informatique et en Automatique, Keio University). All * Rights Reserved. This program is distributed under the W3C's Software * Intellectual Property License. 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 W3C License http://www.w3.org/Consortium/Legal/ for more details. */ package org.w3c.dom.events; import org.w3c.dom.views.AbstractView; /** * The MouseEvent interface provides specific contextual * information associated with Mouse events. *

The detail attribute inherited from UIEvent * indicates the number of times a mouse button has been pressed and * released over the same screen location during a user action. The * attribute value is 1 when the user begins this action and increments by 1 * for each full sequence of pressing and releasing. If the user moves the * mouse between the mousedown and mouseup the value will be set to 0, * indicating that no click is occurring. *

In the case of nested elements mouse events are always targeted at the * most deeply nested element. Ancestors of the targeted element may use * bubbling to obtain notification of mouse events which occur within its * descendent elements. *

See also the Document Object Model (DOM) Level 2 Events Specification. * @since DOM Level 2 */ public interface MouseEvent extends UIEvent { /** * The horizontal coordinate at which the event occurred relative to the * origin of the screen coordinate system. */ public int getScreenX(); /** * The vertical coordinate at which the event occurred relative to the * origin of the screen coordinate system. */ public int getScreenY(); /** * The horizontal coordinate at which the event occurred relative to the * DOM implementation's client area. */ public int getClientX(); /** * The vertical coordinate at which the event occurred relative to the DOM * implementation's client area. */ public int getClientY(); /** * Used to indicate whether the 'ctrl' key was depressed during the firing * of the event. */ public boolean getCtrlKey(); /** * Used to indicate whether the 'shift' key was depressed during the * firing of the event. */ public boolean getShiftKey(); /** * Used to indicate whether the 'alt' key was depressed during the firing * of the event. On some platforms this key may map to an alternative * key name. */ public boolean getAltKey(); /** * Used to indicate whether the 'meta' key was depressed during the firing * of the event. On some platforms this key may map to an alternative * key name. */ public boolean getMetaKey(); /** * During mouse events caused by the depression or release of a mouse * button, button is used to indicate which mouse button * changed state. The values for button range from zero to * indicate the left button of the mouse, one to indicate the middle * button if present, and two to indicate the right button. For mice * configured for left handed use in which the button actions are * reversed the values are instead read from right to left. */ public short getButton(); /** * Used to identify a secondary EventTarget related to a UI * event. Currently this attribute is used with the mouseover event to * indicate the EventTarget which the pointing device * exited and with the mouseout event to indicate the * EventTarget which the pointing device entered. */ public EventTarget getRelatedTarget(); /** * The initMouseEvent method is used to initialize the value * of a MouseEvent created through the * DocumentEvent interface. This method may only be called * before the MouseEvent has been dispatched via the * dispatchEvent method, though it may be called multiple * times during that phase if necessary. If called multiple times, the * final invocation takes precedence. * @param typeArg Specifies the event type. * @param canBubbleArg Specifies whether or not the event can bubble. * @param cancelableArg Specifies whether or not the event's default * action can be prevented. * @param viewArg Specifies the Event's * AbstractView. * @param detailArg Specifies the Event's mouse click count. * @param screenXArg Specifies the Event's screen x * coordinate * @param screenYArg Specifies the Event's screen y * coordinate * @param clientXArg Specifies the Event's client x * coordinate * @param clientYArg Specifies the Event's client y * coordinate * @param ctrlKeyArg Specifies whether or not control key was depressed * during the Event. * @param altKeyArg Specifies whether or not alt key was depressed during * the Event. * @param shiftKeyArg Specifies whether or not shift key was depressed * during the Event. * @param metaKeyArg Specifies whether or not meta key was depressed * during the Event. * @param buttonArg Specifies the Event's mouse button. * @param relatedTargetArg Specifies the Event's related * EventTarget. */ public void initMouseEvent(String typeArg, boolean canBubbleArg, boolean cancelableArg, AbstractView viewArg, int detailArg, int screenXArg, int screenYArg, int clientXArg, int clientYArg, boolean ctrlKeyArg, boolean altKeyArg, boolean shiftKeyArg, boolean metaKeyArg, short buttonArg, EventTarget relatedTargetArg); } org/w3c/dom/events/MutationEvent.java100644 0 0 11273 11146172404 15244 0ustar 0 0 /* * Copyright (c) 2000 World Wide Web Consortium, * (Massachusetts Institute of Technology, Institut National de * Recherche en Informatique et en Automatique, Keio University). All * Rights Reserved. This program is distributed under the W3C's Software * Intellectual Property License. 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 W3C License http://www.w3.org/Consortium/Legal/ for more details. */ package org.w3c.dom.events; import org.w3c.dom.Node; /** * The MutationEvent interface provides specific contextual * information associated with Mutation events. *

See also the Document Object Model (DOM) Level 2 Events Specification. * @since DOM Level 2 */ public interface MutationEvent extends Event { // attrChangeType /** * The Attr was modified in place. */ public static final short MODIFICATION = 1; /** * The Attr was just added. */ public static final short ADDITION = 2; /** * The Attr was just removed. */ public static final short REMOVAL = 3; /** * relatedNode is used to identify a secondary node related * to a mutation event. For example, if a mutation event is dispatched * to a node indicating that its parent has changed, the * relatedNode is the changed parent. If an event is * instead dispatched to a subtree indicating a node was changed within * it, the relatedNode is the changed node. In the case of * the DOMAttrModified event it indicates the Attr node * which was modified, added, or removed. */ public Node getRelatedNode(); /** * prevValue indicates the previous value of the * Attr node in DOMAttrModified events, and of the * CharacterData node in DOMCharacterDataModified events. */ public String getPrevValue(); /** * newValue indicates the new value of the Attr * node in DOMAttrModified events, and of the CharacterData * node in DOMCharacterDataModified events. */ public String getNewValue(); /** * attrName indicates the name of the changed * Attr node in a DOMAttrModified event. */ public String getAttrName(); /** * attrChange indicates the type of change which triggered * the DOMAttrModified event. The values can be MODIFICATION * , ADDITION, or REMOVAL. */ public short getAttrChange(); /** * The initMutationEvent method is used to initialize the * value of a MutationEvent created through the * DocumentEvent interface. This method may only be called * before the MutationEvent has been dispatched via the * dispatchEvent method, though it may be called multiple * times during that phase if necessary. If called multiple times, the * final invocation takes precedence. * @param typeArg Specifies the event type. * @param canBubbleArg Specifies whether or not the event can bubble. * @param cancelableArg Specifies whether or not the event's default * action can be prevented. * @param relatedNodeArg Specifies the Event's related Node. * @param prevValueArg Specifies the Event's * prevValue attribute. This value may be null. * @param newValueArg Specifies the Event's * newValue attribute. This value may be null. * @param attrNameArg Specifies the Event's * attrName attribute. This value may be null. * @param attrChangeArg Specifies the Event's * attrChange attribute */ public void initMutationEvent(String typeArg, boolean canBubbleArg, boolean cancelableArg, Node relatedNodeArg, String prevValueArg, String newValueArg, String attrNameArg, short attrChangeArg); } org/w3c/dom/events/UIEvent.java100644 0 0 4663 11146172404 13746 0ustar 0 0 /* * Copyright (c) 2000 World Wide Web Consortium, * (Massachusetts Institute of Technology, Institut National de * Recherche en Informatique et en Automatique, Keio University). All * Rights Reserved. This program is distributed under the W3C's Software * Intellectual Property License. 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 W3C License http://www.w3.org/Consortium/Legal/ for more details. */ package org.w3c.dom.events; import org.w3c.dom.views.AbstractView; /** * The UIEvent interface provides specific contextual information * associated with User Interface events. *

See also the Document Object Model (DOM) Level 2 Events Specification. * @since DOM Level 2 */ public interface UIEvent extends Event { /** * The view attribute identifies the AbstractView * from which the event was generated. */ public AbstractView getView(); /** * Specifies some detail information about the Event, * depending on the type of event. */ public int getDetail(); /** * The initUIEvent method is used to initialize the value of * a UIEvent created through the DocumentEvent * interface. This method may only be called before the * UIEvent has been dispatched via the * dispatchEvent method, though it may be called multiple * times during that phase if necessary. If called multiple times, the * final invocation takes precedence. * @param typeArg Specifies the event type. * @param canBubbleArg Specifies whether or not the event can bubble. * @param cancelableArg Specifies whether or not the event's default * action can be prevented. * @param viewArg Specifies the Event's * AbstractView. * @param detailArg Specifies the Event's detail. */ public void initUIEvent(String typeArg, boolean canBubbleArg, boolean cancelableArg, AbstractView viewArg, int detailArg); } org/w3c/dom/html/HTMLAnchorElement.java100644 0 0 6243 11146172403 15273 0ustar 0 0 /* * Copyright (c) 1998 World Wide Web Consortium, (Massachusetts Institute of * Technology, Institut National de Recherche en Informatique et en * Automatique, Keio University). * All Rights Reserved. http://www.w3.org/Consortium/Legal/ */ package org.w3c.dom.html; import org.w3c.dom.*; /** * The anchor element. See the A element definition in HTML 4.0. */ public interface HTMLAnchorElement extends HTMLElement { /** * A single character access key to give access to the form control. See the * accesskey attribute definition in HTML 4.0. */ public String getAccessKey(); public void setAccessKey(String accessKey); /** * The character encoding of the linked resource. See the charset attribute * definition in HTML 4.0. */ public String getCharset(); public void setCharset(String charset); /** * Comma-separated list of lengths, defining an active region geometry.See * also shape for the shape of the region. See the coords * attribute definition in HTML 4.0. */ public String getCoords(); public void setCoords(String coords); /** * The URI of the linked resource. See the href attribute definition in HTML * 4.0. */ public String getHref(); public void setHref(String href); /** * Language code of the linked resource. See the hreflang attribute * definition in HTML 4.0. */ public String getHreflang(); public void setHreflang(String hreflang); /** * Anchor name. See the name attribute definition in HTML 4.0. */ public String getName(); public void setName(String name); /** * Forward link type. See the rel attribute definition in HTML 4.0. */ public String getRel(); public void setRel(String rel); /** * Reverse link type. See the rev attribute definition in HTML 4.0. */ public String getRev(); public void setRev(String rev); /** * The shape of the active area. The coordinates are givenby * coords. See the shape attribute definition in HTML 4.0. */ public String getShape(); public void setShape(String shape); /** * Index that represents the element's position in the tabbing order. See * the tabindex attribute definition in HTML 4.0. */ public int getTabIndex(); public void setTabIndex(int tabIndex); /** * Frame to render the resource in. See the target attribute definition in * HTML 4.0. */ public String getTarget(); public void setTarget(String target); /** * Advisory content type. See the type attribute definition in HTML 4.0. */ public String getType(); public void setType(String type); /** * Removes keyboard focus from this element. */ public void blur(); /** * Gives keyboard focus to this element. */ public void focus(); } org/w3c/dom/html/HTMLAppletElement.java100644 0 0 6405 11146172403 15306 0ustar 0 0 /* * Copyright (c) 1998 World Wide Web Consortium, (Massachusetts Institute of * Technology, Institut National de Recherche en Informatique et en * Automatique, Keio University). * All Rights Reserved. http://www.w3.org/Consortium/Legal/ */ package org.w3c.dom.html; import org.w3c.dom.*; /** * An embedded Java applet. See the APPLET element definition in HTML 4.0. * This element is deprecated in HTML 4.0. */ public interface HTMLAppletElement extends HTMLElement { /** * Aligns this object (vertically or horizontally) with respect to its * surrounding text. See the align attribute definition in HTML 4.0. This * attribute is deprecated in HTML 4.0. */ public String getAlign(); public void setAlign(String align); /** * Alternate text for user agents not rendering the normal contentof this * element. See the alt attribute definition in HTML 4.0. This attribute is * deprecated in HTML 4.0. */ public String getAlt(); public void setAlt(String alt); /** * Comma-separated archive list. See the archive attribute definition in * HTML 4.0. This attribute is deprecated in HTML 4.0. */ public String getArchive(); public void setArchive(String archive); /** * Applet class file. See the code attribute definition in HTML 4.0. This * attribute is deprecated in HTML 4.0. */ public String getCode(); public void setCode(String code); /** * Optional base URI for applet. See the codebase attribute definition in * HTML 4.0. This attribute is deprecated in HTML 4.0. */ public String getCodeBase(); public void setCodeBase(String codeBase); /** * Override height. See the height attribute definition in HTML 4.0. This * attribute is deprecated in HTML 4.0. */ public String getHeight(); public void setHeight(String height); /** * Horizontal space to the left and right of this image, applet, or object. * See the hspace attribute definition in HTML 4.0. This attribute is * deprecated in HTML 4.0. */ public String getHspace(); public void setHspace(String hspace); /** * The name of the applet. See the name attribute definition in HTML 4.0. * This attribute is deprecated in HTML 4.0. */ public String getName(); public void setName(String name); /** * Serialized applet file. See the object attribute definition in HTML 4.0. * This attribute is deprecated in HTML 4.0. */ public String getObject(); public void setObject(String object); /** * Vertical space above and below this image, applet, or object. See the * vspace attribute definition in HTML 4.0. This attribute is deprecated in * HTML 4.0. */ public String getVspace(); public void setVspace(String vspace); /** * Override width. See the width attribute definition in HTML 4.0. This * attribute is deprecated in HTML 4.0. */ public String getWidth(); public void setWidth(String width); } org/w3c/dom/html/HTMLAreaElement.java100644 0 0 4551 11146172403 14731 0ustar 0 0 /* * Copyright (c) 1998 World Wide Web Consortium, (Massachusetts Institute of * Technology, Institut National de Recherche en Informatique et en * Automatique, Keio University). * All Rights Reserved. http://www.w3.org/Consortium/Legal/ */ package org.w3c.dom.html; import org.w3c.dom.*; /** * Client-side image map area definition. See the AREA element definition in * HTML 4.0. */ public interface HTMLAreaElement extends HTMLElement { /** * A single character access key to give access to the form control. See the * accesskey attribute definition in HTML 4.0. */ public String getAccessKey(); public void setAccessKey(String accessKey); /** * Alternate text for user agents not rendering the normal contentof this * element. See the alt attribute definition in HTML 4.0. */ public String getAlt(); public void setAlt(String alt); /** * Comma-separated list of lengths, defining an active region geometry.See * also shape for the shape of the region. See the coords * attribute definition in HTML 4.0. */ public String getCoords(); public void setCoords(String coords); /** * The URI of the linked resource. See the href attribute definition in HTML * 4.0. */ public String getHref(); public void setHref(String href); /** * Specifies that this area is inactive, i.e., has no associated action. See * the nohref attribute definition in HTML 4.0. */ public boolean getNoHref(); public void setNoHref(boolean noHref); /** * The shape of the active area. The coordinates are givenby * coords. See the shape attribute definition in HTML 4.0. */ public String getShape(); public void setShape(String shape); /** * Index that represents the element's position in the tabbing order. See * the tabindex attribute definition in HTML 4.0. */ public int getTabIndex(); public void setTabIndex(int tabIndex); /** * Frame to render the resource in. See the target attribute definition in * HTML 4.0. */ public String getTarget(); public void setTarget(String target); } org/w3c/dom/html/HTMLBRElement.java100644 0 0 1263 11146172403 14361 0ustar 0 0 /* * Copyright (c) 1998 World Wide Web Consortium, (Massachusetts Institute of * Technology, Institut National de Recherche en Informatique et en * Automatique, Keio University). * All Rights Reserved. http://www.w3.org/Consortium/Legal/ */ package org.w3c.dom.html; import org.w3c.dom.*; /** * Force a line break. See the BR element definition in HTML 4.0. */ public interface HTMLBRElement extends HTMLElement { /** * Control flow of text around floats. See the clear attribute definition in * HTML 4.0. This attribute is deprecated in HTML 4.0. */ public String getClear(); public void setClear(String clear); } org/w3c/dom/html/HTMLBaseElement.java100644 0 0 1452 11146172403 14730 0ustar 0 0 /* * Copyright (c) 1998 World Wide Web Consortium, (Massachusetts Institute of * Technology, Institut National de Recherche en Informatique et en * Automatique, Keio University). * All Rights Reserved. http://www.w3.org/Consortium/Legal/ */ package org.w3c.dom.html; import org.w3c.dom.*; /** * Document base URI. See the BASE element definition in HTML 4.0. */ public interface HTMLBaseElement extends HTMLElement { /** * The base URI See the href attribute definition in HTML 4.0. */ public String getHref(); public void setHref(String href); /** * The default target frame. See the target attribute definition in HTML 4.0. */ public String getTarget(); public void setTarget(String target); } org/w3c/dom/html/HTMLBaseFontElement.java100644 0 0 2212 11146172403 15552 0ustar 0 0 /* * Copyright (c) 1998 World Wide Web Consortium, (Massachusetts Institute of * Technology, Institut National de Recherche en Informatique et en * Automatique, Keio University). * All Rights Reserved. http://www.w3.org/Consortium/Legal/ */ package org.w3c.dom.html; import org.w3c.dom.*; /** * Base font. See the BASEFONT element definition in HTML 4.0. This element is * deprecated in HTML 4.0. */ public interface HTMLBaseFontElement extends HTMLElement { /** * Font color. See the color attribute definition in HTML 4.0. This * attribute is deprecated in HTML 4.0. */ public String getColor(); public void setColor(String color); /** * Font face identifier. See the face attribute definition in HTML 4.0. This * attribute is deprecated in HTML 4.0. */ public String getFace(); public void setFace(String face); /** * Font size. See the size attribute definition in HTML 4.0. This attribute * is deprecated in HTML 4.0. */ public String getSize(); public void setSize(String size); } org/w3c/dom/html/HTMLBodyElement.java100644 0 0 4124 11146172403 14752 0ustar 0 0 /* * Copyright (c) 1998 World Wide Web Consortium, (Massachusetts Institute of * Technology, Institut National de Recherche en Informatique et en * Automatique, Keio University). * All Rights Reserved. http://www.w3.org/Consortium/Legal/ */ package org.w3c.dom.html; import org.w3c.dom.*; /** * The HTML document body. This element is always present in the DOM API,even * if the tags are not present in the source document. See the BODY element * definition in HTML 4.0. */ public interface HTMLBodyElement extends HTMLElement { /** * Color of active links (after mouse-button down, but beforemouse-button * up). See the alink attribute definition in HTML 4.0. This attribute is * deprecated in HTML 4.0. */ public String getALink(); public void setALink(String aLink); /** * URI of the background texture tile image. See the background attribute * definition in HTML 4.0. This attribute is deprecated in HTML 4.0. */ public String getBackground(); public void setBackground(String background); /** * Document background color. See the bgcolor attribute definition in HTML * 4.0. This attribute is deprecated in HTML 4.0. */ public String getBgColor(); public void setBgColor(String bgColor); /** * Color of links that are not active and unvisited. See the link attribute * definition in HTML 4.0. This attribute is deprecated in HTML 4.0. */ public String getLink(); public void setLink(String link); /** * Document text color. See the text attribute definition in HTML 4.0. This * attribute is deprecated in HTML 4.0. */ public String getText(); public void setText(String text); /** * Color of links that have been visited by the user. See the vlink * attribute definition in HTML 4.0. This attribute is deprecated in HTML * 4.0. */ public String getVLink(); public void setVLink(String vLink); } org/w3c/dom/html/HTMLButtonElement.java100644 0 0 3570 11146172403 15334 0ustar 0 0 /* * Copyright (c) 1998 World Wide Web Consortium, (Massachusetts Institute of * Technology, Institut National de Recherche en Informatique et en * Automatique, Keio University). * All Rights Reserved. http://www.w3.org/Consortium/Legal/ */ package org.w3c.dom.html; import org.w3c.dom.*; /** * Push button. See the BUTTON element definition in HTML 4.0. */ public interface HTMLButtonElement extends HTMLElement { /** * Returns the FORM element containing this control.Returns * null if this control is not within the context of a form. */ public HTMLFormElement getForm(); /** * A single character access key to give access to the form control. See the * accesskey attribute definition in HTML 4.0. */ public String getAccessKey(); public void setAccessKey(String accessKey); /** * The control is unavailable in this context. See the disabled attribute * definition in HTML 4.0. */ public boolean getDisabled(); public void setDisabled(boolean disabled); /** * Form control or object name when submitted with a form. See the name * attribute definition in HTML 4.0. */ public String getName(); public void setName(String name); /** * Index that represents the element's position in the tabbing order. See * the tabindex attribute definition in HTML 4.0. */ public int getTabIndex(); public void setTabIndex(int tabIndex); /** * The type of button. See the type attribute definition in HTML 4.0. */ public String getType(); /** * The current form control value. See the value attribute definition in * HTML 4.0. */ public String getValue(); public void setValue(String value); } org/w3c/dom/html/HTMLCollection.java100644 0 0 3666 11146172403 14650 0ustar 0 0 /* * Copyright (c) 1998 World Wide Web Consortium, (Massachusetts Institute of * Technology, Institut National de Recherche en Informatique et en * Automatique, Keio University). * All Rights Reserved. http://www.w3.org/Consortium/Legal/ */ package org.w3c.dom.html; import org.w3c.dom.*; /** * An HTMLCollection is a list of nodes. An individual nodemay be * accessed by either ordinal index or the node'sname or * id attributes. Note:Collections in the HTML DOM are assumed * to be live meaningthat they are automatically updated when the underlying * document ischanged. */ public interface HTMLCollection { /** * This attribute specifies the length or size of the list. */ public int getLength(); /** * This method retrieves a node specified by ordinal index. Nodes are * numbered in tree order (depth-first traversal order). * @param index The index of the node to be fetched. The index origin is 0. * @return The Node at the corresponding position upon success. * A value of null is returned if the index is out of range. */ public Node item(int index); /** * This method retrieves a Node using a name. It first searches * for a Node with a matching id attribute. If it * doesn't find one, it then searches for a Node with a * matching name attribute, but only on those elements that * are allowed a name attribute. * @param name The name of the Node to be fetched. * @return The Node with a name or id * attribute whose value corresponds to the specified string. Upon * failure (e.g., no node with this name exists), returns * null. */ public Node namedItem(String name); } org/w3c/dom/html/HTMLDListElement.java100644 0 0 1273 11146172403 15076 0ustar 0 0 /* * Copyright (c) 1998 World Wide Web Consortium, (Massachusetts Institute of * Technology, Institut National de Recherche en Informatique et en * Automatique, Keio University). * All Rights Reserved. http://www.w3.org/Consortium/Legal/ */ package org.w3c.dom.html; import org.w3c.dom.*; /** * Definition list. See the DL element definition in HTML 4.0. */ public interface HTMLDListElement extends HTMLElement { /** * Reduce spacing between list items. See the compact attribute definition * in HTML 4.0. This attribute is deprecated in HTML 4.0. */ public boolean getCompact(); public void setCompact(boolean compact); } org/w3c/dom/html/HTMLDirectoryElement.java100644 0 0 1354 11146172403 16023 0ustar 0 0 /* * Copyright (c) 1998 World Wide Web Consortium, (Massachusetts Institute of * Technology, Institut National de Recherche en Informatique et en * Automatique, Keio University). * All Rights Reserved. http://www.w3.org/Consortium/Legal/ */ package org.w3c.dom.html; import org.w3c.dom.*; /** * Directory list. See the DIR element definition in HTML 4.0. This element is * deprecated in HTML 4.0. */ public interface HTMLDirectoryElement extends HTMLElement { /** * Reduce spacing between list items. See the compact attribute definition * in HTML 4.0. This attribute is deprecated in HTML 4.0. */ public boolean getCompact(); public void setCompact(boolean compact); } org/w3c/dom/html/HTMLDivElement.java100644 0 0 1261 11146172403 14576 0ustar 0 0 /* * Copyright (c) 1998 World Wide Web Consortium, (Massachusetts Institute of * Technology, Institut National de Recherche en Informatique et en * Automatique, Keio University). * All Rights Reserved. http://www.w3.org/Consortium/Legal/ */ package org.w3c.dom.html; import org.w3c.dom.*; /** * Generic block container. See the DIV element definition in HTML 4.0. */ public interface HTMLDivElement extends HTMLElement { /** * Horizontal text alignment. See the align attribute definition in HTML * 4.0. This attribute is deprecated in HTML 4.0. */ public String getAlign(); public void setAlign(String align); } org/w3c/dom/html/HTMLDocument.java100644 0 0 12762 11146172403 14350 0ustar 0 0 /* * Copyright (c) 1998 World Wide Web Consortium, (Massachusetts Institute of * Technology, Institut National de Recherche en Informatique et en * Automatique, Keio University). * All Rights Reserved. http://www.w3.org/Consortium/Legal/ */ package org.w3c.dom.html; import org.w3c.dom.*; /** * An HTMLDocument is the root of the HTML hierarchy andholds the * entire content. Beside providing access to the hierarchy, italso provides * some convenience methods for accessing certain sets ofinformation from the * document. *

The following properties have been deprecated in favor of the * corresponding ones for the BODY element:alinkColorbackgroundbgColorfgColor * linkColorvlinkColor * */ public interface HTMLDocument extends Document { /** * The title of a document as specified by the TITLEelement in * the head of the document. */ public String getTitle(); public void setTitle(String title); /** * Returns the URI of the page that linked to this page. The value isan * empty string if the user navigated to the page directly (notthrough a * link, but, for example, via a bookmark). */ public String getReferrer(); /** * The domain name of the server that served the document, or a nullstring * if the server cannot be identified by a domain name. */ public String getDomain(); /** * The complete URI of the document. */ public String getURL(); /** * The element that contains the content for the document. In documentswith * BODY contents, returns the BODYelement, and in * frameset documents, this returns the outermostFRAMESET * element. */ public HTMLElement getBody(); public void setBody(HTMLElement body); /** * A collection of all the IMG elements in a document.The * behavior is limited to IMG elements forbackwards * compatibility. */ public HTMLCollection getImages(); /** * A collection of all the OBJECT elements that includeapplets * and APPLET (deprecated) elements ina document. */ public HTMLCollection getApplets(); /** * A collection of all AREA elements andanchor (A) * elements in a documentwith a value for the href attribute. */ public HTMLCollection getLinks(); /** * A collection of all the forms of a document. */ public HTMLCollection getForms(); /** * A collection of all the anchor (A) elements in a document * with a value for the name attribute.Note. For reasons of * backwardscompatibility, the returned set of anchors only contains those * anchors created with the name attribute, not those created * with the id attribute. */ public HTMLCollection getAnchors(); /** * The cookies associated with this document. If there are none, thevalue is * an empty string. Otherwise, the value is a string: asemicolon-delimited * list of "name, value" pairs for all the cookiesassociated with the page. * For example, name=value;expires=date. */ public String getCookie(); public void setCookie(String cookie); /** * Note.This method and the ones following allow a user to add to or replace * the structuremodel of a document using strings of unparsed HTML. At the * time of writing alternate methods for providing similar functionality * for both HTML and XML documents were being considered. The following * methodsmay be deprecated at some point in the future in favor of a more * general-purpose mechanism. *
Open a document stream for writing. If a document exists in the * target, this method clears it. */ public void open(); /** * Closes a document stream opened by open()and forces * rendering. */ public void close(); /** * Write a string of text to a document stream opened byopen(). * The text is parsed into the document's structuremodel. * @param text The string to be parsed into some structure in the document * structuremodel. */ public void write(String text); /** * Write a string of text followed by a newline character to a document * stream opened by open(). The text is parsed into the * document's structure model. * @param text The string to be parsed into some structure in the document * structuremodel. */ public void writeln(String text); /** * Returns the Element whose id is given by elementId. If no * such element exists, returns null. Behavior is not defined * if more than one element has this id. * @param elementId The unique id value for an element. * @return The matching element. */ public Element getElementById(String elementId); /** * Returns the (possibly empty) collection of elements whosename * value is given by elementName. * @param elementName The name attribute value for an element. * @return The matching elements. */ public NodeList getElementsByName(String elementName); } org/w3c/dom/html/HTMLElement.java100644 0 0 3754 11146172403 14144 0ustar 0 0 /* * Copyright (c) 1998 World Wide Web Consortium, (Massachusetts Institute of * Technology, Institut National de Recherche en Informatique et en * Automatique, Keio University). * All Rights Reserved. http://www.w3.org/Consortium/Legal/ */ package org.w3c.dom.html; import org.w3c.dom.*; /** * All HTML element interfaces derive from this class. Elements that only * exposethe HTML core attributes are represented by the base * HTMLElement interface. These elements are as follows:HEAD * special: SUB, SUP, SPAN, BDOfont: TT, I, B, U, S, STRIKE, BIG, SMALL * phrase: EM, STRONG, DFN, CODE, SAMP, KBD, VAR, CITE, ACRONYM, ABBRlist: * DD, DTNOFRAMES, NOSCRIPTADDRESS, CENTER * Note. The style attribute for thisinterface is reserved for * future usage. */ public interface HTMLElement extends Element { /** * The element's identifier. See the id attribute definition in HTML 4.0. */ public String getId(); public void setId(String id); /** * The element's advisory title. See the title attribute definition in HTML * 4.0. */ public String getTitle(); public void setTitle(String title); /** * Language code defined in RFC 1766. See the lang attribute definition in * HTML 4.0. */ public String getLang(); public void setLang(String lang); /** * Specifies the base direction of directionally neutraltext and the * directionality of tables. See the dir attribute definition in HTML 4.0. */ public String getDir(); public void setDir(String dir); /** * The class attribute of the element. This attribute has been renameddue to * conflicts with the "class" keyword exposed by many languages. See the * class attribute definition in HTML 4.0. */ public String getClassName(); public void setClassName(String className); } org/w3c/dom/html/HTMLFieldSetElement.java100644 0 0 1254 11146172403 15555 0ustar 0 0 /* * Copyright (c) 1998 World Wide Web Consortium, (Massachusetts Institute of * Technology, Institut National de Recherche en Informatique et en * Automatique, Keio University). * All Rights Reserved. http://www.w3.org/Consortium/Legal/ */ package org.w3c.dom.html; import org.w3c.dom.*; /** * Organizes form controls into logical groups. See the FIELDSET element * definition in HTML 4.0. */ public interface HTMLFieldSetElement extends HTMLElement { /** * Returns the FORM element containing this control.Returns * null if this control is not within the context of a form. */ public HTMLFormElement getForm(); } org/w3c/dom/html/HTMLFontElement.java100644 0 0 2215 11146172403 14762 0ustar 0 0 /* * Copyright (c) 1998 World Wide Web Consortium, (Massachusetts Institute of * Technology, Institut National de Recherche en Informatique et en * Automatique, Keio University). * All Rights Reserved. http://www.w3.org/Consortium/Legal/ */ package org.w3c.dom.html; import org.w3c.dom.*; /** * Local change to font. See the FONT element definition in HTML 4.0. This * element is deprecated in HTML 4.0. */ public interface HTMLFontElement extends HTMLElement { /** * Font color. See the color attribute definition in HTML 4.0. This * attribute is deprecated in HTML 4.0. */ public String getColor(); public void setColor(String color); /** * Font face identifier. See the face attribute definition in HTML 4.0. This * attribute is deprecated in HTML 4.0. */ public String getFace(); public void setFace(String face); /** * Font size. See the size attribute definition in HTML 4.0. This attribute * is deprecated in HTML 4.0. */ public String getSize(); public void setSize(String size); } org/w3c/dom/html/HTMLFormElement.java100644 0 0 4536 11146172403 14767 0ustar 0 0 /* * Copyright (c) 1998 World Wide Web Consortium, (Massachusetts Institute of * Technology, Institut National de Recherche en Informatique et en * Automatique, Keio University). * All Rights Reserved. http://www.w3.org/Consortium/Legal/ */ package org.w3c.dom.html; import org.w3c.dom.*; /** * The FORM element encompasses behavior similar to acollection * and an element. It provides direct access to the containedinput elements * as well as the attributes of the form element. See the FORM element * definition in HTML 4.0. */ public interface HTMLFormElement extends HTMLElement { /** * Returns a collection of all control elements in the form. */ public HTMLCollection getElements(); /** * The number of form controls in the form. */ public int getLength(); /** * Names the form. */ public String getName(); public void setName(String name); /** * List of character sets supported by the server. See the accept-charset * attribute definition in HTML 4.0. */ public String getAcceptCharset(); public void setAcceptCharset(String acceptCharset); /** * Server-side form handler. See the action attribute definition in HTML 4.0. */ public String getAction(); public void setAction(String action); /** * The content type of the submitted form, generally * "application/x-www-form-urlencoded". See the enctype attribute * definition in HTML 4.0. */ public String getEnctype(); public void setEnctype(String enctype); /** * HTTP method used to submit form. See the method attribute definition in * HTML 4.0. */ public String getMethod(); public void setMethod(String method); /** * Frame to render the resource in. See the target attribute definition in * HTML 4.0. */ public String getTarget(); public void setTarget(String target); /** * Submits the form. It performs the same action as a submit button. */ public void submit(); /** * Restores a form element's default values. It performs the same action as * a reset button. */ public void reset(); } org/w3c/dom/html/HTMLFrameElement.java100644 0 0 4321 11146172403 15106 0ustar 0 0 /* * Copyright (c) 1998 World Wide Web Consortium, (Massachusetts Institute of * Technology, Institut National de Recherche en Informatique et en * Automatique, Keio University). * All Rights Reserved. http://www.w3.org/Consortium/Legal/ */ package org.w3c.dom.html; import org.w3c.dom.*; /** * Create a frame. See the FRAME element definition in HTML 4.0. */ public interface HTMLFrameElement extends HTMLElement { /** * Request frame borders. See the frameborder attribute definition in HTML * 4.0. */ public String getFrameBorder(); public void setFrameBorder(String frameBorder); /** * URI designating a long description of this image or frame. See the * longdesc attribute definition in HTML 4.0. */ public String getLongDesc(); public void setLongDesc(String longDesc); /** * Frame margin height, in pixels. See the marginheight attribute definition * in HTML 4.0. */ public String getMarginHeight(); public void setMarginHeight(String marginHeight); /** * Frame margin width, in pixels. See the marginwidth attribute definition * in HTML 4.0. */ public String getMarginWidth(); public void setMarginWidth(String marginWidth); /** * The frame name (object of the target attribute). See the * name attribute definition in HTML 4.0. */ public String getName(); public void setName(String name); /** * When true, forbid user from resizing frame. See the noresize attribute * definition in HTML 4.0. */ public boolean getNoResize(); public void setNoResize(boolean noResize); /** * Specify whether or not the frame should have scrollbars. See the * scrolling attribute definition in HTML 4.0. */ public String getScrolling(); public void setScrolling(String scrolling); /** * A URI designating the initial frame contents. See the src attribute * definition in HTML 4.0. */ public String getSrc(); public void setSrc(String src); } org/w3c/dom/html/HTMLFrameSetElement.java100644 0 0 1566 11146172403 15572 0ustar 0 0 /* * Copyright (c) 1998 World Wide Web Consortium, (Massachusetts Institute of * Technology, Institut National de Recherche en Informatique et en * Automatique, Keio University). * All Rights Reserved. http://www.w3.org/Consortium/Legal/ */ package org.w3c.dom.html; import org.w3c.dom.*; /** * Create a grid of frames. See the FRAMESET element definition in HTML 4.0. */ public interface HTMLFrameSetElement extends HTMLElement { /** * The number of columns of frames in the frameset. See the cols attribute * definition in HTML 4.0. */ public String getCols(); public void setCols(String cols); /** * The number of rows of frames in the frameset. See the rows attribute * definition in HTML 4.0. */ public String getRows(); public void setRows(String rows); } org/w3c/dom/html/HTMLHRElement.java100644 0 0 2702 11146172403 14366 0ustar 0 0 /* * Copyright (c) 1998 World Wide Web Consortium, (Massachusetts Institute of * Technology, Institut National de Recherche en Informatique et en * Automatique, Keio University). * All Rights Reserved. http://www.w3.org/Consortium/Legal/ */ package org.w3c.dom.html; import org.w3c.dom.*; /** * Create a horizontal rule. See the HR element definition in HTML 4.0. */ public interface HTMLHRElement extends HTMLElement { /** * Align the rule on the page. See the align attribute definition in HTML * 4.0. This attribute is deprecated in HTML 4.0. */ public String getAlign(); public void setAlign(String align); /** * Indicates to the user agent that there should be no shading in the * rendering of this element. See the noshade attribute definition in HTML * 4.0. This attribute is deprecated in HTML 4.0. */ public boolean getNoShade(); public void setNoShade(boolean noShade); /** * The height of the rule. See the size attribute definition in HTML 4.0. * This attribute is deprecated in HTML 4.0. */ public String getSize(); public void setSize(String size); /** * The width of the rule. See the width attribute definition in HTML 4.0. * This attribute is deprecated in HTML 4.0. */ public String getWidth(); public void setWidth(String width); } org/w3c/dom/html/HTMLHeadElement.java100644 0 0 1234 11146172403 14715 0ustar 0 0 /* * Copyright (c) 1998 World Wide Web Consortium, (Massachusetts Institute of * Technology, Institut National de Recherche en Informatique et en * Automatique, Keio University). * All Rights Reserved. http://www.w3.org/Consortium/Legal/ */ package org.w3c.dom.html; import org.w3c.dom.*; /** * Document head information. See the HEAD element definition in HTML 4.0. */ public interface HTMLHeadElement extends HTMLElement { /** * URI designating a metadata profile. See the profile attribute definition * in HTML 4.0. */ public String getProfile(); public void setProfile(String profile); } org/w3c/dom/html/HTMLHeadingElement.java100644 0 0 1325 11146172403 15414 0ustar 0 0 /* * Copyright (c) 1998 World Wide Web Consortium, (Massachusetts Institute of * Technology, Institut National de Recherche en Informatique et en * Automatique, Keio University). * All Rights Reserved. http://www.w3.org/Consortium/Legal/ */ package org.w3c.dom.html; import org.w3c.dom.*; /** * For the H1 to H6 elements. See the H1 element * definition in HTML 4.0. */ public interface HTMLHeadingElement extends HTMLElement { /** * Horizontal text alignment. See the align attribute definition in HTML * 4.0. This attribute is deprecated in HTML 4.0. */ public String getAlign(); public void setAlign(String align); } org/w3c/dom/html/HTMLHtmlElement.java100644 0 0 1317 11146172403 14762 0ustar 0 0 /* * Copyright (c) 1998 World Wide Web Consortium, (Massachusetts Institute of * Technology, Institut National de Recherche en Informatique et en * Automatique, Keio University). * All Rights Reserved. http://www.w3.org/Consortium/Legal/ */ package org.w3c.dom.html; import org.w3c.dom.*; /** * Root of an HTML document. See the HTML element definition in HTML 4.0. */ public interface HTMLHtmlElement extends HTMLElement { /** * Version information about the document's DTD. See the version attribute * definition in HTML 4.0. This attribute is deprecated in HTML 4.0. */ public String getVersion(); public void setVersion(String version); } org/w3c/dom/html/HTMLIFrameElement.java100644 0 0 5207 11146172403 15223 0ustar 0 0 /* * Copyright (c) 1998 World Wide Web Consortium, (Massachusetts Institute of * Technology, Institut National de Recherche en Informatique et en * Automatique, Keio University). * All Rights Reserved. http://www.w3.org/Consortium/Legal/ */ package org.w3c.dom.html; import org.w3c.dom.*; /** * Inline subwindows. See the IFRAME element definition in HTML 4.0. */ public interface HTMLIFrameElement extends HTMLElement { /** * Aligns this object (vertically or horizontally) with respect to its * surrounding text. See the align attribute definition in HTML 4.0. This * attribute is deprecated in HTML 4.0. */ public String getAlign(); public void setAlign(String align); /** * Request frame borders. See the frameborder attribute definition in HTML * 4.0. */ public String getFrameBorder(); public void setFrameBorder(String frameBorder); /** * Frame height. See the height attribute definition in HTML 4.0. */ public String getHeight(); public void setHeight(String height); /** * URI designating a long description of this image or frame. See the * longdesc attribute definition in HTML 4.0. */ public String getLongDesc(); public void setLongDesc(String longDesc); /** * Frame margin height, in pixels. See the marginheight attribute definition * in HTML 4.0. */ public String getMarginHeight(); public void setMarginHeight(String marginHeight); /** * Frame margin width, in pixels. See the marginwidth attribute definition * in HTML 4.0. */ public String getMarginWidth(); public void setMarginWidth(String marginWidth); /** * The frame name (object of the target attribute). See the * name attribute definition in HTML 4.0. */ public String getName(); public void setName(String name); /** * Specify whether or not the frame should have scrollbars. See the * scrolling attribute definition in HTML 4.0. */ public String getScrolling(); public void setScrolling(String scrolling); /** * A URI designating the initial frame contents. See the src attribute * definition in HTML 4.0. */ public String getSrc(); public void setSrc(String src); /** * Frame width. See the width attribute definition in HTML 4.0. */ public String getWidth(); public void setWidth(String width); } org/w3c/dom/html/HTMLImageElement.java100644 0 0 6364 11146172403 15107 0ustar 0 0 /* * Copyright (c) 1998 World Wide Web Consortium, (Massachusetts Institute of * Technology, Institut National de Recherche en Informatique et en * Automatique, Keio University). * All Rights Reserved. http://www.w3.org/Consortium/Legal/ */ package org.w3c.dom.html; import org.w3c.dom.*; /** * Embedded image. See the IMG element definition in HTML 4.0. */ public interface HTMLImageElement extends HTMLElement { /** * URI designating the source of this image, for low-resolution output. */ public String getLowSrc(); public void setLowSrc(String lowSrc); /** * The name of the element (for backwards compatibility). */ public String getName(); public void setName(String name); /** * Aligns this object (vertically or horizontally) with respect to its * surrounding text. See the align attribute definition in HTML 4.0. This * attribute is deprecated in HTML 4.0. */ public String getAlign(); public void setAlign(String align); /** * Alternate text for user agents not rendering the normal contentof this * element. See the alt attribute definition in HTML 4.0. */ public String getAlt(); public void setAlt(String alt); /** * Width of border around image. See the border attribute definition in HTML * 4.0. This attribute is deprecated in HTML 4.0. */ public String getBorder(); public void setBorder(String border); /** * Override height. See the height attribute definition in HTML 4.0. */ public String getHeight(); public void setHeight(String height); /** * Horizontal space to the left and right of this image. See the hspace * attribute definition in HTML 4.0. This attribute is deprecated in HTML * 4.0. */ public String getHspace(); public void setHspace(String hspace); /** * Use server-side image map. See the ismap attribute definition in HTML 4.0. */ public boolean getIsMap(); public void setIsMap(boolean isMap); /** * URI designating a long description of this image or frame. See the * longdesc attribute definition in HTML 4.0. */ public String getLongDesc(); public void setLongDesc(String longDesc); /** * URI designating the source of this image. See the src attribute definition * in HTML 4.0. */ public String getSrc(); public void setSrc(String src); /** * Use client-side image map. See the usemap attribute definition in HTML * 4.0. */ public String getUseMap(); public void setUseMap(String useMap); /** * Vertical space above and below this image. See the vspace attribute * definition in HTML 4.0. This attribute is deprecated in HTML 4.0. */ public String getVspace(); public void setVspace(String vspace); /** * Override width. See the width attribute definition in HTML 4.0. */ public String getWidth(); public void setWidth(String width); } org/w3c/dom/html/HTMLInputElement.java100644 0 0 13457 11146172403 15205 0ustar 0 0 /* * Copyright (c) 1998 World Wide Web Consortium, (Massachusetts Institute of * Technology, Institut National de Recherche en Informatique et en * Automatique, Keio University). * All Rights Reserved. http://www.w3.org/Consortium/Legal/ */ package org.w3c.dom.html; import org.w3c.dom.*; /** * Form control. Note. Depending upon the environmentthe page is being viewed, * the value property may be read-only for thefile upload input type. For the * "password" input type, the actual valuereturned may be masked to prevent * unauthorized use. See the INPUT element definition in HTML 4.0. */ public interface HTMLInputElement extends HTMLElement { /** * Stores the initial control value (i.e., the initial value of * value). */ public String getDefaultValue(); public void setDefaultValue(String defaultValue); /** * When type has the value "Radio" or "Checkbox", stores the * initial value of the checked attribute. */ public boolean getDefaultChecked(); public void setDefaultChecked(boolean defaultChecked); /** * Returns the FORM element containing this control.Returns * null if this control is not within the context of a form. */ public HTMLFormElement getForm(); /** * A comma-separated list of content types that a server processing thisform * will handle correctly. See the accept attribute definition in HTML 4.0. */ public String getAccept(); public void setAccept(String accept); /** * A single character access key to give access to the form control. See the * accesskey attribute definition in HTML 4.0. */ public String getAccessKey(); public void setAccessKey(String accessKey); /** * Aligns this object (vertically or horizontally) with respect to its * surrounding text. See the align attribute definition in HTML 4.0. This * attribute is deprecated in HTML 4.0. */ public String getAlign(); public void setAlign(String align); /** * Alternate text for user agents not rendering the normal contentof this * element. See the alt attribute definition in HTML 4.0. */ public String getAlt(); public void setAlt(String alt); /** * Describes whether a radio or check box is checked, whentype * has the value "Radio" or "Checkbox". The value isTRUE if explicitly * set. Represents the current state of the checkboxor radio button. See * the checked attribute definition in HTML 4.0. */ public boolean getChecked(); public void setChecked(boolean checked); /** * The control is unavailable in this context. See the disabled attribute * definition in HTML 4.0. */ public boolean getDisabled(); public void setDisabled(boolean disabled); /** * Maximum number of characters for text fields, when typehas * the value "Text" or "Password". See the maxlength attribute definition * in HTML 4.0. */ public int getMaxLength(); public void setMaxLength(int maxLength); /** * Form control or object name when submitted with a form. See the name * attribute definition in HTML 4.0. */ public String getName(); public void setName(String name); /** * This control is read-only. When type has the value "text"or * "password" only. See the readonly attribute definition in HTML 4.0. */ public boolean getReadOnly(); public void setReadOnly(boolean readOnly); /** * Size information. The precise meaning is specific to each type offield. * See the size attribute definition in HTML 4.0. */ public String getSize(); public void setSize(String size); /** * When the type attribute has the value "Image", thisattribute * specifies the location of the image to be used to decoratethe graphical * submit button. See the src attribute definition in HTML 4.0. */ public String getSrc(); public void setSrc(String src); /** * Index that represents the element's position in the tabbing order. See * the tabindex attribute definition in HTML 4.0. */ public int getTabIndex(); public void setTabIndex(int tabIndex); /** * The type of control created. See the type attribute definition in HTML * 4.0. */ public String getType(); /** * Use client-side image map. See the usemap attribute definition in HTML * 4.0. */ public String getUseMap(); public void setUseMap(String useMap); /** * The current form control value. Used for radio buttons and check boxes. * See the value attribute definition in HTML 4.0. */ public String getValue(); public void setValue(String value); /** * Removes keyboard focus from this element. */ public void blur(); /** * Gives keyboard focus to this element. */ public void focus(); /** * Select the contents of the text area. For INPUT elements * whose type attribute has one of the following values: * "Text", "File", or "Password". */ public void select(); /** * Simulate a mouse-click. For INPUT elements whose * type attribute has one of the followingvalues: "Button", * "Checkbox", "Radio", "Reset", or "Submit". */ public void click(); } org/w3c/dom/html/HTMLIsIndexElement.java100644 0 0 1676 11146172403 15431 0ustar 0 0 /* * Copyright (c) 1998 World Wide Web Consortium, (Massachusetts Institute of * Technology, Institut National de Recherche en Informatique et en * Automatique, Keio University). * All Rights Reserved. http://www.w3.org/Consortium/Legal/ */ package org.w3c.dom.html; import org.w3c.dom.*; /** * This element is usedfor single-line text input. See the ISINDEX element * definition in HTML 4.0. This element is deprecated in HTML 4.0. */ public interface HTMLIsIndexElement extends HTMLElement { /** * Returns the FORM element containing this control.Returns * null if this control is not within the context of a form. */ public HTMLFormElement getForm(); /** * The prompt message. See the prompt attribute definition in HTML 4.0. This * attribute is deprecated in HTML 4.0. */ public String getPrompt(); public void setPrompt(String prompt); } org/w3c/dom/html/HTMLLIElement.java100644 0 0 1644 11146172403 14365 0ustar 0 0 /* * Copyright (c) 1998 World Wide Web Consortium, (Massachusetts Institute of * Technology, Institut National de Recherche en Informatique et en * Automatique, Keio University). * All Rights Reserved. http://www.w3.org/Consortium/Legal/ */ package org.w3c.dom.html; import org.w3c.dom.*; /** * List item. See the LI element definition in HTML 4.0. */ public interface HTMLLIElement extends HTMLElement { /** * List item bullet style. See the type attribute definition in HTML 4.0. * This attribute is deprecated in HTML 4.0. */ public String getType(); public void setType(String type); /** * Reset sequence number when used in OL See the value * attribute definition in HTML 4.0. This attribute is deprecated in HTML * 4.0. */ public int getValue(); public void setValue(int value); } org/w3c/dom/html/HTMLLabelElement.java100644 0 0 2210 11146172403 15066 0ustar 0 0 /* * Copyright (c) 1998 World Wide Web Consortium, (Massachusetts Institute of * Technology, Institut National de Recherche en Informatique et en * Automatique, Keio University). * All Rights Reserved. http://www.w3.org/Consortium/Legal/ */ package org.w3c.dom.html; import org.w3c.dom.*; /** * Form field label text. See the LABEL element definition in HTML 4.0. */ public interface HTMLLabelElement extends HTMLElement { /** * Returns the FORM element containing this control.Returns * null if this control is not within the context of a form. */ public HTMLFormElement getForm(); /** * A single character access key to give access to the form control. See the * accesskey attribute definition in HTML 4.0. */ public String getAccessKey(); public void setAccessKey(String accessKey); /** * This attribute links this label with another form controlby * id attribute. See the for attribute definition in HTML 4.0. */ public String getHtmlFor(); public void setHtmlFor(String htmlFor); } org/w3c/dom/html/HTMLLegendElement.java100644 0 0 2263 11146172403 15255 0ustar 0 0 /* * Copyright (c) 1998 World Wide Web Consortium, (Massachusetts Institute of * Technology, Institut National de Recherche en Informatique et en * Automatique, Keio University). * All Rights Reserved. http://www.w3.org/Consortium/Legal/ */ package org.w3c.dom.html; import org.w3c.dom.*; /** * Provides a caption for a FIELDSET grouping. See the LEGEND * element definition in HTML 4.0. */ public interface HTMLLegendElement extends HTMLElement { /** * Returns the FORM element containing this control.Returns * null if this control is not within the context of a form. */ public HTMLFormElement getForm(); /** * A single character access key to give access to the form control. See the * accesskey attribute definition in HTML 4.0. */ public String getAccessKey(); public void setAccessKey(String accessKey); /** * Text alignment relative to FIELDSET. See the align attribute * definition in HTML 4.0. This attribute is deprecated in HTML 4.0. */ public String getAlign(); public void setAlign(String align); } org/w3c/dom/html/HTMLLinkElement.java100644 0 0 4620 11146172403 14753 0ustar 0 0 /* * Copyright (c) 1998 World Wide Web Consortium, (Massachusetts Institute of * Technology, Institut National de Recherche en Informatique et en * Automatique, Keio University). * All Rights Reserved. http://www.w3.org/Consortium/Legal/ */ package org.w3c.dom.html; import org.w3c.dom.*; /** * The LINK element specifies a link to an externalresource, and * defines this document's relationship to that resource(or vice versa). See * the LINK element definition in HTML 4.0. */ public interface HTMLLinkElement extends HTMLElement { /** * Enables/disables the link. This is currently only used for style sheet * links, and may be used to activate or deactivate style sheets. */ public boolean getDisabled(); public void setDisabled(boolean disabled); /** * The character encoding of the resource being linked to. See the charset * attribute definition in HTML 4.0. */ public String getCharset(); public void setCharset(String charset); /** * The URI of the linked resource. See the href attribute definition in HTML * 4.0. */ public String getHref(); public void setHref(String href); /** * Language code of the linked resource. See the hreflang attribute * definition in HTML 4.0. */ public String getHreflang(); public void setHreflang(String hreflang); /** * Designed for use with one or more target media. See the media attribute * definition in HTML 4.0. */ public String getMedia(); public void setMedia(String media); /** * Forward link type. See the rel attribute definition in HTML 4.0. */ public String getRel(); public void setRel(String rel); /** * Reverse link type. See the rev attribute definition in HTML 4.0. */ public String getRev(); public void setRev(String rev); /** * Frame to render the resource in. See the target attribute definition in * HTML 4.0. */ public String getTarget(); public void setTarget(String target); /** * Advisory content type. See the type attribute definition in HTML 4.0. */ public String getType(); public void setType(String type); } org/w3c/dom/html/HTMLMapElement.java100644 0 0 1403 11146172403 14567 0ustar 0 0 /* * Copyright (c) 1998 World Wide Web Consortium, (Massachusetts Institute of * Technology, Institut National de Recherche en Informatique et en * Automatique, Keio University). * All Rights Reserved. http://www.w3.org/Consortium/Legal/ */ package org.w3c.dom.html; import org.w3c.dom.*; /** * Client-side image map. See the MAP element definition in HTML 4.0. */ public interface HTMLMapElement extends HTMLElement { /** * The list of areas defined for the image map. */ public HTMLCollection getAreas(); /** * Names the map (for use with usemap). See the name attribute * definition in HTML 4.0. */ public String getName(); public void setName(String name); } org/w3c/dom/html/HTMLMenuElement.java100644 0 0 1343 11146172403 14761 0ustar 0 0 /* * Copyright (c) 1998 World Wide Web Consortium, (Massachusetts Institute of * Technology, Institut National de Recherche en Informatique et en * Automatique, Keio University). * All Rights Reserved. http://www.w3.org/Consortium/Legal/ */ package org.w3c.dom.html; import org.w3c.dom.*; /** * Menu list. See the MENU element definition in HTML 4.0. This element is * deprecated in HTML 4.0. */ public interface HTMLMenuElement extends HTMLElement { /** * Reduce spacing between list items. See the compact attribute definition * in HTML 4.0. This attribute is deprecated in HTML 4.0. */ public boolean getCompact(); public void setCompact(boolean compact); } org/w3c/dom/html/HTMLMetaElement.java100644 0 0 2366 11146172403 14751 0ustar 0 0 /* * Copyright (c) 1998 World Wide Web Consortium, (Massachusetts Institute of * Technology, Institut National de Recherche en Informatique et en * Automatique, Keio University). * All Rights Reserved. http://www.w3.org/Consortium/Legal/ */ package org.w3c.dom.html; import org.w3c.dom.*; /** * This contains generic meta-information about the document. See the META * element definition in HTML 4.0. */ public interface HTMLMetaElement extends HTMLElement { /** * Associated information. See the content attribute definition in HTML 4.0. */ public String getContent(); public void setContent(String content); /** * HTTP response header name. See the http-equiv attribute definition in * HTML 4.0. */ public String getHttpEquiv(); public void setHttpEquiv(String httpEquiv); /** * Meta information name. See the name attribute definition in HTML 4.0. */ public String getName(); public void setName(String name); /** * Select form of content. See the scheme attribute definition in HTML 4.0. */ public String getScheme(); public void setScheme(String scheme); } org/w3c/dom/html/HTMLModElement.java100644 0 0 1653 11146172403 14600 0ustar 0 0 /* * Copyright (c) 1998 World Wide Web Consortium, (Massachusetts Institute of * Technology, Institut National de Recherche en Informatique et en * Automatique, Keio University). * All Rights Reserved. http://www.w3.org/Consortium/Legal/ */ package org.w3c.dom.html; import org.w3c.dom.*; /** * Notice of modification to part of a document. See the INS and DEL * element definitions in HTML 4.0. */ public interface HTMLModElement extends HTMLElement { /** * A URI designating a document that describes the reason forthe change. See * the cite attribute definition in HTML 4.0. */ public String getCite(); public void setCite(String cite); /** * The date and time of the change. See the datetime attribute definition in * HTML 4.0. */ public String getDateTime(); public void setDateTime(String dateTime); } org/w3c/dom/html/HTMLOListElement.java100644 0 0 2202 11146172403 15102 0ustar 0 0 /* * Copyright (c) 1998 World Wide Web Consortium, (Massachusetts Institute of * Technology, Institut National de Recherche en Informatique et en * Automatique, Keio University). * All Rights Reserved. http://www.w3.org/Consortium/Legal/ */ package org.w3c.dom.html; import org.w3c.dom.*; /** * Ordered list. See the OL element definition in HTML 4.0. */ public interface HTMLOListElement extends HTMLElement { /** * Reduce spacing between list items. See the compact attribute definition * in HTML 4.0. This attribute is deprecated in HTML 4.0. */ public boolean getCompact(); public void setCompact(boolean compact); /** * Starting sequence number. See the start attribute definition in HTML 4.0. * This attribute is deprecated in HTML 4.0. */ public int getStart(); public void setStart(int start); /** * Numbering style. See the type attribute definition in HTML 4.0. This * attribute is deprecated in HTML 4.0. */ public String getType(); public void setType(String type); } org/w3c/dom/html/HTMLObjectElement.java100644 0 0 11362 11146172403 15305 0ustar 0 0 /* * Copyright (c) 1998 World Wide Web Consortium, (Massachusetts Institute of * Technology, Institut National de Recherche en Informatique et en * Automatique, Keio University). * All Rights Reserved. http://www.w3.org/Consortium/Legal/ */ package org.w3c.dom.html; import org.w3c.dom.*; /** * Generic embedded object. Note. In principle, allproperties on the object * element are read-write but in someenvironments some properties may be * read-only once the underlyingobject is instantiated. See the OBJECT * element definition in HTML 4.0. */ public interface HTMLObjectElement extends HTMLElement { /** * Returns the FORM element containing this control.Returns * null if this control is not within the context of a form. */ public HTMLFormElement getForm(); /** * Applet class file. See the code attribute for * HTMLAppletElement. */ public String getCode(); public void setCode(String code); /** * Aligns this object (vertically or horizontally) with respect to its * surrounding text. See the align attribute definition in HTML 4.0. This * attribute is deprecated in HTML 4.0. */ public String getAlign(); public void setAlign(String align); /** * Space-separated list of archives. See the archive attribute definition in * HTML 4.0. */ public String getArchive(); public void setArchive(String archive); /** * Width of border around the object. See the border attribute definition in * HTML 4.0. This attribute is deprecated in HTML 4.0. */ public String getBorder(); public void setBorder(String border); /** * Base URI for classid, data, and * archive attributes. See the codebase attribute definition * in HTML 4.0. */ public String getCodeBase(); public void setCodeBase(String codeBase); /** * Content type for data downloaded via classid attribute. See * the codetype attribute definition in HTML 4.0. */ public String getCodeType(); public void setCodeType(String codeType); /** * A URI specifying the location of the object's data. See the data * attribute definition in HTML 4.0. */ public String getData(); public void setData(String data); /** * Declare (for future reference), but do not instantiate, thisobject. See * the declare attribute definition in HTML 4.0. */ public boolean getDeclare(); public void setDeclare(boolean declare); /** * Override height. See the height attribute definition in HTML 4.0. */ public String getHeight(); public void setHeight(String height); /** * Horizontal space to the left and right of this image, applet, or object. * See the hspace attribute definition in HTML 4.0. This attribute is * deprecated in HTML 4.0. */ public String getHspace(); public void setHspace(String hspace); /** * Form control or object name when submitted with a form. See the name * attribute definition in HTML 4.0. */ public String getName(); public void setName(String name); /** * Message to render while loading the object. See the standby attribute * definition in HTML 4.0. */ public String getStandby(); public void setStandby(String standby); /** * Index that represents the element's position in the tabbing order. See * the tabindex attribute definition in HTML 4.0. */ public int getTabIndex(); public void setTabIndex(int tabIndex); /** * Content type for data downloaded via data attribute. See the * type attribute definition in HTML 4.0. */ public String getType(); public void setType(String type); /** * Use client-side image map. See the usemap attribute definition in HTML * 4.0. */ public String getUseMap(); public void setUseMap(String useMap); /** * Vertical space above and below this image, applet, or object. See the * vspace attribute definition in HTML 4.0. This attribute is deprecated in * HTML 4.0. */ public String getVspace(); public void setVspace(String vspace); /** * Override width. See the width attribute definition in HTML 4.0. */ public String getWidth(); public void setWidth(String width); } org/w3c/dom/html/HTMLOptGroupElement.java100644 0 0 1632 11146172403 15635 0ustar 0 0 /* * Copyright (c) 1998 World Wide Web Consortium, (Massachusetts Institute of * Technology, Institut National de Recherche en Informatique et en * Automatique, Keio University). * All Rights Reserved. http://www.w3.org/Consortium/Legal/ */ package org.w3c.dom.html; import org.w3c.dom.*; /** * Group options together in logical subdivisions. See the OPTGROUP element * definition in HTML 4.0. */ public interface HTMLOptGroupElement extends HTMLElement { /** * The control is unavailable in this context. See the disabled attribute * definition in HTML 4.0. */ public boolean getDisabled(); public void setDisabled(boolean disabled); /** * Assigns a label to this option group. See the label attribute definition * in HTML 4.0. */ public String getLabel(); public void setLabel(String label); } org/w3c/dom/html/HTMLOptionElement.java100644 0 0 3650 11146172403 15330 0ustar 0 0 /* * Copyright (c) 1998 World Wide Web Consortium, (Massachusetts Institute of * Technology, Institut National de Recherche en Informatique et en * Automatique, Keio University). * All Rights Reserved. http://www.w3.org/Consortium/Legal/ */ package org.w3c.dom.html; import org.w3c.dom.*; /** * A selectable choice. See the OPTION element definition in HTML 4.0. */ public interface HTMLOptionElement extends HTMLElement { /** * Returns the FORM element containing this control.Returns * null if this control is not within the context of a form. */ public HTMLFormElement getForm(); /** * Stores the initial value of the selected attribute. */ public boolean getDefaultSelected(); public void setDefaultSelected(boolean defaultSelected); /** * The text contained within the option element. */ public String getText(); /** * The index of this OPTION in its parent SELECT. */ public int getIndex(); public void setIndex(int index); /** * The control is unavailable in this context. See the disabled attribute * definition in HTML 4.0. */ public boolean getDisabled(); public void setDisabled(boolean disabled); /** * Option label for use in hierarchical menus. See the label attribute * definition in HTML 4.0. */ public String getLabel(); public void setLabel(String label); /** * Means that this option is initially selected. See the selected attribute * definition in HTML 4.0. */ public boolean getSelected(); /** * The current form control value. See the value attribute definition in * HTML 4.0. */ public String getValue(); public void setValue(String value); } org/w3c/dom/html/HTMLParagraphElement.java100644 0 0 1250 11146172403 15757 0ustar 0 0 /* * Copyright (c) 1998 World Wide Web Consortium, (Massachusetts Institute of * Technology, Institut National de Recherche en Informatique et en * Automatique, Keio University). * All Rights Reserved. http://www.w3.org/Consortium/Legal/ */ package org.w3c.dom.html; import org.w3c.dom.*; /** * Paragraphs. See the P element definition in HTML 4.0. */ public interface HTMLParagraphElement extends HTMLElement { /** * Horizontal text alignment. See the align attribute definition in HTML * 4.0. This attribute is deprecated in HTML 4.0. */ public String getAlign(); public void setAlign(String align); } org/w3c/dom/html/HTMLParamElement.java100644 0 0 2610 11146172403 15113 0ustar 0 0 /* * Copyright (c) 1998 World Wide Web Consortium, (Massachusetts Institute of * Technology, Institut National de Recherche en Informatique et en * Automatique, Keio University). * All Rights Reserved. http://www.w3.org/Consortium/Legal/ */ package org.w3c.dom.html; import org.w3c.dom.*; /** * Parameters fed to the OBJECT element. See the PARAM element * definition in HTML 4.0. */ public interface HTMLParamElement extends HTMLElement { /** * The name of a run-time parameter. See the name attribute definition in * HTML 4.0. */ public String getName(); public void setName(String name); /** * Content type for the value attribute when * valuetype has the value "ref". See the type attribute * definition in HTML 4.0. */ public String getType(); public void setType(String type); /** * The value of a run-time parameter. See the value attribute definition in * HTML 4.0. */ public String getValue(); public void setValue(String value); /** * Information about the meaning of the value attributevalue. * See the valuetype attribute definition in HTML 4.0. */ public String getValueType(); public void setValueType(String valueType); } org/w3c/dom/html/HTMLPreElement.java100644 0 0 1246 11146172403 14605 0ustar 0 0 /* * Copyright (c) 1998 World Wide Web Consortium, (Massachusetts Institute of * Technology, Institut National de Recherche en Informatique et en * Automatique, Keio University). * All Rights Reserved. http://www.w3.org/Consortium/Legal/ */ package org.w3c.dom.html; import org.w3c.dom.*; /** * Preformatted text. See the PRE element definition in HTML 4.0. */ public interface HTMLPreElement extends HTMLElement { /** * Fixed width for content. See the width attribute definition in HTML 4.0. * This attribute is deprecated in HTML 4.0. */ public int getWidth(); public void setWidth(int width); } org/w3c/dom/html/HTMLQuoteElement.java100644 0 0 1334 11146172403 15152 0ustar 0 0 /* * Copyright (c) 1998 World Wide Web Consortium, (Massachusetts Institute of * Technology, Institut National de Recherche en Informatique et en * Automatique, Keio University). * All Rights Reserved. http://www.w3.org/Consortium/Legal/ */ package org.w3c.dom.html; import org.w3c.dom.*; /** * For the Q and BLOCKQUOTE elements. See the Q * element definition in HTML 4.0. */ public interface HTMLQuoteElement extends HTMLElement { /** * A URI designating a document that designates a source document or * message. See the cite attribute definition in HTML 4.0. */ public String getCite(); public void setCite(String cite); } org/w3c/dom/html/HTMLScriptElement.java100644 0 0 3324 11146172403 15322 0ustar 0 0 /* * Copyright (c) 1998 World Wide Web Consortium, (Massachusetts Institute of * Technology, Institut National de Recherche en Informatique et en * Automatique, Keio University). * All Rights Reserved. http://www.w3.org/Consortium/Legal/ */ package org.w3c.dom.html; import org.w3c.dom.*; /** * Script statements. See the SCRIPT element definition in HTML 4.0. */ public interface HTMLScriptElement extends HTMLElement { /** * The script content of the element. */ public String getText(); public void setText(String text); /** * Reserved for future use. */ public String getHtmlFor(); public void setHtmlFor(String htmlFor); /** * Reserved for future use. */ public String getEvent(); public void setEvent(String event); /** * The character encoding of the linked resource. See the charset attribute * definition in HTML 4.0. */ public String getCharset(); public void setCharset(String charset); /** * Indicates that the user agent can defer processing of the script. See * the defer attribute definition in HTML 4.0. */ public boolean getDefer(); public void setDefer(boolean defer); /** * URI designating an external script. See the src attribute definition in * HTML 4.0. */ public String getSrc(); public void setSrc(String src); /** * The content type of the script language. See the type attribute definition * in HTML 4.0. */ public String getType(); public void setType(String type); } org/w3c/dom/html/HTMLSelectElement.java100644 0 0 6772 11146172403 15307 0ustar 0 0 /* * Copyright (c) 1998 World Wide Web Consortium, (Massachusetts Institute of * Technology, Institut National de Recherche en Informatique et en * Automatique, Keio University). * All Rights Reserved. http://www.w3.org/Consortium/Legal/ */ package org.w3c.dom.html; import org.w3c.dom.*; /** * The select element allows the selection of an option. The containedoptions * can be directly accessed through the select element as acollection. See * the SELECT element definition in HTML 4.0. */ public interface HTMLSelectElement extends HTMLElement { /** * The type of control created. */ public String getType(); /** * The ordinal index of the selected option. The value -1 is returned ifno * element is selected. If multiple options are selected, the index ofthe * first selected option is returned. */ public int getSelectedIndex(); public void setSelectedIndex(int selectedIndex); /** * The current form control value. */ public String getValue(); public void setValue(String value); /** * The number of options in this SELECT. */ public int getLength(); /** * Returns the FORM element containing this control.Returns * null if this control is not within the context of a form. */ public HTMLFormElement getForm(); /** * The collection of OPTION elements contained by this element. */ public HTMLCollection getOptions(); /** * The control is unavailable in this context. See the disabled attribute * definition in HTML 4.0. */ public boolean getDisabled(); public void setDisabled(boolean disabled); /** * If true, multiple OPTION elements may be selected in this * SELECT. See the multiple attribute definition in HTML 4.0. */ public boolean getMultiple(); public void setMultiple(boolean multiple); /** * Form control or object name when submitted with a form. See the name * attribute definition in HTML 4.0. */ public String getName(); public void setName(String name); /** * Number of visible rows. See the size attribute definition in HTML 4.0. */ public int getSize(); public void setSize(int size); /** * Index that represents the element's position in the tabbing order. See * the tabindex attribute definition in HTML 4.0. */ public int getTabIndex(); public void setTabIndex(int tabIndex); /** * Add a new element to the collection of OPTION elementsfor * this SELECT. * @param element The element to add. * @param before The element to insert before, or NULL for the head of the * list. */ public void add(HTMLElement element, HTMLElement before); /** * Remove an element from the collection of OPTION elementsfor * this SELECT. Does nothing if no element has the givenindex. * @param index The index of the item to remove. */ public void remove(int index); /** * Removes keyboard focus from this element. */ public void blur(); /** * Gives keyboard focus to this element. */ public void focus(); } org/w3c/dom/html/HTMLStyleElement.java100644 0 0 2161 11146172403 15154 0ustar 0 0 /* * Copyright (c) 1998 World Wide Web Consortium, (Massachusetts Institute of * Technology, Institut National de Recherche en Informatique et en * Automatique, Keio University). * All Rights Reserved. http://www.w3.org/Consortium/Legal/ */ package org.w3c.dom.html; import org.w3c.dom.*; /** * Style information. A more detailed style sheet object model is planned to be * defined in a separate document. See the STYLE element definition in HTML * 4.0. */ public interface HTMLStyleElement extends HTMLElement { /** * Enables/disables the style sheet. */ public boolean getDisabled(); public void setDisabled(boolean disabled); /** * Designed for use with one or more target media. See the media attribute * definition in HTML 4.0. */ public String getMedia(); public void setMedia(String media); /** * The style sheet language (Internet media type). See the type attribute * definition in HTML 4.0. */ public String getType(); public void setType(String type); } org/w3c/dom/html/HTMLTableCaptionElement.java100644 0 0 1305 11146172403 16420 0ustar 0 0 /* * Copyright (c) 1998 World Wide Web Consortium, (Massachusetts Institute of * Technology, Institut National de Recherche en Informatique et en * Automatique, Keio University). * All Rights Reserved. http://www.w3.org/Consortium/Legal/ */ package org.w3c.dom.html; import org.w3c.dom.*; /** * Table caption See the CAPTION element definition in HTML 4.0. */ public interface HTMLTableCaptionElement extends HTMLElement { /** * Caption alignment with respect to the table. See the align attribute * definition in HTML 4.0. This attribute is deprecated in HTML 4.0. */ public String getAlign(); public void setAlign(String align); } org/w3c/dom/html/HTMLTableCellElement.java100644 0 0 7126 11146172403 15711 0ustar 0 0 /* * Copyright (c) 1998 World Wide Web Consortium, (Massachusetts Institute of * Technology, Institut National de Recherche en Informatique et en * Automatique, Keio University). * All Rights Reserved. http://www.w3.org/Consortium/Legal/ */ package org.w3c.dom.html; import org.w3c.dom.*; /** * The object used to represent the TH and TD * elements. See the TD element definition in HTML 4.0. */ public interface HTMLTableCellElement extends HTMLElement { /** * The index of this cell in the row. */ public int getCellIndex(); public void setCellIndex(int cellIndex); /** * Abbreviation for header cells. See the abbr attribute definition in HTML * 4.0. */ public String getAbbr(); public void setAbbr(String abbr); /** * Horizontal alignment of data in cell. See the align attribute definition * in HTML 4.0. */ public String getAlign(); public void setAlign(String align); /** * Names group of related headers. See the axis attribute definition in HTML * 4.0. */ public String getAxis(); public void setAxis(String axis); /** * Cell background color. See the bgcolor attribute definition in HTML 4.0. * This attribute is deprecated in HTML 4.0. */ public String getBgColor(); public void setBgColor(String bgColor); /** * Alignment character for cells in a column. See the char attribute * definition in HTML 4.0. */ public String getCh(); public void setCh(String ch); /** * Offset of alignment character. See the charoff attribute definition in * HTML 4.0. */ public String getChOff(); public void setChOff(String chOff); /** * Number of columns spanned by cell. See the colspan attribute definition * in HTML 4.0. */ public int getColSpan(); public void setColSpan(int colSpan); /** * List of id attribute values for header cells. See the * headers attribute definition in HTML 4.0. */ public String getHeaders(); public void setHeaders(String headers); /** * Cell height. See the height attribute definition in HTML 4.0. This * attribute is deprecated in HTML 4.0. */ public String getHeight(); public void setHeight(String height); /** * Suppress word wrapping. See the nowrap attribute definition in HTML 4.0. * This attribute is deprecated in HTML 4.0. */ public boolean getNoWrap(); public void setNoWrap(boolean noWrap); /** * Number of rows spanned by cell. See the rowspan attribute definition in * HTML 4.0. */ public int getRowSpan(); public void setRowSpan(int rowSpan); /** * Scope covered by header cells. See the scope attribute definition in HTML * 4.0. */ public String getScope(); public void setScope(String scope); /** * Vertical alignment of data in cell. See the valign attribute definition * in HTML 4.0. */ public String getVAlign(); public void setVAlign(String vAlign); /** * Cell width. See the width attribute definition in HTML 4.0. This * attribute is deprecated in HTML 4.0. */ public String getWidth(); public void setWidth(String width); } org/w3c/dom/html/HTMLTableColElement.java100644 0 0 3330 11146172403 15540 0ustar 0 0 /* * Copyright (c) 1998 World Wide Web Consortium, (Massachusetts Institute of * Technology, Institut National de Recherche en Informatique et en * Automatique, Keio University). * All Rights Reserved. http://www.w3.org/Consortium/Legal/ */ package org.w3c.dom.html; import org.w3c.dom.*; /** * Regroups the COL and COLGROUP elements. See the * COL element definition in HTML 4.0. */ public interface HTMLTableColElement extends HTMLElement { /** * Horizontal alignment of cell data in column. See the align attribute * definition in HTML 4.0. */ public String getAlign(); public void setAlign(String align); /** * Alignment character for cells in a column. See the char attribute * definition in HTML 4.0. */ public String getCh(); public void setCh(String ch); /** * Offset of alignment character. See the charoff attribute definition in * HTML 4.0. */ public String getChOff(); public void setChOff(String chOff); /** * Indicates the number of columns in a group or affected by a grouping. See * the span attribute definition in HTML 4.0. */ public int getSpan(); public void setSpan(int span); /** * Vertical alignment of cell data in column. See the valign attribute * definition in HTML 4.0. */ public String getVAlign(); public void setVAlign(String vAlign); /** * Default column width. See the width attribute definition in HTML 4.0. */ public String getWidth(); public void setWidth(String width); } org/w3c/dom/html/HTMLTableElement.java100644 0 0 12204 11146172403 15122 0ustar 0 0 /* * Copyright (c) 1998 World Wide Web Consortium, (Massachusetts Institute of * Technology, Institut National de Recherche en Informatique et en * Automatique, Keio University). * All Rights Reserved. http://www.w3.org/Consortium/Legal/ */ package org.w3c.dom.html; import org.w3c.dom.*; /** * The create* and delete* methods on the table allow authors to constructand * modify tables. HTML 4.0 specifies that only one of each of the * CAPTION, THEAD, and TFOOTelements * may exist in a table. Therefore, if one exists, and thecreateTHead() or * createTFoot() method is called, the method returnsthe existing THead or * TFoot element. See the TABLE element definition in HTML 4.0. */ public interface HTMLTableElement extends HTMLElement { /** * Returns the table's CAPTION, or void if none exists. */ public HTMLTableCaptionElement getCaption(); public void setCaption(HTMLTableCaptionElement caption); /** * Returns the table's THEAD, or null if none * exists. */ public HTMLTableSectionElement getTHead(); public void setTHead(HTMLTableSectionElement tHead); /** * Returns the table's TFOOT, or null if none * exists. */ public HTMLTableSectionElement getTFoot(); public void setTFoot(HTMLTableSectionElement tFoot); /** * Returns a collection of all the rows in the table, including all in * THEAD, TFOOT, all TBODY elements. */ public HTMLCollection getRows(); /** * Returns a collection of the defined table bodies. */ public HTMLCollection getTBodies(); /** * Specifies the table's position with respect to the rest of the document. * See the align attribute definition in HTML 4.0. This attribute is * deprecated in HTML 4.0. */ public String getAlign(); public void setAlign(String align); /** * Cell background color. See the bgcolor attribute definition in HTML 4.0. * This attribute is deprecated in HTML 4.0. */ public String getBgColor(); public void setBgColor(String bgColor); /** * The width of the border around the table. See the border attribute * definition in HTML 4.0. */ public String getBorder(); public void setBorder(String border); /** * Specifies the horizontal and vertical space between cell content andcell * borders. See the cellpadding attribute definition in HTML 4.0. */ public String getCellPadding(); public void setCellPadding(String cellPadding); /** * Specifies the horizontal and vertical separation between cells. See the * cellspacing attribute definition in HTML 4.0. */ public String getCellSpacing(); public void setCellSpacing(String cellSpacing); /** * Specifies which external table borders to render. See the frame attribute * definition in HTML 4.0. */ public String getFrame(); public void setFrame(String frame); /** * Specifies which internal table borders to render. See the rules attribute * definition in HTML 4.0. */ public String getRules(); public void setRules(String rules); /** * Supplementary description about the purpose or structureof a table. See * the summary attribute definition in HTML 4.0. */ public String getSummary(); public void setSummary(String summary); /** * Specifies the desired table width. See the width attribute definition in * HTML 4.0. */ public String getWidth(); public void setWidth(String width); /** * Create a table header row or return an existing one. * @return A new table header element (THEAD). */ public HTMLElement createTHead(); /** * Delete the header from the table, if one exists. */ public void deleteTHead(); /** * Create a table footer row or return an existing one. * @return A footer element (TFOOT). */ public HTMLElement createTFoot(); /** * Delete the footer from the table, if one exists. */ public void deleteTFoot(); /** * Create a new table caption object or return an existing one. * @return A CAPTION element. */ public HTMLElement createCaption(); /** * Delete the table caption, if one exists. */ public void deleteCaption(); /** * Insert a new empty row in the table.Note. A table row cannot be empty * according to HTML 4.0 Recommendation. * @param index The row number where to insert a new row. * @return The newly created row. */ public HTMLElement insertRow(int index); /** * Delete a table row. * @param index The index of the row to be deleted. */ public void deleteRow(int index); } org/w3c/dom/html/HTMLTableRowElement.java100644 0 0 4731 11146172403 15600 0ustar 0 0 /* * Copyright (c) 1998 World Wide Web Consortium, (Massachusetts Institute of * Technology, Institut National de Recherche en Informatique et en * Automatique, Keio University). * All Rights Reserved. http://www.w3.org/Consortium/Legal/ */ package org.w3c.dom.html; import org.w3c.dom.*; /** * A row in a table. See the TR element definition in HTML 4.0. */ public interface HTMLTableRowElement extends HTMLElement { /** * The index of this row, relative to the entire table. */ public int getRowIndex(); public void setRowIndex(int rowIndex); /** * The index of this row, relative to the current section(THEAD * , TFOOT, or TBODY). */ public int getSectionRowIndex(); public void setSectionRowIndex(int sectionRowIndex); /** * The collection of cells in this row. */ public HTMLCollection getCells(); public void setCells(HTMLCollection cells); /** * Horizontal alignment of data within cells of this row. See the align * attribute definition in HTML 4.0. */ public String getAlign(); public void setAlign(String align); /** * Background color for rows. See the bgcolor attribute definition in HTML * 4.0. This attribute is deprecated in HTML 4.0. */ public String getBgColor(); public void setBgColor(String bgColor); /** * Alignment character for cells in a column. See the char attribute * definition in HTML 4.0. */ public String getCh(); public void setCh(String ch); /** * Offset of alignment character. See the charoff attribute definition in * HTML 4.0. */ public String getChOff(); public void setChOff(String chOff); /** * Vertical alignment of data within cells of this row. See the valign * attribute definition in HTML 4.0. */ public String getVAlign(); public void setVAlign(String vAlign); /** * Insert an empty TD cell into this row. * @param index The place to insert the cell. * @return The newly created cell. */ public HTMLElement insertCell(int index); /** * Delete a cell from the current row. * @param index The index of the cell to delete. */ public void deleteCell(int index); } org/w3c/dom/html/HTMLTableSectionElement.java100644 0 0 3411 11146172403 16427 0ustar 0 0 /* * Copyright (c) 1998 World Wide Web Consortium, (Massachusetts Institute of * Technology, Institut National de Recherche en Informatique et en * Automatique, Keio University). * All Rights Reserved. http://www.w3.org/Consortium/Legal/ */ package org.w3c.dom.html; import org.w3c.dom.*; /** * The THEAD, TFOOT, and TBODYelements. */ public interface HTMLTableSectionElement extends HTMLElement { /** * Horizontal alignment of data in cells. See the align * attribute for HTMLTheadElement for details. */ public String getAlign(); public void setAlign(String align); /** * Alignment character for cells in a column. See the char attribute * definition in HTML 4.0. */ public String getCh(); public void setCh(String ch); /** * Offset of alignment character. See the charoff attribute definition in * HTML 4.0. */ public String getChOff(); public void setChOff(String chOff); /** * Vertical alignment of data in cells.See the valignattribute * for HTMLTheadElement for details. */ public String getVAlign(); public void setVAlign(String vAlign); /** * The collection of rows in this table section. */ public HTMLCollection getRows(); /** * Insert a row into this section. * @param index The row number where to insert a new row. * @return The newly created row. */ public HTMLElement insertRow(int index); /** * Delete a row from this section. * @param index The index of the row to be deleted. */ public void deleteRow(int index); } org/w3c/dom/html/HTMLTextAreaElement.java100644 0 0 6022 11146172403 15571 0ustar 0 0 /* * Copyright (c) 1998 World Wide Web Consortium, (Massachusetts Institute of * Technology, Institut National de Recherche en Informatique et en * Automatique, Keio University). * All Rights Reserved. http://www.w3.org/Consortium/Legal/ */ package org.w3c.dom.html; import org.w3c.dom.*; /** * Multi-line text field. See the TEXTAREA element definition in HTML 4.0. */ public interface HTMLTextAreaElement extends HTMLElement { /** * Stores the initial control value (i.e., the initial value of * value). */ public String getDefaultValue(); public void setDefaultValue(String defaultValue); /** * Returns the FORM element containing this control.Returns * null if this control is not within the context of a form. */ public HTMLFormElement getForm(); /** * A single character access key to give access to the form control. See the * accesskey attribute definition in HTML 4.0. */ public String getAccessKey(); public void setAccessKey(String accessKey); /** * Width of control (in characters). See the cols attribute definition in * HTML 4.0. */ public int getCols(); public void setCols(int cols); /** * The control is unavailable in this context. See the disabled attribute * definition in HTML 4.0. */ public boolean getDisabled(); public void setDisabled(boolean disabled); /** * Form control or object name when submitted with a form. See the name * attribute definition in HTML 4.0. */ public String getName(); public void setName(String name); /** * This control is read-only. See the readonly attribute definition in HTML * 4.0. */ public boolean getReadOnly(); public void setReadOnly(boolean readOnly); /** * Number of text rows. See the rows attribute definition in HTML 4.0. */ public int getRows(); public void setRows(int rows); /** * Index that represents the element's position in the tabbing order. See * the tabindex attribute definition in HTML 4.0. */ public int getTabIndex(); public void setTabIndex(int tabIndex); /** * The type of this form control. */ public String getType(); /** * The current textual content of the multi-line text field. If the entirety * of the data can not fit into a single wstring, the implementation may * truncate the data. */ public String getValue(); public void setValue(String value); /** * Removes keyboard focus from this element. */ public void blur(); /** * Gives keyboard focus to this element. */ public void focus(); /** * Select the contents of the TEXTAREA. */ public void select(); } org/w3c/dom/html/HTMLTitleElement.java100644 0 0 1123 11146172403 15132 0ustar 0 0 /* * Copyright (c) 1998 World Wide Web Consortium, (Massachusetts Institute of * Technology, Institut National de Recherche en Informatique et en * Automatique, Keio University). * All Rights Reserved. http://www.w3.org/Consortium/Legal/ */ package org.w3c.dom.html; import org.w3c.dom.*; /** * The document title. See the TITLE element definition in HTML 4.0. */ public interface HTMLTitleElement extends HTMLElement { /** * The specified title as a string. */ public String getText(); public void setText(String text); } org/w3c/dom/html/HTMLUListElement.java100644 0 0 1627 11146172403 15122 0ustar 0 0 /* * Copyright (c) 1998 World Wide Web Consortium, (Massachusetts Institute of * Technology, Institut National de Recherche en Informatique et en * Automatique, Keio University). * All Rights Reserved. http://www.w3.org/Consortium/Legal/ */ package org.w3c.dom.html; import org.w3c.dom.*; /** * Unordered list. See the UL element definition in HTML 4.0. */ public interface HTMLUListElement extends HTMLElement { /** * Reduce spacing between list items. See the compact attribute definition * in HTML 4.0. This attribute is deprecated in HTML 4.0. */ public boolean getCompact(); public void setCompact(boolean compact); /** * Bullet style. See the type attribute definition in HTML 4.0. This * attribute is deprecated in HTML 4.0. */ public String getType(); public void setType(String type); } org/w3c/dom/ls/DOMImplementationLS.java100644 0 0 14272 11146172405 15343 0ustar 0 0 /* * Copyright (c) 2004 World Wide Web Consortium, * * (Massachusetts Institute of Technology, European Research Consortium for * Informatics and Mathematics, Keio University). All Rights Reserved. This * work is distributed under the W3C(r) Software License [1] 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. * * [1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 */ package org.w3c.dom.ls; import org.w3c.dom.DOMException; /** * DOMImplementationLS contains the factory methods for creating * Load and Save objects. *

The expectation is that an instance of the * DOMImplementationLS interface can be obtained by using * binding-specific casting methods on an instance of the * DOMImplementation interface or, if the Document * supports the feature "Core" version "3.0" * defined in [DOM Level 3 Core] * , by using the method DOMImplementation.getFeature with * parameter values "LS" (or "LS-Async") and * "3.0" (respectively). *

See also the Document Object Model (DOM) Level 3 Load and Save Specification. */ public interface DOMImplementationLS { // DOMImplementationLSMode /** * Create a synchronous LSParser. */ public static final short MODE_SYNCHRONOUS = 1; /** * Create an asynchronous LSParser. */ public static final short MODE_ASYNCHRONOUS = 2; /** * Create a new LSParser. The newly constructed parser may * then be configured by means of its DOMConfiguration * object, and used to parse documents by means of its parse * method. * @param mode The mode argument is either * MODE_SYNCHRONOUS or MODE_ASYNCHRONOUS, if * mode is MODE_SYNCHRONOUS then the * LSParser that is created will operate in synchronous * mode, if it's MODE_ASYNCHRONOUS then the * LSParser that is created will operate in asynchronous * mode. * @param schemaType An absolute URI representing the type of the schema * language used during the load of a Document using the * newly created LSParser. Note that no lexical checking * is done on the absolute URI. In order to create a * LSParser for any kind of schema types (i.e. the * LSParser will be free to use any schema found), use the value * null. *

Note: For W3C XML Schema [XML Schema Part 1] * , applications must use the value * "http://www.w3.org/2001/XMLSchema". For XML DTD [XML 1.0], * applications must use the value * "http://www.w3.org/TR/REC-xml". Other Schema languages * are outside the scope of the W3C and therefore should recommend an * absolute URI in order to use this method. * @return The newly created LSParser object. This * LSParser is either synchronous or asynchronous * depending on the value of the mode argument. *

Note: By default, the newly created LSParser * does not contain a DOMErrorHandler, i.e. the value of * the " * error-handler" configuration parameter is null. However, implementations * may provide a default error handler at creation time. In that case, * the initial value of the "error-handler" configuration * parameter on the new LSParser object contains a * reference to the default error handler. * @exception DOMException * NOT_SUPPORTED_ERR: Raised if the requested mode or schema type is * not supported. */ public LSParser createLSParser(short mode, String schemaType) throws DOMException; /** * Create a new LSSerializer object. * @return The newly created LSSerializer object. *

Note: By default, the newly created * LSSerializer has no DOMErrorHandler, i.e. * the value of the "error-handler" configuration * parameter is null. However, implementations may * provide a default error handler at creation time. In that case, the * initial value of the "error-handler" configuration * parameter on the new LSSerializer object contains a * reference to the default error handler. */ public LSSerializer createLSSerializer(); /** * Create a new empty input source object where * LSInput.characterStream, LSInput.byteStream * , LSInput.stringData LSInput.systemId, * LSInput.publicId, LSInput.baseURI, and * LSInput.encoding are null, and * LSInput.certifiedText is false. * @return The newly created input object. */ public LSInput createLSInput(); /** * Create a new empty output destination object where * LSOutput.characterStream, * LSOutput.byteStream, LSOutput.systemId, * LSOutput.encoding are null. * @return The newly created output object. */ public LSOutput createLSOutput(); } org/w3c/dom/ls/LSException.java100644 0 0 3744 11146172405 13736 0ustar 0 0 /* * Copyright (c) 2004 World Wide Web Consortium, * * (Massachusetts Institute of Technology, European Research Consortium for * Informatics and Mathematics, Keio University). All Rights Reserved. This * work is distributed under the W3C(r) Software License [1] 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. * * [1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 */ package org.w3c.dom.ls; /** * Parser or write operations may throw an LSException if the * processing is stopped. The processing can be stopped due to a * DOMError with a severity of * DOMError.SEVERITY_FATAL_ERROR or a non recovered * DOMError.SEVERITY_ERROR, or if * DOMErrorHandler.handleError() returned false. *

Note: As suggested in the definition of the constants in the * DOMError interface, a DOM implementation may choose to * continue after a fatal error, but the resulting DOM tree is then * implementation dependent. *

See also the Document Object Model (DOM) Level 3 Load and Save Specification. */ public class LSException extends RuntimeException { public LSException(short code, String message) { super(message); this.code = code; } public short code; // LSExceptionCode /** * If an attempt was made to load a document, or an XML Fragment, using * LSParser and the processing has been stopped. */ public static final short PARSE_ERR = 81; /** * If an attempt was made to serialize a Node using * LSSerializer and the processing has been stopped. */ public static final short SERIALIZE_ERR = 82; } org/w3c/dom/ls/LSInput.java100644 0 0 26270 11146172405 13116 0ustar 0 0 /* * Copyright (c) 2004 World Wide Web Consortium, * * (Massachusetts Institute of Technology, European Research Consortium for * Informatics and Mathematics, Keio University). All Rights Reserved. This * work is distributed under the W3C(r) Software License [1] 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. * * [1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 */ package org.w3c.dom.ls; /** * This interface represents an input source for data. *

This interface allows an application to encapsulate information about * an input source in a single object, which may include a public * identifier, a system identifier, a byte stream (possibly with a specified * encoding), 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.createLSInput() * to create objects that implement this interface. *

The LSParser will use the LSInput object to * determine how to read data. The LSParser will look at the * different inputs specified in the LSInput in the following * order to know which one to read from, the first one that is not null and * not an empty string will be used: *

    *
  1. LSInput.characterStream *
  2. *
  3. * LSInput.byteStream *
  4. *
  5. LSInput.stringData *
  6. *
  7. * LSInput.systemId *
  8. *
  9. LSInput.publicId *
  10. *
*

If all inputs are null, the LSParser will report a * DOMError with its DOMError.type set to * "no-input-specified" and its DOMError.severity * set to DOMError.SEVERITY_FATAL_ERROR. *

LSInput objects belong to the application. The DOM * implementation will never modify them (though it may make copies and * modify the copies, if necessary). *

See also the Document Object Model (DOM) Level 3 Load and Save Specification. */ public interface LSInput { /** * An attribute of a language and binding dependent type that represents * a stream of 16-bit units. The application must encode the stream * using UTF-16 (defined in [Unicode] and in [ISO/IEC 10646]). It is not a requirement to have an XML declaration when * using character streams. If an XML declaration is present, the value * of the encoding attribute will be ignored. */ public java.io.Reader getCharacterStream(); /** * An attribute of a language and binding dependent type that represents * a stream of 16-bit units. The application must encode the stream * using UTF-16 (defined in [Unicode] and in [ISO/IEC 10646]). It is not a requirement to have an XML declaration when * using character streams. If an XML declaration is present, the value * of the encoding attribute will be ignored. */ public void setCharacterStream(java.io.Reader characterStream); /** * An attribute of a language and binding dependent type that represents * a 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 java.io.InputStream getByteStream(); /** * An attribute of a language and binding dependent type that represents * a 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 setByteStream(java.io.InputStream byteStream); /** * String data to parse. If provided, this will always be treated as a * sequence of 16-bit units (UTF-16 encoded characters). It is not a * requirement to have an XML declaration when using * stringData. If an XML declaration is present, the value * of the encoding attribute will be ignored. */ public String getStringData(); /** * String data to parse. If provided, this will always be treated as a * sequence of 16-bit units (UTF-16 encoded characters). It is not a * requirement to have an XML declaration when using * stringData. If an XML declaration is present, the value * of the encoding attribute will be ignored. */ public void setStringData(String stringData); /** * The system identifier, a URI reference [IETF RFC 2396], for this * input source. The system identifier is optional if there is a byte * stream, a character stream, or string data. It is still useful to * provide one, since the application will use it to resolve any * relative URIs and can include it in error messages and warnings. (The * LSParser will only attempt to fetch the resource identified by the * URI reference if there is no other input available in the input * source.) *
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 specified system ID is a relative URI reference (see * section 5 in [IETF RFC 2396]), the DOM * implementation will attempt to resolve the relative URI with the * baseURI as the base, if that fails, the behavior is * implementation dependent. */ public String getSystemId(); /** * The system identifier, a URI reference [IETF RFC 2396], for this * input source. The system identifier is optional if there is a byte * stream, a character stream, or string data. It is still useful to * provide one, since the application will use it to resolve any * relative URIs and can include it in error messages and warnings. (The * LSParser will only attempt to fetch the resource identified by the * URI reference if there is no other input available in the input * source.) *
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 specified system ID is a relative URI reference (see * section 5 in [IETF RFC 2396]), the DOM * implementation will attempt to resolve the relative URI with the * baseURI as the base, if that fails, the behavior is * implementation dependent. */ public void setSystemId(String systemId); /** * The public identifier for this input source. This may be mapped to an * input source using an implementation dependent mechanism (such as * catalogues or other mappings). The public identifier, if specified, * may also be reported as part of the location information when errors * are reported. */ public String getPublicId(); /** * The public identifier for this input source. This may be mapped to an * input source using an implementation dependent mechanism (such as * catalogues or other mappings). The public identifier, if specified, * may also be reported as part of the location information when errors * are reported. */ public void setPublicId(String publicId); /** * The base URI to be used (see section 5.1.4 in [IETF RFC 2396]) for * resolving a relative systemId to an absolute URI. *
If, when used, the base URI is itself a relative URI, an empty * string, or null, the behavior is implementation dependent. */ public String getBaseURI(); /** * The base URI to be used (see section 5.1.4 in [IETF RFC 2396]) for * resolving a relative systemId to an absolute URI. *
If, when used, the base URI is itself a relative URI, an empty * string, or null, the behavior is implementation dependent. */ public void setBaseURI(String baseURI); /** * 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(); /** * 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); /** * If set to true, assume that the input is certified (see section 2.13 * in [XML 1.1]) when * parsing [XML 1.1]. */ public boolean getCertifiedText(); /** * If set to true, assume that the input is certified (see section 2.13 * in [XML 1.1]) when * parsing [XML 1.1]. */ public void setCertifiedText(boolean certifiedText); } org/w3c/dom/ls/LSLoadEvent.java100644 0 0 2151 11146172405 13650 0ustar 0 0 /* * Copyright (c) 2004 World Wide Web Consortium, * * (Massachusetts Institute of Technology, European Research Consortium for * Informatics and Mathematics, Keio University). All Rights Reserved. This * work is distributed under the W3C(r) Software License [1] 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. * * [1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 */ package org.w3c.dom.ls; import org.w3c.dom.Document; import org.w3c.dom.events.Event; /** * This interface represents a load event object that signals the completion * of a document load. *

See also the Document Object Model (DOM) Level 3 Load and Save Specification. */ public interface LSLoadEvent extends Event { /** * The document that finished loading. */ public Document getNewDocument(); /** * The input source that was parsed. */ public LSInput getInput(); } org/w3c/dom/ls/LSOutput.java100644 0 0 12017 11146172405 13311 0ustar 0 0 /* * Copyright (c) 2004 World Wide Web Consortium, * * (Massachusetts Institute of Technology, European Research Consortium for * Informatics and Mathematics, Keio University). All Rights Reserved. This * work is distributed under the W3C(r) Software License [1] 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. * * [1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 */ package org.w3c.dom.ls; /** * This interface 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 specified encoding), 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 LSSerializer will use the LSOutput object * to determine where to serialize the output to. The * LSSerializer 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 is not null and not an empty string will be * used: *

    *
  1. LSOutput.characterStream *
  2. *
  3. * LSOutput.byteStream *
  4. *
  5. LSOutput.systemId *
  6. *
*

LSOutput objects belong to the application. The DOM * implementation will never modify them (though it may make copies and * modify the copies, if necessary). *

See also the Document Object Model (DOM) Level 3 Load and Save Specification. */ public interface LSOutput { /** * An attribute of a language and binding dependent type that represents * a writable stream to which 16-bit units can be output. */ public java.io.Writer getCharacterStream(); /** * An attribute of a language and binding dependent type that represents * a writable stream to which 16-bit units can be output. */ public void setCharacterStream(java.io.Writer characterStream); /** * An attribute of a language and binding dependent type that represents * a writable stream of bytes. */ public java.io.OutputStream getByteStream(); /** * An attribute of a language and binding dependent type that represents * a writable stream of bytes. */ public void setByteStream(java.io.OutputStream byteStream); /** * The system identifier, a URI reference [IETF RFC 2396], for this * output destination. *
If the system ID is a relative URI reference (see section 5 in [IETF RFC 2396]), the * behavior is implementation dependent. */ public String getSystemId(); /** * The system identifier, a URI reference [IETF RFC 2396], for this * output destination. *
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); /** * The character encoding to use for the output. The encoding must be a * string acceptable for an XML encoding declaration ([XML 1.0] section * 4.3.3 "Character Encoding in Entities"), it is recommended that * character encodings registered (as charsets) with the Internet * Assigned Numbers Authority [IANA-CHARSETS] * should be referred to using their registered names. */ public String getEncoding(); /** * The character encoding to use for the output. The encoding must be a * string acceptable for an XML encoding declaration ([XML 1.0] section * 4.3.3 "Character Encoding in Entities"), it is recommended that * character encodings registered (as charsets) with the Internet * Assigned Numbers Authority [IANA-CHARSETS] * should be referred to using their registered names. */ public void setEncoding(String encoding); } org/w3c/dom/ls/LSParser.java100644 0 0 63727 11146172405 13263 0ustar 0 0 /* * Copyright (c) 2004 World Wide Web Consortium, * * (Massachusetts Institute of Technology, European Research Consortium for * Informatics and Mathematics, Keio University). All Rights Reserved. This * work is distributed under the W3C(r) Software License [1] 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. * * [1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 */ package org.w3c.dom.ls; import org.w3c.dom.Document; import org.w3c.dom.DOMConfiguration; import org.w3c.dom.Node; import org.w3c.dom.DOMException; /** * An interface to an object that is able to build, or augment, a DOM tree * from various input sources. *

LSParser provides an API for parsing XML and building the * corresponding DOM document structure. A LSParser instance * can be obtained by invoking the * DOMImplementationLS.createLSParser() method. *

As specified in [DOM Level 3 Core] * , when a document is first made available via the LSParser: *

*

Asynchronous LSParser objects are expected to also * implement the events::EventTarget interface so that event * listeners can be registered on asynchronous LSParser * objects. *

Events supported by asynchronous LSParser objects are: *

*
load
*
* The LSParser finishes to load the document. See also the * definition of the LSLoadEvent interface.
*
progress
*
The * LSParser signals progress as data is parsed. This * specification does not attempt to define exactly when progress events * should be dispatched. That is intentionally left as * implementation-dependent. Here is one example of how an application might * dispatch progress events: Once the parser starts receiving data, a * progress event is dispatched to indicate that the parsing starts. From * there on, a progress event is dispatched for every 4096 bytes of data * that is received and processed. This is only one example, though, and * implementations can choose to dispatch progress events at any time while * parsing, or not dispatch them at all. See also the definition of the * LSProgressEvent interface.
*
*

Note: All events defined in this specification use the * namespace URI "http://www.w3.org/2002/DOMLS". *

While parsing an input source, errors are reported to the application * through the error handler (LSParser.domConfig's " * error-handler" parameter). This specification does in no way try to define all possible * errors that can occur while parsing XML, or any other markup, but some * common error cases are defined. The types (DOMError.type) of * errors and warnings defined by this specification are: *

*
* "check-character-normalization-failure" [error]
*
Raised if * the parameter " * check-character-normalization" is set to true and a string is encountered that fails normalization * checking.
*
"doctype-not-allowed" [fatal]
*
Raised if the * configuration parameter "disallow-doctype" is set to true * and a doctype is encountered.
*
"no-input-specified" [fatal]
*
* Raised when loading a document and no input is specified in the * LSInput object.
*
* "pi-base-uri-not-preserved" [warning]
*
Raised if a processing * instruction is encountered in a location where the base URI of the * processing instruction can not be preserved. One example of a case where * this warning will be raised is if the configuration parameter " * entities" is set to false and the following XML file is parsed: *
 * <!DOCTYPE root [ <!ENTITY e SYSTEM 'subdir/myentity.ent' ]> 
 * <root> &e; </root>
* And subdir/myentity.ent * contains: *
<one> <two/> </one> <?pi 3.14159?> 
 * <more/>
*
*
"unbound-prefix-in-entity" [warning]
*
An * implementation dependent warning that may be raised if the configuration * parameter " * namespaces" is set to true and an unbound namespace prefix is * encountered in an entity's replacement text. Raising this warning is not * enforced since some existing parsers may not recognize unbound namespace * prefixes in the replacement text of entities.
*
* "unknown-character-denormalization" [fatal]
*
Raised if the * configuration parameter "ignore-unknown-character-denormalizations" is * set to false and a character is encountered for which the * processor cannot determine the normalization properties.
*
* "unsupported-encoding" [fatal]
*
Raised if an unsupported * encoding is encountered.
*
"unsupported-media-type" [fatal]
*
* Raised if the configuration parameter "supported-media-types-only" is set * to true and an unsupported media type is encountered.
*
*

In addition to raising the defined errors and warnings, implementations * are expected to raise implementation specific errors and warnings for any * other error and warning cases such as IO errors (file not found, * permission denied,...), XML well-formedness errors, and so on. *

See also the Document Object Model (DOM) Level 3 Load and Save Specification. */ public interface LSParser { /** * The DOMConfiguration object used when parsing an input * source. This DOMConfiguration is specific to the parse * operation. No parameter values from this DOMConfiguration * object are passed automatically to the DOMConfiguration * object on the Document that is created, or used, by the * parse operation. The DOM application is responsible for passing any * needed parameter values from this DOMConfiguration * object to the DOMConfiguration object referenced by the * Document object. *
In addition to the parameters recognized in on the * DOMConfiguration interface defined in [DOM Level 3 Core] * , the DOMConfiguration objects for LSParser * add or modify the following parameters: *

*
* "charset-overrides-xml-encoding"
*
*
*
true
*
[optional] (default) If a higher level protocol such as HTTP [IETF RFC 2616] provides an * indication of the character encoding of the input stream being * processed, that will override any encoding specified in the XML * declaration or the Text declaration (see also section 4.3.3, * "Character Encoding in Entities", in [XML 1.0]). * Explicitly setting an encoding in the LSInput overrides * any encoding from the protocol.
*
false
*
[required] The parser ignores any character set encoding information from * higher-level protocols.
*
*
"disallow-doctype"
*
*
*
* true
*
[optional] Throw a fatal "doctype-not-allowed" error if a doctype node is found while parsing the document. This is * useful when dealing with things like SOAP envelopes where doctype * nodes are not allowed.
*
false
*
[required] (default) Allow doctype nodes in the document.
*
*
* "ignore-unknown-character-denormalizations"
*
*
*
* true
*
[required] (default) If, while verifying full normalization when [XML 1.1] is * supported, a processor encounters characters for which it cannot * determine the normalization properties, then the processor will * ignore any possible denormalizations caused by these characters. * This parameter is ignored for [XML 1.0].
*
* false
*
[optional] Report an fatal "unknown-character-denormalization" error if a character is encountered for which the processor cannot * determine the normalization properties.
*
*
"infoset"
*
See * the definition of DOMConfiguration for a description of * this parameter. Unlike in [DOM Level 3 Core] * , this parameter will default to true for * LSParser.
*
"namespaces"
*
*
*
true
*
[required] (default) Perform the namespace processing as defined in [XML Namespaces] * and [XML Namespaces 1.1] * .
*
false
*
[optional] Do not perform the namespace processing.
*
*
* "resource-resolver"
*
[required] A reference to a LSResourceResolver object, or null. If * the value of this parameter is not null when an external resource * (such as an external XML entity or an XML schema location) is * encountered, the implementation will request that the * LSResourceResolver referenced in this parameter resolves * the resource.
*
"supported-media-types-only"
*
*
*
* true
*
[optional] Check that the media type of the parsed resource is a supported media * type. If an unsupported media type is encountered, a fatal error of * type "unsupported-media-type" will be raised. The media types defined in [IETF RFC 3023] must always * be accepted.
*
false
*
[required] (default) Accept any media type.
*
*
"validate"
*
See the definition of * DOMConfiguration for a description of this parameter. * Unlike in [DOM Level 3 Core] * , the processing of the internal subset is always accomplished, even * if this parameter is set to false.
*
* "validate-if-schema"
*
See the definition of * DOMConfiguration for a description of this parameter. * Unlike in [DOM Level 3 Core] * , the processing of the internal subset is always accomplished, even * if this parameter is set to false.
*
* "well-formed"
*
See the definition of * DOMConfiguration for a description of this parameter. * Unlike in [DOM Level 3 Core] * , this parameter cannot be set to false.
*
*/ public DOMConfiguration getDomConfig(); /** * When a filter is provided, the implementation will call out to the * filter as it is constructing the DOM tree structure. The filter can * choose to remove elements from the document being constructed, or to * terminate the parsing early. *
The filter is invoked after the operations requested by the * DOMConfiguration parameters have been applied. For * example, if " * validate" is set to true, the validation is done before invoking the * filter. */ public LSParserFilter getFilter(); /** * When a filter is provided, the implementation will call out to the * filter as it is constructing the DOM tree structure. The filter can * choose to remove elements from the document being constructed, or to * terminate the parsing early. *
The filter is invoked after the operations requested by the * DOMConfiguration parameters have been applied. For * example, if " * validate" is set to true, the validation is done before invoking the * filter. */ public void setFilter(LSParserFilter filter); /** * true if the LSParser is asynchronous, * false if it is synchronous. */ public boolean getAsync(); /** * true if the LSParser is currently busy * loading a document, otherwise false. */ public boolean getBusy(); /** * Parse an XML document from a resource identified by a * LSInput. * @param input The LSInput from which the source of the * document is to be read. * @return If the LSParser is a synchronous * LSParser, the newly created and populated * Document is returned. If the LSParser is * asynchronous, null is returned since the document * object may not yet be constructed when this method returns. * @exception DOMException * INVALID_STATE_ERR: Raised if the LSParser's * LSParser.busy attribute is true. * @exception LSException * PARSE_ERR: Raised if the LSParser was unable to load * the XML document. DOM applications should attach a * DOMErrorHandler using the parameter " * error-handler" if they wish to get details on the error. */ public Document parse(LSInput input) throws DOMException, LSException; /** * Parse an XML document from a location identified by a URI reference [IETF RFC 2396]. If the URI * contains a fragment identifier (see section 4.1 in [IETF RFC 2396]), the * behavior is not defined by this specification, future versions of * this specification may define the behavior. * @param uri The location of the XML document to be read. * @return If the LSParser is a synchronous * LSParser, the newly created and populated * Document is returned, or null if an error * occured. If the LSParser is asynchronous, * null is returned since the document object may not yet * be constructed when this method returns. * @exception DOMException * INVALID_STATE_ERR: Raised if the LSParser.busy * attribute is true. * @exception LSException * PARSE_ERR: Raised if the LSParser was unable to load * the XML document. DOM applications should attach a * DOMErrorHandler using the parameter " * error-handler" if they wish to get details on the error. */ public Document parseURI(String uri) throws DOMException, LSException; // ACTION_TYPES /** * Append the result of the parse operation as children of the context * node. For this action to work, the context node must be an * Element or a DocumentFragment. */ public static final short ACTION_APPEND_AS_CHILDREN = 1; /** * Replace all the children of the context node with the result of the * parse operation. For this action to work, the context node must be an * Element, a Document, or a * DocumentFragment. */ public static final short ACTION_REPLACE_CHILDREN = 2; /** * Insert the result of the parse operation as the immediately preceding * sibling of the context node. For this action to work the context * node's parent must be an Element or a * DocumentFragment. */ public static final short ACTION_INSERT_BEFORE = 3; /** * Insert the result of the parse operation as the immediately following * sibling of the context node. For this action to work the context * node's parent must be an Element or a * DocumentFragment. */ public static final short ACTION_INSERT_AFTER = 4; /** * Replace the context node with the result of the parse operation. For * this action to work, the context node must have a parent, and the * parent must be an Element or a * DocumentFragment. */ public static final short ACTION_REPLACE = 5; /** * Parse an XML fragment from a resource identified by a * LSInput and insert the content into an existing document * at the position specified with the context and * action arguments. When parsing the input stream, the * context node (or its parent, depending on where the result will be * inserted) is used for resolving unbound namespace prefixes. The * context node's ownerDocument node (or the node itself if * the node of type DOCUMENT_NODE) is used to resolve * default attributes and entity references. *
As the new data is inserted into the document, at least one * mutation event is fired per new immediate child or sibling of the * context node. *
If the context node is a Document node and the action * is ACTION_REPLACE_CHILDREN, then the document that is * passed as the context node will be changed such that its * xmlEncoding, documentURI, * xmlVersion, inputEncoding, * xmlStandalone, and all other such attributes are set to * what they would be set to if the input source was parsed using * LSParser.parse(). *
This method is always synchronous, even if the * LSParser is asynchronous (LSParser.async is * true). *
If an error occurs while parsing, the caller is notified through * the ErrorHandler instance associated with the " * error-handler" parameter of the DOMConfiguration. *
When calling parseWithContext, the values of the * following configuration parameters will be ignored and their default * values will always be used instead: " * validate", " * validate-if-schema", and " * element-content-whitespace". Other parameters will be treated normally, and the parser is expected * to call the LSParserFilter just as if a whole document * was parsed. * @param input The LSInput from which the source document * is to be read. The source document must be an XML fragment, i.e. * anything except a complete XML document (except in the case where * the context node of type DOCUMENT_NODE, and the action * is ACTION_REPLACE_CHILDREN), a DOCTYPE (internal * subset), entity declaration(s), notation declaration(s), or XML or * text declaration(s). * @param contextArg The node that is used as the context for the data * that is being parsed. This node must be a Document * node, a DocumentFragment node, or a node of a type * that is allowed as a child of an Element node, e.g. it * cannot be an Attribute node. * @param action This parameter describes which action should be taken * between the new set of nodes being inserted and the existing * children of the context node. The set of possible actions is * defined in ACTION_TYPES above. * @return Return the node that is the result of the parse operation. If * the result is more than one top-level node, the first one is * returned. * @exception DOMException * HIERARCHY_REQUEST_ERR: Raised if the content cannot replace, be * inserted before, after, or as a child of the context node (see also * Node.insertBefore or Node.replaceChild in [DOM Level 3 Core] * ). *
NOT_SUPPORTED_ERR: Raised if the LSParser doesn't * support this method, or if the context node is of type * Document and the DOM implementation doesn't support * the replacement of the DocumentType child or * Element child. *
NO_MODIFICATION_ALLOWED_ERR: Raised if the context node is a * read only node and the content is being appended to its child list, * or if the parent node of the context node is read only node and the * content is being inserted in its child list. *
INVALID_STATE_ERR: Raised if the LSParser.busy * attribute is true. * @exception LSException * PARSE_ERR: Raised if the LSParser was unable to load * the XML fragment. DOM applications should attach a * DOMErrorHandler using the parameter " * error-handler" if they wish to get details on the error. */ public Node parseWithContext(LSInput input, Node contextArg, short action) throws DOMException, LSException; /** * Abort the loading of the document that is currently being loaded by * the LSParser. If the LSParser is currently * not busy, a call to this method does nothing. */ public void abort(); } org/w3c/dom/ls/LSParserFilter.java100644 0 0 21303 11146172405 14411 0ustar 0 0 /* * Copyright (c) 2004 World Wide Web Consortium, * * (Massachusetts Institute of Technology, European Research Consortium for * Informatics and Mathematics, Keio University). All Rights Reserved. This * work is distributed under the W3C(r) Software License [1] 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. * * [1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 */ package org.w3c.dom.ls; import org.w3c.dom.Node; import org.w3c.dom.Element; /** * LSParserFilters provide applications the ability to examine * nodes as they are being constructed while parsing. As each node is * examined, it may be modified or removed, or the entire parse may be * terminated early. *

At the time any of the filter methods are called by the parser, the * owner Document and DOMImplementation objects exist and are accessible. * The document element is never passed to the LSParserFilter * methods, i.e. it is not possible to filter out the document element. * Document, DocumentType, Notation, * Entity, and Attr nodes are never passed to the * acceptNode method on the filter. The child nodes of an * EntityReference node are passed to the filter if the * parameter " * entities" is set to false. Note that, as described by the parameter " * entities", unexpanded entity reference nodes are never discarded and are always * passed to the filter. *

All validity checking while parsing a document occurs on the source * document as it appears on the input stream, not on the DOM document as it * is built in memory. With filters, the document in memory may be a subset * of the document on the stream, and its validity may have been affected by * the filtering. *

All default attributes must be present on elements when the elements * are passed to the filter methods. All other default content must be * passed to the filter methods. *

DOM applications must not raise exceptions in a filter. The effect of * throwing exceptions from a filter is DOM implementation dependent. *

See also the Document Object Model (DOM) Level 3 Load and Save Specification. */ public interface LSParserFilter { // Constants returned by startElement and acceptNode /** * Accept the node. */ public static final short FILTER_ACCEPT = 1; /** * Reject the node and its children. */ public static final short FILTER_REJECT = 2; /** * Skip this single node. The children of this node will still be * considered. */ public static final short FILTER_SKIP = 3; /** * Interrupt the normal processing of the document. */ public static final short FILTER_INTERRUPT = 4; /** * The parser will call this method after each Element start * tag has been scanned, but before the remainder of the * Element is processed. The intent is to allow the * element, including any children, to be efficiently skipped. Note that * only element nodes are passed to the startElement * function. *
The element node passed to startElement for filtering * will include all of the Element's attributes, but none of the * children nodes. The Element may not yet be in place in the document * being constructed (it may not have a parent node.) *
A startElement filter function may access or change * the attributes for the Element. Changing Namespace declarations will * have no effect on namespace resolution by the parser. *
For efficiency, the Element node passed to the filter may not be * the same one as is actually placed in the tree if the node is * accepted. And the actual node (node object identity) may be reused * during the process of reading in and filtering a document. * @param elementArg The newly encountered element. At the time this * method is called, the element is incomplete - it will have its * attributes, but no children. * @return *

Returning * any other values will result in unspecified behavior. */ public short startElement(Element elementArg); /** * This method will be called by the parser at the completion of the * parsing of each node. The node and all of its descendants will exist * and be complete. The parent node will also exist, although it may be * incomplete, i.e. it may have additional children that have not yet * been parsed. Attribute nodes are never passed to this function. *
From within this method, the new node may be freely modified - * children may be added or removed, text nodes modified, etc. The state * of the rest of the document outside this node is not defined, and the * affect of any attempt to navigate to, or to modify any other part of * the document is undefined. *
For validating parsers, the checks are made on the original * document, before any modification by the filter. No validity checks * are made on any document modifications made by the filter. *
If this new node is rejected, the parser might reuse the new node * and any of its descendants. * @param nodeArg The newly constructed element. At the time this method * is called, the element is complete - it has all of its children * (and their children, recursively) and attributes, and is attached * as a child to its parent. * @return * */ public short acceptNode(Node nodeArg); /** * Tells the LSParser what types of nodes to show to the * method LSParserFilter.acceptNode. If a node is not shown * to the filter using this attribute, it is automatically included in * the DOM document being built. See NodeFilter for * definition of the constants. The constants SHOW_ATTRIBUTE * , SHOW_DOCUMENT, SHOW_DOCUMENT_TYPE, * SHOW_NOTATION, SHOW_ENTITY, and * SHOW_DOCUMENT_FRAGMENT are meaningless here. Those nodes * will never be passed to LSParserFilter.acceptNode. *
The constants used here are defined in [DOM Level 2 Traversal and Range] * . */ public int getWhatToShow(); } org/w3c/dom/ls/LSProgressEvent.java100644 0 0 3542 11146172405 14602 0ustar 0 0 /* * Copyright (c) 2004 World Wide Web Consortium, * * (Massachusetts Institute of Technology, European Research Consortium for * Informatics and Mathematics, Keio University). All Rights Reserved. This * work is distributed under the W3C(r) Software License [1] 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. * * [1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 */ package org.w3c.dom.ls; import org.w3c.dom.events.Event; /** * This interface represents a progress event object that notifies the * application about progress as a document is parsed. It extends the * Event interface defined in [DOM Level 3 Events] * . *

The units used for the attributes position and * totalSize are not specified and can be implementation and * input dependent. *

See also the Document Object Model (DOM) Level 3 Load and Save Specification. */ public interface LSProgressEvent extends Event { /** * The input source that is being parsed. */ public LSInput getInput(); /** * The current position in the input source, including all external * entities and other resources that have been read. */ public int getPosition(); /** * The total size of the document including all external resources, this * number might change as a document is being parsed if references to * more external resources are seen. A value of 0 is * returned if the total size cannot be determined or estimated. */ public int getTotalSize(); } org/w3c/dom/ls/LSResourceResolver.java100644 0 0 11526 11146172405 15326 0ustar 0 0 /* * Copyright (c) 2004 World Wide Web Consortium, * * (Massachusetts Institute of Technology, European Research Consortium for * Informatics and Mathematics, Keio University). All Rights Reserved. This * work is distributed under the W3C(r) Software License [1] 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. * * [1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 */ package org.w3c.dom.ls; /** * LSResourceResolver provides a way for applications to * redirect references to external resources. *

Applications needing to implement custom handling for external * resources can implement this interface and register their implementation * by setting the "resource-resolver" parameter of * DOMConfiguration objects attached to LSParser * and LSSerializer. It can also be register on * DOMConfiguration objects attached to Document * if the "LS" feature is supported. *

The LSParser will then allow the application to intercept * any external entities, including the external DTD subset and external * parameter entities, before including them. The top-level document entity * is never passed to the resolveResource method. *

Many DOM applications will not need to implement this interface, but it * will be especially useful for applications that build XML documents from * databases or other specialized input sources, or for applications that * use URNs. *

Note: LSResourceResolver is based on the SAX2 [SAX] EntityResolver * interface. *

See also the Document Object Model (DOM) Level 3 Load and Save Specification. */ public interface LSResourceResolver { /** * Allow the application to resolve external resources. *
The LSParser will call this method before opening any * external resource, including the external DTD subset, external * entities referenced within the DTD, and external entities referenced * within the document element (however, the top-level document entity * is not passed to this method). The application may then request that * the LSParser resolve the external resource itself, that * it use an alternative URI, or that it use an entirely different input * source. *
Application writers can use this method to redirect external * system identifiers to secure and/or local URI, to look up public * identifiers in a catalogue, or to read an entity from a database or * other input source (including, for example, a dialog box). * @param type The type of the resource being resolved. For XML [XML 1.0] resources * (i.e. entities), applications must use the value * "http://www.w3.org/TR/REC-xml". For XML Schema [XML Schema Part 1] * , applications must use the value * "http://www.w3.org/2001/XMLSchema". Other types of * resources are outside the scope of this specification and therefore * should recommend an absolute URI in order to use this method. * @param namespaceURI The namespace of the resource being resolved, * e.g. the target namespace of the XML Schema [XML Schema Part 1] * when resolving XML Schema resources. * @param publicId The public identifier of the external entity being * referenced, or null if no public identifier was * supplied or if the resource is not an entity. * @param systemId The system identifier, a URI reference [IETF RFC 2396], of the * external resource being referenced, or null if no * system identifier was supplied. * @param baseURI The absolute base URI of the resource being parsed, or * null if there is no base URI. * @return A LSInput object describing the new input * source, or null to request that the parser open a * regular URI connection to the resource. */ public LSInput resolveResource(String type, String namespaceURI, String publicId, String systemId, String baseURI); } org/w3c/dom/ls/LSSerializer.java100644 0 0 62561 11146172405 14133 0ustar 0 0 /* * Copyright (c) 2004 World Wide Web Consortium, * * (Massachusetts Institute of Technology, European Research Consortium for * Informatics and Mathematics, Keio University). All Rights Reserved. This * work is distributed under the W3C(r) Software License [1] 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. * * [1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 */ package org.w3c.dom.ls; import org.w3c.dom.DOMConfiguration; import org.w3c.dom.Node; import org.w3c.dom.DOMException; /** * A LSSerializer provides an API for serializing (writing) a * DOM document out into XML. The XML data is written to a string or an * output stream. Any changes or fixups made during the serialization affect * only the serialized data. The Document object and its * children are never altered by the serialization operation. *

During serialization of XML data, namespace fixup is done as defined in [DOM Level 3 Core] * , Appendix B. [DOM Level 2 Core] * allows empty strings as a real namespace URI. If the * namespaceURI of a Node is empty string, the * serialization will treat them as null, ignoring the prefix * if any. *

LSSerializer accepts any node type for serialization. For * nodes of type Document or Entity, well-formed * XML will be created when possible (well-formedness is guaranteed if the * document or entity comes from a parse operation and is unchanged since it * was created). The serialized output for these node types is either as a * XML document or an External XML Entity, respectively, and is acceptable * input for an XML parser. For all other types of nodes the serialized form * is implementation dependent. *

Within a Document, DocumentFragment, or * Entity being serialized, Nodes are processed as * follows *

*

Note: The serialization of a Node does not always * generate a well-formed XML document, i.e. a LSParser might * throw fatal errors when parsing the resulting serialization. *

Within the character data of a document (outside of markup), any * characters that cannot be represented directly are replaced with * character references. Occurrences of '<' and '&' are replaced by * the predefined entities &lt; and &amp;. The other predefined * entities (&gt;, &apos;, and &quot;) might not be used, except * where needed (e.g. using &gt; in cases such as ']]>'). Any * characters that cannot be represented directly in the output character * encoding are serialized as numeric character references (and since * character encoding standards commonly use hexadecimal representations of * characters, using the hexadecimal representation when serializing * character references is encouraged). *

To allow attribute values to contain both single and double quotes, the * apostrophe or single-quote character (') may be represented as * "&apos;", and the double-quote character (") as "&quot;". New * line characters and other characters that cannot be represented directly * in attribute values in the output character encoding are serialized as a * numeric character reference. *

Within markup, but outside of attributes, any occurrence of a character * that cannot be represented in the output character encoding is reported * as a DOMError fatal error. An example would be serializing * the element <LaCa\u00f1ada/> with encoding="us-ascii". * This will result with a generation of a DOMError * "wf-invalid-character-in-node-name" (as proposed in " * well-formed"). *

When requested by setting the parameter " * normalize-characters" on LSSerializer to true, character normalization is * performed according to the definition of fully * normalized characters included in appendix E of [XML 1.1] on all * data to be serialized, both markup and character data. The character * normalization process affects only the data as it is being written; it * does not alter the DOM's view of the document after serialization has * completed. *

Implementations are required to support the encodings "UTF-8", * "UTF-16", "UTF-16BE", and "UTF-16LE" to guarantee that data is * serializable in all encodings that are required to be supported by all * XML parsers. When the encoding is UTF-8, whether or not a byte order mark * is serialized, or if the output is big-endian or little-endian, is * implementation dependent. When the encoding is UTF-16, whether or not the * output is big-endian or little-endian is implementation dependent, but a * Byte Order Mark must be generated for non-character outputs, such as * LSOutput.byteStream or LSOutput.systemId. If * the Byte Order Mark is not generated, a "byte-order-mark-needed" warning * is reported. When the encoding is UTF-16LE or UTF-16BE, the output is * big-endian (UTF-16BE) or little-endian (UTF-16LE) and the Byte Order Mark * is not be generated. In all cases, the encoding declaration, if * generated, will correspond to the encoding used during the serialization * (e.g. encoding="UTF-16" will appear if UTF-16 was * requested). *

Namespaces are fixed up during serialization, the serialization process * will verify that namespace declarations, namespace prefixes and the * namespace URI associated with elements and attributes are consistent. If * inconsistencies are found, the serialized form of the document will be * altered to remove them. The method used for doing the namespace fixup * while serializing a document is the algorithm defined in Appendix B.1, * "Namespace normalization", of [DOM Level 3 Core] * . *

While serializing a document, the parameter "discard-default-content" * controls whether or not non-specified data is serialized. *

While serializing, errors and warnings are reported to the application * through the error handler (LSSerializer.domConfig's " * error-handler" parameter). This specification does in no way try to define all possible * errors and warnings that can occur while serializing a DOM node, but some * common error and warning cases are defined. The types ( * DOMError.type) of errors and warnings defined by this * specification are: *

*
"no-output-specified" [fatal]
*
Raised when * writing to a LSOutput if no output is specified in the * LSOutput.
*
* "unbound-prefix-in-entity-reference" [fatal]
*
Raised if the * configuration parameter " * namespaces" is set to true and an entity whose replacement text * contains unbound namespace prefixes is referenced in a location where * there are no bindings for the namespace prefixes.
*
* "unsupported-encoding" [fatal]
*
Raised if an unsupported * encoding is encountered.
*
*

In addition to raising the defined errors and warnings, implementations * are expected to raise implementation specific errors and warnings for any * other error and warning cases such as IO errors (file not found, * permission denied,...) and so on. *

See also the Document Object Model (DOM) Level 3 Load and Save Specification. */ public interface LSSerializer { /** * The DOMConfiguration object used by the * LSSerializer when serializing a DOM node. *
In addition to the parameters recognized by the * DOMConfiguration interface defined in [DOM Level 3 Core] * , the DOMConfiguration objects for * LSSerializer adds, or modifies, the following * parameters: *

*
"canonical-form"
*
*
*
true
*
[optional] Writes the document according to the rules specified in [Canonical XML]. * In addition to the behavior described in " * canonical-form" [DOM Level 3 Core] * , setting this parameter to true will set the parameters * "format-pretty-print", "discard-default-content", and "xml-declaration * ", to false. Setting one of those parameters to * true will set this parameter to false. * Serializing an XML 1.1 document when "canonical-form" is * true will generate a fatal error.
*
false
*
[required] (default) Do not canonicalize the output.
*
*
"discard-default-content"
*
*
*
* true
*
[required] (default) Use the Attr.specified attribute to decide what attributes * should be discarded. Note that some implementations might use * whatever information available to the implementation (i.e. XML * schema, DTD, the Attr.specified attribute, and so on) to * determine what attributes and content to discard if this parameter is * set to true.
*
false
*
[required]Keep all attributes and all content.
*
*
"format-pretty-print"
*
*
*
* true
*
[optional] Formatting the output by adding whitespace to produce a pretty-printed, * indented, human-readable form. The exact form of the transformations * is not specified by this specification. Pretty-printing changes the * content of the document and may affect the validity of the document, * validating implementations should preserve validity.
*
* false
*
[required] (default) Don't pretty-print the result.
*
*
* "ignore-unknown-character-denormalizations"
*
*
*
* true
*
[required] (default) If, while verifying full normalization when [XML 1.1] is * supported, a character is encountered for which the normalization * properties cannot be determined, then raise a * "unknown-character-denormalization" warning (instead of * raising an error, if this parameter is not set) and ignore any * possible denormalizations caused by these characters.
*
* false
*
[optional] Report a fatal error if a character is encountered for which the * processor cannot determine the normalization properties.
*
*
* "normalize-characters"
*
This parameter is equivalent to * the one defined by DOMConfiguration in [DOM Level 3 Core] * . Unlike in the Core, the default value for this parameter is * true. While DOM implementations are not required to * support fully * normalizing the characters in the document according to appendix E of [XML 1.1], this * parameter must be activated by default if supported.
*
* "xml-declaration"
*
*
*
true
*
[required] (default) If a Document, Element, or Entity * node is serialized, the XML declaration, or text declaration, should * be included. The version (Document.xmlVersion if the * document is a Level 3 document and the version is non-null, otherwise * use the value "1.0"), and the output encoding (see * LSSerializer.write for details on how to find the output * encoding) are specified in the serialized XML declaration.
*
* false
*
[required] Do not serialize the XML and text declarations. Report a * "xml-declaration-needed" warning if this will cause * problems (i.e. the serialized data is of an XML version other than [XML 1.0], or an * encoding would be needed to be able to re-parse the serialized data).
*
*
*/ public DOMConfiguration getDomConfig(); /** * The end-of-line sequence of characters to be used in the XML being * written out. Any string is supported, but XML treats only a certain * set of characters sequence as end-of-line (See section 2.11, * "End-of-Line Handling" in [XML 1.0], if the * serialized content is XML 1.0 or section 2.11, "End-of-Line Handling" * in [XML 1.1], if the * serialized content is XML 1.1). Using other character sequences than * the recommended ones can result in a document that is either not * serializable or not well-formed). *
On retrieval, the default value of this attribute is the * implementation specific default end-of-line sequence. DOM * implementations should choose the default to match the usual * convention for text files in the environment being used. * Implementations must choose a default sequence that matches one of * those allowed by XML 1.0 or XML 1.1, depending on the serialized * content. Setting this attribute to null will reset its * value to the default value. *
*/ public String getNewLine(); /** * The end-of-line sequence of characters to be used in the XML being * written out. Any string is supported, but XML treats only a certain * set of characters sequence as end-of-line (See section 2.11, * "End-of-Line Handling" in [XML 1.0], if the * serialized content is XML 1.0 or section 2.11, "End-of-Line Handling" * in [XML 1.1], if the * serialized content is XML 1.1). Using other character sequences than * the recommended ones can result in a document that is either not * serializable or not well-formed). *
On retrieval, the default value of this attribute is the * implementation specific default end-of-line sequence. DOM * implementations should choose the default to match the usual * convention for text files in the environment being used. * Implementations must choose a default sequence that matches one of * those allowed by XML 1.0 or XML 1.1, depending on the serialized * content. Setting this attribute to null will reset its * value to the default value. *
*/ public void setNewLine(String newLine); /** * When the application provides a filter, the serializer will call out * to the filter before serializing each Node. The filter implementation * can choose to remove the node from the stream or to terminate the * serialization early. *
The filter is invoked after the operations requested by the * DOMConfiguration parameters have been applied. For * example, CDATA sections won't be passed to the filter if " * cdata-sections" is set to false. */ public LSSerializerFilter getFilter(); /** * When the application provides a filter, the serializer will call out * to the filter before serializing each Node. The filter implementation * can choose to remove the node from the stream or to terminate the * serialization early. *
The filter is invoked after the operations requested by the * DOMConfiguration parameters have been applied. For * example, CDATA sections won't be passed to the filter if " * cdata-sections" is set to false. */ public void setFilter(LSSerializerFilter filter); /** * Serialize the specified node as described above in the general * description of the LSSerializer interface. The output is * written to the supplied LSOutput. *
When writing to a LSOutput, the encoding is found by * looking at the encoding information that is reachable through the * LSOutput and the item to be written (or its owner * document) in this order: *
    *
  1. LSOutput.encoding, *
  2. *
  3. * Document.inputEncoding, *
  4. *
  5. * Document.xmlEncoding. *
  6. *
*
If no encoding is reachable through the above properties, a * default encoding of "UTF-8" will be used. If the specified encoding * is not supported an "unsupported-encoding" fatal error is raised. *
If no output is specified in the LSOutput, a * "no-output-specified" fatal error is raised. *
The implementation is responsible of associating the appropriate * media type with the serialized data. *
When writing to a HTTP URI, a HTTP PUT is performed. When writing * to other types of URIs, the mechanism for writing the data to the URI * is implementation dependent. * @param nodeArg The node to serialize. * @param destination The destination for the serialized DOM. * @return Returns true if node was * successfully serialized. Return false in case the * normal processing stopped but the implementation kept serializing * the document; the result of the serialization being implementation * dependent then. * @exception LSException * SERIALIZE_ERR: Raised if the LSSerializer was unable to * serialize the node. DOM applications should attach a * DOMErrorHandler using the parameter " * error-handler" if they wish to get details on the error. */ public boolean write(Node nodeArg, LSOutput destination) throws LSException; /** * A convenience method that acts as if LSSerializer.write * was called with a LSOutput with no encoding specified * and LSOutput.systemId set to the uri * argument. * @param nodeArg The node to serialize. * @param uri The URI to write to. * @return Returns true if node was * successfully serialized. Return false in case the * normal processing stopped but the implementation kept serializing * the document; the result of the serialization being implementation * dependent then. * @exception LSException * SERIALIZE_ERR: Raised if the LSSerializer was unable to * serialize the node. DOM applications should attach a * DOMErrorHandler using the parameter " * error-handler" if they wish to get details on the error. */ public boolean writeToURI(Node nodeArg, String uri) throws LSException; /** * Serialize the specified node as described above in the general * description of the LSSerializer interface. The output is * written to a DOMString that is returned to the caller. * The encoding used is the encoding of the DOMString type, * i.e. UTF-16. Note that no Byte Order Mark is generated in a * DOMString object. * @param nodeArg The node to serialize. * @return Returns the serialized data. * @exception DOMException * DOMSTRING_SIZE_ERR: Raised if the resulting string is too long to * fit in a DOMString. * @exception LSException * SERIALIZE_ERR: Raised if the LSSerializer was unable to * serialize the node. DOM applications should attach a * DOMErrorHandler using the parameter " * error-handler" if they wish to get details on the error. */ public String writeToString(Node nodeArg) throws DOMException, LSException; } org/w3c/dom/ls/LSSerializerFilter.java100644 0 0 7016 11146172405 15253 0ustar 0 0 /* * Copyright (c) 2004 World Wide Web Consortium, * * (Massachusetts Institute of Technology, European Research Consortium for * Informatics and Mathematics, Keio University). All Rights Reserved. This * work is distributed under the W3C(r) Software License [1] 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. * * [1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 */ package org.w3c.dom.ls; import org.w3c.dom.traversal.NodeFilter; /** * LSSerializerFilters provide applications the ability to * examine nodes as they are being serialized and decide what nodes should * be serialized or not. The LSSerializerFilter interface is * based on the NodeFilter interface defined in [DOM Level 2 Traversal and Range] * . *

Document, DocumentType, * DocumentFragment, Notation, Entity * , and children of Attr nodes are not passed to the filter. * The child nodes of an EntityReference node are only passed * to the filter if the EntityReference node is skipped by the * method LSParserFilter.acceptNode(). *

When serializing an Element, the element is passed to the * filter before any of its attributes are passed to the filter. Namespace * declaration attributes, and default attributes (except in the case when " * discard-default-content" is set to false), are never passed * to the filter. *

The result of any attempt to modify a node passed to a * LSSerializerFilter is implementation dependent. *

DOM applications must not raise exceptions in a filter. The effect of * throwing exceptions from a filter is DOM implementation dependent. *

For efficiency, a node passed to the filter may not be the same as the * one that is actually in the tree. And the actual node (node object * identity) may be reused during the process of filtering and serializing a * document. *

See also the Document Object Model (DOM) Level 3 Load and Save Specification. */ public interface LSSerializerFilter extends NodeFilter { /** * Tells the LSSerializer what types of nodes to show to the * filter. If a node is not shown to the filter using this attribute, it * is automatically serialized. See NodeFilter for * definition of the constants. The constants SHOW_DOCUMENT * , SHOW_DOCUMENT_TYPE, SHOW_DOCUMENT_FRAGMENT * , SHOW_NOTATION, and SHOW_ENTITY are * meaningless here, such nodes will never be passed to a * LSSerializerFilter. *
Unlike [DOM Level 2 Traversal and Range] * , the SHOW_ATTRIBUTE constant indicates that the * Attr nodes are shown and passed to the filter. *
The constants used here are defined in [DOM Level 2 Traversal and Range] * . */ public int getWhatToShow(); } org/w3c/dom/ranges/DocumentRange.java100644 0 0 2724 11146172405 15132 0ustar 0 0 /* * Copyright (c) 2000 World Wide Web Consortium, * (Massachusetts Institute of Technology, Institut National de * Recherche en Informatique et en Automatique, Keio University). All * Rights Reserved. This program is distributed under the W3C's Software * Intellectual Property License. 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 W3C License http://www.w3.org/Consortium/Legal/ for more details. */ package org.w3c.dom.ranges; /** *

See also the Document Object Model (DOM) Level 2 Traversal and Range Specification. * @since DOM Level 2 */ public interface DocumentRange { /** * This interface can be obtained from the object implementing the * Document interface using binding-specific casting * methods. * @return The initial state of the Range returned from this method is * such that both of its boundary-points are positioned at the * beginning of the corresponding Document, before any content. The * Range returned can only be used to select content associated with * this Document, or with DocumentFragments and Attrs for which this * Document is the ownerDocument. */ public Range createRange(); } org/w3c/dom/ranges/Range.java100644 0 0 45134 11146172405 13455 0ustar 0 0 /* * Copyright (c) 2000 World Wide Web Consortium, * (Massachusetts Institute of Technology, Institut National de * Recherche en Informatique et en Automatique, Keio University). All * Rights Reserved. This program is distributed under the W3C's Software * Intellectual Property License. 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 W3C License http://www.w3.org/Consortium/Legal/ for more details. */ package org.w3c.dom.ranges; import org.w3c.dom.Node; import org.w3c.dom.DOMException; import org.w3c.dom.DocumentFragment; /** *

See also the Document Object Model (DOM) Level 2 Traversal and Range Specification. * @since DOM Level 2 */ public interface Range { /** * Node within which the Range begins * @exception DOMException * INVALID_STATE_ERR: Raised if detach() has already been * invoked on this object. */ public Node getStartContainer() throws DOMException; /** * Offset within the starting node of the Range. * @exception DOMException * INVALID_STATE_ERR: Raised if detach() has already been * invoked on this object. */ public int getStartOffset() throws DOMException; /** * Node within which the Range ends * @exception DOMException * INVALID_STATE_ERR: Raised if detach() has already been * invoked on this object. */ public Node getEndContainer() throws DOMException; /** * Offset within the ending node of the Range. * @exception DOMException * INVALID_STATE_ERR: Raised if detach() has already been * invoked on this object. */ public int getEndOffset() throws DOMException; /** * TRUE if the Range is collapsed * @exception DOMException * INVALID_STATE_ERR: Raised if detach() has already been * invoked on this object. */ public boolean getCollapsed() throws DOMException; /** * The deepest common ancestor container of the Range's two * boundary-points. * @exception DOMException * INVALID_STATE_ERR: Raised if detach() has already been * invoked on this object. */ public Node getCommonAncestorContainer() throws DOMException; /** * Sets the attributes describing the start of the Range. * @param refNode The refNode value. This parameter must be * different from null. * @param offset The startOffset value. * @exception RangeException * INVALID_NODE_TYPE_ERR: Raised if refNode or an ancestor * of refNode is an Entity, Notation, or DocumentType * node. * @exception DOMException * INDEX_SIZE_ERR: Raised if offset is negative or greater * than the number of child units in refNode. Child units * are 16-bit units if refNode is a type of CharacterData * node (e.g., a Text or Comment node) or a ProcessingInstruction * node. Child units are Nodes in all other cases. *
INVALID_STATE_ERR: Raised if detach() has already * been invoked on this object. *
WRONG_DOCUMENT_ERR: Raised if refNode was created * from a different document than the one that created this range. */ public void setStart(Node refNode, int offset) throws RangeException, DOMException; /** * Sets the attributes describing the end of a Range. * @param refNode The refNode value. This parameter must be * different from null. * @param offset The endOffset value. * @exception RangeException * INVALID_NODE_TYPE_ERR: Raised if refNode or an ancestor * of refNode is an Entity, Notation, or DocumentType * node. * @exception DOMException * INDEX_SIZE_ERR: Raised if offset is negative or greater * than the number of child units in refNode. Child units * are 16-bit units if refNode is a type of CharacterData * node (e.g., a Text or Comment node) or a ProcessingInstruction * node. Child units are Nodes in all other cases. *
INVALID_STATE_ERR: Raised if detach() has already * been invoked on this object. *
WRONG_DOCUMENT_ERR: Raised if refNode was created * from a different document than the one that created this range. */ public void setEnd(Node refNode, int offset) throws RangeException, DOMException; /** * Sets the start position to be before a node * @param refNode Range starts before refNode * @exception RangeException * INVALID_NODE_TYPE_ERR: Raised if the root container of * refNode is not an Attr, Document, or DocumentFragment * node or if refNode is a Document, DocumentFragment, * Attr, Entity, or Notation node. * @exception DOMException * INVALID_STATE_ERR: Raised if detach() has already been * invoked on this object. *
WRONG_DOCUMENT_ERR: Raised if refNode was created * from a different document than the one that created this range. */ public void setStartBefore(Node refNode) throws RangeException, DOMException; /** * Sets the start position to be after a node * @param refNode Range starts after refNode * @exception RangeException * INVALID_NODE_TYPE_ERR: Raised if the root container of * refNode is not an Attr, Document, or DocumentFragment * node or if refNode is a Document, DocumentFragment, * Attr, Entity, or Notation node. * @exception DOMException * INVALID_STATE_ERR: Raised if detach() has already been * invoked on this object. *
WRONG_DOCUMENT_ERR: Raised if refNode was created * from a different document than the one that created this range. */ public void setStartAfter(Node refNode) throws RangeException, DOMException; /** * Sets the end position to be before a node. * @param refNode Range ends before refNode * @exception RangeException * INVALID_NODE_TYPE_ERR: Raised if the root container of * refNode is not an Attr, Document, or DocumentFragment * node or if refNode is a Document, DocumentFragment, * Attr, Entity, or Notation node. * @exception DOMException * INVALID_STATE_ERR: Raised if detach() has already been * invoked on this object. *
WRONG_DOCUMENT_ERR: Raised if refNode was created * from a different document than the one that created this range. */ public void setEndBefore(Node refNode) throws RangeException, DOMException; /** * Sets the end of a Range to be after a node * @param refNode Range ends after refNode. * @exception RangeException * INVALID_NODE_TYPE_ERR: Raised if the root container of * refNode is not an Attr, Document or DocumentFragment * node or if refNode is a Document, DocumentFragment, * Attr, Entity, or Notation node. * @exception DOMException * INVALID_STATE_ERR: Raised if detach() has already been * invoked on this object. *
WRONG_DOCUMENT_ERR: Raised if refNode was created * from a different document than the one that created this range. */ public void setEndAfter(Node refNode) throws RangeException, DOMException; /** * Collapse a Range onto one of its boundary-points * @param toStart If TRUE, collapses the Range onto its start; if FALSE, * collapses it onto its end. * @exception DOMException * INVALID_STATE_ERR: Raised if detach() has already been * invoked on this object. */ public void collapse(boolean toStart) throws DOMException; /** * Select a node and its contents * @param refNode The node to select. * @exception RangeException * INVALID_NODE_TYPE_ERR: Raised if an ancestor of refNode * is an Entity, Notation or DocumentType node or if * refNode is a Document, DocumentFragment, Attr, Entity, * or Notation node. * @exception DOMException * INVALID_STATE_ERR: Raised if detach() has already been * invoked on this object. *
WRONG_DOCUMENT_ERR: Raised if refNode was created * from a different document than the one that created this range. */ public void selectNode(Node refNode) throws RangeException, DOMException; /** * Select the contents within a node * @param refNode Node to select from * @exception RangeException * INVALID_NODE_TYPE_ERR: Raised if refNode or an ancestor * of refNode is an Entity, Notation or DocumentType node. * @exception DOMException * INVALID_STATE_ERR: Raised if detach() has already been * invoked on this object. *
WRONG_DOCUMENT_ERR: Raised if refNode was created * from a different document than the one that created this range. */ public void selectNodeContents(Node refNode) throws RangeException, DOMException; // CompareHow /** * Compare start boundary-point of sourceRange to start * boundary-point of Range on which compareBoundaryPoints * is invoked. */ public static final short START_TO_START = 0; /** * Compare start boundary-point of sourceRange to end * boundary-point of Range on which compareBoundaryPoints * is invoked. */ public static final short START_TO_END = 1; /** * Compare end boundary-point of sourceRange to end * boundary-point of Range on which compareBoundaryPoints * is invoked. */ public static final short END_TO_END = 2; /** * Compare end boundary-point of sourceRange to start * boundary-point of Range on which compareBoundaryPoints * is invoked. */ public static final short END_TO_START = 3; /** * Compare the boundary-points of two Ranges in a document. * @param how A code representing the type of comparison, as defined * above. * @param sourceRange The Range on which this current * Range is compared to. * @return -1, 0 or 1 depending on whether the corresponding * boundary-point of the Range is respectively before, equal to, or * after the corresponding boundary-point of sourceRange. * @exception DOMException * WRONG_DOCUMENT_ERR: Raised if the two Ranges are not in the same * Document or DocumentFragment. *
INVALID_STATE_ERR: Raised if detach() has already * been invoked on this object. */ public short compareBoundaryPoints(short how, Range sourceRange) throws DOMException; /** * Removes the contents of a Range from the containing document or * document fragment without returning a reference to the removed * content. * @exception DOMException * NO_MODIFICATION_ALLOWED_ERR: Raised if any portion of the content of * the Range is read-only or any of the nodes that contain any of the * content of the Range are read-only. *
INVALID_STATE_ERR: Raised if detach() has already * been invoked on this object. */ public void deleteContents() throws DOMException; /** * Moves the contents of a Range from the containing document or document * fragment to a new DocumentFragment. * @return A DocumentFragment containing the extracted contents. * @exception DOMException * NO_MODIFICATION_ALLOWED_ERR: Raised if any portion of the content of * the Range is read-only or any of the nodes which contain any of the * content of the Range are read-only. *
HIERARCHY_REQUEST_ERR: Raised if a DocumentType node would be * extracted into the new DocumentFragment. *
INVALID_STATE_ERR: Raised if detach() has already * been invoked on this object. */ public DocumentFragment extractContents() throws DOMException; /** * Duplicates the contents of a Range * @return A DocumentFragment that contains content equivalent to this * Range. * @exception DOMException * HIERARCHY_REQUEST_ERR: Raised if a DocumentType node would be * extracted into the new DocumentFragment. *
INVALID_STATE_ERR: Raised if detach() has already * been invoked on this object. */ public DocumentFragment cloneContents() throws DOMException; /** * Inserts a node into the Document or DocumentFragment at the start of * the Range. If the container is a Text node, this will be split at the * start of the Range (as if the Text node's splitText method was * performed at the insertion point) and the insertion will occur * between the two resulting Text nodes. Adjacent Text nodes will not be * automatically merged. If the node to be inserted is a * DocumentFragment node, the children will be inserted rather than the * DocumentFragment node itself. * @param newNode The node to insert at the start of the Range * @exception DOMException * NO_MODIFICATION_ALLOWED_ERR: Raised if an ancestor container of the * start of the Range is read-only. *
WRONG_DOCUMENT_ERR: Raised if newNode and the * container of the start of the Range were not created from the same * document. *
HIERARCHY_REQUEST_ERR: Raised if the container of the start of * the Range is of a type that does not allow children of the type of * newNode or if newNode is an ancestor of * the container. *
INVALID_STATE_ERR: Raised if detach() has already * been invoked on this object. * @exception RangeException * INVALID_NODE_TYPE_ERR: Raised if newNode is an Attr, * Entity, Notation, or Document node. */ public void insertNode(Node newNode) throws DOMException, RangeException; /** * Reparents the contents of the Range to the given node and inserts the * node at the position of the start of the Range. * @param newParent The node to surround the contents with. * @exception DOMException * NO_MODIFICATION_ALLOWED_ERR: Raised if an ancestor container of * either boundary-point of the Range is read-only. *
WRONG_DOCUMENT_ERR: Raised if newParent and the * container of the start of the Range were not created from the same * document. *
HIERARCHY_REQUEST_ERR: Raised if the container of the start of * the Range is of a type that does not allow children of the type of * newParent or if newParent is an ancestor * of the container or if node would end up with a child * node of a type not allowed by the type of node. *
INVALID_STATE_ERR: Raised if detach() has already * been invoked on this object. * @exception RangeException * BAD_BOUNDARYPOINTS_ERR: Raised if the Range partially selects a * non-text node. *
INVALID_NODE_TYPE_ERR: Raised if node is an Attr, * Entity, DocumentType, Notation, Document, or DocumentFragment node. */ public void surroundContents(Node newParent) throws DOMException, RangeException; /** * Produces a new Range whose boundary-points are equal to the * boundary-points of the Range. * @return The duplicated Range. * @exception DOMException * INVALID_STATE_ERR: Raised if detach() has already been * invoked on this object. */ public Range cloneRange() throws DOMException; /** * Returns the contents of a Range as a string. This string contains only * the data characters, not any markup. * @return The contents of the Range. * @exception DOMException * INVALID_STATE_ERR: Raised if detach() has already been * invoked on this object. */ public String toString() throws DOMException; /** * Called to indicate that the Range is no longer in use and that the * implementation may relinquish any resources associated with this * Range. Subsequent calls to any methods or attribute getters on this * Range will result in a DOMException being thrown with an * error code of INVALID_STATE_ERR. * @exception DOMException * INVALID_STATE_ERR: Raised if detach() has already been * invoked on this object. */ public void detach() throws DOMException; } org/w3c/dom/ranges/RangeException.java100644 0 0 3021 11146172405 15301 0ustar 0 0 /* * Copyright (c) 2000 World Wide Web Consortium, * (Massachusetts Institute of Technology, Institut National de * Recherche en Informatique et en Automatique, Keio University). All * Rights Reserved. This program is distributed under the W3C's Software * Intellectual Property License. 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 W3C License http://www.w3.org/Consortium/Legal/ for more details. */ package org.w3c.dom.ranges; /** * Range operations may throw a RangeException as specified in * their method descriptions. *

See also the Document Object Model (DOM) Level 2 Traversal and Range Specification. * @since DOM Level 2 */ public class RangeException extends RuntimeException { public RangeException(short code, String message) { super(message); this.code = code; } public short code; // RangeExceptionCode /** * If the boundary-points of a Range do not meet specific requirements. */ public static final short BAD_BOUNDARYPOINTS_ERR = 1; /** * If the container of an boundary-point of a Range is being set to either * a node of an invalid type or a node with an ancestor of an invalid * type. */ public static final short INVALID_NODE_TYPE_ERR = 2; } org/w3c/dom/smil/ElementTimeControl.java100644 0 0 22263 11146172406 15656 0ustar 0 0 /* * Copyright (c) 2001 World Wide Web Consortium, * (Massachusetts Institute of Technology, Institut National de * Recherche en Informatique et en Automatique, Keio University). All * Rights Reserved. This program is distributed under the W3C's Software * Intellectual Property License. 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 W3C License http://www.w3.org/Consortium/Legal/ for more details. * */ package org.w3c.dom.smil; import org.w3c.dom.DOMException; /** *

SMILAnimation * supports several methods for controlling the behavior of animation: * beginElement() and endElement(), et al. These * methods are used to begin and end an animation that has declared the timing * to respond to the DOM, using the following syntax:

*
<animate begin="indefinite" end="indefinite" .../>
* *

Note that only one of begin or end need be * specified - either or both can be used. The beginElement() * and beginElementAt() methods must do nothing if the animation * is not explicitly set with the begin="indefinite" syntax * above. The endElement() and endElementAt() * methods must do nothing if the animation is not explicitly set with the * end="indefinite" syntax above.

* *

Calling beginElement() causes the animation to begin in much * the same way that an animation with event-based begin timing begins. The * effective begin time is the current presentation time at the time of the DOM * method call. Note that beginElement() is subject to the * restart attribute in the same manner that event-based begin * timing is. If an animation is specified to disallow restarting at a given * point, beginElement() methods calls must fail. Refer also to * the section Restarting * animations.

* *

Calling beginElementAt() has the same effect as * beginElement(), except that the effective begin time is offset * from the current presentation time by an amount specified as a parameter. * Passing a negative value for the offset causes the element to begin as for * beginElement(), but has the effect that the element begins at * the specified offset into its active duration. The * beginElementAt() method must also respect the * restart attribute. The restart semantics for a * beginElementAt() method call are evaluated at the time of the * method call, and not at the effective begin time specified by the offset * parameter.

* *

Calling endElement() causes an animation to end the active * duration, just as end does. Depending upon the value of the * fill attribute, the animation effect may no longer be applied, * or it may be frozen at the current effect. Refer also to the section Freezing animations. If an animation is not currently * active (i.e. if it has not yet begun or if it is frozen), the * endElement() method will fail.

* *

Calling endElementAt() causes an animation to end the active * duration, just as endElement() does, but allows the caller to * specify a positive offset, to cause the element to end at a point in the * future. Other than delaying when the end actually happens, the semantics are * identical to those for endElement(). If * endElementAt() is called more than once while an element is * active, the end time specified by the last method call will determine the * end behavior.

* *

The expectation of the following interface is that an instance of the * ElementTimeControl interface can be obtained by using binding-specific * casting methods on an instance of an animate element. A DOM application can * use the hasFeature method of the DOMImplementation * interface to determine whether the ElementTimeControl interface is * supported or not. The feature string for this interface is * "TimeControl".

* * @see SMIL Animation. */ public interface ElementTimeControl { /** * Causes this element to begin the local timeline (subject to restart constraints). * @return true if the method call was successful and the * element was begun. false if the method call * failed. Possible reasons for failure include: * * @raise DOMException SYNTAX_ERR: The element was not defined * with the appropriate syntax to allow beginElement calls. */ public boolean beginElement() throws DOMException; /** * Causes this element to begin the local timeline (subject to restart * constraints), at the passed offset from the current time when the method * is called. If the offset is >= 0, the semantics are equivalent to an * event-base begin with the specified offset. If the offset is < 0, the * semantics are equivalent to beginElement(), but the element active * duration is evaluated as though the element had begun at the passed * (negative) offset from the current time when the method is called. * * @param offset The offset in seconds at which to begin the element. * @return true if the method call was successful and the element was begun. * false if the method call failed. * Possible reasons for failure include: * * @raise DOMException SYNTAX_ERR: The element was not defined with the appropriate * syntax to allow beginElementAt calls. */ public boolean beginElementAt(float offset) throws DOMException; /** * Causes this element to end the local timeline. * * @return true if the method call was * successful and the element was ended. * false if method call failed. Possible * reasons for failure include: * * @raise DOMException SYNTAX_ERR: The element was not defined with the * appropriate syntax to allow endElement * calls. */ public boolean endElement() throws DOMException; /** * Causes this element to end the local timeline at the specified offset * from the current time when the method is called * * @param offset The offset in seconds at which to end the element. * Must be >= 0. * @return true if the method call was * successful and the element was ended. * false if method call failed. Possible * reasons for failure include: * * @raise DOMException SYNTAX_ERR: The element was not defined with the * appropriate syntax to allow * endElementAt calls. */ public boolean endElementAt(float offset) throws DOMException; } org/w3c/dom/smil/TimeEvent.java100644 0 0 10475 11146172406 14007 0ustar 0 0 /* * Copyright (c) 2001 World Wide Web Consortium, * (Massachusetts Institute of Technology, Institut National de * Recherche en Informatique et en Automatique, Keio University). All * Rights Reserved. This program is distributed under the W3C's Software * Intellectual Property License. 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 W3C License http://www.w3.org/Consortium/Legal/ for more details. */ package org.w3c.dom.smil; import org.w3c.dom.events.Event; import org.w3c.dom.views.AbstractView; /** * The TimeEvent interface provides specific contextual * information associated with Time events. * * @see SMIL Animation. */ public interface TimeEvent extends Event { /** * The view attribute identifies the AbstractView * from which the event was generated. */ public AbstractView getView(); /** * Specifies some detail information about the Event, * depending on the type of event. */ public int getDetail(); /** * The initTimeEvent method is used to initialize the value of * a TimeEvent created through the DocumentEvent * interface. This method may only be called before the * TimeEvent has been dispatched via the * dispatchEvent method, though it may be called multiple * times during that phase if necessary. If called multiple times, the * final invocation takes precedence. * *

The different types of events that can occur are:

* *
*
begin
*
This event is raised when the element local timeline begins to play. * It will be raised each time the element begins the active duration (i.e. * when it restarts, but not when it repeats). It may be raised both in the * course of normal (i.e. scheduled or interactive) timeline play, as well * as in the case that the element was begun with the * beginElement() or beginElementAt() methods. Note * that if an element is restarted while it is currently playing, the * element will raise an end event and another begin event, as the element * restarts. *
    *
  • Bubbles: No
  • *
  • Cancelable: No
  • *
  • Context Info: None
  • *
*
*
end
*
This event is raised at the active end of the element. Note that * this event is not raised at the simple end of each repeat. This event * may be raised both in the course of normal (i.e. scheduled or * interactive) timeline play, as well as in the case that the element was * ended with the endElement() or * endElementAt() methods. Note that if an element is restarted * while it is currently playing, the element will raise an end event and * another begin event, as the element restarts. *
    *
  • Bubbles: No
  • *
  • Cancelable: No
  • *
  • Context Info: None
  • *
*
*
repeat
*
This event is raised when the element local timeline repeats. It * will be raised each time the element repeats, after the first * iteration.
The event provides a numerical indication of which repeat * iteration is beginning. The value is a 0-based integer, but the repeat * event is not raised for the first iteration and so the observed values * of the detail attribute will be >= 1. *
    *
  • Bubbles: No
  • *
  • Cancelable: No
  • *
  • Context Info: detail (current iteration)
  • *
*
*
* * @param typeArg Specifies the event type. * @param viewArg Specifies the Event's * AbstractView. * @param detailArg Specifies the Event's detail. */ public void initTimeEvent(String typeArg, AbstractView viewArg, int detailArg); } org/w3c/dom/stylesheets/DocumentStyle.java100644 0 0 3116 11146172407 16271 0ustar 0 0 /* * Copyright (c) 2000 World Wide Web Consortium, * (Massachusetts Institute of Technology, Institut National de * Recherche en Informatique et en Automatique, Keio University). All * Rights Reserved. This program is distributed under the W3C's Software * Intellectual Property License. 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 W3C License http://www.w3.org/Consortium/Legal/ for more details. */ package org.w3c.dom.stylesheets; /** * The DocumentStyle interface provides a mechanism by which the * style sheets embedded in a document can be retrieved. The expectation is * that an instance of the DocumentStyle interface can be * obtained by using binding-specific casting methods on an instance of the * Document interface. *

See also the Document Object Model (DOM) Level 2 Style Specification. * @since DOM Level 2 */ public interface DocumentStyle { /** * A list containing all the style sheets explicitly linked into or * embedded in a document. For HTML documents, this includes external * style sheets, included via the HTML LINK element, and inline STYLE * elements. In XML, this includes external style sheets, included via * style sheet processing instructions (see [XML StyleSheet]). */ public StyleSheetList getStyleSheets(); } org/w3c/dom/stylesheets/LinkStyle.java100644 0 0 2503 11146172407 15407 0ustar 0 0 /* * Copyright (c) 2000 World Wide Web Consortium, * (Massachusetts Institute of Technology, Institut National de * Recherche en Informatique et en Automatique, Keio University). All * Rights Reserved. This program is distributed under the W3C's Software * Intellectual Property License. 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 W3C License http://www.w3.org/Consortium/Legal/ for more details. */ package org.w3c.dom.stylesheets; /** * The LinkStyle interface provides a mechanism by which a style * sheet can be retrieved from the node responsible for linking it into a * document. An instance of the LinkStyle interface can be * obtained using binding-specific casting methods on an instance of a * linking node (HTMLLinkElement, HTMLStyleElement * or ProcessingInstruction in DOM Level 2). *

See also the Document Object Model (DOM) Level 2 Style Specification. * @since DOM Level 2 */ public interface LinkStyle { /** * The style sheet. */ public StyleSheet getSheet(); } org/w3c/dom/stylesheets/MediaList.java100644 0 0 6722 11146172407 15353 0ustar 0 0 /* * Copyright (c) 2000 World Wide Web Consortium, * (Massachusetts Institute of Technology, Institut National de * Recherche en Informatique et en Automatique, Keio University). All * Rights Reserved. This program is distributed under the W3C's Software * Intellectual Property License. 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 W3C License http://www.w3.org/Consortium/Legal/ for more details. */ package org.w3c.dom.stylesheets; import org.w3c.dom.DOMException; /** * The MediaList interface provides the abstraction of an * ordered collection of media, without defining or constraining how this * collection is implemented. An empty list is the same as a list that * contains the medium "all". *

The items in the MediaList are accessible via an integral * index, starting from 0. *

See also the Document Object Model (DOM) Level 2 Style Specification. * @since DOM Level 2 */ public interface MediaList { /** * The parsable textual representation of the media list. This is a * comma-separated list of media. */ public String getMediaText(); /** * The parsable textual representation of the media list. This is a * comma-separated list of media. * @exception DOMException * SYNTAX_ERR: Raised if the specified string value has a syntax error * and is unparsable. *
NO_MODIFICATION_ALLOWED_ERR: Raised if this media list is * readonly. */ public void setMediaText(String mediaText) throws DOMException; /** * The number of media in the list. The range of valid media is * 0 to length-1 inclusive. */ public int getLength(); /** * Returns the indexth in the list. If index is * greater than or equal to the number of media in the list, this * returns null. * @param index Index into the collection. * @return The medium at the indexth position in the * MediaList, or null if that is not a valid * index. */ public String item(int index); /** * Deletes the medium indicated by oldMedium from the list. * @param oldMedium The medium to delete in the media list. * @exception DOMException * NO_MODIFICATION_ALLOWED_ERR: Raised if this list is readonly. *
NOT_FOUND_ERR: Raised if oldMedium is not in the * list. */ public void deleteMedium(String oldMedium) throws DOMException; /** * Adds the medium newMedium to the end of the list. If the * newMedium is already used, it is first removed. * @param newMedium The new medium to add. * @exception DOMException * INVALID_CHARACTER_ERR: If the medium contains characters that are * invalid in the underlying style language. *
NO_MODIFICATION_ALLOWED_ERR: Raised if this list is readonly. */ public void appendMedium(String newMedium) throws DOMException; } org/w3c/dom/stylesheets/StyleSheet.java100644 0 0 11500 11146172407 15577 0ustar 0 0 /* * Copyright (c) 2000 World Wide Web Consortium, * (Massachusetts Institute of Technology, Institut National de * Recherche en Informatique et en Automatique, Keio University). All * Rights Reserved. This program is distributed under the W3C's Software * Intellectual Property License. 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 W3C License http://www.w3.org/Consortium/Legal/ for more details. */ package org.w3c.dom.stylesheets; import org.w3c.dom.Node; /** * The StyleSheet interface is the abstract base interface for * any type of style sheet. It represents a single style sheet associated * with a structured document. In HTML, the StyleSheet interface represents * either an external style sheet, included via the HTML LINK element, or * an inline STYLE element. In XML, this interface represents an external * style sheet, included via a style sheet processing instruction. *

See also the Document Object Model (DOM) Level 2 Style Specification. * @since DOM Level 2 */ public interface StyleSheet { /** * This specifies the style sheet language for this style sheet. The * style sheet language is specified as a content type (e.g. * "text/css"). The content type is often specified in the * ownerNode. Also see the type attribute definition for * the LINK element in HTML 4.0, and the type * pseudo-attribute for the XML style sheet processing instruction. */ public String getType(); /** * false if the style sheet is applied to the document. * true if it is not. Modifying this attribute may cause a * new resolution of style for the document. A stylesheet only applies * if both an appropriate medium definition is present and the disabled * attribute is false. So, if the media doesn't apply to the current * user agent, the disabled attribute is ignored. */ public boolean getDisabled(); /** * false if the style sheet is applied to the document. * true if it is not. Modifying this attribute may cause a * new resolution of style for the document. A stylesheet only applies * if both an appropriate medium definition is present and the disabled * attribute is false. So, if the media doesn't apply to the current * user agent, the disabled attribute is ignored. */ public void setDisabled(boolean disabled); /** * The node that associates this style sheet with the document. For HTML, * this may be the corresponding LINK or STYLE * element. For XML, it may be the linking processing instruction. For * style sheets that are included by other style sheets, the value of * this attribute is null. */ public Node getOwnerNode(); /** * For style sheet languages that support the concept of style sheet * inclusion, this attribute represents the including style sheet, if * one exists. If the style sheet is a top-level style sheet, or the * style sheet language does not support inclusion, the value of this * attribute is null. */ public StyleSheet getParentStyleSheet(); /** * If the style sheet is a linked style sheet, the value of its attribute * is its location. For inline style sheets, the value of this attribute * is null. See the href attribute definition for the * LINK element in HTML 4.0, and the href pseudo-attribute * for the XML style sheet processing instruction. */ public String getHref(); /** * The advisory title. The title is often specified in the * ownerNode. See the title attribute definition for the * LINK element in HTML 4.0, and the title pseudo-attribute * for the XML style sheet processing instruction. */ public String getTitle(); /** * The intended destination media for style information. The media is * often specified in the ownerNode. If no media has been * specified, the MediaList will be empty. See the media * attribute definition for the LINK element in HTML 4.0, * and the media pseudo-attribute for the XML style sheet processing * instruction . Modifying the media list may cause a change to the * attribute disabled. */ public MediaList getMedia(); } org/w3c/dom/stylesheets/StyleSheetList.java100644 0 0 3335 11146172407 16422 0ustar 0 0 /* * Copyright (c) 2000 World Wide Web Consortium, * (Massachusetts Institute of Technology, Institut National de * Recherche en Informatique et en Automatique, Keio University). All * Rights Reserved. This program is distributed under the W3C's Software * Intellectual Property License. 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 W3C License http://www.w3.org/Consortium/Legal/ for more details. */ package org.w3c.dom.stylesheets; /** * The StyleSheetList interface provides the abstraction of an * ordered collection of style sheets. *

The items in the StyleSheetList are accessible via an * integral index, starting from 0. *

See also the Document Object Model (DOM) Level 2 Style Specification. * @since DOM Level 2 */ public interface StyleSheetList { /** * The number of StyleSheets in the list. The range of valid * child stylesheet indices is 0 to length-1 * inclusive. */ public int getLength(); /** * Used to retrieve a style sheet by ordinal index. If index is greater * than or equal to the number of style sheets in the list, this returns * null. * @param index Index into the collection * @return The style sheet at the index position in the * StyleSheetList, or null if that is not a * valid index. */ public StyleSheet item(int index); } org/w3c/dom/svg/EventListenerInitializer.java100644 0 0 3407 11146172400 16704 0ustar 0 0 /* 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. */ package org.w3c.dom.svg; /** * This interface must be implemented in order to call Java code from * an SVG document. * * A EventListenerInitializer instance is called when * a 'script' element's 'type' attribute value is 'application/java-archive' and when * the manifest of the jar file referenced by the 'xlink:href' attribute contains * a 'SVG-Handler-Class' entry. The value of this entry must be the classname of the * EventListenerInitializer to call. * * This classes implementing this interface must have a default * constructor. * * @version $Id: EventListenerInitializer.java 477018 2006-11-20 03:24:32Z mrglavas $ */ public interface EventListenerInitializer { /** * This method is called by the SVG viewer * when the scripts are loaded to register * the listener needed. * @param doc The current document. */ public void initializeEventListeners(SVGDocument doc); } org/w3c/dom/svg/GetSVGDocument.java100644 0 0 272 11146172400 14464 0ustar 0 0 package org.w3c.dom.svg; import org.w3c.dom.DOMException; public interface GetSVGDocument { public SVGDocument getSVGDocument ( ) throws DOMException; } org/w3c/dom/svg/SVGAElement.java100644 0 0 634 11146172400 13742 0ustar 0 0 package org.w3c.dom.svg; import org.w3c.dom.events.EventTarget; public interface SVGAElement extends SVGElement, SVGURIReference, SVGTests, SVGLangSpace, SVGExternalResourcesRequired, SVGStylable, SVGTransformable, EventTarget { public SVGAnimatedString getTarget( ); } org/w3c/dom/svg/SVGAltGlyphDefElement.java100644 0 0 157 11146172401 15726 0ustar 0 0 package org.w3c.dom.svg; public interface SVGAltGlyphDefElement extends SVGElement { } org/w3c/dom/svg/SVGAltGlyphElement.java100644 0 0 674 11146172400 15312 0ustar 0 0 package org.w3c.dom.svg; import org.w3c.dom.DOMException; public interface SVGAltGlyphElement extends SVGTextPositioningElement, SVGURIReference { public String getGlyphRef( ); public void setGlyphRef( String glyphRef ) throws DOMException; public String getFormat( ); public void setFormat( String format ) throws DOMException; } org/w3c/dom/svg/SVGAltGlyphItemElement.java100644 0 0 160 11146172400 16117 0ustar 0 0 package org.w3c.dom.svg; public interface SVGAltGlyphItemElement extends SVGElement { } org/w3c/dom/svg/SVGAngle.java100644 0 0 2053 11146172400 13313 0ustar 0 0 package org.w3c.dom.svg; import org.w3c.dom.DOMException; public interface SVGAngle { // Angle Unit Types public static final short SVG_ANGLETYPE_UNKNOWN = 0; public static final short SVG_ANGLETYPE_UNSPECIFIED = 1; public static final short SVG_ANGLETYPE_DEG = 2; public static final short SVG_ANGLETYPE_RAD = 3; public static final short SVG_ANGLETYPE_GRAD = 4; public short getUnitType( ); public float getValue( ); public void setValue( float value ) throws DOMException; public float getValueInSpecifiedUnits( ); public void setValueInSpecifiedUnits( float valueInSpecifiedUnits ) throws DOMException; public String getValueAsString( ); public void setValueAsString( String valueAsString ) throws DOMException; public void newValueSpecifiedUnits ( short unitType, float valueInSpecifiedUnits ); public void convertToSpecifiedUnits ( short unitType ); } org/w3c/dom/svg/SVGAnimateColorElement.java100644 0 0 171 11146172400 16133 0ustar 0 0 package org.w3c.dom.svg; public interface SVGAnimateColorElement extends SVGAnimationElement { } org/w3c/dom/svg/SVGAnimateElement.java100644 0 0 164 11146172400 15136 0ustar 0 0 package org.w3c.dom.svg; public interface SVGAnimateElement extends SVGAnimationElement { } org/w3c/dom/svg/SVGAnimateMotionElement.java100644 0 0 172 11146172400 16323 0ustar 0 0 package org.w3c.dom.svg; public interface SVGAnimateMotionElement extends SVGAnimationElement { } org/w3c/dom/svg/SVGAnimateTransformElement.java100644 0 0 175 11146172400 17034 0ustar 0 0 package org.w3c.dom.svg; public interface SVGAnimateTransformElement extends SVGAnimationElement { } org/w3c/dom/svg/SVGAnimatedAngle.java100644 0 0 212 11146172400 14731 0ustar 0 0 package org.w3c.dom.svg; public interface SVGAnimatedAngle { public SVGAngle getBaseVal( ); public SVGAngle getAnimVal( ); } org/w3c/dom/svg/SVGAnimatedBoolean.java100644 0 0 420 11146172400 15263 0ustar 0 0 package org.w3c.dom.svg; import org.w3c.dom.DOMException; public interface SVGAnimatedBoolean { public boolean getBaseVal( ); public void setBaseVal( boolean baseVal ) throws DOMException; public boolean getAnimVal( ); } org/w3c/dom/svg/SVGAnimatedEnumeration.java100644 0 0 416 11146172400 16177 0ustar 0 0 package org.w3c.dom.svg; import org.w3c.dom.DOMException; public interface SVGAnimatedEnumeration { public short getBaseVal( ); public void setBaseVal( short baseVal ) throws DOMException; public short getAnimVal( ); } org/w3c/dom/svg/SVGAnimatedInteger.java100644 0 0 404 11146172400 15303 0ustar 0 0 package org.w3c.dom.svg; import org.w3c.dom.DOMException; public interface SVGAnimatedInteger { public int getBaseVal( ); public void setBaseVal( int baseVal ) throws DOMException; public int getAnimVal( ); } org/w3c/dom/svg/SVGAnimatedLength.java100644 0 0 215 11146172400 15127 0ustar 0 0 package org.w3c.dom.svg; public interface SVGAnimatedLength { public SVGLength getBaseVal( ); public SVGLength getAnimVal( ); } org/w3c/dom/svg/SVGAnimatedLengthList.java100644 0 0 231 11146172400 15761 0ustar 0 0 package org.w3c.dom.svg; public interface SVGAnimatedLengthList { public SVGLengthList getBaseVal( ); public SVGLengthList getAnimVal( ); } org/w3c/dom/svg/SVGAnimatedNumber.java100644 0 0 411 11146172400 15134 0ustar 0 0 package org.w3c.dom.svg; import org.w3c.dom.DOMException; public interface SVGAnimatedNumber { public float getBaseVal( ); public void setBaseVal( float baseVal ) throws DOMException; public float getAnimVal( ); } org/w3c/dom/svg/SVGAnimatedNumberList.java100644 0 0 231 11146172400 15770 0ustar 0 0 package org.w3c.dom.svg; public interface SVGAnimatedNumberList { public SVGNumberList getBaseVal( ); public SVGNumberList getAnimVal( ); } org/w3c/dom/svg/SVGAnimatedPathData.java100644 0 0 445 11146172400 15401 0ustar 0 0 package org.w3c.dom.svg; public interface SVGAnimatedPathData { public SVGPathSegList getPathSegList( ); public SVGPathSegList getNormalizedPathSegList( ); public SVGPathSegList getAnimatedPathSegList( ); public SVGPathSegList getAnimatedNormalizedPathSegList( ); } org/w3c/dom/svg/SVGAnimatedPoints.java100644 0 0 235 11146172400 15164 0ustar 0 0 package org.w3c.dom.svg; public interface SVGAnimatedPoints { public SVGPointList getPoints( ); public SVGPointList getAnimatedPoints( ); } org/w3c/dom/svg/SVGAnimatedPreserveAspectRatio.java100644 0 0 264 11146172400 17644 0ustar 0 0 package org.w3c.dom.svg; public interface SVGAnimatedPreserveAspectRatio { public SVGPreserveAspectRatio getBaseVal( ); public SVGPreserveAspectRatio getAnimVal( ); } org/w3c/dom/svg/SVGAnimatedRect.java100644 0 0 207 11146172400 14604 0ustar 0 0 package org.w3c.dom.svg; public interface SVGAnimatedRect { public SVGRect getBaseVal( ); public SVGRect getAnimVal( ); } org/w3c/dom/svg/SVGAnimatedString.java100644 0 0 414 11146172400 15155 0ustar 0 0 package org.w3c.dom.svg; import org.w3c.dom.DOMException; public interface SVGAnimatedString { public String getBaseVal( ); public void setBaseVal( String baseVal ) throws DOMException; public String getAnimVal( ); } org/w3c/dom/svg/SVGAnimatedTransformList.java100644 0 0 242 11146172400 16515 0ustar 0 0 package org.w3c.dom.svg; public interface SVGAnimatedTransformList { public SVGTransformList getBaseVal( ); public SVGTransformList getAnimVal( ); } org/w3c/dom/svg/SVGAnimationElement.java100644 0 0 1062 11146172400 15515 0ustar 0 0 package org.w3c.dom.svg; import org.w3c.dom.DOMException; import org.w3c.dom.events.EventTarget; import org.w3c.dom.smil.ElementTimeControl; public interface SVGAnimationElement extends SVGElement, SVGTests, SVGExternalResourcesRequired, ElementTimeControl, EventTarget { public SVGElement getTargetElement( ); public float getStartTime ( ); public float getCurrentTime ( ); public float getSimpleDuration ( ) throws DOMException; } org/w3c/dom/svg/SVGCSSRule.java100644 0 0 373 11146172400 13530 0ustar 0 0 package org.w3c.dom.svg; import org.w3c.dom.css.CSSRule; public interface SVGCSSRule extends CSSRule { // Additional CSS RuleType to support ICC color specifications public static final short COLOR_PROFILE_RULE = 7; } org/w3c/dom/svg/SVGCircleElement.java100644 0 0 707 11146172400 14764 0ustar 0 0 package org.w3c.dom.svg; import org.w3c.dom.events.EventTarget; public interface SVGCircleElement extends SVGElement, SVGTests, SVGLangSpace, SVGExternalResourcesRequired, SVGStylable, SVGTransformable, EventTarget { public SVGAnimatedLength getCx( ); public SVGAnimatedLength getCy( ); public SVGAnimatedLength getR( ); } org/w3c/dom/svg/SVGClipPathElement.java100644 0 0 545 11146172400 15267 0ustar 0 0 package org.w3c.dom.svg; public interface SVGClipPathElement extends SVGElement, SVGTests, SVGLangSpace, SVGExternalResourcesRequired, SVGStylable, SVGTransformable, SVGUnitTypes { public SVGAnimatedEnumeration getClipPathUnits( ); } org/w3c/dom/svg/SVGColor.java100644 0 0 1604 11146172400 13344 0ustar 0 0 package org.w3c.dom.svg; import org.w3c.dom.css.CSSValue; import org.w3c.dom.css.RGBColor; public interface SVGColor extends CSSValue { // Color Types public static final short SVG_COLORTYPE_UNKNOWN = 0; public static final short SVG_COLORTYPE_RGBCOLOR = 1; public static final short SVG_COLORTYPE_RGBCOLOR_ICCCOLOR = 2; public static final short SVG_COLORTYPE_CURRENTCOLOR = 3; public short getColorType( ); public RGBColor getRGBColor( ); public SVGICCColor getICCColor( ); public void setRGBColor ( String rgbColor ) throws SVGException; public void setRGBColorICCColor ( String rgbColor, String iccColor ) throws SVGException; public void setColor ( short colorType, String rgbColor, String iccColor ) throws SVGException; } org/w3c/dom/svg/SVGColorProfileElement.java100644 0 0 1163 11146172400 16177 0ustar 0 0 package org.w3c.dom.svg; import org.w3c.dom.DOMException; public interface SVGColorProfileElement extends SVGElement, SVGURIReference, SVGRenderingIntent { public String getLocal( ); public void setLocal( String local ) throws DOMException; public String getName( ); public void setName( String name ) throws DOMException; public short getRenderingIntent( ); public void setRenderingIntent( short renderingIntent ) throws DOMException; } org/w3c/dom/svg/SVGColorProfileRule.java100644 0 0 1111 11146172400 15506 0ustar 0 0 package org.w3c.dom.svg; import org.w3c.dom.DOMException; public interface SVGColorProfileRule extends SVGCSSRule, SVGRenderingIntent { public String getSrc( ); public void setSrc( String src ) throws DOMException; public String getName( ); public void setName( String name ) throws DOMException; public short getRenderingIntent( ); public void setRenderingIntent( short renderingIntent ) throws DOMException; } org/w3c/dom/svg/SVGComponentTransferFunctionElement.java100644 0 0 1644 11146172400 20761 0ustar 0 0 package org.w3c.dom.svg; public interface SVGComponentTransferFunctionElement extends SVGElement { // Component Transfer Types public static final short SVG_FECOMPONENTTRANSFER_TYPE_UNKNOWN = 0; public static final short SVG_FECOMPONENTTRANSFER_TYPE_IDENTITY = 1; public static final short SVG_FECOMPONENTTRANSFER_TYPE_TABLE = 2; public static final short SVG_FECOMPONENTTRANSFER_TYPE_DISCRETE = 3; public static final short SVG_FECOMPONENTTRANSFER_TYPE_LINEAR = 4; public static final short SVG_FECOMPONENTTRANSFER_TYPE_GAMMA = 5; public SVGAnimatedEnumeration getType( ); public SVGAnimatedNumberList getTableValues( ); public SVGAnimatedNumber getSlope( ); public SVGAnimatedNumber getIntercept( ); public SVGAnimatedNumber getAmplitude( ); public SVGAnimatedNumber getExponent( ); public SVGAnimatedNumber getOffset( ); } org/w3c/dom/svg/SVGCursorElement.java100644 0 0 435 11146172400 15036 0ustar 0 0 package org.w3c.dom.svg; public interface SVGCursorElement extends SVGElement, SVGURIReference, SVGTests, SVGExternalResourcesRequired { public SVGAnimatedLength getX( ); public SVGAnimatedLength getY( ); } org/w3c/dom/svg/SVGDefinitionSrcElement.java100644 0 0 161 11146172400 16315 0ustar 0 0 package org.w3c.dom.svg; public interface SVGDefinitionSrcElement extends SVGElement { } org/w3c/dom/svg/SVGDefsElement.java100644 0 0 524 11146172400 14441 0ustar 0 0 package org.w3c.dom.svg; import org.w3c.dom.events.EventTarget; public interface SVGDefsElement extends SVGElement, SVGTests, SVGLangSpace, SVGExternalResourcesRequired, SVGStylable, SVGTransformable, EventTarget { } org/w3c/dom/svg/SVGDescElement.java100644 0 0 243 11146172400 14434 0ustar 0 0 package org.w3c.dom.svg; public interface SVGDescElement extends SVGElement, SVGLangSpace, SVGStylable { } org/w3c/dom/svg/SVGDocument.java100644 0 0 602 11146172400 14021 0ustar 0 0 package org.w3c.dom.svg; import org.w3c.dom.Document; import org.w3c.dom.events.DocumentEvent; public interface SVGDocument extends Document, DocumentEvent { public String getTitle( ); public String getReferrer( ); public String getDomain( ); public String getURL( ); public SVGSVGElement getRootElement( ); } org/w3c/dom/svg/SVGElement.java100644 0 0 752 11146172400 13642 0ustar 0 0 package org.w3c.dom.svg; import org.w3c.dom.DOMException; import org.w3c.dom.Element; public interface SVGElement extends Element { public String getId( ); public void setId( String id ) throws DOMException; public String getXMLbase( ); public void setXMLbase( String xmlbase ) throws DOMException; public SVGSVGElement getOwnerSVGElement( ); public SVGElement getViewportElement( ); } org/w3c/dom/svg/SVGElementInstance.java100644 0 0 1042 11146172400 15340 0ustar 0 0 package org.w3c.dom.svg; import org.w3c.dom.events.EventTarget; public interface SVGElementInstance extends EventTarget { public SVGElement getCorrespondingElement( ); public SVGUseElement getCorrespondingUseElement( ); public SVGElementInstance getParentNode( ); public SVGElementInstanceList getChildNodes( ); public SVGElementInstance getFirstChild( ); public SVGElementInstance getLastChild( ); public SVGElementInstance getPreviousSibling( ); public SVGElementInstance getNextSibling( ); } org/w3c/dom/svg/SVGElementInstanceList.java100644 0 0 233 11146172400 16155 0ustar 0 0 package org.w3c.dom.svg; public interface SVGElementInstanceList { public int getLength( ); public SVGElementInstance item ( int index ); } org/w3c/dom/svg/SVGEllipseElement.java100644 0 0 757 11146172400 15165 0ustar 0 0 package org.w3c.dom.svg; import org.w3c.dom.events.EventTarget; public interface SVGEllipseElement extends SVGElement, SVGTests, SVGLangSpace, SVGExternalResourcesRequired, SVGStylable, SVGTransformable, EventTarget { public SVGAnimatedLength getCx( ); public SVGAnimatedLength getCy( ); public SVGAnimatedLength getRx( ); public SVGAnimatedLength getRy( ); } org/w3c/dom/svg/SVGEvent.java100644 0 0 201 11146172400 13317 0ustar 0 0 package org.w3c.dom.svg; import org.w3c.dom.events.Event; public interface SVGEvent extends Event { } org/w3c/dom/svg/SVGException.java100644 0 0 653 11146172400 14207 0ustar 0 0 package org.w3c.dom.svg; public abstract class SVGException extends RuntimeException { public SVGException(short code, String message) { super(message); this.code = code; } public short code; // ExceptionCode public static final short SVG_WRONG_TYPE_ERR = 0; public static final short SVG_INVALID_VALUE_ERR = 1; public static final short SVG_MATRIX_NOT_INVERTABLE = 2; } org/w3c/dom/svg/SVGExternalResourcesRequired.java100644 0 0 220 11146172400 17415 0ustar 0 0 package org.w3c.dom.svg; public interface SVGExternalResourcesRequired { public SVGAnimatedBoolean getExternalResourcesRequired( ); } org/w3c/dom/svg/SVGFEBlendElement.java100644 0 0 1247 11146172400 15042 0ustar 0 0 package org.w3c.dom.svg; public interface SVGFEBlendElement extends SVGElement, SVGFilterPrimitiveStandardAttributes { // Blend Mode Types public static final short SVG_FEBLEND_MODE_UNKNOWN = 0; public static final short SVG_FEBLEND_MODE_NORMAL = 1; public static final short SVG_FEBLEND_MODE_MULTIPLY = 2; public static final short SVG_FEBLEND_MODE_SCREEN = 3; public static final short SVG_FEBLEND_MODE_DARKEN = 4; public static final short SVG_FEBLEND_MODE_LIGHTEN = 5; public SVGAnimatedString getIn1( ); public SVGAnimatedString getIn2( ); public SVGAnimatedEnumeration getMode( ); } org/w3c/dom/svg/SVGFEColorMatrixElement.java100644 0 0 1274 11146172400 16261 0ustar 0 0 package org.w3c.dom.svg; public interface SVGFEColorMatrixElement extends SVGElement, SVGFilterPrimitiveStandardAttributes { // Color Matrix Types public static final short SVG_FECOLORMATRIX_TYPE_UNKNOWN = 0; public static final short SVG_FECOLORMATRIX_TYPE_MATRIX = 1; public static final short SVG_FECOLORMATRIX_TYPE_SATURATE = 2; public static final short SVG_FECOLORMATRIX_TYPE_HUEROTATE = 3; public static final short SVG_FECOLORMATRIX_TYPE_LUMINANCETOALPHA = 4; public SVGAnimatedString getIn1( ); public SVGAnimatedEnumeration getType( ); public SVGAnimatedNumberList getValues( ); } org/w3c/dom/svg/SVGFEComponentTransferElement.java100644 0 0 324 11146172400 17440 0ustar 0 0 package org.w3c.dom.svg; public interface SVGFEComponentTransferElement extends SVGElement, SVGFilterPrimitiveStandardAttributes { public SVGAnimatedString getIn1( ); } org/w3c/dom/svg/SVGFECompositeElement.java100644 0 0 1740 11146172400 15756 0ustar 0 0 package org.w3c.dom.svg; public interface SVGFECompositeElement extends SVGElement, SVGFilterPrimitiveStandardAttributes { // Composite Operators public static final short SVG_FECOMPOSITE_OPERATOR_UNKNOWN = 0; public static final short SVG_FECOMPOSITE_OPERATOR_OVER = 1; public static final short SVG_FECOMPOSITE_OPERATOR_IN = 2; public static final short SVG_FECOMPOSITE_OPERATOR_OUT = 3; public static final short SVG_FECOMPOSITE_OPERATOR_ATOP = 4; public static final short SVG_FECOMPOSITE_OPERATOR_XOR = 5; public static final short SVG_FECOMPOSITE_OPERATOR_ARITHMETIC = 6; public SVGAnimatedString getIn1( ); public SVGAnimatedString getIn2( ); public SVGAnimatedEnumeration getOperator( ); public SVGAnimatedNumber getK1( ); public SVGAnimatedNumber getK2( ); public SVGAnimatedNumber getK3( ); public SVGAnimatedNumber getK4( ); } org/w3c/dom/svg/SVGFEConvolveMatrixElement.java100644 0 0 1722 11146172400 16774 0ustar 0 0 package org.w3c.dom.svg; public interface SVGFEConvolveMatrixElement extends SVGElement, SVGFilterPrimitiveStandardAttributes { // Edge Mode Values public static final short SVG_EDGEMODE_UNKNOWN = 0; public static final short SVG_EDGEMODE_DUPLICATE = 1; public static final short SVG_EDGEMODE_WRAP = 2; public static final short SVG_EDGEMODE_NONE = 3; public SVGAnimatedInteger getOrderX( ); public SVGAnimatedInteger getOrderY( ); public SVGAnimatedNumberList getKernelMatrix( ); public SVGAnimatedNumber getDivisor( ); public SVGAnimatedNumber getBias( ); public SVGAnimatedInteger getTargetX( ); public SVGAnimatedInteger getTargetY( ); public SVGAnimatedEnumeration getEdgeMode( ); public SVGAnimatedNumber getKernelUnitLengthX( ); public SVGAnimatedNumber getKernelUnitLengthY( ); public SVGAnimatedBoolean getPreserveAlpha( ); } org/w3c/dom/svg/SVGFEDiffuseLightingElement.java100644 0 0 635 11146172400 17051 0ustar 0 0 package org.w3c.dom.svg; public interface SVGFEDiffuseLightingElement extends SVGElement, SVGFilterPrimitiveStandardAttributes { public SVGAnimatedString getIn1( ); public SVGAnimatedNumber getSurfaceScale( ); public SVGAnimatedNumber getDiffuseConstant( ); public SVGAnimatedNumber getKernelUnitLengthX( ); public SVGAnimatedNumber getKernelUnitLengthY( ); } org/w3c/dom/svg/SVGFEDisplacementMapElement.java100644 0 0 1313 11146172400 17056 0ustar 0 0 package org.w3c.dom.svg; public interface SVGFEDisplacementMapElement extends SVGElement, SVGFilterPrimitiveStandardAttributes { // Channel Selectors public static final short SVG_CHANNEL_UNKNOWN = 0; public static final short SVG_CHANNEL_R = 1; public static final short SVG_CHANNEL_G = 2; public static final short SVG_CHANNEL_B = 3; public static final short SVG_CHANNEL_A = 4; public SVGAnimatedString getIn1( ); public SVGAnimatedString getIn2( ); public SVGAnimatedNumber getScale( ); public SVGAnimatedEnumeration getXChannelSelector( ); public SVGAnimatedEnumeration getYChannelSelector( ); } org/w3c/dom/svg/SVGFEDistantLightElement.java100644 0 0 312 11146172400 16364 0ustar 0 0 package org.w3c.dom.svg; public interface SVGFEDistantLightElement extends SVGElement { public SVGAnimatedNumber getAzimuth( ); public SVGAnimatedNumber getElevation( ); } org/w3c/dom/svg/SVGFEFloodElement.java100644 0 0 315 11146172400 15034 0ustar 0 0 package org.w3c.dom.svg; public interface SVGFEFloodElement extends SVGElement, SVGFilterPrimitiveStandardAttributes { public SVGAnimatedString getIn1( ); } org/w3c/dom/svg/SVGFEFuncAElement.java100644 0 0 204 11146172400 14762 0ustar 0 0 package org.w3c.dom.svg; public interface SVGFEFuncAElement extends SVGComponentTransferFunctionElement { } org/w3c/dom/svg/SVGFEFuncBElement.java100644 0 0 204 11146172400 14763 0ustar 0 0 package org.w3c.dom.svg; public interface SVGFEFuncBElement extends SVGComponentTransferFunctionElement { } org/w3c/dom/svg/SVGFEFuncGElement.java100644 0 0 204 11146172400 14770 0ustar 0 0 package org.w3c.dom.svg; public interface SVGFEFuncGElement extends SVGComponentTransferFunctionElement { } org/w3c/dom/svg/SVGFEFuncRElement.java100644 0 0 204 11146172401 15004 0ustar 0 0 package org.w3c.dom.svg; public interface SVGFEFuncRElement extends SVGComponentTransferFunctionElement { } org/w3c/dom/svg/SVGFEGaussianBlurElement.java100644 0 0 600 11146172400 16365 0ustar 0 0 package org.w3c.dom.svg; public interface SVGFEGaussianBlurElement extends SVGElement, SVGFilterPrimitiveStandardAttributes { public SVGAnimatedString getIn1( ); public SVGAnimatedNumber getStdDeviationX( ); public SVGAnimatedNumber getStdDeviationY( ); public void setStdDeviation ( float stdDeviationX, float stdDeviationY ); } org/w3c/dom/svg/SVGFEImageElement.java100644 0 0 526 11146172400 15017 0ustar 0 0 package org.w3c.dom.svg; public interface SVGFEImageElement extends SVGElement, SVGURIReference, SVGLangSpace, SVGExternalResourcesRequired, SVGFilterPrimitiveStandardAttributes { public SVGAnimatedPreserveAspectRatio getPreserveAspectRatio( ); } org/w3c/dom/svg/SVGFEMergeElement.java100644 0 0 241 11146172400 15026 0ustar 0 0 package org.w3c.dom.svg; public interface SVGFEMergeElement extends SVGElement, SVGFilterPrimitiveStandardAttributes { } org/w3c/dom/svg/SVGFEMergeNodeElement.java100644 0 0 226 11146172400 15637 0ustar 0 0 package org.w3c.dom.svg; public interface SVGFEMergeNodeElement extends SVGElement { public SVGAnimatedString getIn1( ); } org/w3c/dom/svg/SVGFEMorphologyElement.java100644 0 0 1106 11146172400 16147 0ustar 0 0 package org.w3c.dom.svg; public interface SVGFEMorphologyElement extends SVGElement, SVGFilterPrimitiveStandardAttributes { // Morphology Operators public static final short SVG_MORPHOLOGY_OPERATOR_UNKNOWN = 0; public static final short SVG_MORPHOLOGY_OPERATOR_ERODE = 1; public static final short SVG_MORPHOLOGY_OPERATOR_DILATE = 2; public SVGAnimatedString getIn1( ); public SVGAnimatedEnumeration getOperator( ); public SVGAnimatedNumber getRadiusX( ); public SVGAnimatedNumber getRadiusY( ); } org/w3c/dom/svg/SVGFEOffsetElement.java100644 0 0 425 11146172400 15221 0ustar 0 0 package org.w3c.dom.svg; public interface SVGFEOffsetElement extends SVGElement, SVGFilterPrimitiveStandardAttributes { public SVGAnimatedString getIn1( ); public SVGAnimatedNumber getDx( ); public SVGAnimatedNumber getDy( ); } org/w3c/dom/svg/SVGFEPointLightElement.java100644 0 0 337 11146172400 16056 0ustar 0 0 package org.w3c.dom.svg; public interface SVGFEPointLightElement extends SVGElement { public SVGAnimatedNumber getX( ); public SVGAnimatedNumber getY( ); public SVGAnimatedNumber getZ( ); } org/w3c/dom/svg/SVGFESpecularLightingElement.java100644 0 0 553 11146172400 17241 0ustar 0 0 package org.w3c.dom.svg; public interface SVGFESpecularLightingElement extends SVGElement, SVGFilterPrimitiveStandardAttributes { public SVGAnimatedString getIn1( ); public SVGAnimatedNumber getSurfaceScale( ); public SVGAnimatedNumber getSpecularConstant( ); public SVGAnimatedNumber getSpecularExponent( ); } org/w3c/dom/svg/SVGFESpotLightElement.java100644 0 0 716 11146172400 15713 0ustar 0 0 package org.w3c.dom.svg; public interface SVGFESpotLightElement extends SVGElement { public SVGAnimatedNumber getX( ); public SVGAnimatedNumber getY( ); public SVGAnimatedNumber getZ( ); public SVGAnimatedNumber getPointsAtX( ); public SVGAnimatedNumber getPointsAtY( ); public SVGAnimatedNumber getPointsAtZ( ); public SVGAnimatedNumber getSpecularExponent( ); public SVGAnimatedNumber getLimitingConeAngle( ); } org/w3c/dom/svg/SVGFETileElement.java100644 0 0 307 11146172400 14667 0ustar 0 0 package org.w3c.dom.svg; public interface SVGFETileElement extends SVGElement, SVGFilterPrimitiveStandardAttributes { public SVGAnimatedString getIn1( ); } org/w3c/dom/svg/SVGFETurbulenceElement.java100644 0 0 1572 11146172400 16127 0ustar 0 0 package org.w3c.dom.svg; public interface SVGFETurbulenceElement extends SVGElement, SVGFilterPrimitiveStandardAttributes { // Turbulence Types public static final short SVG_TURBULENCE_TYPE_UNKNOWN = 0; public static final short SVG_TURBULENCE_TYPE_FRACTALNOISE = 1; public static final short SVG_TURBULENCE_TYPE_TURBULENCE = 2; // Stitch Options public static final short SVG_STITCHTYPE_UNKNOWN = 0; public static final short SVG_STITCHTYPE_STITCH = 1; public static final short SVG_STITCHTYPE_NOSTITCH = 2; public SVGAnimatedNumber getBaseFrequencyX( ); public SVGAnimatedNumber getBaseFrequencyY( ); public SVGAnimatedInteger getNumOctaves( ); public SVGAnimatedNumber getSeed( ); public SVGAnimatedEnumeration getStitchTiles( ); public SVGAnimatedEnumeration getType( ); } org/w3c/dom/svg/SVGFilterElement.java100644 0 0 1324 11146172400 15024 0ustar 0 0 package org.w3c.dom.svg; public interface SVGFilterElement extends SVGElement, SVGURIReference, SVGLangSpace, SVGExternalResourcesRequired, SVGStylable, SVGUnitTypes { public SVGAnimatedEnumeration getFilterUnits( ); public SVGAnimatedEnumeration getPrimitiveUnits( ); public SVGAnimatedLength getX( ); public SVGAnimatedLength getY( ); public SVGAnimatedLength getWidth( ); public SVGAnimatedLength getHeight( ); public SVGAnimatedInteger getFilterResX( ); public SVGAnimatedInteger getFilterResY( ); public void setFilterRes ( int filterResX, int filterResY ); } org/w3c/dom/svg/SVGFilterPrimitiveStandardAttributes.java100644 0 0 506 11146172400 21114 0ustar 0 0 package org.w3c.dom.svg; public interface SVGFilterPrimitiveStandardAttributes extends SVGStylable { public SVGAnimatedLength getX( ); public SVGAnimatedLength getY( ); public SVGAnimatedLength getWidth( ); public SVGAnimatedLength getHeight( ); public SVGAnimatedString getResult( ); } org/w3c/dom/svg/SVGFitToViewBox.java100644 0 0 301 11146172400 14570 0ustar 0 0 package org.w3c.dom.svg; public interface SVGFitToViewBox { public SVGAnimatedRect getViewBox( ); public SVGAnimatedPreserveAspectRatio getPreserveAspectRatio( ); } org/w3c/dom/svg/SVGFontElement.java100644 0 0 263 11146172400 14466 0ustar 0 0 package org.w3c.dom.svg; public interface SVGFontElement extends SVGElement, SVGExternalResourcesRequired, SVGStylable { } org/w3c/dom/svg/SVGFontFaceElement.java100644 0 0 154 11146172400 15244 0ustar 0 0 package org.w3c.dom.svg; public interface SVGFontFaceElement extends SVGElement { } org/w3c/dom/svg/SVGFontFaceFormatElement.java100644 0 0 162 11146172400 16414 0ustar 0 0 package org.w3c.dom.svg; public interface SVGFontFaceFormatElement extends SVGElement { } org/w3c/dom/svg/SVGFontFaceNameElement.java100644 0 0 160 11146172400 16042 0ustar 0 0 package org.w3c.dom.svg; public interface SVGFontFaceNameElement extends SVGElement { } org/w3c/dom/svg/SVGFontFaceSrcElement.java100644 0 0 157 11146172400 15717 0ustar 0 0 package org.w3c.dom.svg; public interface SVGFontFaceSrcElement extends SVGElement { } org/w3c/dom/svg/SVGFontFaceUriElement.java100644 0 0 157 11146172400 15727 0ustar 0 0 package org.w3c.dom.svg; public interface SVGFontFaceUriElement extends SVGElement { } org/w3c/dom/svg/SVGForeignObjectElement.java100644 0 0 772 11146172400 16305 0ustar 0 0 package org.w3c.dom.svg; import org.w3c.dom.events.EventTarget; public interface SVGForeignObjectElement extends SVGElement, SVGTests, SVGLangSpace, SVGExternalResourcesRequired, SVGStylable, SVGTransformable, EventTarget { public SVGAnimatedLength getX( ); public SVGAnimatedLength getY( ); public SVGAnimatedLength getWidth( ); public SVGAnimatedLength getHeight( ); } org/w3c/dom/svg/SVGGElement.java100644 0 0 521 11146172400 13743 0ustar 0 0 package org.w3c.dom.svg; import org.w3c.dom.events.EventTarget; public interface SVGGElement extends SVGElement, SVGTests, SVGLangSpace, SVGExternalResourcesRequired, SVGStylable, SVGTransformable, EventTarget { } org/w3c/dom/svg/SVGGlyphElement.java100644 0 0 206 11146172400 14640 0ustar 0 0 package org.w3c.dom.svg; public interface SVGGlyphElement extends SVGElement, SVGStylable { } org/w3c/dom/svg/SVGGlyphRefElement.java100644 0 0 1604 11146172400 15320 0ustar 0 0 package org.w3c.dom.svg; import org.w3c.dom.DOMException; public interface SVGGlyphRefElement extends SVGElement, SVGURIReference, SVGStylable { public String getGlyphRef( ); public void setGlyphRef( String glyphRef ) throws DOMException; public String getFormat( ); public void setFormat( String format ) throws DOMException; public float getX( ); public void setX( float x ) throws DOMException; public float getY( ); public void setY( float y ) throws DOMException; public float getDx( ); public void setDx( float dx ) throws DOMException; public float getDy( ); public void setDy( float dy ) throws DOMException; } org/w3c/dom/svg/SVGGradientElement.java100644 0 0 1251 11146172400 15333 0ustar 0 0 package org.w3c.dom.svg; public interface SVGGradientElement extends SVGElement, SVGURIReference, SVGExternalResourcesRequired, SVGStylable, SVGUnitTypes { // Spread Method Types public static final short SVG_SPREADMETHOD_UNKNOWN = 0; public static final short SVG_SPREADMETHOD_PAD = 1; public static final short SVG_SPREADMETHOD_REFLECT = 2; public static final short SVG_SPREADMETHOD_REPEAT = 3; public SVGAnimatedEnumeration getGradientUnits( ); public SVGAnimatedTransformList getGradientTransform( ); public SVGAnimatedEnumeration getSpreadMethod( ); } org/w3c/dom/svg/SVGHKernElement.java100644 0 0 151 11146172400 14563 0ustar 0 0 package org.w3c.dom.svg; public interface SVGHKernElement extends SVGElement { } org/w3c/dom/svg/SVGICCColor.java100644 0 0 433 11146172400 13642 0ustar 0 0 package org.w3c.dom.svg; import org.w3c.dom.DOMException; public interface SVGICCColor { public String getColorProfile( ); public void setColorProfile( String colorProfile ) throws DOMException; public SVGNumberList getColors( ); } org/w3c/dom/svg/SVGImageElement.java100644 0 0 1127 11146172400 14622 0ustar 0 0 package org.w3c.dom.svg; import org.w3c.dom.events.EventTarget; public interface SVGImageElement extends SVGElement, SVGURIReference, SVGTests, SVGLangSpace, SVGExternalResourcesRequired, SVGStylable, SVGTransformable, EventTarget { public SVGAnimatedLength getX( ); public SVGAnimatedLength getY( ); public SVGAnimatedLength getWidth( ); public SVGAnimatedLength getHeight( ); public SVGAnimatedPreserveAspectRatio getPreserveAspectRatio( ); } org/w3c/dom/svg/SVGLangSpace.java100644 0 0 545 11146172400 14106 0ustar 0 0 package org.w3c.dom.svg; import org.w3c.dom.DOMException; public interface SVGLangSpace { public String getXMLlang( ); public void setXMLlang( String xmllang ) throws DOMException; public String getXMLspace( ); public void setXMLspace( String xmlspace ) throws DOMException; } org/w3c/dom/svg/SVGLength.java100644 0 0 2626 11146172400 13514 0ustar 0 0 package org.w3c.dom.svg; import org.w3c.dom.DOMException; public interface SVGLength { // Length Unit Types public static final short SVG_LENGTHTYPE_UNKNOWN = 0; public static final short SVG_LENGTHTYPE_NUMBER = 1; public static final short SVG_LENGTHTYPE_PERCENTAGE = 2; public static final short SVG_LENGTHTYPE_EMS = 3; public static final short SVG_LENGTHTYPE_EXS = 4; public static final short SVG_LENGTHTYPE_PX = 5; public static final short SVG_LENGTHTYPE_CM = 6; public static final short SVG_LENGTHTYPE_MM = 7; public static final short SVG_LENGTHTYPE_IN = 8; public static final short SVG_LENGTHTYPE_PT = 9; public static final short SVG_LENGTHTYPE_PC = 10; public short getUnitType( ); public float getValue( ); public void setValue( float value ) throws DOMException; public float getValueInSpecifiedUnits( ); public void setValueInSpecifiedUnits( float valueInSpecifiedUnits ) throws DOMException; public String getValueAsString( ); public void setValueAsString( String valueAsString ) throws DOMException; public void newValueSpecifiedUnits ( short unitType, float valueInSpecifiedUnits ); public void convertToSpecifiedUnits ( short unitType ); } org/w3c/dom/svg/SVGLengthList.java100644 0 0 1500 11146172400 14336 0ustar 0 0 package org.w3c.dom.svg; import org.w3c.dom.DOMException; public interface SVGLengthList { public int getNumberOfItems( ); public void clear ( ) throws DOMException; public SVGLength initialize ( SVGLength newItem ) throws DOMException, SVGException; public SVGLength getItem ( int index ) throws DOMException; public SVGLength insertItemBefore ( SVGLength newItem, int index ) throws DOMException, SVGException; public SVGLength replaceItem ( SVGLength newItem, int index ) throws DOMException, SVGException; public SVGLength removeItem ( int index ) throws DOMException; public SVGLength appendItem ( SVGLength newItem ) throws DOMException, SVGException; } org/w3c/dom/svg/SVGLineElement.java100644 0 0 754 11146172400 14454 0ustar 0 0 package org.w3c.dom.svg; import org.w3c.dom.events.EventTarget; public interface SVGLineElement extends SVGElement, SVGTests, SVGLangSpace, SVGExternalResourcesRequired, SVGStylable, SVGTransformable, EventTarget { public SVGAnimatedLength getX1( ); public SVGAnimatedLength getY1( ); public SVGAnimatedLength getX2( ); public SVGAnimatedLength getY2( ); } org/w3c/dom/svg/SVGLinearGradientElement.java100644 0 0 422 11146172400 16445 0ustar 0 0 package org.w3c.dom.svg; public interface SVGLinearGradientElement extends SVGGradientElement { public SVGAnimatedLength getX1( ); public SVGAnimatedLength getY1( ); public SVGAnimatedLength getX2( ); public SVGAnimatedLength getY2( ); } org/w3c/dom/svg/SVGLocatable.java100644 0 0 630 11146172400 14132 0ustar 0 0 package org.w3c.dom.svg; public interface SVGLocatable { public SVGElement getNearestViewportElement( ); public SVGElement getFarthestViewportElement( ); public SVGRect getBBox ( ); public SVGMatrix getCTM ( ); public SVGMatrix getScreenCTM ( ); public SVGMatrix getTransformToElement ( SVGElement element ) throws SVGException; } org/w3c/dom/svg/SVGMPathElement.java100644 0 0 270 11146172400 14567 0ustar 0 0 package org.w3c.dom.svg; public interface SVGMPathElement extends SVGElement, SVGURIReference, SVGExternalResourcesRequired { } org/w3c/dom/svg/SVGMarkerElement.java100644 0 0 2153 11146172400 15021 0ustar 0 0 package org.w3c.dom.svg; public interface SVGMarkerElement extends SVGElement, SVGLangSpace, SVGExternalResourcesRequired, SVGStylable, SVGFitToViewBox { // Marker Unit Types public static final short SVG_MARKERUNITS_UNKNOWN = 0; public static final short SVG_MARKERUNITS_USERSPACEONUSE = 1; public static final short SVG_MARKERUNITS_STROKEWIDTH = 2; // Marker Orientation Types public static final short SVG_MARKER_ORIENT_UNKNOWN = 0; public static final short SVG_MARKER_ORIENT_AUTO = 1; public static final short SVG_MARKER_ORIENT_ANGLE = 2; public SVGAnimatedLength getRefX( ); public SVGAnimatedLength getRefY( ); public SVGAnimatedEnumeration getMarkerUnits( ); public SVGAnimatedLength getMarkerWidth( ); public SVGAnimatedLength getMarkerHeight( ); public SVGAnimatedEnumeration getOrientType( ); public SVGAnimatedAngle getOrientAngle( ); public void setOrientToAuto ( ); public void setOrientToAngle ( SVGAngle angle ); } org/w3c/dom/svg/SVGMaskElement.java100644 0 0 1045 11146172400 14472 0ustar 0 0 package org.w3c.dom.svg; public interface SVGMaskElement extends SVGElement, SVGTests, SVGLangSpace, SVGExternalResourcesRequired, SVGStylable, SVGUnitTypes { public SVGAnimatedEnumeration getMaskUnits( ); public SVGAnimatedEnumeration getMaskContentUnits( ); public SVGAnimatedLength getX( ); public SVGAnimatedLength getY( ); public SVGAnimatedLength getWidth( ); public SVGAnimatedLength getHeight( ); } org/w3c/dom/svg/SVGMatrix.java100644 0 0 2474 11146172400 13540 0ustar 0 0 package org.w3c.dom.svg; import org.w3c.dom.DOMException; public interface SVGMatrix { public float getA( ); public void setA( float a ) throws DOMException; public float getB( ); public void setB( float b ) throws DOMException; public float getC( ); public void setC( float c ) throws DOMException; public float getD( ); public void setD( float d ) throws DOMException; public float getE( ); public void setE( float e ) throws DOMException; public float getF( ); public void setF( float f ) throws DOMException; public SVGMatrix multiply ( SVGMatrix secondMatrix ); public SVGMatrix inverse ( ) throws SVGException; public SVGMatrix translate ( float x, float y ); public SVGMatrix scale ( float scaleFactor ); public SVGMatrix scaleNonUniform ( float scaleFactorX, float scaleFactorY ); public SVGMatrix rotate ( float angle ); public SVGMatrix rotateFromVector ( float x, float y ) throws SVGException; public SVGMatrix flipX ( ); public SVGMatrix flipY ( ); public SVGMatrix skewX ( float angle ); public SVGMatrix skewY ( float angle ); } org/w3c/dom/svg/SVGMetadataElement.java100644 0 0 154 11146172400 15277 0ustar 0 0 package org.w3c.dom.svg; public interface SVGMetadataElement extends SVGElement { } org/w3c/dom/svg/SVGMissingGlyphElement.java100644 0 0 215 11146172400 16172 0ustar 0 0 package org.w3c.dom.svg; public interface SVGMissingGlyphElement extends SVGElement, SVGStylable { } org/w3c/dom/svg/SVGNumber.java100644 0 0 336 11146172400 13477 0ustar 0 0 package org.w3c.dom.svg; import org.w3c.dom.DOMException; public interface SVGNumber { public float getValue( ); public void setValue( float value ) throws DOMException; } org/w3c/dom/svg/SVGNumberList.java100644 0 0 1500 11146172400 14345 0ustar 0 0 package org.w3c.dom.svg; import org.w3c.dom.DOMException; public interface SVGNumberList { public int getNumberOfItems( ); public void clear ( ) throws DOMException; public SVGNumber initialize ( SVGNumber newItem ) throws DOMException, SVGException; public SVGNumber getItem ( int index ) throws DOMException; public SVGNumber insertItemBefore ( SVGNumber newItem, int index ) throws DOMException, SVGException; public SVGNumber replaceItem ( SVGNumber newItem, int index ) throws DOMException, SVGException; public SVGNumber removeItem ( int index ) throws DOMException; public SVGNumber appendItem ( SVGNumber newItem ) throws DOMException, SVGException; } org/w3c/dom/svg/SVGPaint.java100644 0 0 2054 11146172400 13341 0ustar 0 0 package org.w3c.dom.svg; public interface SVGPaint extends SVGColor { // Paint Types public static final short SVG_PAINTTYPE_UNKNOWN = 0; public static final short SVG_PAINTTYPE_RGBCOLOR = 1; public static final short SVG_PAINTTYPE_RGBCOLOR_ICCCOLOR = 2; public static final short SVG_PAINTTYPE_NONE = 101; public static final short SVG_PAINTTYPE_CURRENTCOLOR = 102; public static final short SVG_PAINTTYPE_URI_NONE = 103; public static final short SVG_PAINTTYPE_URI_CURRENTCOLOR = 104; public static final short SVG_PAINTTYPE_URI_RGBCOLOR = 105; public static final short SVG_PAINTTYPE_URI_RGBCOLOR_ICCCOLOR = 106; public static final short SVG_PAINTTYPE_URI = 107; public short getPaintType( ); public String getUri( ); public void setUri ( String uri ); public void setPaint ( short paintType, String uri, String rgbColor, String iccColor ) throws SVGException; } org/w3c/dom/svg/SVGPathElement.java100644 0 0 5100 11146172400 14467 0ustar 0 0 package org.w3c.dom.svg; import org.w3c.dom.events.EventTarget; public interface SVGPathElement extends SVGElement, SVGTests, SVGLangSpace, SVGExternalResourcesRequired, SVGStylable, SVGTransformable, EventTarget, SVGAnimatedPathData { public SVGAnimatedNumber getPathLength( ); public float getTotalLength ( ); public SVGPoint getPointAtLength ( float distance ); public int getPathSegAtLength ( float distance ); public SVGPathSegClosePath createSVGPathSegClosePath ( ); public SVGPathSegMovetoAbs createSVGPathSegMovetoAbs ( float x, float y ); public SVGPathSegMovetoRel createSVGPathSegMovetoRel ( float x, float y ); public SVGPathSegLinetoAbs createSVGPathSegLinetoAbs ( float x, float y ); public SVGPathSegLinetoRel createSVGPathSegLinetoRel ( float x, float y ); public SVGPathSegCurvetoCubicAbs createSVGPathSegCurvetoCubicAbs ( float x, float y, float x1, float y1, float x2, float y2 ); public SVGPathSegCurvetoCubicRel createSVGPathSegCurvetoCubicRel ( float x, float y, float x1, float y1, float x2, float y2 ); public SVGPathSegCurvetoQuadraticAbs createSVGPathSegCurvetoQuadraticAbs ( float x, float y, float x1, float y1 ); public SVGPathSegCurvetoQuadraticRel createSVGPathSegCurvetoQuadraticRel ( float x, float y, float x1, float y1 ); public SVGPathSegArcAbs createSVGPathSegArcAbs ( float x, float y, float r1, float r2, float angle, boolean largeArcFlag, boolean sweepFlag ); public SVGPathSegArcRel createSVGPathSegArcRel ( float x, float y, float r1, float r2, float angle, boolean largeArcFlag, boolean sweepFlag ); public SVGPathSegLinetoHorizontalAbs createSVGPathSegLinetoHorizontalAbs ( float x ); public SVGPathSegLinetoHorizontalRel createSVGPathSegLinetoHorizontalRel ( float x ); public SVGPathSegLinetoVerticalAbs createSVGPathSegLinetoVerticalAbs ( float y ); public SVGPathSegLinetoVerticalRel createSVGPathSegLinetoVerticalRel ( float y ); public SVGPathSegCurvetoCubicSmoothAbs createSVGPathSegCurvetoCubicSmoothAbs ( float x, float y, float x2, float y2 ); public SVGPathSegCurvetoCubicSmoothRel createSVGPathSegCurvetoCubicSmoothRel ( float x, float y, float x2, float y2 ); public SVGPathSegCurvetoQuadraticSmoothAbs createSVGPathSegCurvetoQuadraticSmoothAbs ( float x, float y ); public SVGPathSegCurvetoQuadraticSmoothRel createSVGPathSegCurvetoQuadraticSmoothRel ( float x, float y ); } org/w3c/dom/svg/SVGPathSeg.java100644 0 0 3105 11146172400 13617 0ustar 0 0 package org.w3c.dom.svg; public interface SVGPathSeg { // Path Segment Types public static final short PATHSEG_UNKNOWN = 0; public static final short PATHSEG_CLOSEPATH = 1; public static final short PATHSEG_MOVETO_ABS = 2; public static final short PATHSEG_MOVETO_REL = 3; public static final short PATHSEG_LINETO_ABS = 4; public static final short PATHSEG_LINETO_REL = 5; public static final short PATHSEG_CURVETO_CUBIC_ABS = 6; public static final short PATHSEG_CURVETO_CUBIC_REL = 7; public static final short PATHSEG_CURVETO_QUADRATIC_ABS = 8; public static final short PATHSEG_CURVETO_QUADRATIC_REL = 9; public static final short PATHSEG_ARC_ABS = 10; public static final short PATHSEG_ARC_REL = 11; public static final short PATHSEG_LINETO_HORIZONTAL_ABS = 12; public static final short PATHSEG_LINETO_HORIZONTAL_REL = 13; public static final short PATHSEG_LINETO_VERTICAL_ABS = 14; public static final short PATHSEG_LINETO_VERTICAL_REL = 15; public static final short PATHSEG_CURVETO_CUBIC_SMOOTH_ABS = 16; public static final short PATHSEG_CURVETO_CUBIC_SMOOTH_REL = 17; public static final short PATHSEG_CURVETO_QUADRATIC_SMOOTH_ABS = 18; public static final short PATHSEG_CURVETO_QUADRATIC_SMOOTH_REL = 19; public short getPathSegType( ); public String getPathSegTypeAsLetter( ); } org/w3c/dom/svg/SVGPathSegArcAbs.java100644 0 0 1721 11146172400 14675 0ustar 0 0 package org.w3c.dom.svg; import org.w3c.dom.DOMException; public interface SVGPathSegArcAbs extends SVGPathSeg { public float getX( ); public void setX( float x ) throws DOMException; public float getY( ); public void setY( float y ) throws DOMException; public float getR1( ); public void setR1( float r1 ) throws DOMException; public float getR2( ); public void setR2( float r2 ) throws DOMException; public float getAngle( ); public void setAngle( float angle ) throws DOMException; public boolean getLargeArcFlag( ); public void setLargeArcFlag( boolean largeArcFlag ) throws DOMException; public boolean getSweepFlag( ); public void setSweepFlag( boolean sweepFlag ) throws DOMException; } org/w3c/dom/svg/SVGPathSegArcRel.java100644 0 0 1721 11146172400 14712 0ustar 0 0 package org.w3c.dom.svg; import org.w3c.dom.DOMException; public interface SVGPathSegArcRel extends SVGPathSeg { public float getX( ); public void setX( float x ) throws DOMException; public float getY( ); public void setY( float y ) throws DOMException; public float getR1( ); public void setR1( float r1 ) throws DOMException; public float getR2( ); public void setR2( float r2 ) throws DOMException; public float getAngle( ); public void setAngle( float angle ) throws DOMException; public boolean getLargeArcFlag( ); public void setLargeArcFlag( boolean largeArcFlag ) throws DOMException; public boolean getSweepFlag( ); public void setSweepFlag( boolean sweepFlag ) throws DOMException; } org/w3c/dom/svg/SVGPathSegClosePath.java100644 0 0 155 11146172400 15404 0ustar 0 0 package org.w3c.dom.svg; public interface SVGPathSegClosePath extends SVGPathSeg { } org/w3c/dom/svg/SVGPathSegCurvetoCubicAbs.java100644 0 0 1453 11146172400 16567 0ustar 0 0 package org.w3c.dom.svg; import org.w3c.dom.DOMException; public interface SVGPathSegCurvetoCubicAbs extends SVGPathSeg { public float getX( ); public void setX( float x ) throws DOMException; public float getY( ); public void setY( float y ) throws DOMException; public float getX1( ); public void setX1( float x1 ) throws DOMException; public float getY1( ); public void setY1( float y1 ) throws DOMException; public float getX2( ); public void setX2( float x2 ) throws DOMException; public float getY2( ); public void setY2( float y2 ) throws DOMException; } org/w3c/dom/svg/SVGPathSegCurvetoCubicRel.java100644 0 0 1453 11146172401 16605 0ustar 0 0 package org.w3c.dom.svg; import org.w3c.dom.DOMException; public interface SVGPathSegCurvetoCubicRel extends SVGPathSeg { public float getX( ); public void setX( float x ) throws DOMException; public float getY( ); public void setY( float y ) throws DOMException; public float getX1( ); public void setX1( float x1 ) throws DOMException; public float getY1( ); public void setY1( float y1 ) throws DOMException; public float getX2( ); public void setX2( float x2 ) throws DOMException; public float getY2( ); public void setY2( float y2 ) throws DOMException; } org/w3c/dom/svg/SVGPathSegCurvetoCubicSmoothAbs.java100644 0 0 1123 11146172400 17753 0ustar 0 0 package org.w3c.dom.svg; import org.w3c.dom.DOMException; public interface SVGPathSegCurvetoCubicSmoothAbs extends SVGPathSeg { public float getX( ); public void setX( float x ) throws DOMException; public float getY( ); public void setY( float y ) throws DOMException; public float getX2( ); public void setX2( float x2 ) throws DOMException; public float getY2( ); public void setY2( float y2 ) throws DOMException; } org/w3c/dom/svg/SVGPathSegCurvetoCubicSmoothRel.java100644 0 0 1123 11146172400 17770 0ustar 0 0 package org.w3c.dom.svg; import org.w3c.dom.DOMException; public interface SVGPathSegCurvetoCubicSmoothRel extends SVGPathSeg { public float getX( ); public void setX( float x ) throws DOMException; public float getY( ); public void setY( float y ) throws DOMException; public float getX2( ); public void setX2( float x2 ) throws DOMException; public float getY2( ); public void setY2( float y2 ) throws DOMException; } org/w3c/dom/svg/SVGPathSegCurvetoQuadraticAbs.java100644 0 0 1121 11146172400 17447 0ustar 0 0 package org.w3c.dom.svg; import org.w3c.dom.DOMException; public interface SVGPathSegCurvetoQuadraticAbs extends SVGPathSeg { public float getX( ); public void setX( float x ) throws DOMException; public float getY( ); public void setY( float y ) throws DOMException; public float getX1( ); public void setX1( float x1 ) throws DOMException; public float getY1( ); public void setY1( float y1 ) throws DOMException; } org/w3c/dom/svg/SVGPathSegCurvetoQuadraticRel.java100644 0 0 1121 11146172400 17464 0ustar 0 0 package org.w3c.dom.svg; import org.w3c.dom.DOMException; public interface SVGPathSegCurvetoQuadraticRel extends SVGPathSeg { public float getX( ); public void setX( float x ) throws DOMException; public float getY( ); public void setY( float y ) throws DOMException; public float getX1( ); public void setX1( float x1 ) throws DOMException; public float getY1( ); public void setY1( float y1 ) throws DOMException; } org/w3c/dom/svg/SVGPathSegCurvetoQuadraticSmoothAbs.java100644 0 0 571 11146172400 20631 0ustar 0 0 package org.w3c.dom.svg; import org.w3c.dom.DOMException; public interface SVGPathSegCurvetoQuadraticSmoothAbs extends SVGPathSeg { public float getX( ); public void setX( float x ) throws DOMException; public float getY( ); public void setY( float y ) throws DOMException; } org/w3c/dom/svg/SVGPathSegCurvetoQuadraticSmoothRel.java100644 0 0 571 11146172400 20646 0ustar 0 0 package org.w3c.dom.svg; import org.w3c.dom.DOMException; public interface SVGPathSegCurvetoQuadraticSmoothRel extends SVGPathSeg { public float getX( ); public void setX( float x ) throws DOMException; public float getY( ); public void setY( float y ) throws DOMException; } org/w3c/dom/svg/SVGPathSegLinetoAbs.java100644 0 0 551 11146172400 15402 0ustar 0 0 package org.w3c.dom.svg; import org.w3c.dom.DOMException; public interface SVGPathSegLinetoAbs extends SVGPathSeg { public float getX( ); public void setX( float x ) throws DOMException; public float getY( ); public void setY( float y ) throws DOMException; } org/w3c/dom/svg/SVGPathSegLinetoHorizontalAbs.java100644 0 0 407 11146172401 17455 0ustar 0 0 package org.w3c.dom.svg; import org.w3c.dom.DOMException; public interface SVGPathSegLinetoHorizontalAbs extends SVGPathSeg { public float getX( ); public void setX( float x ) throws DOMException; } org/w3c/dom/svg/SVGPathSegLinetoHorizontalRel.java100644 0 0 407 11146172400 17471 0ustar 0 0 package org.w3c.dom.svg; import org.w3c.dom.DOMException; public interface SVGPathSegLinetoHorizontalRel extends SVGPathSeg { public float getX( ); public void setX( float x ) throws DOMException; } org/w3c/dom/svg/SVGPathSegLinetoRel.java100644 0 0 551 11146172400 15417 0ustar 0 0 package org.w3c.dom.svg; import org.w3c.dom.DOMException; public interface SVGPathSegLinetoRel extends SVGPathSeg { public float getX( ); public void setX( float x ) throws DOMException; public float getY( ); public void setY( float y ) throws DOMException; } org/w3c/dom/svg/SVGPathSegLinetoVerticalAbs.java100644 0 0 405 11146172400 17072 0ustar 0 0 package org.w3c.dom.svg; import org.w3c.dom.DOMException; public interface SVGPathSegLinetoVerticalAbs extends SVGPathSeg { public float getY( ); public void setY( float y ) throws DOMException; } org/w3c/dom/svg/SVGPathSegLinetoVerticalRel.java100644 0 0 405 11146172401 17110 0ustar 0 0 package org.w3c.dom.svg; import org.w3c.dom.DOMException; public interface SVGPathSegLinetoVerticalRel extends SVGPathSeg { public float getY( ); public void setY( float y ) throws DOMException; } org/w3c/dom/svg/SVGPathSegList.java100644 0 0 1513 11146172400 14454 0ustar 0 0 package org.w3c.dom.svg; import org.w3c.dom.DOMException; public interface SVGPathSegList { public int getNumberOfItems( ); public void clear ( ) throws DOMException; public SVGPathSeg initialize ( SVGPathSeg newItem ) throws DOMException, SVGException; public SVGPathSeg getItem ( int index ) throws DOMException; public SVGPathSeg insertItemBefore ( SVGPathSeg newItem, int index ) throws DOMException, SVGException; public SVGPathSeg replaceItem ( SVGPathSeg newItem, int index ) throws DOMException, SVGException; public SVGPathSeg removeItem ( int index ) throws DOMException; public SVGPathSeg appendItem ( SVGPathSeg newItem ) throws DOMException, SVGException; } org/w3c/dom/svg/SVGPathSegMovetoAbs.java100644 0 0 551 11146172400 15421 0ustar 0 0 package org.w3c.dom.svg; import org.w3c.dom.DOMException; public interface SVGPathSegMovetoAbs extends SVGPathSeg { public float getX( ); public void setX( float x ) throws DOMException; public float getY( ); public void setY( float y ) throws DOMException; } org/w3c/dom/svg/SVGPathSegMovetoRel.java100644 0 0 551 11146172400 15436 0ustar 0 0 package org.w3c.dom.svg; import org.w3c.dom.DOMException; public interface SVGPathSegMovetoRel extends SVGPathSeg { public float getX( ); public void setX( float x ) throws DOMException; public float getY( ); public void setY( float y ) throws DOMException; } org/w3c/dom/svg/SVGPatternElement.java100644 0 0 1267 11146172400 15222 0ustar 0 0 package org.w3c.dom.svg; public interface SVGPatternElement extends SVGElement, SVGURIReference, SVGTests, SVGLangSpace, SVGExternalResourcesRequired, SVGStylable, SVGFitToViewBox, SVGUnitTypes { public SVGAnimatedEnumeration getPatternUnits( ); public SVGAnimatedEnumeration getPatternContentUnits( ); public SVGAnimatedTransformList getPatternTransform( ); public SVGAnimatedLength getX( ); public SVGAnimatedLength getY( ); public SVGAnimatedLength getWidth( ); public SVGAnimatedLength getHeight( ); } org/w3c/dom/svg/SVGPoint.java100644 0 0 561 11146172400 13340 0ustar 0 0 package org.w3c.dom.svg; import org.w3c.dom.DOMException; public interface SVGPoint { public float getX( ); public void setX( float x ) throws DOMException; public float getY( ); public void setY( float y ) throws DOMException; public SVGPoint matrixTransform ( SVGMatrix matrix ); } org/w3c/dom/svg/SVGPointList.java100644 0 0 1465 11146172400 14220 0ustar 0 0 package org.w3c.dom.svg; import org.w3c.dom.DOMException; public interface SVGPointList { public int getNumberOfItems( ); public void clear ( ) throws DOMException; public SVGPoint initialize ( SVGPoint newItem ) throws DOMException, SVGException; public SVGPoint getItem ( int index ) throws DOMException; public SVGPoint insertItemBefore ( SVGPoint newItem, int index ) throws DOMException, SVGException; public SVGPoint replaceItem ( SVGPoint newItem, int index ) throws DOMException, SVGException; public SVGPoint removeItem ( int index ) throws DOMException; public SVGPoint appendItem ( SVGPoint newItem ) throws DOMException, SVGException; } org/w3c/dom/svg/SVGPolygonElement.java100644 0 0 572 11146172400 15212 0ustar 0 0 package org.w3c.dom.svg; import org.w3c.dom.events.EventTarget; public interface SVGPolygonElement extends SVGElement, SVGTests, SVGLangSpace, SVGExternalResourcesRequired, SVGStylable, SVGTransformable, EventTarget, SVGAnimatedPoints { } org/w3c/dom/svg/SVGPolylineElement.java100644 0 0 573 11146172400 15357 0ustar 0 0 package org.w3c.dom.svg; import org.w3c.dom.events.EventTarget; public interface SVGPolylineElement extends SVGElement, SVGTests, SVGLangSpace, SVGExternalResourcesRequired, SVGStylable, SVGTransformable, EventTarget, SVGAnimatedPoints { } org/w3c/dom/svg/SVGPreserveAspectRatio.java100644 0 0 2457 11146172400 16227 0ustar 0 0 package org.w3c.dom.svg; import org.w3c.dom.DOMException; public interface SVGPreserveAspectRatio { // Alignment Types public static final short SVG_PRESERVEASPECTRATIO_UNKNOWN = 0; public static final short SVG_PRESERVEASPECTRATIO_NONE = 1; public static final short SVG_PRESERVEASPECTRATIO_XMINYMIN = 2; public static final short SVG_PRESERVEASPECTRATIO_XMIDYMIN = 3; public static final short SVG_PRESERVEASPECTRATIO_XMAXYMIN = 4; public static final short SVG_PRESERVEASPECTRATIO_XMINYMID = 5; public static final short SVG_PRESERVEASPECTRATIO_XMIDYMID = 6; public static final short SVG_PRESERVEASPECTRATIO_XMAXYMID = 7; public static final short SVG_PRESERVEASPECTRATIO_XMINYMAX = 8; public static final short SVG_PRESERVEASPECTRATIO_XMIDYMAX = 9; public static final short SVG_PRESERVEASPECTRATIO_XMAXYMAX = 10; // Meet-or-slice Types public static final short SVG_MEETORSLICE_UNKNOWN = 0; public static final short SVG_MEETORSLICE_MEET = 1; public static final short SVG_MEETORSLICE_SLICE = 2; public short getAlign( ); public void setAlign( short align ) throws DOMException; public short getMeetOrSlice( ); public void setMeetOrSlice( short meetOrSlice ) throws DOMException; } org/w3c/dom/svg/SVGRadialGradientElement.java100644 0 0 467 11146172400 16440 0ustar 0 0 package org.w3c.dom.svg; public interface SVGRadialGradientElement extends SVGGradientElement { public SVGAnimatedLength getCx( ); public SVGAnimatedLength getCy( ); public SVGAnimatedLength getR( ); public SVGAnimatedLength getFx( ); public SVGAnimatedLength getFy( ); } org/w3c/dom/svg/SVGRect.java100644 0 0 1044 11146172400 13161 0ustar 0 0 package org.w3c.dom.svg; import org.w3c.dom.DOMException; public interface SVGRect { public float getX( ); public void setX( float x ) throws DOMException; public float getY( ); public void setY( float y ) throws DOMException; public float getWidth( ); public void setWidth( float width ) throws DOMException; public float getHeight( ); public void setHeight( float height ) throws DOMException; } org/w3c/dom/svg/SVGRectElement.java100644 0 0 1075 11146172400 14477 0ustar 0 0 package org.w3c.dom.svg; import org.w3c.dom.events.EventTarget; public interface SVGRectElement extends SVGElement, SVGTests, SVGLangSpace, SVGExternalResourcesRequired, SVGStylable, SVGTransformable, EventTarget { public SVGAnimatedLength getX( ); public SVGAnimatedLength getY( ); public SVGAnimatedLength getWidth( ); public SVGAnimatedLength getHeight( ); public SVGAnimatedLength getRx( ); public SVGAnimatedLength getRy( ); } org/w3c/dom/svg/SVGRenderingIntent.java100644 0 0 1033 11146172400 15361 0ustar 0 0 package org.w3c.dom.svg; public interface SVGRenderingIntent { // Rendering Intent Types public static final short RENDERING_INTENT_UNKNOWN = 0; public static final short RENDERING_INTENT_AUTO = 1; public static final short RENDERING_INTENT_PERCEPTUAL = 2; public static final short RENDERING_INTENT_RELATIVE_COLORIMETRIC = 3; public static final short RENDERING_INTENT_SATURATION = 4; public static final short RENDERING_INTENT_ABSOLUTE_COLORIMETRIC = 5; } org/w3c/dom/svg/SVGSVGElement.java100644 0 0 6165 11146172400 14246 0ustar 0 0 package org.w3c.dom.svg; import org.w3c.dom.DOMException; import org.w3c.dom.Element; import org.w3c.dom.NodeList; import org.w3c.dom.css.DocumentCSS; import org.w3c.dom.css.ViewCSS; import org.w3c.dom.events.DocumentEvent; import org.w3c.dom.events.EventTarget; public interface SVGSVGElement extends SVGElement, SVGTests, SVGLangSpace, SVGExternalResourcesRequired, SVGStylable, SVGLocatable, SVGFitToViewBox, SVGZoomAndPan, EventTarget, DocumentEvent, ViewCSS, DocumentCSS { public SVGAnimatedLength getX( ); public SVGAnimatedLength getY( ); public SVGAnimatedLength getWidth( ); public SVGAnimatedLength getHeight( ); public String getContentScriptType( ); public void setContentScriptType( String contentScriptType ) throws DOMException; public String getContentStyleType( ); public void setContentStyleType( String contentStyleType ) throws DOMException; public SVGRect getViewport( ); public float getPixelUnitToMillimeterX( ); public float getPixelUnitToMillimeterY( ); public float getScreenPixelToMillimeterX( ); public float getScreenPixelToMillimeterY( ); public boolean getUseCurrentView( ); public void setUseCurrentView( boolean useCurrentView ) throws DOMException; public SVGViewSpec getCurrentView( ); public float getCurrentScale( ); public void setCurrentScale( float currentScale ) throws DOMException; public SVGPoint getCurrentTranslate( ); public int suspendRedraw ( int max_wait_milliseconds ); public void unsuspendRedraw ( int suspend_handle_id ) throws DOMException; public void unsuspendRedrawAll ( ); public void forceRedraw ( ); public void pauseAnimations ( ); public void unpauseAnimations ( ); public boolean animationsPaused ( ); public float getCurrentTime ( ); public void setCurrentTime ( float seconds ); public NodeList getIntersectionList ( SVGRect rect, SVGElement referenceElement ); public NodeList getEnclosureList ( SVGRect rect, SVGElement referenceElement ); public boolean checkIntersection ( SVGElement element, SVGRect rect ); public boolean checkEnclosure ( SVGElement element, SVGRect rect ); public void deselectAll ( ); public SVGNumber createSVGNumber ( ); public SVGLength createSVGLength ( ); public SVGAngle createSVGAngle ( ); public SVGPoint createSVGPoint ( ); public SVGMatrix createSVGMatrix ( ); public SVGRect createSVGRect ( ); public SVGTransform createSVGTransform ( ); public SVGTransform createSVGTransformFromMatrix ( SVGMatrix matrix ); public Element getElementById ( String elementId ); } org/w3c/dom/svg/SVGScriptElement.java100644 0 0 522 11146172401 15023 0ustar 0 0 package org.w3c.dom.svg; import org.w3c.dom.DOMException; public interface SVGScriptElement extends SVGElement, SVGURIReference, SVGExternalResourcesRequired { public String getType( ); public void setType( String type ) throws DOMException; } org/w3c/dom/svg/SVGSetElement.java100644 0 0 160 11146172400 14307 0ustar 0 0 package org.w3c.dom.svg; public interface SVGSetElement extends SVGAnimationElement { } org/w3c/dom/svg/SVGStopElement.java100644 0 0 257 11146172400 14510 0ustar 0 0 package org.w3c.dom.svg; public interface SVGStopElement extends SVGElement, SVGStylable { public SVGAnimatedNumber getOffset( ); } org/w3c/dom/svg/SVGStringList.java100644 0 0 1442 11146172400 14370 0ustar 0 0 package org.w3c.dom.svg; import org.w3c.dom.DOMException; public interface SVGStringList { public int getNumberOfItems( ); public void clear ( ) throws DOMException; public String initialize ( String newItem ) throws DOMException, SVGException; public String getItem ( int index ) throws DOMException; public String insertItemBefore ( String newItem, int index ) throws DOMException, SVGException; public String replaceItem ( String newItem, int index ) throws DOMException, SVGException; public String removeItem ( int index ) throws DOMException; public String appendItem ( String newItem ) throws DOMException, SVGException; } org/w3c/dom/svg/SVGStylable.java100644 0 0 451 11146172400 14024 0ustar 0 0 package org.w3c.dom.svg; import org.w3c.dom.css.CSSStyleDeclaration; import org.w3c.dom.css.CSSValue; public interface SVGStylable { public SVGAnimatedString getClassName( ); public CSSStyleDeclaration getStyle( ); public CSSValue getPresentationAttribute ( String name ); } org/w3c/dom/svg/SVGStyleElement.java100644 0 0 1163 11146172401 14701 0ustar 0 0 package org.w3c.dom.svg; import org.w3c.dom.DOMException; public interface SVGStyleElement extends SVGElement { public String getXMLspace( ); public void setXMLspace( String xmlspace ) throws DOMException; public String getType( ); public void setType( String type ) throws DOMException; public String getMedia( ); public void setMedia( String media ) throws DOMException; public String getTitle( ); public void setTitle( String title ) throws DOMException; } org/w3c/dom/svg/SVGSwitchElement.java100644 0 0 526 11146172400 15023 0ustar 0 0 package org.w3c.dom.svg; import org.w3c.dom.events.EventTarget; public interface SVGSwitchElement extends SVGElement, SVGTests, SVGLangSpace, SVGExternalResourcesRequired, SVGStylable, SVGTransformable, EventTarget { } org/w3c/dom/svg/SVGSymbolElement.java100644 0 0 473 11146172400 15030 0ustar 0 0 package org.w3c.dom.svg; import org.w3c.dom.events.EventTarget; public interface SVGSymbolElement extends SVGElement, SVGLangSpace, SVGExternalResourcesRequired, SVGStylable, SVGFitToViewBox, EventTarget { } org/w3c/dom/svg/SVGTRefElement.java100644 0 0 230 11146172400 14412 0ustar 0 0 package org.w3c.dom.svg; public interface SVGTRefElement extends SVGTextPositioningElement, SVGURIReference { } org/w3c/dom/svg/SVGTSpanElement.java100644 0 0 170 11146172400 14602 0ustar 0 0 package org.w3c.dom.svg; public interface SVGTSpanElement extends SVGTextPositioningElement { } org/w3c/dom/svg/SVGTests.java100644 0 0 405 11146172400 13346 0ustar 0 0 package org.w3c.dom.svg; public interface SVGTests { public SVGStringList getRequiredFeatures( ); public SVGStringList getRequiredExtensions( ); public SVGStringList getSystemLanguage( ); public boolean hasExtension ( String extension ); } org/w3c/dom/svg/SVGTextContentElement.java100644 0 0 2570 11146172400 16062 0ustar 0 0 package org.w3c.dom.svg; import org.w3c.dom.DOMException; import org.w3c.dom.events.EventTarget; public interface SVGTextContentElement extends SVGElement, SVGTests, SVGLangSpace, SVGExternalResourcesRequired, SVGStylable, EventTarget { // lengthAdjust Types public static final short LENGTHADJUST_UNKNOWN = 0; public static final short LENGTHADJUST_SPACING = 1; public static final short LENGTHADJUST_SPACINGANDGLYPHS = 2; public SVGAnimatedLength getTextLength( ); public SVGAnimatedEnumeration getLengthAdjust( ); public int getNumberOfChars ( ); public float getComputedTextLength ( ); public float getSubStringLength ( int charnum, int nchars ) throws DOMException; public SVGPoint getStartPositionOfChar ( int charnum ) throws DOMException; public SVGPoint getEndPositionOfChar ( int charnum ) throws DOMException; public SVGRect getExtentOfChar ( int charnum ) throws DOMException; public float getRotationOfChar ( int charnum ) throws DOMException; public int getCharNumAtPosition ( SVGPoint point ); public void selectSubString ( int charnum, int nchars ) throws DOMException; } org/w3c/dom/svg/SVGTextElement.java100644 0 0 231 11146172400 14477 0ustar 0 0 package org.w3c.dom.svg; public interface SVGTextElement extends SVGTextPositioningElement, SVGTransformable { } org/w3c/dom/svg/SVGTextPathElement.java100644 0 0 1362 11146172400 15342 0ustar 0 0 package org.w3c.dom.svg; public interface SVGTextPathElement extends SVGTextContentElement, SVGURIReference { // textPath Method Types public static final short TEXTPATH_METHODTYPE_UNKNOWN = 0; public static final short TEXTPATH_METHODTYPE_ALIGN = 1; public static final short TEXTPATH_METHODTYPE_STRETCH = 2; // textPath Spacing Types public static final short TEXTPATH_SPACINGTYPE_UNKNOWN = 0; public static final short TEXTPATH_SPACINGTYPE_AUTO = 1; public static final short TEXTPATH_SPACINGTYPE_EXACT = 2; public SVGAnimatedLength getStartOffset( ); public SVGAnimatedEnumeration getMethod( ); public SVGAnimatedEnumeration getSpacing( ); } org/w3c/dom/svg/SVGTextPositioningElement.java100644 0 0 522 11146172400 16725 0ustar 0 0 package org.w3c.dom.svg; public interface SVGTextPositioningElement extends SVGTextContentElement { public SVGAnimatedLengthList getX( ); public SVGAnimatedLengthList getY( ); public SVGAnimatedLengthList getDx( ); public SVGAnimatedLengthList getDy( ); public SVGAnimatedNumberList getRotate( ); } org/w3c/dom/svg/SVGTitleElement.java100644 0 0 244 11146172400 14640 0ustar 0 0 package org.w3c.dom.svg; public interface SVGTitleElement extends SVGElement, SVGLangSpace, SVGStylable { } org/w3c/dom/svg/SVGTransform.java100644 0 0 1560 11146172400 14242 0ustar 0 0 package org.w3c.dom.svg; public interface SVGTransform { // Transform Types public static final short SVG_TRANSFORM_UNKNOWN = 0; public static final short SVG_TRANSFORM_MATRIX = 1; public static final short SVG_TRANSFORM_TRANSLATE = 2; public static final short SVG_TRANSFORM_SCALE = 3; public static final short SVG_TRANSFORM_ROTATE = 4; public static final short SVG_TRANSFORM_SKEWX = 5; public static final short SVG_TRANSFORM_SKEWY = 6; public short getType( ); public SVGMatrix getMatrix( ); public float getAngle( ); public void setMatrix ( SVGMatrix matrix ); public void setTranslate ( float tx, float ty ); public void setScale ( float sx, float sy ); public void setRotate ( float angle, float cx, float cy ); public void setSkewX ( float angle ); public void setSkewY ( float angle ); } org/w3c/dom/svg/SVGTransformList.java100644 0 0 1724 11146172400 15100 0ustar 0 0 package org.w3c.dom.svg; import org.w3c.dom.DOMException; public interface SVGTransformList { public int getNumberOfItems( ); public void clear ( ) throws DOMException; public SVGTransform initialize ( SVGTransform newItem ) throws DOMException, SVGException; public SVGTransform getItem ( int index ) throws DOMException; public SVGTransform insertItemBefore ( SVGTransform newItem, int index ) throws DOMException, SVGException; public SVGTransform replaceItem ( SVGTransform newItem, int index ) throws DOMException, SVGException; public SVGTransform removeItem ( int index ) throws DOMException; public SVGTransform appendItem ( SVGTransform newItem ) throws DOMException, SVGException; public SVGTransform createSVGTransformFromMatrix ( SVGMatrix matrix ); public SVGTransform consolidate ( ); } org/w3c/dom/svg/SVGTransformable.java100644 0 0 240 11146172400 15040 0ustar 0 0 package org.w3c.dom.svg; public interface SVGTransformable extends SVGLocatable { public SVGAnimatedTransformList getTransform( ); } org/w3c/dom/svg/SVGURIReference.java100644 0 0 155 11146172400 14524 0ustar 0 0 package org.w3c.dom.svg; public interface SVGURIReference { public SVGAnimatedString getHref( ); } org/w3c/dom/svg/SVGUnitTypes.java100644 0 0 431 11146172400 14207 0ustar 0 0 package org.w3c.dom.svg; public interface SVGUnitTypes { // Unit Types public static final short SVG_UNIT_TYPE_UNKNOWN = 0; public static final short SVG_UNIT_TYPE_USERSPACEONUSE = 1; public static final short SVG_UNIT_TYPE_OBJECTBOUNDINGBOX = 2; } org/w3c/dom/svg/SVGUseElement.java100644 0 0 1203 11146172401 14330 0ustar 0 0 package org.w3c.dom.svg; import org.w3c.dom.events.EventTarget; public interface SVGUseElement extends SVGElement, SVGURIReference, SVGTests, SVGLangSpace, SVGExternalResourcesRequired, SVGStylable, SVGTransformable, EventTarget { public SVGAnimatedLength getX( ); public SVGAnimatedLength getY( ); public SVGAnimatedLength getWidth( ); public SVGAnimatedLength getHeight( ); public SVGElementInstance getInstanceRoot( ); public SVGElementInstance getAnimatedInstanceRoot( ); } org/w3c/dom/svg/SVGVKernElement.java100644 0 0 151 11146172400 14601 0ustar 0 0 package org.w3c.dom.svg; public interface SVGVKernElement extends SVGElement { } org/w3c/dom/svg/SVGViewElement.java100644 0 0 400 11146172400 14463 0ustar 0 0 package org.w3c.dom.svg; public interface SVGViewElement extends SVGElement, SVGExternalResourcesRequired, SVGFitToViewBox, SVGZoomAndPan { public SVGStringList getViewTarget( ); } org/w3c/dom/svg/SVGViewSpec.java100644 0 0 647 11146172400 14001 0ustar 0 0 package org.w3c.dom.svg; public interface SVGViewSpec extends SVGZoomAndPan, SVGFitToViewBox { public SVGTransformList getTransform( ); public SVGElement getViewTarget( ); public String getViewBoxString( ); public String getPreserveAspectRatioString( ); public String getTransformString( ); public String getViewTargetString( ); } org/w3c/dom/svg/SVGZoomAndPan.java100644 0 0 664 11146172400 14261 0ustar 0 0 package org.w3c.dom.svg; import org.w3c.dom.DOMException; public interface SVGZoomAndPan { // Zoom and Pan Types public static final short SVG_ZOOMANDPAN_UNKNOWN = 0; public static final short SVG_ZOOMANDPAN_DISABLE = 1; public static final short SVG_ZOOMANDPAN_MAGNIFY = 2; public short getZoomAndPan( ); public void setZoomAndPan( short zoomAndPan ) throws DOMException; } org/w3c/dom/svg/SVGZoomEvent.java100644 0 0 511 11146172400 14170 0ustar 0 0 package org.w3c.dom.svg; import org.w3c.dom.events.UIEvent; public interface SVGZoomEvent extends UIEvent { public SVGRect getZoomRectScreen( ); public float getPreviousScale( ); public SVGPoint getPreviousTranslate( ); public float getNewScale( ); public SVGPoint getNewTranslate( ); } org/w3c/dom/traversal/DocumentTraversal.java100644 0 0 11653 11146172406 16607 0ustar 0 0 /* * Copyright (c) 2000 World Wide Web Consortium, * (Massachusetts Institute of Technology, Institut National de * Recherche en Informatique et en Automatique, Keio University). All * Rights Reserved. This program is distributed under the W3C's Software * Intellectual Property License. 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 W3C License http://www.w3.org/Consortium/Legal/ for more details. */ package org.w3c.dom.traversal; import org.w3c.dom.Node; import org.w3c.dom.DOMException; /** * DocumentTraversal contains methods that create * NodeIterators and TreeWalkers to traverse a * node and its children in document order (depth first, pre-order * traversal, which is equivalent to the order in which the start tags occur * in the text representation of the document). In DOMs which support the * Traversal feature, DocumentTraversal will be implemented by * the same objects that implement the Document interface. *

See also the Document Object Model (DOM) Level 2 Traversal and Range Specification. * @since DOM Level 2 */ public interface DocumentTraversal { /** * Create a new NodeIterator over the subtree rooted at the * specified node. * @param root The node which will be iterated together with its * children. The NodeIterator is initially positioned * just before this node. The whatToShow flags and the * filter, if any, are not considered when setting this position. The * root must not be null. * @param whatToShow This flag specifies which node types may appear in * the logical view of the tree presented by the * NodeIterator. See the description of * NodeFilter for the set of possible SHOW_ * values.These flags can be combined using OR. * @param filter The NodeFilter to be used with this * NodeIterator, or null to indicate no * filter. * @param entityReferenceExpansion The value of this flag determines * whether entity reference nodes are expanded. * @return The newly created NodeIterator. * @exception DOMException * NOT_SUPPORTED_ERR: Raised if the specified root is * null. */ public NodeIterator createNodeIterator(Node root, int whatToShow, NodeFilter filter, boolean entityReferenceExpansion) throws DOMException; /** * Create a new TreeWalker over the subtree rooted at the * specified node. * @param root The node which will serve as the root for the * TreeWalker. The whatToShow flags and the * NodeFilter are not considered when setting this value; * any node type will be accepted as the root. The * currentNode of the TreeWalker is * initialized to this node, whether or not it is visible. The * root functions as a stopping point for traversal * methods that look upward in the document structure, such as * parentNode and nextNode. The root must * not be null. * @param whatToShow This flag specifies which node types may appear in * the logical view of the tree presented by the * TreeWalker. See the description of * NodeFilter for the set of possible SHOW_ * values.These flags can be combined using OR. * @param filter The NodeFilter to be used with this * TreeWalker, or null to indicate no filter. * @param entityReferenceExpansion If this flag is false, the contents of * EntityReference nodes are not presented in the logical * view. * @return The newly created TreeWalker. * @exception DOMException * NOT_SUPPORTED_ERR: Raised if the specified root is * null. */ public TreeWalker createTreeWalker(Node root, int whatToShow, NodeFilter filter, boolean entityReferenceExpansion) throws DOMException; } org/w3c/dom/traversal/NodeFilter.java100644 0 0 14672 11146172406 15204 0ustar 0 0 /* * Copyright (c) 2000 World Wide Web Consortium, * (Massachusetts Institute of Technology, Institut National de * Recherche en Informatique et en Automatique, Keio University). All * Rights Reserved. This program is distributed under the W3C's Software * Intellectual Property License. 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 W3C License http://www.w3.org/Consortium/Legal/ for more details. */ package org.w3c.dom.traversal; import org.w3c.dom.Node; /** * Filters are objects that know how to "filter out" nodes. If a * NodeIterator or TreeWalker is given a * NodeFilter, it applies the filter before it returns the next * node. If the filter says to accept the node, the traversal logic returns * it; otherwise, traversal looks for the next node and pretends that the * node that was rejected was not there. *

The DOM does not provide any filters. NodeFilter is just an * interface that users can implement to provide their own filters. *

NodeFilters do not need to know how to traverse from node * to node, nor do they need to know anything about the data structure that * is being traversed. This makes it very easy to write filters, since the * only thing they have to know how to do is evaluate a single node. One * filter may be used with a number of different kinds of traversals, * encouraging code reuse. *

See also the Document Object Model (DOM) Level 2 Traversal and Range Specification. * @since DOM Level 2 */ public interface NodeFilter { // Constants returned by acceptNode /** * Accept the node. Navigation methods defined for * NodeIterator or TreeWalker will return this * node. */ public static final short FILTER_ACCEPT = 1; /** * Reject the node. Navigation methods defined for * NodeIterator or TreeWalker will not return * this node. For TreeWalker, the children of this node * will also be rejected. NodeIterators treat this as a * synonym for FILTER_SKIP. */ public static final short FILTER_REJECT = 2; /** * Skip this single node. Navigation methods defined for * NodeIterator or TreeWalker will not return * this node. For both NodeIterator and * TreeWalker, the children of this node will still be * considered. */ public static final short FILTER_SKIP = 3; // Constants for whatToShow /** * Show all Nodes. */ public static final int SHOW_ALL = 0xFFFFFFFF; /** * Show Element nodes. */ public static final int SHOW_ELEMENT = 0x00000001; /** * Show Attr nodes. This is meaningful only when creating an * NodeIterator or TreeWalker with an * attribute node as its root; in this case, it means that * the attribute node will appear in the first position of the iteration * or traversal. Since attributes are never children of other nodes, * they do not appear when traversing over the document tree. */ public static final int SHOW_ATTRIBUTE = 0x00000002; /** * Show Text nodes. */ public static final int SHOW_TEXT = 0x00000004; /** * Show CDATASection nodes. */ public static final int SHOW_CDATA_SECTION = 0x00000008; /** * Show EntityReference nodes. */ public static final int SHOW_ENTITY_REFERENCE = 0x00000010; /** * Show Entity nodes. This is meaningful only when creating * an NodeIterator or TreeWalker with an * Entity node as its root; in this case, it * means that the Entity node will appear in the first * position of the traversal. Since entities are not part of the * document tree, they do not appear when traversing over the document * tree. */ public static final int SHOW_ENTITY = 0x00000020; /** * Show ProcessingInstruction nodes. */ public static final int SHOW_PROCESSING_INSTRUCTION = 0x00000040; /** * Show Comment nodes. */ public static final int SHOW_COMMENT = 0x00000080; /** * Show Document nodes. */ public static final int SHOW_DOCUMENT = 0x00000100; /** * Show DocumentType nodes. */ public static final int SHOW_DOCUMENT_TYPE = 0x00000200; /** * Show DocumentFragment nodes. */ public static final int SHOW_DOCUMENT_FRAGMENT = 0x00000400; /** * Show Notation nodes. This is meaningful only when creating * an NodeIterator or TreeWalker with a * Notation node as its root; in this case, it * means that the Notation node will appear in the first * position of the traversal. Since notations are not part of the * document tree, they do not appear when traversing over the document * tree. */ public static final int SHOW_NOTATION = 0x00000800; /** * Test whether a specified node is visible in the logical view of a * TreeWalker or NodeIterator. This function * will be called by the implementation of TreeWalker and * NodeIterator; it is not normally called directly from * user code. (Though you could do so if you wanted to use the same * filter to guide your own application logic.) * @param n The node to check to see if it passes the filter or not. * @return A constant to determine whether the node is accepted, * rejected, or skipped, as defined above. */ public short acceptNode(Node n); } org/w3c/dom/traversal/NodeIterator.java100644 0 0 11701 11146172406 15536 0ustar 0 0 /* * Copyright (c) 2000 World Wide Web Consortium, * (Massachusetts Institute of Technology, Institut National de * Recherche en Informatique et en Automatique, Keio University). All * Rights Reserved. This program is distributed under the W3C's Software * Intellectual Property License. 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 W3C License http://www.w3.org/Consortium/Legal/ for more details. */ package org.w3c.dom.traversal; import org.w3c.dom.Node; import org.w3c.dom.DOMException; /** * NodeIterators are used to step through a set of nodes, e.g. * the set of nodes in a NodeList, the document subtree * governed by a particular Node, the results of a query, or * any other set of nodes. The set of nodes to be iterated is determined by * the implementation of the NodeIterator. DOM Level 2 * specifies a single NodeIterator implementation for * document-order traversal of a document subtree. Instances of these * NodeIterators are created by calling * DocumentTraversal.createNodeIterator(). *

See also the Document Object Model (DOM) Level 2 Traversal and Range Specification. * @since DOM Level 2 */ public interface NodeIterator { /** * The root node of the NodeIterator, as specified when it * was created. */ public Node getRoot(); /** * This attribute determines which node types are presented via the * NodeIterator. The available set of constants is defined * in the NodeFilter interface. Nodes not accepted by * whatToShow will be skipped, but their children may still * be considered. Note that this skip takes precedence over the filter, * if any. */ public int getWhatToShow(); /** * The NodeFilter used to screen nodes. */ public NodeFilter getFilter(); /** * The value of this flag determines whether the children of entity * reference nodes are visible to the NodeIterator. If * false, these children and their descendants will be rejected. Note * that this rejection takes precedence over whatToShow and * the filter. Also note that this is currently the only situation where * NodeIterators may reject a complete subtree rather than * skipping individual nodes. *
*
To produce a view of the document that has entity references * expanded and does not expose the entity reference node itself, use * the whatToShow flags to hide the entity reference node * and set expandEntityReferences to true when creating the * NodeIterator. To produce a view of the document that has * entity reference nodes but no entity expansion, use the * whatToShow flags to show the entity reference node and * set expandEntityReferences to false. */ public boolean getExpandEntityReferences(); /** * Returns the next node in the set and advances the position of the * NodeIterator in the set. After a * NodeIterator is created, the first call to * nextNode() returns the first node in the set. * @return The next Node in the set being iterated over, or * null if there are no more members in that set. * @exception DOMException * INVALID_STATE_ERR: Raised if this method is called after the * detach method was invoked. */ public Node nextNode() throws DOMException; /** * Returns the previous node in the set and moves the position of the * NodeIterator backwards in the set. * @return The previous Node in the set being iterated over, * or null if there are no more members in that set. * @exception DOMException * INVALID_STATE_ERR: Raised if this method is called after the * detach method was invoked. */ public Node previousNode() throws DOMException; /** * Detaches the NodeIterator from the set which it iterated * over, releasing any computational resources and placing the * NodeIterator in the INVALID state. After * detach has been invoked, calls to nextNode * or previousNode will raise the exception * INVALID_STATE_ERR. */ public void detach(); } org/w3c/dom/traversal/TreeWalker.java100644 0 0 21424 11146172406 15207 0ustar 0 0 /* * Copyright (c) 2000 World Wide Web Consortium, * (Massachusetts Institute of Technology, Institut National de * Recherche en Informatique et en Automatique, Keio University). All * Rights Reserved. This program is distributed under the W3C's Software * Intellectual Property License. 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 W3C License http://www.w3.org/Consortium/Legal/ for more details. */ package org.w3c.dom.traversal; import org.w3c.dom.Node; import org.w3c.dom.DOMException; /** * TreeWalker objects are used to navigate a document tree or * subtree using the view of the document defined by their * whatToShow flags and filter (if any). Any function which * performs navigation using a TreeWalker will automatically * support any view defined by a TreeWalker. *

Omitting nodes from the logical view of a subtree can result in a * structure that is substantially different from the same subtree in the * complete, unfiltered document. Nodes that are siblings in the * TreeWalker view may be children of different, widely * separated nodes in the original view. For instance, consider a * NodeFilter that skips all nodes except for Text nodes and * the root node of a document. In the logical view that results, all text * nodes will be siblings and appear as direct children of the root node, no * matter how deeply nested the structure of the original document. *

See also the Document Object Model (DOM) Level 2 Traversal and Range Specification. * @since DOM Level 2 */ public interface TreeWalker { /** * The root node of the TreeWalker, as specified * when it was created. */ public Node getRoot(); /** * This attribute determines which node types are presented via the * TreeWalker. The available set of constants is defined in * the NodeFilter interface. Nodes not accepted by * whatToShow will be skipped, but their children may still * be considered. Note that this skip takes precedence over the filter, * if any. */ public int getWhatToShow(); /** * The filter used to screen nodes. */ public NodeFilter getFilter(); /** * The value of this flag determines whether the children of entity * reference nodes are visible to the TreeWalker. If false, * these children and their descendants will be rejected. Note that * this rejection takes precedence over whatToShow and the * filter, if any. *
To produce a view of the document that has entity references * expanded and does not expose the entity reference node itself, use * the whatToShow flags to hide the entity reference node * and set expandEntityReferences to true when creating the * TreeWalker. To produce a view of the document that has * entity reference nodes but no entity expansion, use the * whatToShow flags to show the entity reference node and * set expandEntityReferences to false. */ public boolean getExpandEntityReferences(); /** * The node at which the TreeWalker is currently positioned. *
Alterations to the DOM tree may cause the current node to no longer * be accepted by the TreeWalker's associated filter. * currentNode may also be explicitly set to any node, * whether or not it is within the subtree specified by the * root node or would be accepted by the filter and * whatToShow flags. Further traversal occurs relative to * currentNode even if it is not part of the current view, * by applying the filters in the requested direction; if no traversal * is possible, currentNode is not changed. */ public Node getCurrentNode(); /** * The node at which the TreeWalker is currently positioned. *
Alterations to the DOM tree may cause the current node to no longer * be accepted by the TreeWalker's associated filter. * currentNode may also be explicitly set to any node, * whether or not it is within the subtree specified by the * root node or would be accepted by the filter and * whatToShow flags. Further traversal occurs relative to * currentNode even if it is not part of the current view, * by applying the filters in the requested direction; if no traversal * is possible, currentNode is not changed. * @exception DOMException * NOT_SUPPORTED_ERR: Raised if an attempt is made to set * currentNode to null. */ public void setCurrentNode(Node currentNode) throws DOMException; /** * Moves to and returns the closest visible ancestor node of the current * node. If the search for parentNode attempts to step * upward from the TreeWalker's root node, or * if it fails to find a visible ancestor node, this method retains the * current position and returns null. * @return The new parent node, or null if the current node * has no parent in the TreeWalker's logical view. */ public Node parentNode(); /** * Moves the TreeWalker to the first visible child of the * current node, and returns the new node. If the current node has no * visible children, returns null, and retains the current * node. * @return The new node, or null if the current node has no * visible children in the TreeWalker's logical view. */ public Node firstChild(); /** * Moves the TreeWalker to the last visible child of the * current node, and returns the new node. If the current node has no * visible children, returns null, and retains the current * node. * @return The new node, or null if the current node has no * children in the TreeWalker's logical view. */ public Node lastChild(); /** * Moves the TreeWalker to the previous sibling of the * current node, and returns the new node. If the current node has no * visible previous sibling, returns null, and retains the * current node. * @return The new node, or null if the current node has no * previous sibling. in the TreeWalker's logical view. */ public Node previousSibling(); /** * Moves the TreeWalker to the next sibling of the current * node, and returns the new node. If the current node has no visible * next sibling, returns null, and retains the current node. * @return The new node, or null if the current node has no * next sibling. in the TreeWalker's logical view. */ public Node nextSibling(); /** * Moves the TreeWalker to the previous visible node in * document order relative to the current node, and returns the new * node. If the current node has no previous node, or if the search for * previousNode attempts to step upward from the * TreeWalker's root node, returns * null, and retains the current node. * @return The new node, or null if the current node has no * previous node in the TreeWalker's logical view. */ public Node previousNode(); /** * Moves the TreeWalker to the next visible node in document * order relative to the current node, and returns the new node. If the * current node has no next node, or if the search for nextNode attempts * to step upward from the TreeWalker's root * node, returns null, and retains the current node. * @return The new node, or null if the current node has no * next node in the TreeWalker's logical view. */ public Node nextNode(); } org/w3c/dom/views/AbstractView.java100644 0 0 2013 11146172406 14643 0ustar 0 0 /* * Copyright (c) 2000 World Wide Web Consortium, * (Massachusetts Institute of Technology, Institut National de * Recherche en Informatique et en Automatique, Keio University). All * Rights Reserved. This program is distributed under the W3C's Software * Intellectual Property License. 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 W3C License http://www.w3.org/Consortium/Legal/ for more details. */ package org.w3c.dom.views; /** * A base interface that all views shall derive from. *

See also the Document Object Model (DOM) Level 2 Views Specification. * @since DOM Level 2 */ public interface AbstractView { /** * The source DocumentView of which this is an * AbstractView. */ public DocumentView getDocument(); } org/w3c/dom/views/DocumentView.java100644 0 0 2316 11146172406 14664 0ustar 0 0 /* * Copyright (c) 2000 World Wide Web Consortium, * (Massachusetts Institute of Technology, Institut National de * Recherche en Informatique et en Automatique, Keio University). All * Rights Reserved. This program is distributed under the W3C's Software * Intellectual Property License. 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 W3C License http://www.w3.org/Consortium/Legal/ for more details. */ package org.w3c.dom.views; /** * The DocumentView interface is implemented by * Document objects in DOM implementations supporting DOM * Views. It provides an attribute to retrieve the default view of a * document. *

See also the Document Object Model (DOM) Level 2 Views Specification. * @since DOM Level 2 */ public interface DocumentView { /** * The default AbstractView for this Document, * or null if none available. */ public AbstractView getDefaultView(); } org/w3c/dom/xpath/XPathEvaluator.java100644 0 0 16621 11146172405 15174 0ustar 0 0 /* * Copyright (c) 2004 World Wide Web Consortium, * * (Massachusetts Institute of Technology, European Research Consortium for * Informatics and Mathematics, Keio University). All Rights Reserved. This * work is distributed under the W3C(r) Software License [1] 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. * * [1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 */ package org.w3c.dom.xpath; import org.w3c.dom.Node; import org.w3c.dom.DOMException; /** * The evaluation of XPath expressions is provided by * XPathEvaluator. In a DOM implementation which supports the * XPath 3.0 feature, as described above, the XPathEvaluator * interface will be implemented on the same object which implements the * Document interface permitting it to be obtained by the usual * binding-specific method such as casting or by using the DOM Level 3 * getInterface method. In this case the implementation obtained from the * Document supports the XPath DOM module and is compatible with the XPath * 1.0 specification. *

Evaluation of expressions with specialized extension functions or * variables may not work in all implementations and is, therefore, not * portable. XPathEvaluator implementations may be available * from other sources that could provide specific support for specialized * extension functions or variables as would be defined by other * specifications. *

See also the Document Object Model (DOM) Level 3 XPath Specification. */ public interface XPathEvaluator { /** * Creates a parsed XPath expression with resolved namespaces. This is * useful when an expression will be reused in an application since it * makes it possible to compile the expression string into a more * efficient internal form and preresolve all namespace prefixes which * occur within the expression. * @param expression The XPath expression string to be parsed. * @param resolver The resolver permits translation of all * prefixes, including the xml namespace prefix, within * the XPath expression into appropriate namespace URIs. If this is * specified as null, any namespace prefix within the * expression will result in DOMException being thrown * with the code NAMESPACE_ERR. * @return The compiled form of the XPath expression. * @exception XPathException * INVALID_EXPRESSION_ERR: Raised if the expression is not legal * according to the rules of the XPathEvaluator. * @exception DOMException * NAMESPACE_ERR: Raised if the expression contains namespace prefixes * which cannot be resolved by the specified * XPathNSResolver. */ public XPathExpression createExpression(String expression, XPathNSResolver resolver) throws XPathException, DOMException; /** * Adapts any DOM node to resolve namespaces so that an XPath expression * can be easily evaluated relative to the context of the node where it * appeared within the document. This adapter works like the DOM Level 3 * method lookupNamespaceURI on nodes in resolving the * namespaceURI from a given prefix using the current information * available in the node's hierarchy at the time lookupNamespaceURI is * called. also correctly resolving the implicit xml prefix. * @param nodeResolver The node to be used as a context for namespace * resolution. * @return XPathNSResolver which resolves namespaces with * respect to the definitions in scope for a specified node. */ public XPathNSResolver createNSResolver(Node nodeResolver); /** * Evaluates an XPath expression string and returns a result of the * specified type if possible. * @param expression The XPath expression string to be parsed and * evaluated. * @param contextNode The context is context node for the * evaluation of this XPath expression. If the XPathEvaluator was * obtained by casting the Document then this must be * owned by the same document and must be a Document, * Element, Attribute, Text, * CDATASection, Comment, * ProcessingInstruction, or XPathNamespace * node. If the context node is a Text or a * CDATASection, then the context is interpreted as the * whole logical text node as seen by XPath, unless the node is empty * in which case it may not serve as the XPath context. * @param resolver The resolver permits translation of all * prefixes, including the xml namespace prefix, within * the XPath expression into appropriate namespace URIs. If this is * specified as null, any namespace prefix within the * expression will result in DOMException being thrown * with the code NAMESPACE_ERR. * @param type If a specific type is specified, then the * result will be returned as the corresponding type.For XPath 1.0 * results, this must be one of the codes of the * XPathResult interface. * @param result The result specifies a specific result * object which may be reused and returned by this method. If this is * specified as nullor the implementation does not reuse * the specified result, a new result object will be constructed and * returned.For XPath 1.0 results, this object will be of type * XPathResult. * @return The result of the evaluation of the XPath expression.For XPath * 1.0 results, this object will be of type XPathResult. * @exception XPathException * INVALID_EXPRESSION_ERR: Raised if the expression is not legal * according to the rules of the XPathEvaluatori *
TYPE_ERR: Raised if the result cannot be converted to return the * specified type. * @exception DOMException * NAMESPACE_ERR: Raised if the expression contains namespace prefixes * which cannot be resolved by the specified * XPathNSResolver. *
WRONG_DOCUMENT_ERR: The Node is from a document that is not * supported by this XPathEvaluator. *
NOT_SUPPORTED_ERR: The Node is not a type permitted as an XPath * context node or the request type is not permitted by this * XPathEvaluator. */ public Object evaluate(String expression, Node contextNode, XPathNSResolver resolver, short type, Object result) throws XPathException, DOMException; } org/w3c/dom/xpath/XPathException.java100644 0 0 3006 11146172405 15141 0ustar 0 0 /* * Copyright (c) 2004 World Wide Web Consortium, * * (Massachusetts Institute of Technology, European Research Consortium for * Informatics and Mathematics, Keio University). All Rights Reserved. This * work is distributed under the W3C(r) Software License [1] 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. * * [1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 */ package org.w3c.dom.xpath; /** * A new exception has been created for exceptions specific to these XPath * interfaces. *

See also the Document Object Model (DOM) Level 3 XPath Specification. */ public class XPathException extends RuntimeException { public XPathException(short code, String message) { super(message); this.code = code; } public short code; // XPathExceptionCode /** * If the expression has a syntax error or otherwise is not a legal * expression according to the rules of the specific * XPathEvaluator or contains specialized extension * functions or variables not supported by this implementation. */ public static final short INVALID_EXPRESSION_ERR = 51; /** * If the expression cannot be converted to return the specified type. */ public static final short TYPE_ERR = 52; } org/w3c/dom/xpath/XPathExpression.java100644 0 0 6477 11146172405 15361 0ustar 0 0 /* * Copyright (c) 2004 World Wide Web Consortium, * * (Massachusetts Institute of Technology, European Research Consortium for * Informatics and Mathematics, Keio University). All Rights Reserved. This * work is distributed under the W3C(r) Software License [1] 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. * * [1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 */ package org.w3c.dom.xpath; import org.w3c.dom.Node; import org.w3c.dom.DOMException; /** * The XPathExpression interface represents a parsed and resolved * XPath expression. *

See also the Document Object Model (DOM) Level 3 XPath Specification. */ public interface XPathExpression { /** * Evaluates this XPath expression and returns a result. * @param contextNode The context is context node for the * evaluation of this XPath expression.If the XPathEvaluator was * obtained by casting the Document then this must be * owned by the same document and must be a Document, * Element, Attribute, Text, * CDATASection, Comment, * ProcessingInstruction, or XPathNamespace * node.If the context node is a Text or a * CDATASection, then the context is interpreted as the * whole logical text node as seen by XPath, unless the node is empty * in which case it may not serve as the XPath context. * @param type If a specific type is specified, then the * result will be coerced to return the specified type relying on * XPath conversions and fail if the desired coercion is not possible. * This must be one of the type codes of XPathResult. * @param result The result specifies a specific result * object which may be reused and returned by this method. If this is * specified as nullor the implementation does not reuse * the specified result, a new result object will be constructed and * returned.For XPath 1.0 results, this object will be of type * XPathResult. * @return The result of the evaluation of the XPath expression.For XPath * 1.0 results, this object will be of type XPathResult. * @exception XPathException * TYPE_ERR: Raised if the result cannot be converted to return the * specified type. * @exception DOMException * WRONG_DOCUMENT_ERR: The Node is from a document that is not supported * by the XPathEvaluator that created this XPathExpression * . *
NOT_SUPPORTED_ERR: The Node is not a type permitted as an XPath * context node or the request type is not permitted by this * XPathExpression. */ public Object evaluate(Node contextNode, short type, Object result) throws XPathException, DOMException; } org/w3c/dom/xpath/XPathNSResolver.java100644 0 0 3002 11146172405 15241 0ustar 0 0 /* * Copyright (c) 2004 World Wide Web Consortium, * * (Massachusetts Institute of Technology, European Research Consortium for * Informatics and Mathematics, Keio University). All Rights Reserved. This * work is distributed under the W3C(r) Software License [1] 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. * * [1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 */ package org.w3c.dom.xpath; /** * The XPathNSResolver interface permit prefix * strings in the expression to be properly bound to * namespaceURI strings. XPathEvaluator can * construct an implementation of XPathNSResolver from a node, * or the interface may be implemented by any application. *

See also the Document Object Model (DOM) Level 3 XPath Specification. */ public interface XPathNSResolver { /** * Look up the namespace URI associated to the given namespace prefix. The * XPath evaluator must never call this with a null or * empty argument, because the result of doing this is undefined. * @param prefix The prefix to look for. * @return Returns the associated namespace URI or null if * none is found. */ public String lookupNamespaceURI(String prefix); } org/w3c/dom/xpath/XPathNamespace.java100644 0 0 6447 11146172405 15113 0ustar 0 0 /* * Copyright (c) 2004 World Wide Web Consortium, * * (Massachusetts Institute of Technology, European Research Consortium for * Informatics and Mathematics, Keio University). All Rights Reserved. This * work is distributed under the W3C(r) Software License [1] 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. * * [1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 */ package org.w3c.dom.xpath; import org.w3c.dom.Element; import org.w3c.dom.Node; /** * The XPathNamespace interface is returned by * XPathResult interfaces to represent the XPath namespace node * type that DOM lacks. There is no public constructor for this node type. * Attempts to place it into a hierarchy or a NamedNodeMap result in a * DOMException with the code HIERARCHY_REQUEST_ERR * . This node is read only, so methods or setting of attributes that would * mutate the node result in a DOMException with the code * NO_MODIFICATION_ALLOWED_ERR. *

The core specification describes attributes of the Node * interface that are different for different node types but does not * describe XPATH_NAMESPACE_NODE, so here is a description of * those attributes for this node type. All attributes of Node * not described in this section have a null or * false value. *

ownerDocument matches the ownerDocument of the * ownerElement even if the element is later adopted. *

nodeName is always the string "#namespace". *

prefix is the prefix of the namespace represented by the * node. *

localName is the same as prefix. *

nodeType is equal to XPATH_NAMESPACE_NODE. *

namespaceURI is the namespace URI of the namespace * represented by the node. *

nodeValue is the same as namespaceURI. *

adoptNode, cloneNode, and * importNode fail on this node type by raising a * DOMException with the code NOT_SUPPORTED_ERR. *

Note: In future versions of the XPath specification, the * definition of a namespace node may be changed incomatibly, in which case * incompatible changes to field values may be required to implement * versions beyond XPath 1.0. *

See also the Document Object Model (DOM) Level 3 XPath Specification. */ public interface XPathNamespace extends Node { // XPathNodeType /** * The node is a Namespace. */ public static final short XPATH_NAMESPACE_NODE = 13; /** * The Element on which the namespace was in scope when it * was requested. This does not change on a returned namespace node even * if the document changes such that the namespace goes out of scope on * that element and this node is no longer found there by XPath. */ public Element getOwnerElement(); } org/w3c/dom/xpath/XPathResult.java100644 0 0 25027 11146172405 14510 0ustar 0 0 /* * Copyright (c) 2004 World Wide Web Consortium, * * (Massachusetts Institute of Technology, European Research Consortium for * Informatics and Mathematics, Keio University). All Rights Reserved. This * work is distributed under the W3C(r) Software License [1] 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. * * [1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 */ package org.w3c.dom.xpath; import org.w3c.dom.Node; import org.w3c.dom.DOMException; /** * The XPathResult interface represents the result of the * evaluation of an XPath 1.0 expression within the context of a particular * node. Since evaluation of an XPath expression can result in various * result types, this object makes it possible to discover and manipulate * the type and value of the result. *

See also the Document Object Model (DOM) Level 3 XPath Specification. */ public interface XPathResult { // XPathResultType /** * This code does not represent a specific type. An evaluation of an XPath * expression will never produce this type. If this type is requested, * then the evaluation returns whatever type naturally results from * evaluation of the expression. *
If the natural result is a node set when ANY_TYPE was * requested, then UNORDERED_NODE_ITERATOR_TYPE is always * the resulting type. Any other representation of a node set must be * explicitly requested. */ public static final short ANY_TYPE = 0; /** * The result is a number as defined by [XPath 1.0]. * Document modification does not invalidate the number, but may mean * that reevaluation would not yield the same number. */ public static final short NUMBER_TYPE = 1; /** * The result is a string as defined by [XPath 1.0]. * Document modification does not invalidate the string, but may mean * that the string no longer corresponds to the current document. */ public static final short STRING_TYPE = 2; /** * The result is a boolean as defined by [XPath 1.0]. * Document modification does not invalidate the boolean, but may mean * that reevaluation would not yield the same boolean. */ public static final short BOOLEAN_TYPE = 3; /** * The result is a node set as defined by [XPath 1.0] that * will be accessed iteratively, which may not produce nodes in a * particular order. Document modification invalidates the iteration. *
This is the default type returned if the result is a node set and * ANY_TYPE is requested. */ public static final short UNORDERED_NODE_ITERATOR_TYPE = 4; /** * The result is a node set as defined by [XPath 1.0] that * will be accessed iteratively, which will produce document-ordered * nodes. Document modification invalidates the iteration. */ public static final short ORDERED_NODE_ITERATOR_TYPE = 5; /** * The result is a node set as defined by [XPath 1.0] that * will be accessed as a snapshot list of nodes that may not be in a * particular order. Document modification does not invalidate the * snapshot but may mean that reevaluation would not yield the same * snapshot and nodes in the snapshot may have been altered, moved, or * removed from the document. */ public static final short UNORDERED_NODE_SNAPSHOT_TYPE = 6; /** * The result is a node set as defined by [XPath 1.0] that * will be accessed as a snapshot list of nodes that will be in original * document order. Document modification does not invalidate the * snapshot but may mean that reevaluation would not yield the same * snapshot and nodes in the snapshot may have been altered, moved, or * removed from the document. */ public static final short ORDERED_NODE_SNAPSHOT_TYPE = 7; /** * The result is a node set as defined by [XPath 1.0] and * will be accessed as a single node, which may be nullif * the node set is empty. Document modification does not invalidate the * node, but may mean that the result node no longer corresponds to the * current document. This is a convenience that permits optimization * since the implementation can stop once any node in the resulting set * has been found. *
If there is more than one node in the actual result, the single * node returned might not be the first in document order. */ public static final short ANY_UNORDERED_NODE_TYPE = 8; /** * The result is a node set as defined by [XPath 1.0] and * will be accessed as a single node, which may be null if * the node set is empty. Document modification does not invalidate the * node, but may mean that the result node no longer corresponds to the * current document. This is a convenience that permits optimization * since the implementation can stop once the first node in document * order of the resulting set has been found. *
If there are more than one node in the actual result, the single * node returned will be the first in document order. */ public static final short FIRST_ORDERED_NODE_TYPE = 9; /** * A code representing the type of this result, as defined by the type * constants. */ public short getResultType(); /** * The value of this number result. If the native double type of the DOM * binding does not directly support the exact IEEE 754 result of the * XPath expression, then it is up to the definition of the binding to * specify how the XPath number is converted to the native binding * number. * @exception XPathException * TYPE_ERR: raised if resultType is not * NUMBER_TYPE. */ public double getNumberValue() throws XPathException; /** * The value of this string result. * @exception XPathException * TYPE_ERR: raised if resultType is not * STRING_TYPE. */ public String getStringValue() throws XPathException; /** * The value of this boolean result. * @exception XPathException * TYPE_ERR: raised if resultType is not * BOOLEAN_TYPE. */ public boolean getBooleanValue() throws XPathException; /** * The value of this single node result, which may be null. * @exception XPathException * TYPE_ERR: raised if resultType is not * ANY_UNORDERED_NODE_TYPE or * FIRST_ORDERED_NODE_TYPE. */ public Node getSingleNodeValue() throws XPathException; /** * Signifies that the iterator has become invalid. True if * resultType is UNORDERED_NODE_ITERATOR_TYPE * or ORDERED_NODE_ITERATOR_TYPE and the document has been * modified since this result was returned. */ public boolean getInvalidIteratorState(); /** * The number of nodes in the result snapshot. Valid values for * snapshotItem indices are 0 to * snapshotLength-1 inclusive. * @exception XPathException * TYPE_ERR: raised if resultType is not * UNORDERED_NODE_SNAPSHOT_TYPE or * ORDERED_NODE_SNAPSHOT_TYPE. */ public int getSnapshotLength() throws XPathException; /** * Iterates and returns the next node from the node set or * nullif there are no more nodes. * @return Returns the next node. * @exception XPathException * TYPE_ERR: raised if resultType is not * UNORDERED_NODE_ITERATOR_TYPE or * ORDERED_NODE_ITERATOR_TYPE. * @exception DOMException * INVALID_STATE_ERR: The document has been mutated since the result was * returned. */ public Node iterateNext() throws XPathException, DOMException; /** * Returns the indexth item in the snapshot collection. If * index is greater than or equal to the number of nodes in * the list, this method returns null. Unlike the iterator * result, the snapshot does not become invalid, but may not correspond * to the current document if it is mutated. * @param index Index into the snapshot collection. * @return The node at the indexth position in the * NodeList, or null if that is not a valid * index. * @exception XPathException * TYPE_ERR: raised if resultType is not * UNORDERED_NODE_SNAPSHOT_TYPE or * ORDERED_NODE_SNAPSHOT_TYPE. */ public Node snapshotItem(int index) throws XPathException; } org/xml/sax/AttributeList.java100644 0 0 15356 11146172375 14072 0ustar 0 0 // SAX Attribute List Interface. // http://www.saxproject.org // No warranty; no copyright -- use this as you will. // $Id: AttributeList.java 226184 2005-04-08 10:53:24Z neeraj $ package org.xml.sax; /** * Interface for an element's attribute specifications. * *

* This module, both source code and documentation, is in the * Public Domain, and comes with NO WARRANTY. * See http://www.saxproject.org * for further information. *
* *

This is the original SAX1 interface for reporting an element's * attributes. Unlike the new {@link org.xml.sax.Attributes Attributes} * interface, it does not support Namespace-related information.

* *

When an attribute list is supplied as part of a * {@link org.xml.sax.DocumentHandler#startElement startElement} * event, the list will return valid results only during the * scope of the event; once the event handler returns control * to the parser, the attribute list is invalid. To save a * persistent copy of the attribute list, use the SAX1 * {@link org.xml.sax.helpers.AttributeListImpl AttributeListImpl} * helper class.

* *

An attribute list includes only attributes that have been * specified or defaulted: #IMPLIED attributes will not be included.

* *

There are two ways for the SAX application to obtain information * from the AttributeList. First, it can iterate through the entire * list:

* *
 * public void startElement (String name, AttributeList atts) {
 *   for (int i = 0; i < atts.getLength(); i++) {
 *     String name = atts.getName(i);
 *     String type = atts.getType(i);
 *     String value = atts.getValue(i);
 *     [...]
 *   }
 * }
 * 
* *

(Note that the result of getLength() will be zero if there * are no attributes.) * *

As an alternative, the application can request the value or * type of specific attributes:

* *
 * public void startElement (String name, AttributeList atts) {
 *   String identifier = atts.getValue("id");
 *   String label = atts.getValue("label");
 *   [...]
 * }
 * 
* * @deprecated This interface has been replaced by the SAX2 * {@link org.xml.sax.Attributes Attributes} * interface, which includes Namespace support. * @since SAX 1.0 * @author David Megginson * @version 2.0.1 (sax2r2) * @see org.xml.sax.DocumentHandler#startElement startElement * @see org.xml.sax.helpers.AttributeListImpl AttributeListImpl */ public interface AttributeList { //////////////////////////////////////////////////////////////////// // Iteration methods. //////////////////////////////////////////////////////////////////// /** * Return the number of attributes in this list. * *

The SAX parser may provide attributes in any * arbitrary order, regardless of the order in which they were * declared or specified. The number of attributes may be * zero.

* * @return The number of attributes in the list. */ public abstract int getLength (); /** * Return the name of an attribute in this list (by position). * *

The names must be unique: the SAX parser shall not include the * same attribute twice. Attributes without values (those declared * #IMPLIED without a value specified in the start tag) will be * omitted from the list.

* *

If the attribute name has a namespace prefix, the prefix * will still be attached.

* * @param i The index of the attribute in the list (starting at 0). * @return The name of the indexed attribute, or null * if the index is out of range. * @see #getLength */ public abstract String getName (int i); /** * Return the type of an attribute in the list (by position). * *

The attribute type is one of the strings "CDATA", "ID", * "IDREF", "IDREFS", "NMTOKEN", "NMTOKENS", "ENTITY", "ENTITIES", * or "NOTATION" (always in upper case).

* *

If the parser has not read a declaration for the attribute, * or if the parser does not report attribute types, then it must * return the value "CDATA" as stated in the XML 1.0 Recommentation * (clause 3.3.3, "Attribute-Value Normalization").

* *

For an enumerated attribute that is not a notation, the * parser will report the type as "NMTOKEN".

* * @param i The index of the attribute in the list (starting at 0). * @return The attribute type as a string, or * null if the index is out of range. * @see #getLength * @see #getType(java.lang.String) */ public abstract String getType (int i); /** * Return the value of an attribute in the list (by position). * *

If the attribute value is a list of tokens (IDREFS, * ENTITIES, or NMTOKENS), the tokens will be concatenated * into a single string separated by whitespace.

* * @param i The index of the attribute in the list (starting at 0). * @return The attribute value as a string, or * null if the index is out of range. * @see #getLength * @see #getValue(java.lang.String) */ public abstract String getValue (int i); //////////////////////////////////////////////////////////////////// // Lookup methods. //////////////////////////////////////////////////////////////////// /** * Return the type of an attribute in the list (by name). * *

The return value is the same as the return value for * getType(int).

* *

If the attribute name has a namespace prefix in the document, * the application must include the prefix here.

* * @param name The name of the attribute. * @return The attribute type as a string, or null if no * such attribute exists. * @see #getType(int) */ public abstract String getType (String name); /** * Return the value of an attribute in the list (by name). * *

The return value is the same as the return value for * getValue(int).

* *

If the attribute name has a namespace prefix in the document, * the application must include the prefix here.

* * @param name the name of the attribute to return * @return The attribute value as a string, or null if * no such attribute exists. * @see #getValue(int) */ public abstract String getValue (String name); } // end of AttributeList.java org/xml/sax/Attributes.java100644 0 0 21430 11146172375 13407 0ustar 0 0 // Attributes.java - attribute list with Namespace support // http://www.saxproject.org // Written by David Megginson // NO WARRANTY! This class is in the public domain. // $Id: Attributes.java 226184 2005-04-08 10:53:24Z neeraj $ package org.xml.sax; /** * Interface for a list of XML attributes. * *
* This module, both source code and documentation, is in the * Public Domain, and comes with NO WARRANTY. * See http://www.saxproject.org * for further information. *
* *

This interface allows access to a list of attributes in * three different ways:

* *
    *
  1. by attribute index;
  2. *
  3. by Namespace-qualified name; or
  4. *
  5. by qualified (prefixed) name.
  6. *
* *

The list will not contain attributes that were declared * #IMPLIED but not specified in the start tag. It will also not * contain attributes used as Namespace declarations (xmlns*) unless * the http://xml.org/sax/features/namespace-prefixes * feature is set to true (it is false by * default). * Because SAX2 conforms to the original "Namespaces in XML" * recommendation, it normally does not * give namespace declaration attributes a namespace URI. *

* *

Some SAX2 parsers may support using an optional feature flag * (http://xml.org/sax/features/xmlns-uris) to request * that those attributes be given URIs, conforming to a later * backwards-incompatible revision of that recommendation. (The * attribute's "local name" will be the prefix, or "xmlns" when * defining a default element namespace.) For portability, handler * code should always resolve that conflict, rather than requiring * parsers that can change the setting of that feature flag.

* *

If the namespace-prefixes feature (see above) is * false, access by qualified name may not be available; if * the http://xml.org/sax/features/namespaces feature is * false, access by Namespace-qualified names may not be * available.

* *

This interface replaces the now-deprecated SAX1 {@link * org.xml.sax.AttributeList AttributeList} interface, which does not * contain Namespace support. In addition to Namespace support, it * adds the getIndex methods (below).

* *

The order of attributes in the list is unspecified, and will * vary from implementation to implementation.

* * @since SAX 2.0 * @author David Megginson * @version 2.0.1 (sax2r2) * @see org.xml.sax.helpers.AttributesImpl * @see org.xml.sax.ext.DeclHandler#attributeDecl */ public interface Attributes { //////////////////////////////////////////////////////////////////// // Indexed access. //////////////////////////////////////////////////////////////////// /** * Return the number of attributes in the list. * *

Once you know the number of attributes, you can iterate * through the list.

* * @return The number of attributes in the list. * @see #getURI(int) * @see #getLocalName(int) * @see #getQName(int) * @see #getType(int) * @see #getValue(int) */ public abstract int getLength (); /** * Look up an attribute's Namespace URI by index. * * @param index The attribute index (zero-based). * @return The Namespace URI, or the empty string if none * is available, or null if the index is out of * range. * @see #getLength */ public abstract String getURI (int index); /** * Look up an attribute's local name by index. * * @param index The attribute index (zero-based). * @return The local name, or the empty string if Namespace * processing is not being performed, or null * if the index is out of range. * @see #getLength */ public abstract String getLocalName (int index); /** * Look up an attribute's XML qualified (prefixed) name by index. * * @param index The attribute index (zero-based). * @return The XML qualified name, or the empty string * if none is available, or null if the index * is out of range. * @see #getLength */ public abstract String getQName (int index); /** * Look up an attribute's type by index. * *

The attribute type is one of the strings "CDATA", "ID", * "IDREF", "IDREFS", "NMTOKEN", "NMTOKENS", "ENTITY", "ENTITIES", * or "NOTATION" (always in upper case).

* *

If the parser has not read a declaration for the attribute, * or if the parser does not report attribute types, then it must * return the value "CDATA" as stated in the XML 1.0 Recommendation * (clause 3.3.3, "Attribute-Value Normalization").

* *

For an enumerated attribute that is not a notation, the * parser will report the type as "NMTOKEN".

* * @param index The attribute index (zero-based). * @return The attribute's type as a string, or null if the * index is out of range. * @see #getLength */ public abstract String getType (int index); /** * Look up an attribute's value by index. * *

If the attribute value is a list of tokens (IDREFS, * ENTITIES, or NMTOKENS), the tokens will be concatenated * into a single string with each token separated by a * single space.

* * @param index The attribute index (zero-based). * @return The attribute's value as a string, or null if the * index is out of range. * @see #getLength */ public abstract String getValue (int index); //////////////////////////////////////////////////////////////////// // Name-based query. //////////////////////////////////////////////////////////////////// /** * Look up the index of an attribute by Namespace name. * * @param uri The Namespace URI, or the empty string if * the name has no Namespace URI. * @param localName The attribute's local name. * @return The index of the attribute, or -1 if it does not * appear in the list. */ public int getIndex (String uri, String localName); /** * Look up the index of an attribute by XML qualified (prefixed) name. * * @param qName The qualified (prefixed) name. * @return The index of the attribute, or -1 if it does not * appear in the list. */ public int getIndex (String qName); /** * Look up an attribute's type by Namespace name. * *

See {@link #getType(int) getType(int)} for a description * of the possible types.

* * @param uri The Namespace URI, or the empty String if the * name has no Namespace URI. * @param localName The local name of the attribute. * @return The attribute type as a string, or null if the * attribute is not in the list or if Namespace * processing is not being performed. */ public abstract String getType (String uri, String localName); /** * Look up an attribute's type by XML qualified (prefixed) name. * *

See {@link #getType(int) getType(int)} for a description * of the possible types.

* * @param qName The XML qualified name. * @return The attribute type as a string, or null if the * attribute is not in the list or if qualified names * are not available. */ public abstract String getType (String qName); /** * Look up an attribute's value by Namespace name. * *

See {@link #getValue(int) getValue(int)} for a description * of the possible values.

* * @param uri The Namespace URI, or the empty String if the * name has no Namespace URI. * @param localName The local name of the attribute. * @return The attribute value as a string, or null if the * attribute is not in the list. */ public abstract String getValue (String uri, String localName); /** * Look up an attribute's value by XML qualified (prefixed) name. * *

See {@link #getValue(int) getValue(int)} for a description * of the possible values.

* * @param qName The XML qualified name. * @return The attribute value as a string, or null if the * attribute is not in the list or if qualified names * are not available. */ public abstract String getValue (String qName); } // end of Attributes.java org/xml/sax/ContentHandler.java100644 0 0 43460 11146172375 14200 0ustar 0 0 // ContentHandler.java - handle main document content. // http://www.saxproject.org // Written by David Megginson // NO WARRANTY! This class is in the public domain. // $Id: ContentHandler.java 226184 2005-04-08 10:53:24Z neeraj $ package org.xml.sax; /** * Receive notification of the logical content of a document. * *
* This module, both source code and documentation, is in the * Public Domain, and comes with NO WARRANTY. * See http://www.saxproject.org * for further information. *
* *

This is the main interface that most SAX applications * implement: if the application needs to be informed of basic parsing * events, it implements this interface and registers an instance with * the SAX parser using the {@link org.xml.sax.XMLReader#setContentHandler * setContentHandler} method. The parser uses the instance to report * basic document-related events like the start and end of elements * and character data.

* *

The order of events in this interface is very important, and * mirrors the order of information in the document itself. For * example, all of an element's content (character data, processing * instructions, and/or subelements) will appear, in order, between * the startElement event and the corresponding endElement event.

* *

This interface is similar to the now-deprecated SAX 1.0 * DocumentHandler interface, but it adds support for Namespaces * and for reporting skipped entities (in non-validating XML * processors).

* *

Implementors should note that there is also a * ContentHandler class in the java.net * package; that means that it's probably a bad idea to do

* *
import java.net.*;
 * import org.xml.sax.*;
 * 
* *

In fact, "import ...*" is usually a sign of sloppy programming * anyway, so the user should consider this a feature rather than a * bug.

* * @since SAX 2.0 * @author David Megginson * @version 2.0.1+ (sax2r3pre1) * @see org.xml.sax.XMLReader * @see org.xml.sax.DTDHandler * @see org.xml.sax.ErrorHandler */ public interface ContentHandler { /** * Receive an object for locating the origin of SAX document events. * *

SAX parsers are strongly encouraged (though not absolutely * required) to supply a locator: if it does so, it must supply * the locator to the application by invoking this method before * invoking any of the other methods in the ContentHandler * interface.

* *

The locator allows the application to determine the end * position of any document-related event, even if the parser is * not reporting an error. Typically, the application will * use this information for reporting its own errors (such as * character content that does not match an application's * business rules). The information returned by the locator * is probably not sufficient for use with a search engine.

* *

Note that the locator will return correct information only * during the invocation SAX event callbacks after * {@link #startDocument startDocument} returns and before * {@link #endDocument endDocument} is called. The * application should not attempt to use it at any other time.

* * @param locator an object that can return the location of * any SAX document event * @see org.xml.sax.Locator */ public void setDocumentLocator (Locator locator); /** * Receive notification of the beginning of a document. * *

The SAX parser will invoke this method only once, before any * other event callbacks (except for {@link #setDocumentLocator * setDocumentLocator}).

* * @throws org.xml.sax.SAXException any SAX exception, possibly * wrapping another exception * @see #endDocument */ public void startDocument () throws SAXException; /** * Receive notification of the end of a document. * *

There is an apparent contradiction between the * documentation for this method and the documentation for {@link * org.xml.sax.ErrorHandler#fatalError}. Until this ambiguity is * resolved in a future major release, clients should make no * assumptions about whether endDocument() will or will not be * invoked when the parser has reported a fatalError() or thrown * an exception.

* *

The SAX parser will invoke this method only once, and it will * be the last method invoked during the parse. The parser shall * not invoke this method until it has either abandoned parsing * (because of an unrecoverable error) or reached the end of * input.

* * @throws org.xml.sax.SAXException any SAX exception, possibly * wrapping another exception * @see #startDocument */ public void endDocument() throws SAXException; /** * Begin the scope of a prefix-URI Namespace mapping. * *

The information from this event is not necessary for * normal Namespace processing: the SAX XML reader will * automatically replace prefixes for element and attribute * names when the http://xml.org/sax/features/namespaces * feature is true (the default).

* *

There are cases, however, when applications need to * use prefixes in character data or in attribute values, * where they cannot safely be expanded automatically; the * start/endPrefixMapping event supplies the information * to the application to expand prefixes in those contexts * itself, if necessary.

* *

Note that start/endPrefixMapping events are not * guaranteed to be properly nested relative to each other: * all startPrefixMapping events will occur immediately before the * corresponding {@link #startElement startElement} event, * and all {@link #endPrefixMapping endPrefixMapping} * events will occur immediately after the corresponding * {@link #endElement endElement} event, * but their order is not otherwise * guaranteed.

* *

There should never be start/endPrefixMapping events for the * "xml" prefix, since it is predeclared and immutable.

* * @param prefix the Namespace prefix being declared. * An empty string is used for the default element namespace, * which has no prefix. * @param uri the Namespace URI the prefix is mapped to * @throws org.xml.sax.SAXException the client may throw * an exception during processing * @see #endPrefixMapping * @see #startElement */ public void startPrefixMapping (String prefix, String uri) throws SAXException; /** * End the scope of a prefix-URI mapping. * *

See {@link #startPrefixMapping startPrefixMapping} for * details. These events will always occur immediately after the * corresponding {@link #endElement endElement} event, but the order of * {@link #endPrefixMapping endPrefixMapping} events is not otherwise * guaranteed.

* * @param prefix the prefix that was being mapped. * This is the empty string when a default mapping scope ends. * @throws org.xml.sax.SAXException the client may throw * an exception during processing * @see #startPrefixMapping * @see #endElement */ public void endPrefixMapping (String prefix) throws SAXException; /** * Receive notification of the beginning of an element. * *

The Parser will invoke this method at the beginning of every * element in the XML document; there will be a corresponding * {@link #endElement endElement} event for every startElement event * (even when the element is empty). All of the element's content will be * reported, in order, before the corresponding endElement * event.

* *

This event allows up to three name components for each * element:

* *
    *
  1. the Namespace URI;
  2. *
  3. the local name; and
  4. *
  5. the qualified (prefixed) name.
  6. *
* *

Any or all of these may be provided, depending on the * values of the http://xml.org/sax/features/namespaces * and the http://xml.org/sax/features/namespace-prefixes * properties:

* * * *

Note that the attribute list provided will contain only * attributes with explicit values (specified or defaulted): * #IMPLIED attributes will be omitted. The attribute list * will contain attributes used for Namespace declarations * (xmlns* attributes) only if the * http://xml.org/sax/features/namespace-prefixes * property is true (it is false by default, and support for a * true value is optional).

* *

Like {@link #characters characters()}, attribute values may have * characters that need more than one char value.

* * @param uri the Namespace URI, or the empty string if the * element has no Namespace URI or if Namespace * processing is not being performed * @param localName the local name (without prefix), or the * empty string if Namespace processing is not being * performed * @param qName the qualified name (with prefix), or the * empty string if qualified names are not available * @param atts the attributes attached to the element. If * there are no attributes, it shall be an empty * Attributes object. The value of this object after * startElement returns is undefined * @throws org.xml.sax.SAXException any SAX exception, possibly * wrapping another exception * @see #endElement * @see org.xml.sax.Attributes * @see org.xml.sax.helpers.AttributesImpl */ public void startElement (String uri, String localName, String qName, Attributes atts) throws SAXException; /** * Receive notification of the end of an element. * *

The SAX parser will invoke this method at the end of every * element in the XML document; there will be a corresponding * {@link #startElement startElement} event for every endElement * event (even when the element is empty).

* *

For information on the names, see startElement.

* * @param uri the Namespace URI, or the empty string if the * element has no Namespace URI or if Namespace * processing is not being performed * @param localName the local name (without prefix), or the * empty string if Namespace processing is not being * performed * @param qName the qualified XML name (with prefix), or the * empty string if qualified names are not available * @throws org.xml.sax.SAXException any SAX exception, possibly * wrapping another exception */ public void endElement (String uri, String localName, String qName) throws SAXException; /** * Receive notification of character data. * *

The Parser will call this method to report each chunk of * character data. SAX parsers may return all contiguous character * data in a single chunk, or they may split it into several * chunks; however, all of the characters in any single event * must come from the same external entity so that the Locator * provides useful information.

* *

The application must not attempt to read from the array * outside of the specified range.

* *

Individual characters may consist of more than one Java * char value. There are two important cases where this * happens, because characters can't be represented in just sixteen bits. * In one case, characters are represented in a Surrogate Pair, * using two special Unicode values. Such characters are in the so-called * "Astral Planes", with a code point above U+FFFF. A second case involves * composite characters, such as a base character combining with one or * more accent characters.

* *

Your code should not assume that algorithms using * char-at-a-time idioms will be working in character * units; in some cases they will split characters. This is relevant * wherever XML permits arbitrary characters, such as attribute values, * processing instruction data, and comments as well as in data reported * from this method. It's also generally relevant whenever Java code * manipulates internationalized text; the issue isn't unique to XML.

* *

Note that some parsers will report whitespace in element * content using the {@link #ignorableWhitespace ignorableWhitespace} * method rather than this one (validating parsers must * do so).

* * @param ch the characters from the XML document * @param start the start position in the array * @param length the number of characters to read from the array * @throws org.xml.sax.SAXException any SAX exception, possibly * wrapping another exception * @see #ignorableWhitespace * @see org.xml.sax.Locator */ public void characters (char ch[], int start, int length) throws SAXException; /** * Receive notification of ignorable whitespace in element content. * *

Validating Parsers must use this method to report each chunk * of whitespace in element content (see the W3C XML 1.0 * recommendation, section 2.10): non-validating parsers may also * use this method if they are capable of parsing and using * content models.

* *

SAX parsers may return all contiguous whitespace in a single * chunk, or they may split it into several chunks; however, all of * the characters in any single event must come from the same * external entity, so that the Locator provides useful * information.

* *

The application must not attempt to read from the array * outside of the specified range.

* * @param ch the characters from the XML document * @param start the start position in the array * @param length the number of characters to read from the array * @throws org.xml.sax.SAXException any SAX exception, possibly * wrapping another exception * @see #characters */ public void ignorableWhitespace (char ch[], int start, int length) throws SAXException; /** * Receive notification of a processing instruction. * *

The Parser will invoke this method once for each processing * instruction found: note that processing instructions may occur * before or after the main document element.

* *

A SAX parser must never report an XML declaration (XML 1.0, * section 2.8) or a text declaration (XML 1.0, section 4.3.1) * using this method.

* *

Like {@link #characters characters()}, processing instruction * data may have characters that need more than one char * value.

* * @param target the processing instruction target * @param data the processing instruction data, or null if * none was supplied. The data does not include any * whitespace separating it from the target * @throws org.xml.sax.SAXException any SAX exception, possibly * wrapping another exception */ public void processingInstruction (String target, String data) throws SAXException; /** * Receive notification of a skipped entity. * This is not called for entity references within markup constructs * such as element start tags or markup declarations. (The XML * recommendation requires reporting skipped external entities. * SAX also reports internal entity expansion/non-expansion, except * within markup constructs.) * *

The Parser will invoke this method each time the entity is * skipped. Non-validating processors may skip entities if they * have not seen the declarations (because, for example, the * entity was declared in an external DTD subset). All processors * may skip external entities, depending on the values of the * http://xml.org/sax/features/external-general-entities * and the * http://xml.org/sax/features/external-parameter-entities * properties.

* * @param name the name of the skipped entity. If it is a * parameter entity, the name will begin with '%', and if * it is the external DTD subset, it will be the string * "[dtd]" * @throws org.xml.sax.SAXException any SAX exception, possibly * wrapping another exception */ public void skippedEntity (String name) throws SAXException; } // end of ContentHandler.java org/xml/sax/DTDHandler.java100644 0 0 10774 11146172375 13203 0ustar 0 0 // SAX DTD handler. // http://www.saxproject.org // No warranty; no copyright -- use this as you will. // $Id: DTDHandler.java 226184 2005-04-08 10:53:24Z neeraj $ package org.xml.sax; /** * Receive notification of basic DTD-related events. * *
* This module, both source code and documentation, is in the * Public Domain, and comes with NO WARRANTY. * See http://www.saxproject.org * for further information. *
* *

If a SAX application needs information about notations and * unparsed entities, then the application implements this * interface and registers an instance with the SAX parser using * the parser's setDTDHandler method. The parser uses the * instance to report notation and unparsed entity declarations to * the application.

* *

Note that this interface includes only those DTD events that * the XML recommendation requires processors to report: * notation and unparsed entity declarations.

* *

The SAX parser may report these events in any order, regardless * of the order in which the notations and unparsed entities were * declared; however, all DTD events must be reported after the * document handler's startDocument event, and before the first * startElement event. * (If the {@link org.xml.sax.ext.LexicalHandler LexicalHandler} is * used, these events must also be reported before the endDTD event.) *

* *

It is up to the application to store the information for * future use (perhaps in a hash table or object tree). * If the application encounters attributes of type "NOTATION", * "ENTITY", or "ENTITIES", it can use the information that it * obtained through this interface to find the entity and/or * notation corresponding with the attribute value.

* * @since SAX 1.0 * @author David Megginson * @version 2.0.1 (sax2r2) * @see org.xml.sax.XMLReader#setDTDHandler */ public interface DTDHandler { /** * Receive notification of a notation declaration event. * *

It is up to the application to record the notation for later * reference, if necessary; * notations may appear as attribute values and in unparsed entity * declarations, and are sometime used with processing instruction * target names.

* *

At least one of publicId and systemId must be non-null. * If a system identifier is present, and it is a URL, the SAX * parser must resolve it fully before passing it to the * application through this event.

* *

There is no guarantee that the notation declaration will be * reported before any unparsed entities that use it.

* * @param name The notation name. * @param publicId The notation's public identifier, or null if * none was given. * @param systemId The notation's system identifier, or null if * none was given. * @exception org.xml.sax.SAXException Any SAX exception, possibly * wrapping another exception. * @see #unparsedEntityDecl * @see org.xml.sax.Attributes */ public abstract void notationDecl (String name, String publicId, String systemId) throws SAXException; /** * Receive notification of an unparsed entity declaration event. * *

Note that the notation name corresponds to a notation * reported by the {@link #notationDecl notationDecl} event. * It is up to the application to record the entity for later * reference, if necessary; * unparsed entities may appear as attribute values. *

* *

If the system identifier is a URL, the parser must resolve it * fully before passing it to the application.

* * @exception org.xml.sax.SAXException Any SAX exception, possibly * wrapping another exception. * @param name The unparsed entity's name. * @param publicId The entity's public identifier, or null if none * was given. * @param systemId The entity's system identifier. * @param notationName The name of the associated notation. * @see #notationDecl * @see org.xml.sax.Attributes */ public abstract void unparsedEntityDecl (String name, String publicId, String systemId, String notationName) throws SAXException; } // end of DTDHandler.java org/xml/sax/DocumentHandler.java100644 0 0 22624 11146172375 14343 0ustar 0 0 // SAX document handler. // http://www.saxproject.org // No warranty; no copyright -- use this as you will. // $Id: DocumentHandler.java 226184 2005-04-08 10:53:24Z neeraj $ package org.xml.sax; /** * Receive notification of general document events. * *
* This module, both source code and documentation, is in the * Public Domain, and comes with NO WARRANTY. * See http://www.saxproject.org * for further information. *
* *

This was the main event-handling interface for SAX1; in * SAX2, it has been replaced by {@link org.xml.sax.ContentHandler * ContentHandler}, which provides Namespace support and reporting * of skipped entities. This interface is included in SAX2 only * to support legacy SAX1 applications.

* *

The order of events in this interface is very important, and * mirrors the order of information in the document itself. For * example, all of an element's content (character data, processing * instructions, and/or subelements) will appear, in order, between * the startElement event and the corresponding endElement event.

* *

Application writers who do not want to implement the entire * interface can derive a class from HandlerBase, which implements * the default functionality; parser writers can instantiate * HandlerBase to obtain a default handler. The application can find * the location of any document event using the Locator interface * supplied by the Parser through the setDocumentLocator method.

* * @deprecated This interface has been replaced by the SAX2 * {@link org.xml.sax.ContentHandler ContentHandler} * interface, which includes Namespace support. * @since SAX 1.0 * @author David Megginson * @version 2.0.1 (sax2r2) * @see org.xml.sax.Parser#setDocumentHandler * @see org.xml.sax.Locator * @see org.xml.sax.HandlerBase */ public interface DocumentHandler { /** * Receive an object for locating the origin of SAX document events. * *

SAX parsers are strongly encouraged (though not absolutely * required) to supply a locator: if it does so, it must supply * the locator to the application by invoking this method before * invoking any of the other methods in the DocumentHandler * interface.

* *

The locator allows the application to determine the end * position of any document-related event, even if the parser is * not reporting an error. Typically, the application will * use this information for reporting its own errors (such as * character content that does not match an application's * business rules). The information returned by the locator * is probably not sufficient for use with a search engine.

* *

Note that the locator will return correct information only * during the invocation of the events in this interface. The * application should not attempt to use it at any other time.

* * @param locator An object that can return the location of * any SAX document event. * @see org.xml.sax.Locator */ public abstract void setDocumentLocator (Locator locator); /** * Receive notification of the beginning of a document. * *

The SAX parser will invoke this method only once, before any * other methods in this interface or in DTDHandler (except for * setDocumentLocator).

* * @exception org.xml.sax.SAXException Any SAX exception, possibly * wrapping another exception. */ public abstract void startDocument () throws SAXException; /** * Receive notification of the end of a document. * *

The SAX parser will invoke this method only once, and it will * be the last method invoked during the parse. The parser shall * not invoke this method until it has either abandoned parsing * (because of an unrecoverable error) or reached the end of * input.

* * @exception org.xml.sax.SAXException Any SAX exception, possibly * wrapping another exception. */ public abstract void endDocument () throws SAXException; /** * Receive notification of the beginning of an element. * *

The Parser will invoke this method at the beginning of every * element in the XML document; there will be a corresponding * endElement() event for every startElement() event (even when the * element is empty). All of the element's content will be * reported, in order, before the corresponding endElement() * event.

* *

If the element name has a namespace prefix, the prefix will * still be attached. Note that the attribute list provided will * contain only attributes with explicit values (specified or * defaulted): #IMPLIED attributes will be omitted.

* * @param name The element type name. * @param atts The attributes attached to the element, if any. * @exception org.xml.sax.SAXException Any SAX exception, possibly * wrapping another exception. * @see #endElement * @see org.xml.sax.AttributeList */ public abstract void startElement (String name, AttributeList atts) throws SAXException; /** * Receive notification of the end of an element. * *

The SAX parser will invoke this method at the end of every * element in the XML document; there will be a corresponding * startElement() event for every endElement() event (even when the * element is empty).

* *

If the element name has a namespace prefix, the prefix will * still be attached to the name.

* * @param name The element type name * @exception org.xml.sax.SAXException Any SAX exception, possibly * wrapping another exception. */ public abstract void endElement (String name) throws SAXException; /** * Receive notification of character data. * *

The Parser will call this method to report each chunk of * character data. SAX parsers may return all contiguous character * data in a single chunk, or they may split it into several * chunks; however, all of the characters in any single event * must come from the same external entity, so that the Locator * provides useful information.

* *

The application must not attempt to read from the array * outside of the specified range.

* *

Note that some parsers will report whitespace using the * ignorableWhitespace() method rather than this one (validating * parsers must do so).

* * @param ch The characters from the XML document. * @param start The start position in the array. * @param length The number of characters to read from the array. * @exception org.xml.sax.SAXException Any SAX exception, possibly * wrapping another exception. * @see #ignorableWhitespace * @see org.xml.sax.Locator */ public abstract void characters (char ch[], int start, int length) throws SAXException; /** * Receive notification of ignorable whitespace in element content. * *

Validating Parsers must use this method to report each chunk * of ignorable whitespace (see the W3C XML 1.0 recommendation, * section 2.10): non-validating parsers may also use this method * if they are capable of parsing and using content models.

* *

SAX parsers may return all contiguous whitespace in a single * chunk, or they may split it into several chunks; however, all of * the characters in any single event must come from the same * external entity, so that the Locator provides useful * information.

* *

The application must not attempt to read from the array * outside of the specified range.

* * @param ch The characters from the XML document. * @param start The start position in the array. * @param length The number of characters to read from the array. * @exception org.xml.sax.SAXException Any SAX exception, possibly * wrapping another exception. * @see #characters */ public abstract void ignorableWhitespace (char ch[], int start, int length) throws SAXException; /** * Receive notification of a processing instruction. * *

The Parser will invoke this method once for each processing * instruction found: note that processing instructions may occur * before or after the main document element.

* *

A SAX parser should never report an XML declaration (XML 1.0, * section 2.8) or a text declaration (XML 1.0, section 4.3.1) * using this method.

* * @param target The processing instruction target. * @param data The processing instruction data, or null if * none was supplied. * @exception org.xml.sax.SAXException Any SAX exception, possibly * wrapping another exception. */ public abstract void processingInstruction (String target, String data) throws SAXException; } // end of DocumentHandler.java org/xml/sax/EntityResolver.java100644 0 0 11473 11146172375 14265 0ustar 0 0 // SAX entity resolver. // http://www.saxproject.org // No warranty; no copyright -- use this as you will. // $Id: EntityResolver.java 226184 2005-04-08 10:53:24Z neeraj $ package org.xml.sax; import java.io.IOException; /** * Basic interface for resolving entities. * *
* This module, both source code and documentation, is in the * Public Domain, and comes with NO WARRANTY. * See http://www.saxproject.org * for further information. *
* *

If a SAX application needs to implement customized handling * for external entities, it must implement this interface and * register an instance with the SAX driver using the * {@link org.xml.sax.XMLReader#setEntityResolver setEntityResolver} * method.

* *

The XML reader will then allow the application to intercept any * external entities (including the external DTD subset and external * parameter entities, if any) before including them.

* *

Many SAX applications will not need to implement this interface, * but it will be especially useful for applications that build * XML documents from databases or other specialised input sources, * or for applications that use URI types other than URLs.

* *

The following resolver would provide the application * with a special character stream for the entity with the system * identifier "http://www.myhost.com/today":

* *
 * import org.xml.sax.EntityResolver;
 * import org.xml.sax.InputSource;
 *
 * public class MyResolver implements EntityResolver {
 *   public InputSource resolveEntity (String publicId, String systemId)
 *   {
 *     if (systemId.equals("http://www.myhost.com/today")) {
 *              // return a special input source
 *       MyReader reader = new MyReader();
 *       return new InputSource(reader);
 *     } else {
 *              // use the default behaviour
 *       return null;
 *     }
 *   }
 * }
 * 
* *

The application can also use this interface to redirect system * identifiers to local URIs or to look up replacements in a catalog * (possibly by using the public identifier).

* * @since SAX 1.0 * @author David Megginson * @version 2.0.1 (sax2r2) * @see org.xml.sax.XMLReader#setEntityResolver * @see org.xml.sax.InputSource */ public interface EntityResolver { /** * Allow the application to resolve external entities. * *

The parser will call this method before opening any external * entity except the top-level document entity. Such entities include * the external DTD subset and external parameter entities referenced * within the DTD (in either case, only if the parser reads external * parameter entities), and external general entities referenced * within the document element (if the parser reads external general * entities). The application may request that the parser locate * the entity itself, that it use an alternative URI, or that it * use data provided by the application (as a character or byte * input stream).

* *

Application writers can use this method to redirect external * system identifiers to secure and/or local URIs, to look up * public identifiers in a catalogue, or to read an entity from a * database or other input source (including, for example, a dialog * box). Neither XML nor SAX specifies a preferred policy for using * public or system IDs to resolve resources. However, SAX specifies * how to interpret any InputSource returned by this method, and that * if none is returned, then the system ID will be dereferenced as * a URL.

* *

If the system identifier is a URL, the SAX parser must * resolve it fully before reporting it to the application.

* * @param publicId The public identifier of the external entity * being referenced, or null if none was supplied. * @param systemId The system identifier of the external entity * being referenced. * @return An InputSource object describing the new input source, * or null to request that the parser open a regular * URI connection to the system identifier. * @exception org.xml.sax.SAXException Any SAX exception, possibly * wrapping another exception. * @exception java.io.IOException A Java-specific IO exception, * possibly the result of creating a new InputStream * or Reader for the InputSource. * @see org.xml.sax.InputSource */ public abstract InputSource resolveEntity (String publicId, String systemId) throws SAXException, IOException; } // end of EntityResolver.java org/xml/sax/ErrorHandler.java100644 0 0 13442 11146172375 13654 0ustar 0 0 // SAX error handler. // http://www.saxproject.org // No warranty; no copyright -- use this as you will. // $Id: ErrorHandler.java 226184 2005-04-08 10:53:24Z neeraj $ package org.xml.sax; /** * Basic interface for SAX error handlers. * *
* This module, both source code and documentation, is in the * Public Domain, and comes with NO WARRANTY. * See http://www.saxproject.org * for further information. *
* *

If a SAX application needs to implement customized error * handling, it must implement this interface and then register an * instance with the XML reader using the * {@link org.xml.sax.XMLReader#setErrorHandler setErrorHandler} * method. The parser will then report all errors and warnings * through this interface.

* *

WARNING: If an application does not * register an ErrorHandler, XML parsing errors will go unreported, * except that SAXParseExceptions will be thrown for fatal errors. * In order to detect validity errors, an ErrorHandler that does something * with {@link #error error()} calls must be registered.

* *

For XML processing errors, a SAX driver must use this interface * in preference to throwing an exception: it is up to the application * to decide whether to throw an exception for different types of * errors and warnings. Note, however, that there is no requirement that * the parser continue to report additional errors after a call to * {@link #fatalError fatalError}. In other words, a SAX driver class * may throw an exception after reporting any fatalError. * Also parsers may throw appropriate exceptions for non-XML errors. * For example, {@link XMLReader#parse XMLReader.parse()} would throw * an IOException for errors accessing entities or the document.

* * @since SAX 1.0 * @author David Megginson * @version 2.0.1+ (sax2r3pre1) * @see org.xml.sax.XMLReader#setErrorHandler * @see org.xml.sax.SAXParseException */ public interface ErrorHandler { /** * Receive notification of a warning. * *

SAX parsers will use this method to report conditions that * are not errors or fatal errors as defined by the XML * recommendation. The default behaviour is to take no * action.

* *

The SAX parser must continue to provide normal parsing events * after invoking this method: it should still be possible for the * application to process the document through to the end.

* *

Filters may use this method to report other, non-XML warnings * as well.

* * @param exception The warning information encapsulated in a * SAX parse exception. * @exception org.xml.sax.SAXException Any SAX exception, possibly * wrapping another exception. * @see org.xml.sax.SAXParseException */ public abstract void warning (SAXParseException exception) throws SAXException; /** * Receive notification of a recoverable error. * *

This corresponds to the definition of "error" in section 1.2 * of the W3C XML 1.0 Recommendation. For example, a validating * parser would use this callback to report the violation of a * validity constraint. The default behaviour is to take no * action.

* *

The SAX parser must continue to provide normal parsing * events after invoking this method: it should still be possible * for the application to process the document through to the end. * If the application cannot do so, then the parser should report * a fatal error even if the XML recommendation does not require * it to do so.

* *

Filters may use this method to report other, non-XML errors * as well.

* * @param exception The error information encapsulated in a * SAX parse exception. * @exception org.xml.sax.SAXException Any SAX exception, possibly * wrapping another exception. * @see org.xml.sax.SAXParseException */ public abstract void error (SAXParseException exception) throws SAXException; /** * Receive notification of a non-recoverable error. * *

There is an apparent contradiction between the * documentation for this method and the documentation for {@link * org.xml.sax.ContentHandler#endDocument}. Until this ambiguity * is resolved in a future major release, clients should make no * assumptions about whether endDocument() will or will not be * invoked when the parser has reported a fatalError() or thrown * an exception.

* *

This corresponds to the definition of "fatal error" in * section 1.2 of the W3C XML 1.0 Recommendation. For example, a * parser would use this callback to report the violation of a * well-formedness constraint.

* *

The application must assume that the document is unusable * after the parser has invoked this method, and should continue * (if at all) only for the sake of collecting additional error * messages: in fact, SAX parsers are free to stop reporting any * other events once this method has been invoked.

* * @param exception The error information encapsulated in a * SAX parse exception. * @exception org.xml.sax.SAXException Any SAX exception, possibly * wrapping another exception. * @see org.xml.sax.SAXParseException */ public abstract void fatalError (SAXParseException exception) throws SAXException; } // end of ErrorHandler.java org/xml/sax/HandlerBase.java100644 0 0 31441 11146172375 13434 0ustar 0 0 // SAX default handler base class. // http://www.saxproject.org // No warranty; no copyright -- use this as you will. // $Id: HandlerBase.java 226184 2005-04-08 10:53:24Z neeraj $ package org.xml.sax; /** * Default base class for handlers. * *
* This module, both source code and documentation, is in the * Public Domain, and comes with NO WARRANTY. * See http://www.saxproject.org * for further information. *
* *

This class implements the default behaviour for four SAX1 * interfaces: EntityResolver, DTDHandler, DocumentHandler, * and ErrorHandler. It is now obsolete, but is included in SAX2 to * support legacy SAX1 applications. SAX2 applications should use * the {@link org.xml.sax.helpers.DefaultHandler DefaultHandler} * class instead.

* *

Application writers can extend this class when they need to * implement only part of an interface; parser writers can * instantiate this class to provide default handlers when the * application has not supplied its own.

* *

Note that the use of this class is optional.

* * @deprecated This class works with the deprecated * {@link org.xml.sax.DocumentHandler DocumentHandler} * interface. It has been replaced by the SAX2 * {@link org.xml.sax.helpers.DefaultHandler DefaultHandler} * class. * @since SAX 1.0 * @author David Megginson * @version 2.0.1 (sax2r2) * @see org.xml.sax.EntityResolver * @see org.xml.sax.DTDHandler * @see org.xml.sax.DocumentHandler * @see org.xml.sax.ErrorHandler */ public class HandlerBase implements EntityResolver, DTDHandler, DocumentHandler, ErrorHandler { //////////////////////////////////////////////////////////////////// // Default implementation of the EntityResolver interface. //////////////////////////////////////////////////////////////////// /** * Resolve an external entity. * *

Always return null, so that the parser will use the system * identifier provided in the XML document. This method implements * the SAX default behaviour: application writers can override it * in a subclass to do special translations such as catalog lookups * or URI redirection.

* * @param publicId The public identifer, or null if none is * available. * @param systemId The system identifier provided in the XML * document. * @return The new input source, or null to require the * default behaviour. * @exception org.xml.sax.SAXException Any SAX exception, possibly * wrapping another exception. * @see org.xml.sax.EntityResolver#resolveEntity */ public InputSource resolveEntity (String publicId, String systemId) throws SAXException { return null; } //////////////////////////////////////////////////////////////////// // Default implementation of DTDHandler interface. //////////////////////////////////////////////////////////////////// /** * Receive notification of a notation declaration. * *

By default, do nothing. Application writers may override this * method in a subclass if they wish to keep track of the notations * declared in a document.

* * @param name The notation name. * @param publicId The notation public identifier, or null if not * available. * @param systemId The notation system identifier. * @see org.xml.sax.DTDHandler#notationDecl */ public void notationDecl (String name, String publicId, String systemId) { // no op } /** * Receive notification of an unparsed entity declaration. * *

By default, do nothing. Application writers may override this * method in a subclass to keep track of the unparsed entities * declared in a document.

* * @param name The entity name. * @param publicId The entity public identifier, or null if not * available. * @param systemId The entity system identifier. * @param notationName The name of the associated notation. * @see org.xml.sax.DTDHandler#unparsedEntityDecl */ public void unparsedEntityDecl (String name, String publicId, String systemId, String notationName) { // no op } //////////////////////////////////////////////////////////////////// // Default implementation of DocumentHandler interface. //////////////////////////////////////////////////////////////////// /** * Receive a Locator object for document events. * *

By default, do nothing. Application writers may override this * method in a subclass if they wish to store the locator for use * with other document events.

* * @param locator A locator for all SAX document events. * @see org.xml.sax.DocumentHandler#setDocumentLocator * @see org.xml.sax.Locator */ public void setDocumentLocator (Locator locator) { // no op } /** * Receive notification of the beginning of the document. * *

By default, do nothing. Application writers may override this * method in a subclass to take specific actions at the beginning * of a document (such as allocating the root node of a tree or * creating an output file).

* * @exception org.xml.sax.SAXException Any SAX exception, possibly * wrapping another exception. * @see org.xml.sax.DocumentHandler#startDocument */ public void startDocument () throws SAXException { // no op } /** * Receive notification of the end of the document. * *

By default, do nothing. Application writers may override this * method in a subclass to take specific actions at the beginning * of a document (such as finalising a tree or closing an output * file).

* * @exception org.xml.sax.SAXException Any SAX exception, possibly * wrapping another exception. * @see org.xml.sax.DocumentHandler#endDocument */ public void endDocument () throws SAXException { // no op } /** * Receive notification of the start of an element. * *

By default, do nothing. Application writers may override this * method in a subclass to take specific actions at the start of * each element (such as allocating a new tree node or writing * output to a file).

* * @param name The element type name. * @param attributes The specified or defaulted attributes. * @exception org.xml.sax.SAXException Any SAX exception, possibly * wrapping another exception. * @see org.xml.sax.DocumentHandler#startElement */ public void startElement (String name, AttributeList attributes) throws SAXException { // no op } /** * Receive notification of the end of an element. * *

By default, do nothing. Application writers may override this * method in a subclass to take specific actions at the end of * each element (such as finalising a tree node or writing * output to a file).

* * @param name the element name * @exception org.xml.sax.SAXException Any SAX exception, possibly * wrapping another exception. * @see org.xml.sax.DocumentHandler#endElement */ public void endElement (String name) throws SAXException { // no op } /** * Receive notification of character data inside an element. * *

By default, do nothing. Application writers may override this * method to take specific actions for each chunk of character data * (such as adding the data to a node or buffer, or printing it to * a file).

* * @param ch The characters. * @param start The start position in the character array. * @param length The number of characters to use from the * character array. * @exception org.xml.sax.SAXException Any SAX exception, possibly * wrapping another exception. * @see org.xml.sax.DocumentHandler#characters */ public void characters (char ch[], int start, int length) throws SAXException { // no op } /** * Receive notification of ignorable whitespace in element content. * *

By default, do nothing. Application writers may override this * method to take specific actions for each chunk of ignorable * whitespace (such as adding data to a node or buffer, or printing * it to a file).

* * @param ch The whitespace characters. * @param start The start position in the character array. * @param length The number of characters to use from the * character array. * @exception org.xml.sax.SAXException Any SAX exception, possibly * wrapping another exception. * @see org.xml.sax.DocumentHandler#ignorableWhitespace */ public void ignorableWhitespace (char ch[], int start, int length) throws SAXException { // no op } /** * Receive notification of a processing instruction. * *

By default, do nothing. Application writers may override this * method in a subclass to take specific actions for each * processing instruction, such as setting status variables or * invoking other methods.

* * @param target The processing instruction target. * @param data The processing instruction data, or null if * none is supplied. * @exception org.xml.sax.SAXException Any SAX exception, possibly * wrapping another exception. * @see org.xml.sax.DocumentHandler#processingInstruction */ public void processingInstruction (String target, String data) throws SAXException { // no op } //////////////////////////////////////////////////////////////////// // Default implementation of the ErrorHandler interface. //////////////////////////////////////////////////////////////////// /** * Receive notification of a parser warning. * *

The default implementation does nothing. Application writers * may override this method in a subclass to take specific actions * for each warning, such as inserting the message in a log file or * printing it to the console.

* * @param e The warning information encoded as an exception. * @exception org.xml.sax.SAXException Any SAX exception, possibly * wrapping another exception. * @see org.xml.sax.ErrorHandler#warning * @see org.xml.sax.SAXParseException */ public void warning (SAXParseException e) throws SAXException { // no op } /** * Receive notification of a recoverable parser error. * *

The default implementation does nothing. Application writers * may override this method in a subclass to take specific actions * for each error, such as inserting the message in a log file or * printing it to the console.

* * @param e The warning information encoded as an exception. * @exception org.xml.sax.SAXException Any SAX exception, possibly * wrapping another exception. * @see org.xml.sax.ErrorHandler#warning * @see org.xml.sax.SAXParseException */ public void error (SAXParseException e) throws SAXException { // no op } /** * Report a fatal XML parsing error. * *

The default implementation throws a SAXParseException. * Application writers may override this method in a subclass if * they need to take specific actions for each fatal error (such as * collecting all of the errors into a single report): in any case, * the application must stop all regular processing when this * method is invoked, since the document is no longer reliable, and * the parser may no longer report parsing events.

* * @param e The error information encoded as an exception. * @exception org.xml.sax.SAXException Any SAX exception, possibly * wrapping another exception. * @see org.xml.sax.ErrorHandler#fatalError * @see org.xml.sax.SAXParseException */ public void fatalError (SAXParseException e) throws SAXException { throw e; } } // end of HandlerBase.java org/xml/sax/InputSource.java100644 0 0 24356 11146172375 13553 0ustar 0 0 // SAX input source. // http://www.saxproject.org // No warranty; no copyright -- use this as you will. // $Id: InputSource.java 226184 2005-04-08 10:53:24Z neeraj $ package org.xml.sax; import java.io.Reader; import java.io.InputStream; /** * A single input source for an XML entity. * *
* This module, both source code and documentation, is in the * Public Domain, and comes with NO WARRANTY. * See http://www.saxproject.org * for further information. *
* *

This class allows a SAX application to encapsulate information * about an input source in a single object, which may include * a public identifier, a system identifier, a byte stream (possibly * with a specified encoding), and/or a character stream.

* *

There are two places that the application can deliver an * input source to the parser: as the argument to the Parser.parse * method, or as the return value of the EntityResolver.resolveEntity * method.

* *

The SAX parser will use the InputSource object to determine how * to read XML input. If there is a character stream available, the * parser will read that stream directly, disregarding any text * encoding declaration found in that stream. * If there is no character stream, but there is * a byte stream, the parser will use that byte stream, using the * encoding specified in the InputSource or else (if no encoding is * specified) autodetecting the character encoding using an algorithm * such as the one in the XML specification. If neither a character * stream nor a * byte stream is available, the parser will attempt to open a URI * connection to the resource identified by the system * identifier.

* *

An InputSource object belongs to the application: the SAX parser * shall never modify it in any way (it may modify a copy if * necessary). However, standard processing of both byte and * character streams is to close them on as part of end-of-parse cleanup, * so applications should not attempt to re-use such streams after they * have been handed to a parser.

* * @since SAX 1.0 * @author David Megginson * @version 2.0.1 (sax2r2) * @see org.xml.sax.XMLReader#parse(org.xml.sax.InputSource) * @see org.xml.sax.EntityResolver#resolveEntity * @see java.io.InputStream * @see java.io.Reader */ public class InputSource { /** * Zero-argument default constructor. * * @see #setPublicId * @see #setSystemId * @see #setByteStream * @see #setCharacterStream * @see #setEncoding */ public InputSource () { } /** * Create a new input source with a system identifier. * *

Applications may use setPublicId to include a * public identifier as well, or setEncoding to specify * the character encoding, if known.

* *

If the system identifier is a URL, it must be fully * resolved (it may not be a relative URL).

* * @param systemId The system identifier (URI). * @see #setPublicId * @see #setSystemId * @see #setByteStream * @see #setEncoding * @see #setCharacterStream */ public InputSource (String systemId) { setSystemId(systemId); } /** * Create a new input source with a byte stream. * *

Application writers should use setSystemId() to provide a base * for resolving relative URIs, may use setPublicId to include a * public identifier, and may use setEncoding to specify the object's * character encoding.

* * @param byteStream The raw byte stream containing the document. * @see #setPublicId * @see #setSystemId * @see #setEncoding * @see #setByteStream * @see #setCharacterStream */ public InputSource (InputStream byteStream) { setByteStream(byteStream); } /** * Create a new input source with a character stream. * *

Application writers should use setSystemId() to provide a base * for resolving relative URIs, and may use setPublicId to include a * public identifier.

* *

The character stream shall not include a byte order mark.

* * @see #setPublicId * @see #setSystemId * @see #setByteStream * @see #setCharacterStream */ public InputSource (Reader characterStream) { setCharacterStream(characterStream); } /** * Set the public identifier for this input source. * *

The public identifier is always optional: if the application * writer includes one, it will be provided as part of the * location information.

* * @param publicId The public identifier as a string. * @see #getPublicId * @see org.xml.sax.Locator#getPublicId * @see org.xml.sax.SAXParseException#getPublicId */ public void setPublicId (String publicId) { this.publicId = publicId; } /** * Get the public identifier for this input source. * * @return The public identifier, or null if none was supplied. * @see #setPublicId */ public String getPublicId () { return publicId; } /** * Set the system identifier for this input source. * *

The system identifier is optional if there is a byte stream * or a character stream, but it is still useful to provide one, * since the application can use it to resolve relative URIs * and can include it in error messages and warnings (the parser * will attempt to open a connection to the URI only if * there is no byte stream or character stream specified).

* *

If the application knows the character encoding of the * object pointed to by the system identifier, it can register * the encoding using the setEncoding method.

* *

If the system identifier is a URL, it must be fully * resolved (it may not be a relative URL).

* * @param systemId The system identifier as a string. * @see #setEncoding * @see #getSystemId * @see org.xml.sax.Locator#getSystemId * @see org.xml.sax.SAXParseException#getSystemId */ public void setSystemId (String systemId) { this.systemId = systemId; } /** * Get the system identifier for this input source. * *

The getEncoding method will return the character encoding * of the object pointed to, or null if unknown.

* *

If the system ID is a URL, it will be fully resolved.

* * @return The system identifier, or null if none was supplied. * @see #setSystemId * @see #getEncoding */ public String getSystemId () { return systemId; } /** * Set the byte stream for this input source. * *

The SAX parser will ignore this if there is also a character * stream specified, but it will use a byte stream in preference * to opening a URI connection itself.

* *

If the application knows the character encoding of the * byte stream, it should set it with the setEncoding method.

* * @param byteStream A byte stream containing an XML document or * other entity. * @see #setEncoding * @see #getByteStream * @see #getEncoding * @see java.io.InputStream */ public void setByteStream (InputStream byteStream) { this.byteStream = byteStream; } /** * Get the byte stream for this input source. * *

The getEncoding method will return the character * encoding for this byte stream, or null if unknown.

* * @return The byte stream, or null if none was supplied. * @see #getEncoding * @see #setByteStream */ public InputStream getByteStream () { return byteStream; } /** * Set the character encoding, if known. * *

The encoding must be a string acceptable for an * XML encoding declaration (see section 4.3.3 of the XML 1.0 * recommendation).

* *

This method has no effect when the application provides a * character stream.

* * @param encoding A string describing the character encoding. * @see #setSystemId * @see #setByteStream * @see #getEncoding */ public void setEncoding (String encoding) { this.encoding = encoding; } /** * Get the character encoding for a byte stream or URI. * This value will be ignored when the application provides a * character stream. * * @return The encoding, or null if none was supplied. * @see #setByteStream * @see #getSystemId * @see #getByteStream */ public String getEncoding () { return encoding; } /** * Set the character stream for this input source. * *

If there is a character stream specified, the SAX parser * will ignore any byte stream and will not attempt to open * a URI connection to the system identifier.

* * @param characterStream The character stream containing the * XML document or other entity. * @see #getCharacterStream * @see java.io.Reader */ public void setCharacterStream (Reader characterStream) { this.characterStream = characterStream; } /** * Get the character stream for this input source. * * @return The character stream, or null if none was supplied. * @see #setCharacterStream */ public Reader getCharacterStream () { return characterStream; } //////////////////////////////////////////////////////////////////// // Internal state. //////////////////////////////////////////////////////////////////// private String publicId; private String systemId; private InputStream byteStream; private String encoding; private Reader characterStream; } // end of InputSource.java org/xml/sax/Locator.java100644 0 0 12726 11146172375 12674 0ustar 0 0 // SAX locator interface for document events. // http://www.saxproject.org // No warranty; no copyright -- use this as you will. // $Id: Locator.java 226184 2005-04-08 10:53:24Z neeraj $ package org.xml.sax; /** * Interface for associating a SAX event with a document location. * *
* This module, both source code and documentation, is in the * Public Domain, and comes with NO WARRANTY. * See http://www.saxproject.org * for further information. *
* *

If a SAX parser provides location information to the SAX * application, it does so by implementing this interface and then * passing an instance to the application using the content * handler's {@link org.xml.sax.ContentHandler#setDocumentLocator * setDocumentLocator} method. The application can use the * object to obtain the location of any other SAX event * in the XML source document.

* *

Note that the results returned by the object will be valid only * during the scope of each callback method: the application * will receive unpredictable results if it attempts to use the * locator at any other time, or after parsing completes.

* *

SAX parsers are not required to supply a locator, but they are * very strongly encouraged to do so. If the parser supplies a * locator, it must do so before reporting any other document events. * If no locator has been set by the time the application receives * the {@link org.xml.sax.ContentHandler#startDocument startDocument} * event, the application should assume that a locator is not * available.

* * @since SAX 1.0 * @author David Megginson * @version 2.0.1 (sax2r2) * @see org.xml.sax.ContentHandler#setDocumentLocator */ public interface Locator { /** * Return the public identifier for the current document event. * *

The return value is the public identifier of the document * entity or of the external parsed entity in which the markup * triggering the event appears.

* * @return A string containing the public identifier, or * null if none is available. * @see #getSystemId */ public abstract String getPublicId (); /** * Return the system identifier for the current document event. * *

The return value is the system identifier of the document * entity or of the external parsed entity in which the markup * triggering the event appears.

* *

If the system identifier is a URL, the parser must resolve it * fully before passing it to the application. For example, a file * name must always be provided as a file:... URL, and other * kinds of relative URI are also resolved against their bases.

* * @return A string containing the system identifier, or null * if none is available. * @see #getPublicId */ public abstract String getSystemId (); /** * Return the line number where the current document event ends. * Lines are delimited by line ends, which are defined in * the XML specification. * *

Warning: The return value from the method * is intended only as an approximation for the sake of diagnostics; * it is not intended to provide sufficient information * to edit the character content of the original XML document. * In some cases, these "line" numbers match what would be displayed * as columns, and in others they may not match the source text * due to internal entity expansion.

* *

The return value is an approximation of the line number * in the document entity or external parsed entity where the * markup triggering the event appears.

* *

If possible, the SAX driver should provide the line position * of the first character after the text associated with the document * event. The first line is line 1.

* * @return The line number, or -1 if none is available. * @see #getColumnNumber */ public abstract int getLineNumber (); /** * Return the column number where the current document event ends. * This is one-based number of Java char values since * the last line end. * *

Warning: The return value from the method * is intended only as an approximation for the sake of diagnostics; * it is not intended to provide sufficient information * to edit the character content of the original XML document. * For example, when lines contain combining character sequences, wide * characters, surrogate pairs, or bi-directional text, the value may * not correspond to the column in a text editor's display.

* *

The return value is an approximation of the column number * in the document entity or external parsed entity where the * markup triggering the event appears.

* *

If possible, the SAX driver should provide the line position * of the first character after the text associated with the document * event. The first column in each line is column 1.

* * @return The column number, or -1 if none is available. * @see #getLineNumber */ public abstract int getColumnNumber (); } // end of Locator.java org/xml/sax/Parser.java100644 0 0 17306 11146172375 12524 0ustar 0 0 // SAX parser interface. // http://www.saxproject.org // No warranty; no copyright -- use this as you will. // $Id: Parser.java 226184 2005-04-08 10:53:24Z neeraj $ package org.xml.sax; import java.io.IOException; import java.util.Locale; /** * Basic interface for SAX (Simple API for XML) parsers. * *
* This module, both source code and documentation, is in the * Public Domain, and comes with NO WARRANTY. * See http://www.saxproject.org * for further information. *
* *

This was the main event supplier interface for SAX1; it has * been replaced in SAX2 by {@link org.xml.sax.XMLReader XMLReader}, * which includes Namespace support and sophisticated configurability * and extensibility.

* *

All SAX1 parsers must implement this basic interface: it allows * applications to register handlers for different types of events * and to initiate a parse from a URI, or a character stream.

* *

All SAX1 parsers must also implement a zero-argument constructor * (though other constructors are also allowed).

* *

SAX1 parsers are reusable but not re-entrant: the application * may reuse a parser object (possibly with a different input source) * once the first parse has completed successfully, but it may not * invoke the parse() methods recursively within a parse.

* * @deprecated This interface has been replaced by the SAX2 * {@link org.xml.sax.XMLReader XMLReader} * interface, which includes Namespace support. * @since SAX 1.0 * @author David Megginson * @version 2.0.1 (sax2r2) * @see org.xml.sax.EntityResolver * @see org.xml.sax.DTDHandler * @see org.xml.sax.DocumentHandler * @see org.xml.sax.ErrorHandler * @see org.xml.sax.HandlerBase * @see org.xml.sax.InputSource */ public interface Parser { /** * Allow an application to request a locale for errors and warnings. * *

SAX parsers are not required to provide localisation for errors * and warnings; if they cannot support the requested locale, * however, they must throw a SAX exception. Applications may * not request a locale change in the middle of a parse.

* * @param locale A Java Locale object. * @exception org.xml.sax.SAXException Throws an exception * (using the previous or default locale) if the * requested locale is not supported. * @see org.xml.sax.SAXException * @see org.xml.sax.SAXParseException */ public abstract void setLocale (Locale locale) throws SAXException; /** * Allow an application to register a custom entity resolver. * *

If the application does not register an entity resolver, the * SAX parser will resolve system identifiers and open connections * to entities itself (this is the default behaviour implemented in * HandlerBase).

* *

Applications may register a new or different entity resolver * in the middle of a parse, and the SAX parser must begin using * the new resolver immediately.

* * @param resolver The object for resolving entities. * @see EntityResolver * @see HandlerBase */ public abstract void setEntityResolver (EntityResolver resolver); /** * Allow an application to register a DTD event handler. * *

If the application does not register a DTD handler, all DTD * events reported by the SAX parser will be silently * ignored (this is the default behaviour implemented by * HandlerBase).

* *

Applications may register a new or different * handler in the middle of a parse, and the SAX parser must * begin using the new handler immediately.

* * @param handler The DTD handler. * @see DTDHandler * @see HandlerBase */ public abstract void setDTDHandler (DTDHandler handler); /** * Allow an application to register a document event handler. * *

If the application does not register a document handler, all * document events reported by the SAX parser will be silently * ignored (this is the default behaviour implemented by * HandlerBase).

* *

Applications may register a new or different handler in the * middle of a parse, and the SAX parser must begin using the new * handler immediately.

* * @param handler The document handler. * @see DocumentHandler * @see HandlerBase */ public abstract void setDocumentHandler (DocumentHandler handler); /** * Allow an application to register an error event handler. * *

If the application does not register an error event handler, * all error events reported by the SAX parser will be silently * ignored, except for fatalError, which will throw a SAXException * (this is the default behaviour implemented by HandlerBase).

* *

Applications may register a new or different handler in the * middle of a parse, and the SAX parser must begin using the new * handler immediately.

* * @param handler The error handler. * @see ErrorHandler * @see SAXException * @see HandlerBase */ public abstract void setErrorHandler (ErrorHandler handler); /** * Parse an XML document. * *

The application can use this method to instruct the SAX parser * to begin parsing an XML document from any valid input * source (a character stream, a byte stream, or a URI).

* *

Applications may not invoke this method while a parse is in * progress (they should create a new Parser instead for each * additional XML document). Once a parse is complete, an * application may reuse the same Parser object, possibly with a * different input source.

* * @param source The input source for the top-level of the * XML document. * @exception org.xml.sax.SAXException Any SAX exception, possibly * wrapping another exception. * @exception java.io.IOException An IO exception from the parser, * possibly from a byte stream or character stream * supplied by the application. * @see org.xml.sax.InputSource * @see #parse(java.lang.String) * @see #setEntityResolver * @see #setDTDHandler * @see #setDocumentHandler * @see #setErrorHandler */ public abstract void parse (InputSource source) throws SAXException, IOException; /** * Parse an XML document from a system identifier (URI). * *

This method is a shortcut for the common case of reading a * document from a system identifier. It is the exact * equivalent of the following:

* *
     * parse(new InputSource(systemId));
     * 
* *

If the system identifier is a URL, it must be fully resolved * by the application before it is passed to the parser.

* * @param systemId The system identifier (URI). * @exception org.xml.sax.SAXException Any SAX exception, possibly * wrapping another exception. * @exception java.io.IOException An IO exception from the parser, * possibly from a byte stream or character stream * supplied by the application. * @see #parse(org.xml.sax.InputSource) */ public abstract void parse (String systemId) throws SAXException, IOException; } // end of Parser.java org/xml/sax/SAXException.java100644 0 0 10132 11146172375 13570 0ustar 0 0 // SAX exception class. // http://www.saxproject.org // No warranty; no copyright -- use this as you will. // $Id: SAXException.java 226184 2005-04-08 10:53:24Z neeraj $ package org.xml.sax; /** * Encapsulate a general SAX error or warning. * *
* This module, both source code and documentation, is in the * Public Domain, and comes with NO WARRANTY. * See http://www.saxproject.org * for further information. *
* *

This class can contain basic error or warning information from * either the XML parser or the application: a parser writer or * application writer can subclass it to provide additional * functionality. SAX handlers may throw this exception or * any exception subclassed from it.

* *

If the application needs to pass through other types of * exceptions, it must wrap those exceptions in a SAXException * or an exception derived from a SAXException.

* *

If the parser or application needs to include information about a * specific location in an XML document, it should use the * {@link org.xml.sax.SAXParseException SAXParseException} subclass.

* * @since SAX 1.0 * @author David Megginson * @version 2.0.1 (sax2r2) * @see org.xml.sax.SAXParseException */ public class SAXException extends Exception { /** * Create a new SAXException. */ public SAXException () { super(); this.exception = null; } /** * Create a new SAXException. * * @param message The error or warning message. */ public SAXException (String message) { super(message); this.exception = null; } /** * Create a new SAXException wrapping an existing exception. * *

The existing exception will be embedded in the new * one, and its message will become the default message for * the SAXException.

* * @param e The exception to be wrapped in a SAXException. */ public SAXException (Exception e) { super(); this.exception = e; } /** * Create a new SAXException from an existing exception. * *

The existing exception will be embedded in the new * one, but the new exception will have its own message.

* * @param message The detail message. * @param e The exception to be wrapped in a SAXException. */ public SAXException (String message, Exception e) { super(message); this.exception = e; } /** * Return a detail message for this exception. * *

If there is an embedded exception, and if the SAXException * has no detail message of its own, this method will return * the detail message from the embedded exception.

* * @return The error or warning message. */ public String getMessage () { String message = super.getMessage(); if (message == null && exception != null) { return exception.getMessage(); } else { return message; } } /** * Return the embedded exception, if any. * * @return The embedded exception, or null if there is none. */ public Exception getException () { return exception; } /** * Override toString to pick up any embedded exception. * * @return A string representation of this exception. */ public String toString () { if (exception != null) { return exception.toString(); } else { return super.toString(); } } ////////////////////////////////////////////////////////////////////// // Internal state. ////////////////////////////////////////////////////////////////////// /** * @serial The embedded exception if tunnelling, or null. */ private Exception exception; // Added serialVersionUID to preserve binary compatibility static final long serialVersionUID = 583241635256073760L; } // end of SAXException.java org/xml/sax/SAXNotRecognizedException.java100644 0 0 3013 11146172375 16243 0ustar 0 0 // SAXNotRecognizedException.java - unrecognized feature or value. // http://www.saxproject.org // Written by David Megginson // NO WARRANTY! This class is in the Public Domain. // $Id: SAXNotRecognizedException.java 226184 2005-04-08 10:53:24Z neeraj $ package org.xml.sax; /** * Exception class for an unrecognized identifier. * *
* This module, both source code and documentation, is in the * Public Domain, and comes with NO WARRANTY. * See http://www.saxproject.org * for further information. *
* *

An XMLReader will throw this exception when it finds an * unrecognized feature or property identifier; SAX applications and * extensions may use this class for other, similar purposes.

* * @since SAX 2.0 * @author David Megginson * @version 2.0.1 (sax2r2) * @see org.xml.sax.SAXNotSupportedException */ public class SAXNotRecognizedException extends SAXException { /** * Default constructor. */ public SAXNotRecognizedException () { super(); } /** * Construct a new exception with the given message. * * @param message The text message of the exception. */ public SAXNotRecognizedException (String message) { super(message); } // Added serialVersionUID to preserve binary compatibility static final long serialVersionUID = 5440506620509557213L; } // end of SAXNotRecognizedException.java org/xml/sax/SAXNotSupportedException.java100644 0 0 3134 11146172375 16143 0ustar 0 0 // SAXNotSupportedException.java - unsupported feature or value. // http://www.saxproject.org // Written by David Megginson // NO WARRANTY! This class is in the Public Domain. // $Id: SAXNotSupportedException.java 226184 2005-04-08 10:53:24Z neeraj $ package org.xml.sax; /** * Exception class for an unsupported operation. * *
* This module, both source code and documentation, is in the * Public Domain, and comes with NO WARRANTY. * See http://www.saxproject.org * for further information. *
* *

An XMLReader will throw this exception when it recognizes a * feature or property identifier, but cannot perform the requested * operation (setting a state or value). Other SAX2 applications and * extensions may use this class for similar purposes.

* * @since SAX 2.0 * @author David Megginson * @version 2.0.1 (sax2r2) * @see org.xml.sax.SAXNotRecognizedException */ public class SAXNotSupportedException extends SAXException { /** * Construct a new exception with no message. */ public SAXNotSupportedException () { super(); } /** * Construct a new exception with the given message. * * @param message The text message of the exception. */ public SAXNotSupportedException (String message) { super(message); } // Added serialVersionUID to preserve binary compatibility static final long serialVersionUID = -1422818934641823846L; } // end of SAXNotSupportedException.java org/xml/sax/SAXParseException.java100644 0 0 21740 11146172375 14572 0ustar 0 0 // SAX exception class. // http://www.saxproject.org // No warranty; no copyright -- use this as you will. // $Id: SAXParseException.java 226184 2005-04-08 10:53:24Z neeraj $ package org.xml.sax; /** * Encapsulate an XML parse error or warning. * *
* This module, both source code and documentation, is in the * Public Domain, and comes with NO WARRANTY. * See http://www.saxproject.org * for further information. *
* *

This exception may include information for locating the error * in the original XML document, as if it came from a {@link Locator} * object. Note that although the application * will receive a SAXParseException as the argument to the handlers * in the {@link org.xml.sax.ErrorHandler ErrorHandler} interface, * the application is not actually required to throw the exception; * instead, it can simply read the information in it and take a * different action.

* *

Since this exception is a subclass of {@link org.xml.sax.SAXException * SAXException}, it inherits the ability to wrap another exception.

* * @since SAX 1.0 * @author David Megginson * @version 2.0.1 (sax2r2) * @see org.xml.sax.SAXException * @see org.xml.sax.Locator * @see org.xml.sax.ErrorHandler */ public class SAXParseException extends SAXException { ////////////////////////////////////////////////////////////////////// // Constructors. ////////////////////////////////////////////////////////////////////// /** * Create a new SAXParseException from a message and a Locator. * *

This constructor is especially useful when an application is * creating its own exception from within a {@link org.xml.sax.ContentHandler * ContentHandler} callback.

* * @param message The error or warning message. * @param locator The locator object for the error or warning (may be * null). * @see org.xml.sax.Locator */ public SAXParseException (String message, Locator locator) { super(message); if (locator != null) { init(locator.getPublicId(), locator.getSystemId(), locator.getLineNumber(), locator.getColumnNumber()); } else { init(null, null, -1, -1); } } /** * Wrap an existing exception in a SAXParseException. * *

This constructor is especially useful when an application is * creating its own exception from within a {@link org.xml.sax.ContentHandler * ContentHandler} callback, and needs to wrap an existing exception that is not a * subclass of {@link org.xml.sax.SAXException SAXException}.

* * @param message The error or warning message, or null to * use the message from the embedded exception. * @param locator The locator object for the error or warning (may be * null). * @param e Any exception. * @see org.xml.sax.Locator */ public SAXParseException (String message, Locator locator, Exception e) { super(message, e); if (locator != null) { init(locator.getPublicId(), locator.getSystemId(), locator.getLineNumber(), locator.getColumnNumber()); } else { init(null, null, -1, -1); } } /** * Create a new SAXParseException. * *

This constructor is most useful for parser writers.

* *

All parameters except the message are as if * they were provided by a {@link Locator}. For example, if the * system identifier is a URL (including relative filename), the * caller must resolve it fully before creating the exception.

* * * @param message The error or warning message. * @param publicId The public identifier of the entity that generated * the error or warning. * @param systemId The system identifier of the entity that generated * the error or warning. * @param lineNumber The line number of the end of the text that * caused the error or warning. * @param columnNumber The column number of the end of the text that * cause the error or warning. */ public SAXParseException (String message, String publicId, String systemId, int lineNumber, int columnNumber) { super(message); init(publicId, systemId, lineNumber, columnNumber); } /** * Create a new SAXParseException with an embedded exception. * *

This constructor is most useful for parser writers who * need to wrap an exception that is not a subclass of * {@link org.xml.sax.SAXException SAXException}.

* *

All parameters except the message and exception are as if * they were provided by a {@link Locator}. For example, if the * system identifier is a URL (including relative filename), the * caller must resolve it fully before creating the exception.

* * @param message The error or warning message, or null to use * the message from the embedded exception. * @param publicId The public identifier of the entity that generated * the error or warning. * @param systemId The system identifier of the entity that generated * the error or warning. * @param lineNumber The line number of the end of the text that * caused the error or warning. * @param columnNumber The column number of the end of the text that * cause the error or warning. * @param e Another exception to embed in this one. */ public SAXParseException (String message, String publicId, String systemId, int lineNumber, int columnNumber, Exception e) { super(message, e); init(publicId, systemId, lineNumber, columnNumber); } /** * Internal initialization method. * * @param publicId The public identifier of the entity which generated the exception, * or null. * @param systemId The system identifier of the entity which generated the exception, * or null. * @param lineNumber The line number of the error, or -1. * @param columnNumber The column number of the error, or -1. */ private void init (String publicId, String systemId, int lineNumber, int columnNumber) { this.publicId = publicId; this.systemId = systemId; this.lineNumber = lineNumber; this.columnNumber = columnNumber; } /** * Get the public identifier of the entity where the exception occurred. * * @return A string containing the public identifier, or null * if none is available. * @see org.xml.sax.Locator#getPublicId */ public String getPublicId () { return this.publicId; } /** * Get the system identifier of the entity where the exception occurred. * *

If the system identifier is a URL, it will have been resolved * fully.

* * @return A string containing the system identifier, or null * if none is available. * @see org.xml.sax.Locator#getSystemId */ public String getSystemId () { return this.systemId; } /** * The line number of the end of the text where the exception occurred. * *

The first line is line 1.

* * @return An integer representing the line number, or -1 * if none is available. * @see org.xml.sax.Locator#getLineNumber */ public int getLineNumber () { return this.lineNumber; } /** * The column number of the end of the text where the exception occurred. * *

The first column in a line is position 1.

* * @return An integer representing the column number, or -1 * if none is available. * @see org.xml.sax.Locator#getColumnNumber */ public int getColumnNumber () { return this.columnNumber; } ////////////////////////////////////////////////////////////////////// // Internal state. ////////////////////////////////////////////////////////////////////// /** * @serial The public identifier, or null. * @see #getPublicId */ private String publicId; /** * @serial The system identifier, or null. * @see #getSystemId */ private String systemId; /** * @serial The line number, or -1. * @see #getLineNumber */ private int lineNumber; /** * @serial The column number, or -1. * @see #getColumnNumber */ private int columnNumber; // Added serialVersionUID to preserve binary compatibility static final long serialVersionUID = -5651165872476709336L; } // end of SAXParseException.java org/xml/sax/XMLFilter.java100644 0 0 4152 11146172375 13051 0ustar 0 0 // XMLFilter.java - filter SAX2 events. // http://www.saxproject.org // Written by David Megginson // NO WARRANTY! This class is in the Public Domain. // $Id: XMLFilter.java 226184 2005-04-08 10:53:24Z neeraj $ package org.xml.sax; /** * Interface for an XML filter. * *
* This module, both source code and documentation, is in the * Public Domain, and comes with NO WARRANTY. * See http://www.saxproject.org * for further information. *
* *

An XML filter is like an XML reader, except that it obtains its * events from another XML reader rather than a primary source like * an XML document or database. Filters can modify a stream of * events as they pass on to the final application.

* *

The XMLFilterImpl helper class provides a convenient base * for creating SAX2 filters, by passing on all {@link org.xml.sax.EntityResolver * EntityResolver}, {@link org.xml.sax.DTDHandler DTDHandler}, * {@link org.xml.sax.ContentHandler ContentHandler} and {@link org.xml.sax.ErrorHandler * ErrorHandler} events automatically.

* * @since SAX 2.0 * @author David Megginson * @version 2.0.1 (sax2r2) * @see org.xml.sax.helpers.XMLFilterImpl */ public interface XMLFilter extends XMLReader { /** * Set the parent reader. * *

This method allows the application to link the filter to * a parent reader (which may be another filter). The argument * may not be null.

* * @param parent The parent reader. */ public abstract void setParent (XMLReader parent); /** * Get the parent reader. * *

This method allows the application to query the parent * reader (which may be another filter). It is generally a * bad idea to perform any operations on the parent reader * directly: they should all pass through this filter.

* * @return The parent filter, or null if none has been set. */ public abstract XMLReader getParent (); } // end of XMLFilter.java org/xml/sax/XMLReader.java100644 0 0 36022 11146172375 13047 0ustar 0 0 // XMLReader.java - read an XML document. // http://www.saxproject.org // Written by David Megginson // NO WARRANTY! This class is in the Public Domain. // $Id: XMLReader.java 226184 2005-04-08 10:53:24Z neeraj $ package org.xml.sax; import java.io.IOException; /** * Interface for reading an XML document using callbacks. * *
* This module, both source code and documentation, is in the * Public Domain, and comes with NO WARRANTY. * See http://www.saxproject.org * for further information. *
* *

Note: despite its name, this interface does * not extend the standard Java {@link java.io.Reader Reader} * interface, because reading XML is a fundamentally different activity * than reading character data.

* *

XMLReader is the interface that an XML parser's SAX2 driver must * implement. This interface allows an application to set and * query features and properties in the parser, to register * event handlers for document processing, and to initiate * a document parse.

* *

All SAX interfaces are assumed to be synchronous: the * {@link #parse parse} methods must not return until parsing * is complete, and readers must wait for an event-handler callback * to return before reporting the next event.

* *

This interface replaces the (now deprecated) SAX 1.0 {@link * org.xml.sax.Parser Parser} interface. The XMLReader interface * contains two important enhancements over the old Parser * interface (as well as some minor ones):

* *
    *
  1. it adds a standard way to query and set features and * properties; and
  2. *
  3. it adds Namespace support, which is required for many * higher-level XML standards.
  4. *
* *

There are adapters available to convert a SAX1 Parser to * a SAX2 XMLReader and vice-versa.

* * @since SAX 2.0 * @author David Megginson * @version 2.0.1+ (sax2r3pre1) * @see org.xml.sax.XMLFilter * @see org.xml.sax.helpers.ParserAdapter * @see org.xml.sax.helpers.XMLReaderAdapter */ public interface XMLReader { //////////////////////////////////////////////////////////////////// // Configuration. //////////////////////////////////////////////////////////////////// /** * Look up the value of a feature flag. * *

The feature name is any fully-qualified URI. It is * possible for an XMLReader to recognize a feature name but * temporarily be unable to return its value. * Some feature values may be available only in specific * contexts, such as before, during, or after a parse. * Also, some feature values may not be programmatically accessible. * (In the case of an adapter for SAX1 {@link Parser}, there is no * implementation-independent way to expose whether the underlying * parser is performing validation, expanding external entities, * and so forth.)

* *

All XMLReaders are required to recognize the * http://xml.org/sax/features/namespaces and the * http://xml.org/sax/features/namespace-prefixes feature names.

* *

Typical usage is something like this:

* *
     * XMLReader r = new MySAXDriver();
     *
     *                         // try to activate validation
     * try {
     *   r.setFeature("http://xml.org/sax/features/validation", true);
     * } catch (SAXException e) {
     *   System.err.println("Cannot activate validation."); 
     * }
     *
     *                         // register event handlers
     * r.setContentHandler(new MyContentHandler());
     * r.setErrorHandler(new MyErrorHandler());
     *
     *                         // parse the first document
     * try {
     *   r.parse("http://www.foo.com/mydoc.xml");
     * } catch (IOException e) {
     *   System.err.println("I/O exception reading XML document");
     * } catch (SAXException e) {
     *   System.err.println("XML exception reading document.");
     * }
     * 
* *

Implementors are free (and encouraged) to invent their own features, * using names built on their own URIs.

* * @param name The feature name, which is a fully-qualified URI. * @return The current value of the feature (true or false). * @exception org.xml.sax.SAXNotRecognizedException If the feature * value can't be assigned or retrieved. * @exception org.xml.sax.SAXNotSupportedException When the * XMLReader recognizes the feature name but * cannot determine its value at this time. * @see #setFeature */ public boolean getFeature (String name) throws SAXNotRecognizedException, SAXNotSupportedException; /** * Set the value of a feature flag. * *

The feature name is any fully-qualified URI. It is * possible for an XMLReader to expose a feature value but * to be unable to change the current value. * Some feature values may be immutable or mutable only * in specific contexts, such as before, during, or after * a parse.

* *

All XMLReaders are required to support setting * http://xml.org/sax/features/namespaces to true and * http://xml.org/sax/features/namespace-prefixes to false.

* * @param name The feature name, which is a fully-qualified URI. * @param value The requested value of the feature (true or false). * @exception org.xml.sax.SAXNotRecognizedException If the feature * value can't be assigned or retrieved. * @exception org.xml.sax.SAXNotSupportedException When the * XMLReader recognizes the feature name but * cannot set the requested value. * @see #getFeature */ public void setFeature (String name, boolean value) throws SAXNotRecognizedException, SAXNotSupportedException; /** * Look up the value of a property. * *

The property name is any fully-qualified URI. It is * possible for an XMLReader to recognize a property name but * temporarily be unable to return its value. * Some property values may be available only in specific * contexts, such as before, during, or after a parse.

* *

XMLReaders are not required to recognize any specific * property names, though an initial core set is documented for * SAX2.

* *

Implementors are free (and encouraged) to invent their own properties, * using names built on their own URIs.

* * @param name The property name, which is a fully-qualified URI. * @return The current value of the property. * @exception org.xml.sax.SAXNotRecognizedException If the property * value can't be assigned or retrieved. * @exception org.xml.sax.SAXNotSupportedException When the * XMLReader recognizes the property name but * cannot determine its value at this time. * @see #setProperty */ public Object getProperty (String name) throws SAXNotRecognizedException, SAXNotSupportedException; /** * Set the value of a property. * *

The property name is any fully-qualified URI. It is * possible for an XMLReader to recognize a property name but * to be unable to change the current value. * Some property values may be immutable or mutable only * in specific contexts, such as before, during, or after * a parse.

* *

XMLReaders are not required to recognize setting * any specific property names, though a core set is defined by * SAX2.

* *

This method is also the standard mechanism for setting * extended handlers.

* * @param name The property name, which is a fully-qualified URI. * @param value The requested value for the property. * @exception org.xml.sax.SAXNotRecognizedException If the property * value can't be assigned or retrieved. * @exception org.xml.sax.SAXNotSupportedException When the * XMLReader recognizes the property name but * cannot set the requested value. */ public void setProperty (String name, Object value) throws SAXNotRecognizedException, SAXNotSupportedException; //////////////////////////////////////////////////////////////////// // Event handlers. //////////////////////////////////////////////////////////////////// /** * Allow an application to register an entity resolver. * *

If the application does not register an entity resolver, * the XMLReader will perform its own default resolution.

* *

Applications may register a new or different resolver in the * middle of a parse, and the SAX parser must begin using the new * resolver immediately.

* * @param resolver The entity resolver. * @see #getEntityResolver */ public void setEntityResolver (EntityResolver resolver); /** * Return the current entity resolver. * * @return The current entity resolver, or null if none * has been registered. * @see #setEntityResolver */ public EntityResolver getEntityResolver (); /** * Allow an application to register a DTD event handler. * *

If the application does not register a DTD handler, all DTD * events reported by the SAX parser will be silently ignored.

* *

Applications may register a new or different handler in the * middle of a parse, and the SAX parser must begin using the new * handler immediately.

* * @param handler The DTD handler. * @see #getDTDHandler */ public void setDTDHandler (DTDHandler handler); /** * Return the current DTD handler. * * @return The current DTD handler, or null if none * has been registered. * @see #setDTDHandler */ public DTDHandler getDTDHandler (); /** * Allow an application to register a content event handler. * *

If the application does not register a content handler, all * content events reported by the SAX parser will be silently * ignored.

* *

Applications may register a new or different handler in the * middle of a parse, and the SAX parser must begin using the new * handler immediately.

* * @param handler The content handler. * @see #getContentHandler */ public void setContentHandler (ContentHandler handler); /** * Return the current content handler. * * @return The current content handler, or null if none * has been registered. * @see #setContentHandler */ public ContentHandler getContentHandler (); /** * Allow an application to register an error event handler. * *

If the application does not register an error handler, all * error events reported by the SAX parser will be silently * ignored; however, normal processing may not continue. It is * highly recommended that all SAX applications implement an * error handler to avoid unexpected bugs.

* *

Applications may register a new or different handler in the * middle of a parse, and the SAX parser must begin using the new * handler immediately.

* * @param handler The error handler. * @see #getErrorHandler */ public void setErrorHandler (ErrorHandler handler); /** * Return the current error handler. * * @return The current error handler, or null if none * has been registered. * @see #setErrorHandler */ public ErrorHandler getErrorHandler (); //////////////////////////////////////////////////////////////////// // Parsing. //////////////////////////////////////////////////////////////////// /** * Parse an XML document. * *

The application can use this method to instruct the XML * reader to begin parsing an XML document from any valid input * source (a character stream, a byte stream, or a URI).

* *

Applications may not invoke this method while a parse is in * progress (they should create a new XMLReader instead for each * nested XML document). Once a parse is complete, an * application may reuse the same XMLReader object, possibly with a * different input source. * Configuration of the XMLReader object (such as handler bindings and * values established for feature flags and properties) is unchanged * by completion of a parse, unless the definition of that aspect of * the configuration explicitly specifies other behavior. * (For example, feature flags or properties exposing * characteristics of the document being parsed.) *

* *

During the parse, the XMLReader will provide information * about the XML document through the registered event * handlers.

* *

This method is synchronous: it will not return until parsing * has ended. If a client application wants to terminate * parsing early, it should throw an exception.

* * @param input The input source for the top-level of the * XML document. * @exception org.xml.sax.SAXException Any SAX exception, possibly * wrapping another exception. * @exception java.io.IOException An IO exception from the parser, * possibly from a byte stream or character stream * supplied by the application. * @see org.xml.sax.InputSource * @see #parse(java.lang.String) * @see #setEntityResolver * @see #setDTDHandler * @see #setContentHandler * @see #setErrorHandler */ public void parse (InputSource input) throws IOException, SAXException; /** * Parse an XML document from a system identifier (URI). * *

This method is a shortcut for the common case of reading a * document from a system identifier. It is the exact * equivalent of the following:

* *
     * parse(new InputSource(systemId));
     * 
* *

If the system identifier is a URL, it must be fully resolved * by the application before it is passed to the parser.

* * @param systemId The system identifier (URI). * @exception org.xml.sax.SAXException Any SAX exception, possibly * wrapping another exception. * @exception java.io.IOException An IO exception from the parser, * possibly from a byte stream or character stream * supplied by the application. * @see #parse(org.xml.sax.InputSource) */ public void parse (String systemId) throws IOException, SAXException; } org/xml/sax/ext/Attributes2.java100644 0 0 12443 11146172374 14274 0ustar 0 0 // Attributes2.java - extended Attributes // http://www.saxproject.org // Public Domain: no warranty. // $Id: Attributes2.java 226184 2005-04-08 10:53:24Z neeraj $ package org.xml.sax.ext; import org.xml.sax.Attributes; /** * SAX2 extension to augment the per-attribute information * provided though {@link Attributes}. * If an implementation supports this extension, the attributes * provided in {@link org.xml.sax.ContentHandler#startElement * ContentHandler.startElement() } will implement this interface, * and the http://xml.org/sax/features/use-attributes2 * feature flag will have the value true. * *
* This module, both source code and documentation, is in the * Public Domain, and comes with NO WARRANTY. *
* *

XMLReader implementations are not required to support this * information, and it is not part of core-only SAX2 distributions.

* *

Note that if an attribute was defaulted (!isSpecified()) * it will of necessity also have been declared (isDeclared()) * in the DTD. * Similarly if an attribute's type is anything except CDATA, then it * must have been declared. *

* * @since SAX 2.0 (extensions 1.1 alpha) * @author David Brownell * @version TBS */ public interface Attributes2 extends Attributes { /** * Returns false unless the attribute was declared in the DTD. * This helps distinguish two kinds of attributes that SAX reports * as CDATA: ones that were declared (and hence are usually valid), * and those that were not (and which are never valid). * * @param index The attribute index (zero-based). * @return true if the attribute was declared in the DTD, * false otherwise. * @exception java.lang.ArrayIndexOutOfBoundsException When the * supplied index does not identify an attribute. */ public boolean isDeclared (int index); /** * Returns false unless the attribute was declared in the DTD. * This helps distinguish two kinds of attributes that SAX reports * as CDATA: ones that were declared (and hence are usually valid), * and those that were not (and which are never valid). * * @param qName The XML qualified (prefixed) name. * @return true if the attribute was declared in the DTD, * false otherwise. * @exception java.lang.IllegalArgumentException When the * supplied name does not identify an attribute. */ public boolean isDeclared (String qName); /** * Returns false unless the attribute was declared in the DTD. * This helps distinguish two kinds of attributes that SAX reports * as CDATA: ones that were declared (and hence are usually valid), * and those that were not (and which are never valid). * *

Remember that since DTDs do not "understand" namespaces, the * namespace URI associated with an attribute may not have come from * the DTD. The declaration will have applied to the attribute's * qName. * * @param uri The Namespace URI, or the empty string if * the name has no Namespace URI. * @param localName The attribute's local name. * @return true if the attribute was declared in the DTD, * false otherwise. * @exception java.lang.IllegalArgumentException When the * supplied names do not identify an attribute. */ public boolean isDeclared (String uri, String localName); /** * Returns true unless the attribute value was provided * by DTD defaulting. * * @param index The attribute index (zero-based). * @return true if the value was found in the XML text, * false if the value was provided by DTD defaulting. * @exception java.lang.ArrayIndexOutOfBoundsException When the * supplied index does not identify an attribute. */ public boolean isSpecified (int index); /** * Returns true unless the attribute value was provided * by DTD defaulting. * *

Remember that since DTDs do not "understand" namespaces, the * namespace URI associated with an attribute may not have come from * the DTD. The declaration will have applied to the attribute's * qName. * * @param uri The Namespace URI, or the empty string if * the name has no Namespace URI. * @param localName The attribute's local name. * @return true if the value was found in the XML text, * false if the value was provided by DTD defaulting. * @exception java.lang.IllegalArgumentException When the * supplied names do not identify an attribute. */ public boolean isSpecified (String uri, String localName); /** * Returns true unless the attribute value was provided * by DTD defaulting. * * @param qName The XML qualified (prefixed) name. * @return true if the value was found in the XML text, * false if the value was provided by DTD defaulting. * @exception java.lang.IllegalArgumentException When the * supplied name does not identify an attribute. */ public boolean isSpecified (String qName); } org/xml/sax/ext/Attributes2Impl.java100644 0 0 22163 11146172374 15116 0ustar 0 0 // Attributes2Impl.java - extended AttributesImpl // http://www.saxproject.org // Public Domain: no warranty. // $Id: Attributes2Impl.java 226184 2005-04-08 10:53:24Z neeraj $ package org.xml.sax.ext; import org.xml.sax.Attributes; import org.xml.sax.helpers.AttributesImpl; /** * SAX2 extension helper for additional Attributes information, * implementing the {@link Attributes2} interface. * *

* This module, both source code and documentation, is in the * Public Domain, and comes with NO WARRANTY. *
* *

This is not part of core-only SAX2 distributions.

* *

The specified flag for each attribute will always * be true, unless it has been set to false in the copy constructor * or using {@link #setSpecified}. * Similarly, the declared flag for each attribute will * always be false, except for defaulted attributes (specified * is false), non-CDATA attributes, or when it is set to true using * {@link #setDeclared}. * If you change an attribute's type by hand, you may need to modify * its declared flag to match. *

* * @since SAX 2.0 (extensions 1.1 alpha) * @author David Brownell * @version TBS */ public class Attributes2Impl extends AttributesImpl implements Attributes2 { private boolean declared []; private boolean specified []; /** * Construct a new, empty Attributes2Impl object. */ public Attributes2Impl () { } /** * Copy an existing Attributes or Attributes2 object. * If the object implements Attributes2, values of the * specified and declared flags for each * attribute are copied. * Otherwise the flag values are defaulted to assume no DTD was used, * unless there is evidence to the contrary (such as attributes with * type other than CDATA, which must have been declared). * *

This constructor is especially useful inside a * {@link org.xml.sax.ContentHandler#startElement startElement} event.

* * @param atts The existing Attributes object. */ public Attributes2Impl (Attributes atts) { super (atts); } //////////////////////////////////////////////////////////////////// // Implementation of Attributes2 //////////////////////////////////////////////////////////////////// /** * Returns the current value of the attribute's "declared" flag. */ // javadoc mostly from interface public boolean isDeclared (int index) { if (index < 0 || index >= getLength ()) throw new ArrayIndexOutOfBoundsException ( "No attribute at index: " + index); return declared [index]; } /** * Returns the current value of the attribute's "declared" flag. */ // javadoc mostly from interface public boolean isDeclared (String uri, String localName) { int index = getIndex (uri, localName); if (index < 0) throw new IllegalArgumentException ( "No such attribute: local=" + localName + ", namespace=" + uri); return declared [index]; } /** * Returns the current value of the attribute's "declared" flag. */ // javadoc mostly from interface public boolean isDeclared (String qName) { int index = getIndex (qName); if (index < 0) throw new IllegalArgumentException ( "No such attribute: " + qName); return declared [index]; } /** * Returns the current value of an attribute's "specified" flag. * * @param index The attribute index (zero-based). * @return current flag value * @exception java.lang.ArrayIndexOutOfBoundsException When the * supplied index does not identify an attribute. */ public boolean isSpecified (int index) { if (index < 0 || index >= getLength ()) throw new ArrayIndexOutOfBoundsException ( "No attribute at index: " + index); return specified [index]; } /** * Returns the current value of an attribute's "specified" flag. * * @param uri The Namespace URI, or the empty string if * the name has no Namespace URI. * @param localName The attribute's local name. * @return current flag value * @exception java.lang.IllegalArgumentException When the * supplied names do not identify an attribute. */ public boolean isSpecified (String uri, String localName) { int index = getIndex (uri, localName); if (index < 0) throw new IllegalArgumentException ( "No such attribute: local=" + localName + ", namespace=" + uri); return specified [index]; } /** * Returns the current value of an attribute's "specified" flag. * * @param qName The XML qualified (prefixed) name. * @return current flag value * @exception java.lang.IllegalArgumentException When the * supplied name does not identify an attribute. */ public boolean isSpecified (String qName) { int index = getIndex (qName); if (index < 0) throw new IllegalArgumentException ( "No such attribute: " + qName); return specified [index]; } //////////////////////////////////////////////////////////////////// // Manipulators //////////////////////////////////////////////////////////////////// /** * Copy an entire Attributes object. The "specified" flags are * assigned as true, and "declared" flags as false (except when * an attribute's type is not CDATA), * unless the object is an Attributes2 object. * In that case those flag values are all copied. * * @see AttributesImpl#setAttributes */ public void setAttributes (Attributes atts) { int length = atts.getLength (); super.setAttributes (atts); declared = new boolean [length]; specified = new boolean [length]; if (atts instanceof Attributes2) { Attributes2 a2 = (Attributes2) atts; for (int i = 0; i < length; i++) { declared [i] = a2.isDeclared (i); specified [i] = a2.isSpecified (i); } } else { for (int i = 0; i < length; i++) { declared [i] = !"CDATA".equals (atts.getType (i)); specified [i] = true; } } } /** * Add an attribute to the end of the list, setting its * "specified" flag to true. To set that flag's value * to false, use {@link #setSpecified}. * *

Unless the attribute type is CDATA, this attribute * is marked as being declared in the DTD. To set that flag's value * to true for CDATA attributes, use {@link #setDeclared}. * * @see AttributesImpl#addAttribute */ public void addAttribute (String uri, String localName, String qName, String type, String value) { super.addAttribute (uri, localName, qName, type, value); int length = getLength (); if (length < specified.length) { boolean newFlags []; newFlags = new boolean [length]; System.arraycopy (declared, 0, newFlags, 0, declared.length); declared = newFlags; newFlags = new boolean [length]; System.arraycopy (specified, 0, newFlags, 0, specified.length); specified = newFlags; } specified [length - 1] = true; declared [length - 1] = !"CDATA".equals (type); } // javadoc entirely from superclass public void removeAttribute (int index) { int origMax = getLength () - 1; super.removeAttribute (index); if (index != origMax) { System.arraycopy (declared, index + 1, declared, index, origMax - index); System.arraycopy (specified, index + 1, specified, index, origMax - index); } } /** * Assign a value to the "declared" flag of a specific attribute. * This is normally needed only for attributes of type CDATA, * including attributes whose type is changed to or from CDATA. * * @param index The index of the attribute (zero-based). * @param value The desired flag value. * @exception java.lang.ArrayIndexOutOfBoundsException When the * supplied index does not identify an attribute. * @see #setType */ public void setDeclared (int index, boolean value) { if (index < 0 || index >= getLength ()) throw new ArrayIndexOutOfBoundsException ( "No attribute at index: " + index); declared [index] = value; } /** * Assign a value to the "specified" flag of a specific attribute. * This is the only way this flag can be cleared, except clearing * by initialization with the copy constructor. * * @param index The index of the attribute (zero-based). * @param value The desired flag value. * @exception java.lang.ArrayIndexOutOfBoundsException When the * supplied index does not identify an attribute. */ public void setSpecified (int index, boolean value) { if (index < 0 || index >= getLength ()) throw new ArrayIndexOutOfBoundsException ( "No attribute at index: " + index); specified [index] = value; } } org/xml/sax/ext/DeclHandler.java100644 0 0 13251 11146172374 14227 0ustar 0 0 // DeclHandler.java - Optional handler for DTD declaration events. // http://www.saxproject.org // Public Domain: no warranty. // $Id: DeclHandler.java 226184 2005-04-08 10:53:24Z neeraj $ package org.xml.sax.ext; import org.xml.sax.SAXException; /** * SAX2 extension handler for DTD declaration events. * *

* This module, both source code and documentation, is in the * Public Domain, and comes with NO WARRANTY. * See http://www.saxproject.org * for further information. *
* *

This is an optional extension handler for SAX2 to provide more * complete information about DTD declarations in an XML document. * XML readers are not required to recognize this handler, and it * is not part of core-only SAX2 distributions.

* *

Note that data-related DTD declarations (unparsed entities and * notations) are already reported through the {@link * org.xml.sax.DTDHandler DTDHandler} interface.

* *

If you are using the declaration handler together with a lexical * handler, all of the events will occur between the * {@link org.xml.sax.ext.LexicalHandler#startDTD startDTD} and the * {@link org.xml.sax.ext.LexicalHandler#endDTD endDTD} events.

* *

To set the DeclHandler for an XML reader, use the * {@link org.xml.sax.XMLReader#setProperty setProperty} method * with the property name * http://xml.org/sax/properties/declaration-handler * and an object implementing this interface (or null) as the value. * If the reader does not report declaration events, it will throw a * {@link org.xml.sax.SAXNotRecognizedException SAXNotRecognizedException} * when you attempt to register the handler.

* * @since SAX 2.0 (extensions 1.0) * @author David Megginson * @version 2.0.1 (sax2r2) */ public interface DeclHandler { /** * Report an element type declaration. * *

The content model will consist of the string "EMPTY", the * string "ANY", or a parenthesised group, optionally followed * by an occurrence indicator. The model will be normalized so * that all parameter entities are fully resolved and all whitespace * is removed,and will include the enclosing parentheses. Other * normalization (such as removing redundant parentheses or * simplifying occurrence indicators) is at the discretion of the * parser.

* * @param name The element type name. * @param model The content model as a normalized string. * @exception SAXException The application may raise an exception. */ public abstract void elementDecl (String name, String model) throws SAXException; /** * Report an attribute type declaration. * *

Only the effective (first) declaration for an attribute will * be reported. The type will be one of the strings "CDATA", * "ID", "IDREF", "IDREFS", "NMTOKEN", "NMTOKENS", "ENTITY", * "ENTITIES", a parenthesized token group with * the separator "|" and all whitespace removed, or the word * "NOTATION" followed by a space followed by a parenthesized * token group with all whitespace removed.

* *

The value will be the value as reported to applications, * appropriately normalized and with entity and character * references expanded.

* * @param eName The name of the associated element. * @param aName The name of the attribute. * @param type A string representing the attribute type. * @param mode A string representing the attribute defaulting mode * ("#IMPLIED", "#REQUIRED", or "#FIXED") or null if * none of these applies. * @param value A string representing the attribute's default value, * or null if there is none. * @exception SAXException The application may raise an exception. */ public abstract void attributeDecl (String eName, String aName, String type, String mode, String value) throws SAXException; /** * Report an internal entity declaration. * *

Only the effective (first) declaration for each entity * will be reported. All parameter entities in the value * will be expanded, but general entities will not.

* * @param name The name of the entity. If it is a parameter * entity, the name will begin with '%'. * @param value The replacement text of the entity. * @exception SAXException The application may raise an exception. * @see #externalEntityDecl * @see org.xml.sax.DTDHandler#unparsedEntityDecl */ public abstract void internalEntityDecl (String name, String value) throws SAXException; /** * Report a parsed external entity declaration. * *

Only the effective (first) declaration for each entity * will be reported.

* *

If the system identifier is a URL, the parser must resolve it * fully before passing it to the application.

* * @param name The name of the entity. If it is a parameter * entity, the name will begin with '%'. * @param publicId The entity's public identifier, or null if none * was given. * @param systemId The entity's system identifier. * @exception SAXException The application may raise an exception. * @see #internalEntityDecl * @see org.xml.sax.DTDHandler#unparsedEntityDecl */ public abstract void externalEntityDecl (String name, String publicId, String systemId) throws SAXException; } // end of DeclHandler.java org/xml/sax/ext/DefaultHandler2.java100644 0 0 7534 11146172374 15015 0ustar 0 0 // DefaultHandler2.java - extended DefaultHandler // http://www.saxproject.org // Public Domain: no warranty. // $Id: DefaultHandler2.java 226184 2005-04-08 10:53:24Z neeraj $ package org.xml.sax.ext; import java.io.IOException; import org.xml.sax.InputSource; import org.xml.sax.SAXException; import org.xml.sax.helpers.DefaultHandler; /** * This class extends the SAX2 base handler class to support the * SAX2 {@link LexicalHandler}, {@link DeclHandler}, and * {@link EntityResolver2} extensions. Except for overriding the * original SAX1 {@link DefaultHandler#resolveEntity resolveEntity()} * method the added handler methods just return. Subclassers may * override everything on a method-by-method basis. * *
* This module, both source code and documentation, is in the * Public Domain, and comes with NO WARRANTY. *
* *

Note: this class might yet learn that the * ContentHandler.setDocumentLocator() call might be passed a * {@link Locator2} object, and that the * ContentHandler.startElement() call might be passed a * {@link Attributes2} object. * * @since SAX 2.0 (extensions 1.1 alpha) * @author David Brownell * @version TBS */ public class DefaultHandler2 extends DefaultHandler implements LexicalHandler, DeclHandler, EntityResolver2 { /** Constructs a handler which ignores all parsing events. */ public DefaultHandler2 () { } // SAX2 ext-1.0 LexicalHandler public void startCDATA () throws SAXException {} public void endCDATA () throws SAXException {} public void startDTD (String name, String publicId, String systemId) throws SAXException {} public void endDTD () throws SAXException {} public void startEntity (String name) throws SAXException {} public void endEntity (String name) throws SAXException {} public void comment (char ch [], int start, int length) throws SAXException { } // SAX2 ext-1.0 DeclHandler public void attributeDecl (String eName, String aName, String type, String mode, String value) throws SAXException {} public void elementDecl (String name, String model) throws SAXException {} public void externalEntityDecl (String name, String publicId, String systemId) throws SAXException {} public void internalEntityDecl (String name, String value) throws SAXException {} // SAX2 ext-1.1 EntityResolver2 /** * Tells the parser that if no external subset has been declared * in the document text, none should be used. */ public InputSource getExternalSubset (String name, String baseURI) throws SAXException, IOException { return null; } /** * Tells the parser to resolve the systemId against the baseURI * and read the entity text from that resulting absolute URI. * Note that because the older * {@link DefaultHandler#resolveEntity DefaultHandler.resolveEntity()}, * method is overridden to call this one, this method may sometimes * be invoked with null name and baseURI, and * with the systemId already absolutized. */ public InputSource resolveEntity (String name, String publicId, String baseURI, String systemId) throws SAXException, IOException { return null; } // SAX1 EntityResolver /** * Invokes * {@link EntityResolver2#resolveEntity EntityResolver2.resolveEntity()} * with null entity name and base URI. * You only need to override that method to use this class. */ public InputSource resolveEntity (String publicId, String systemId) throws SAXException, IOException { return resolveEntity (null, publicId, null, systemId); } } org/xml/sax/ext/EntityResolver2.java100644 0 0 22676 11146172374 15155 0ustar 0 0 // EntityResolver2.java - Extended SAX entity resolver. // http://www.saxproject.org // No warranty; no copyright -- use this as you will. // $Id: EntityResolver2.java 226184 2005-04-08 10:53:24Z neeraj $ package org.xml.sax.ext; import java.io.IOException; import org.xml.sax.EntityResolver; import org.xml.sax.InputSource; import org.xml.sax.XMLReader; import org.xml.sax.SAXException; /** * Extended interface for mapping external entity references to input * sources, or providing a missing external subset. The * {@link XMLReader#setEntityResolver XMLReader.setEntityResolver()} method * is used to provide implementations of this interface to parsers. * When a parser uses the methods in this interface, the * {@link EntityResolver2#resolveEntity EntityResolver2.resolveEntity()} * method (in this interface) is used instead of the older (SAX 1.0) * {@link EntityResolver#resolveEntity EntityResolver.resolveEntity()} method. * *

* This module, both source code and documentation, is in the * Public Domain, and comes with NO WARRANTY. *
* *

If a SAX application requires the customized handling which this * interface defines for external entities, it must ensure that it uses * an XMLReader with the * http://xml.org/sax/features/use-entity-resolver2 feature flag * set to true (which is its default value when the feature is * recognized). If that flag is unrecognized, or its value is false, * or the resolver does not implement this interface, then only the * {@link EntityResolver} method will be used. *

* *

That supports three categories of application that modify entity * resolution. Old Style applications won't know about this interface; * they will provide an EntityResolver. * Transitional Mode provide an EntityResolver2 and automatically * get the benefit of its methods in any systems (parsers or other tools) * supporting it, due to polymorphism. * Both Old Style and Transitional Mode applications will * work with any SAX2 parser. * New style applications will fail to run except on SAX2 parsers * that support this particular feature. * They will insist that feature flag have a value of "true", and the * EntityResolver2 implementation they provide might throw an exception * if the original SAX 1.0 style entity resolution method is invoked. *

* * @see org.xml.sax.XMLReader#setEntityResolver * * @since SAX 2.0 (extensions 1.1 alpha) * @author David Brownell * @version TBD */ public interface EntityResolver2 extends EntityResolver { /** * Allows applications to provide an external subset for documents * that don't explicitly define one. Documents with DOCTYPE declarations * that omit an external subset can thus augment the declarations * available for validation, entity processing, and attribute processing * (normalization, defaulting, and reporting types including ID). * This augmentation is reported * through the {@link LexicalHandler#startDTD startDTD()} method as if * the document text had originally included the external subset; * this callback is made before any internal subset data or errors * are reported.

* *

This method can also be used with documents that have no DOCTYPE * declaration. When the root element is encountered, * but no DOCTYPE declaration has been seen, this method is * invoked. If it returns a value for the external subset, that root * element is declared to be the root element, giving the effect of * splicing a DOCTYPE declaration at the end the prolog of a document * that could not otherwise be valid. The sequence of parser callbacks * in that case logically resembles this:

* *
     * ... comments and PIs from the prolog (as usual)
     * startDTD ("rootName", source.getPublicId (), source.getSystemId ());
     * startEntity ("[dtd]");
     * ... declarations, comments, and PIs from the external subset
     * endEntity ("[dtd]");
     * endDTD ();
     * ... then the rest of the document (as usual)
     * startElement (..., "rootName", ...);
     * 
* *

Note that the InputSource gets no further resolution. * Implementations of this method may wish to invoke * {@link #resolveEntity resolveEntity()} to gain benefits such as use * of local caches of DTD entities. Also, this method will never be * used by a (non-validating) processor that is not including external * parameter entities.

* *

Uses for this method include facilitating data validation when * interoperating with XML processors that would always require * undesirable network accesses for external entities, or which for * other reasons adopt a "no DTDs" policy. * Non-validation motives include forcing documents to include DTDs so * that attributes are handled consistently. * For example, an XPath processor needs to know which attibutes have * type "ID" before it can process a widely used type of reference.

* *

Warning: Returning an external subset modifies * the input document. By providing definitions for general entities, * it can make a malformed document appear to be well formed. *

* * @param name Identifies the document root element. This name comes * from a DOCTYPE declaration (where available) or from the actual * root element. * @param baseURI The document's base URI, serving as an additional * hint for selecting the external subset. This is always an absolute * URI, unless it is null because the XMLReader was given an InputSource * without one. * * @return An InputSource object describing the new external subset * to be used by the parser, or null to indicate that no external * subset is provided. * * @exception SAXException Any SAX exception, possibly wrapping * another exception. * @exception IOException Probably indicating a failure to create * a new InputStream or Reader, or an illegal URL. */ public InputSource getExternalSubset (String name, String baseURI) throws SAXException, IOException; /** * Allows applications to map references to external entities into input * sources, or tell the parser it should use conventional URI resolution. * This method is only called for external entities which have been * properly declared. * This method provides more flexibility than the {@link EntityResolver} * interface, supporting implementations of more complex catalogue * schemes such as the one defined by the OASIS XML Catalogs specification.

* *

Parsers configured to use this resolver method will call it * to determine the input source to use for any external entity * being included because of a reference in the XML text. * That excludes the document entity, and any external entity returned * by {@link #getExternalSubset getExternalSubset()}. * When a (non-validating) processor is configured not to include * a class of entities (parameter or general) through use of feature * flags, this method is not invoked for such entities.

* *

Note that the entity naming scheme used here is the same one * used in the {@link LexicalHandler}, or in the {@link org.xml.sax.ContentHandler#skippedEntity ContentHandler.skippedEntity()} * method.

* * @param name Identifies the external entity being resolved. * Either "[dtd]" for the external subset, or a name starting * with "%" to indicate a parameter entity, or else the name of * a general entity. This is never null when invoked by a SAX2 * parser. * @param publicId The public identifier of the external entity being * referenced (normalized as required by the XML specification), or * null if none was supplied. * @param baseURI The URI with respect to which relative systemIDs * are interpreted. This is always an absolute URI, unless it is * null (likely because the XMLReader was given an InputSource without * one). This URI is defined by the XML specification to be the one * associated with the "<" starting the relevant declaration. * @param systemId The system identifier of the external entity * being referenced; either a relative or absolute URI. * This is never null when invoked by a SAX2 parser; only declared * entities, and any external subset, are resolved by such parsers. * * @return An InputSource object describing the new input source to * be used by the parser. Returning null directs the parser to * resolve the system ID against the base URI and open a connection * to resulting URI. * * @exception SAXException Any SAX exception, possibly wrapping * another exception. * @exception IOException Probably indicating a failure to create * a new InputStream or Reader, or an illegal URL. */ public InputSource resolveEntity ( String name, String publicId, String baseURI, String systemId ) throws SAXException, IOException; } org/xml/sax/ext/LexicalHandler.java100644 0 0 20046 11146172374 14741 0ustar 0 0 // LexicalHandler.java - optional handler for lexical parse events. // http://www.saxproject.org // Public Domain: no warranty. // $Id: LexicalHandler.java 226184 2005-04-08 10:53:24Z neeraj $ package org.xml.sax.ext; import org.xml.sax.SAXException; /** * SAX2 extension handler for lexical events. * *
* This module, both source code and documentation, is in the * Public Domain, and comes with NO WARRANTY. * See http://www.saxproject.org * for further information. *
* *

This is an optional extension handler for SAX2 to provide * lexical information about an XML document, such as comments * and CDATA section boundaries. * XML readers are not required to recognize this handler, and it * is not part of core-only SAX2 distributions.

* *

The events in the lexical handler apply to the entire document, * not just to the document element, and all lexical handler events * must appear between the content handler's startDocument and * endDocument events.

* *

To set the LexicalHandler for an XML reader, use the * {@link org.xml.sax.XMLReader#setProperty setProperty} method * with the property name * http://xml.org/sax/properties/lexical-handler * and an object implementing this interface (or null) as the value. * If the reader does not report lexical events, it will throw a * {@link org.xml.sax.SAXNotRecognizedException SAXNotRecognizedException} * when you attempt to register the handler.

* * @since SAX 2.0 (extensions 1.0) * @author David Megginson * @version 2.0.1 (sax2r2) */ public interface LexicalHandler { /** * Report the start of DTD declarations, if any. * *

This method is intended to report the beginning of the * DOCTYPE declaration; if the document has no DOCTYPE declaration, * this method will not be invoked.

* *

All declarations reported through * {@link org.xml.sax.DTDHandler DTDHandler} or * {@link org.xml.sax.ext.DeclHandler DeclHandler} events must appear * between the startDTD and {@link #endDTD endDTD} events. * Declarations are assumed to belong to the internal DTD subset * unless they appear between {@link #startEntity startEntity} * and {@link #endEntity endEntity} events. Comments and * processing instructions from the DTD should also be reported * between the startDTD and endDTD events, in their original * order of (logical) occurrence; they are not required to * appear in their correct locations relative to DTDHandler * or DeclHandler events, however.

* *

Note that the start/endDTD events will appear within * the start/endDocument events from ContentHandler and * before the first * {@link org.xml.sax.ContentHandler#startElement startElement} * event.

* * @param name The document type name. * @param publicId The declared public identifier for the * external DTD subset, or null if none was declared. * @param systemId The declared system identifier for the * external DTD subset, or null if none was declared. * (Note that this is not resolved against the document * base URI.) * @exception SAXException The application may raise an * exception. * @see #endDTD * @see #startEntity */ public abstract void startDTD (String name, String publicId, String systemId) throws SAXException; /** * Report the end of DTD declarations. * *

This method is intended to report the end of the * DOCTYPE declaration; if the document has no DOCTYPE declaration, * this method will not be invoked.

* * @exception SAXException The application may raise an exception. * @see #startDTD */ public abstract void endDTD () throws SAXException; /** * Report the beginning of some internal and external XML entities. * *

The reporting of parameter entities (including * the external DTD subset) is optional, and SAX2 drivers that * report LexicalHandler events may not implement it; you can use the * http://xml.org/sax/features/lexical-handler/parameter-entities * feature to query or control the reporting of parameter entities.

* *

General entities are reported with their regular names, * parameter entities have '%' prepended to their names, and * the external DTD subset has the pseudo-entity name "[dtd]".

* *

When a SAX2 driver is providing these events, all other * events must be properly nested within start/end entity * events. There is no additional requirement that events from * {@link org.xml.sax.ext.DeclHandler DeclHandler} or * {@link org.xml.sax.DTDHandler DTDHandler} be properly ordered.

* *

Note that skipped entities will be reported through the * {@link org.xml.sax.ContentHandler#skippedEntity skippedEntity} * event, which is part of the ContentHandler interface.

* *

Because of the streaming event model that SAX uses, some * entity boundaries cannot be reported under any * circumstances:

* * * *

These will be silently expanded, with no indication of where * the original entity boundaries were.

* *

Note also that the boundaries of character references (which * are not really entities anyway) are not reported.

* *

All start/endEntity events must be properly nested. * * @param name The name of the entity. If it is a parameter * entity, the name will begin with '%', and if it is the * external DTD subset, it will be "[dtd]". * @exception SAXException The application may raise an exception. * @see #endEntity * @see org.xml.sax.ext.DeclHandler#internalEntityDecl * @see org.xml.sax.ext.DeclHandler#externalEntityDecl */ public abstract void startEntity (String name) throws SAXException; /** * Report the end of an entity. * * @param name The name of the entity that is ending. * @exception SAXException The application may raise an exception. * @see #startEntity */ public abstract void endEntity (String name) throws SAXException; /** * Report the start of a CDATA section. * *

The contents of the CDATA section will be reported through * the regular {@link org.xml.sax.ContentHandler#characters * characters} event; this event is intended only to report * the boundary.

* * @exception SAXException The application may raise an exception. * @see #endCDATA */ public abstract void startCDATA () throws SAXException; /** * Report the end of a CDATA section. * * @exception SAXException The application may raise an exception. * @see #startCDATA */ public abstract void endCDATA () throws SAXException; /** * Report an XML comment anywhere in the document. * *

This callback will be used for comments inside or outside the * document element, including comments in the external DTD * subset (if read). Comments in the DTD must be properly * nested inside start/endDTD and start/endEntity events (if * used).

* * @param ch An array holding the characters in the comment. * @param start The starting position in the array. * @param length The number of characters to use from the array. * @exception SAXException The application may raise an exception. */ public abstract void comment (char ch[], int start, int length) throws SAXException; } // end of LexicalHandler.java org/xml/sax/ext/Locator2.java100644 0 0 6022 11146172374 13525 0ustar 0 0 // Locator2.java - extended Locator // http://www.saxproject.org // Public Domain: no warranty. // $Id: Locator2.java 226236 2005-06-17 03:10:33Z mrglavas $ package org.xml.sax.ext; import org.xml.sax.Locator; /** * SAX2 extension to augment the entity information provided * though a {@link Locator}. * If an implementation supports this extension, the Locator * provided in {@link org.xml.sax.ContentHandler#setDocumentLocator * ContentHandler.setDocumentLocator() } will implement this * interface, and the * http://xml.org/sax/features/use-locator2 feature * flag will have the value true. * *
* This module, both source code and documentation, is in the * Public Domain, and comes with NO WARRANTY. *
* *

XMLReader implementations are not required to support this * information, and it is not part of core-only SAX2 distributions.

* * @since SAX 2.0 (extensions 1.1 alpha) * @author David Brownell * @version TBS */ public interface Locator2 extends Locator { /** * Returns the version of XML used for the entity. This will * normally be the identifier from the current entity's * <?xml version='...' ...?> declaration, * or be defaulted by the parser. * * @return Identifier for the XML version being used to interpret * the entity's text, or null if that information is not yet * available in the current parsing state. */ public String getXMLVersion (); /** * Returns the name of the character encoding for the entity. * If the encoding was declared externally (for example, in a MIME * Content-Type header), that will be the name returned. Else if there * was an <?xml ...encoding='...'?> declaration at * the start of the document, that encoding name will be returned. * Otherwise the encoding will been inferred (normally to be UTF-8, or * some UTF-16 variant), and that inferred name will be returned. * *

When an {@link org.xml.sax.InputSource InputSource} is used * to provide an entity's character stream, this method returns the * encoding provided in that input stream. * *

Note that some recent W3C specifications require that text * in some encodings be normalized, using Unicode Normalization * Form C, before processing. Such normalization must be performed * by applications, and would normally be triggered based on the * value returned by this method. * *

Encoding names may be those used by the underlying JVM, * and comparisons should be case-insensitive. * * @return Name of the character encoding being used to interpret * the entity's text, or null if this was not provided for a * character stream passed through an InputSource or is otherwise * not yet available in the current parsing state. */ public String getEncoding (); } org/xml/sax/ext/Locator2Impl.java100644 0 0 5373 11146172374 14357 0ustar 0 0 // Locator2Impl.java - extended LocatorImpl // http://www.saxproject.org // Public Domain: no warranty. // $Id: Locator2Impl.java 226184 2005-04-08 10:53:24Z neeraj $ package org.xml.sax.ext; import org.xml.sax.Locator; import org.xml.sax.helpers.LocatorImpl; /** * SAX2 extension helper for holding additional Entity information, * implementing the {@link Locator2} interface. * *

* This module, both source code and documentation, is in the * Public Domain, and comes with NO WARRANTY. *
* *

This is not part of core-only SAX2 distributions.

* * @since SAX 2.0.2 * @author David Brownell * @version TBS */ public class Locator2Impl extends LocatorImpl implements Locator2 { private String encoding; private String version; /** * Construct a new, empty Locator2Impl object. * This will not normally be useful, since the main purpose * of this class is to make a snapshot of an existing Locator. */ public Locator2Impl () { } /** * Copy an existing Locator or Locator2 object. * If the object implements Locator2, values of the * encoding and versionstrings are copied, * otherwise they set to null. * * @param locator The existing Locator object. */ public Locator2Impl (Locator locator) { super (locator); if (locator instanceof Locator2) { Locator2 l2 = (Locator2) locator; version = l2.getXMLVersion (); encoding = l2.getEncoding (); } } //////////////////////////////////////////////////////////////////// // Locator2 method implementations //////////////////////////////////////////////////////////////////// /** * Returns the current value of the version property. * * @see #setXMLVersion */ public String getXMLVersion () { return version; } /** * Returns the current value of the encoding property. * * @see #setEncoding */ public String getEncoding () { return encoding; } //////////////////////////////////////////////////////////////////// // Setters //////////////////////////////////////////////////////////////////// /** * Assigns the current value of the version property. * * @param version the new "version" value * @see #getXMLVersion */ public void setXMLVersion (String version) { this.version = version; } /** * Assigns the current value of the encoding property. * * @param encoding the new "encoding" value * @see #getEncoding */ public void setEncoding (String encoding) { this.encoding = encoding; } } org/xml/sax/ext/package.html100644 0 0 3214 11146172374 13456 0ustar 0 0

This package contains interfaces to SAX2 facilities that conformant SAX drivers won't necessarily support.

See http://www.saxproject.org for more information about SAX.

This package is independent of the SAX2 core, though the functionality exposed generally needs to be implemented within a parser core. That independence has several consequences:

This package, SAX2-ext, is a standardized extension to SAX2. It is designed both to allow SAX parsers to pass certain types of information to applications, and to serve as a simple model for other SAX2 parser extension packages. Not all such extension packages should need to be recognized directly by parsers, however. As an example, most validation systems can be cleanly layered on top of parsers supporting the standardized SAX2 interfaces.

org/xml/sax/helpers/AttributeListImpl.java100644 0 0 21664 11146172375 16355 0ustar 0 0 // SAX default implementation for AttributeList. // http://www.saxproject.org // No warranty; no copyright -- use this as you will. // $Id: AttributeListImpl.java 226184 2005-04-08 10:53:24Z neeraj $ package org.xml.sax.helpers; import org.xml.sax.AttributeList; import java.util.Vector; /** * Default implementation for AttributeList. * *
* This module, both source code and documentation, is in the * Public Domain, and comes with NO WARRANTY. * See http://www.saxproject.org * for further information. *
* *

AttributeList implements the deprecated SAX1 {@link * org.xml.sax.AttributeList AttributeList} interface, and has been * replaced by the new SAX2 {@link org.xml.sax.helpers.AttributesImpl * AttributesImpl} interface.

* *

This class provides a convenience implementation of the SAX * {@link org.xml.sax.AttributeList AttributeList} interface. This * implementation is useful both for SAX parser writers, who can use * it to provide attributes to the application, and for SAX application * writers, who can use it to create a persistent copy of an element's * attribute specifications:

* *
 * private AttributeList myatts;
 *
 * public void startElement (String name, AttributeList atts)
 * {
 *              // create a persistent copy of the attribute list
 *              // for use outside this method
 *   myatts = new AttributeListImpl(atts);
 *   [...]
 * }
 * 
* *

Please note that SAX parsers are not required to use this * class to provide an implementation of AttributeList; it is * supplied only as an optional convenience. In particular, * parser writers are encouraged to invent more efficient * implementations.

* * @deprecated This class implements a deprecated interface, * {@link org.xml.sax.AttributeList AttributeList}; * that interface has been replaced by * {@link org.xml.sax.Attributes Attributes}, * which is implemented in the * {@link org.xml.sax.helpers.AttributesImpl * AttributesImpl} helper class. * @since SAX 1.0 * @author David Megginson * @version 2.0.1 (sax2r2) * @see org.xml.sax.AttributeList * @see org.xml.sax.DocumentHandler#startElement */ public class AttributeListImpl implements AttributeList { /** * Create an empty attribute list. * *

This constructor is most useful for parser writers, who * will use it to create a single, reusable attribute list that * can be reset with the clear method between elements.

* * @see #addAttribute * @see #clear */ public AttributeListImpl () { } /** * Construct a persistent copy of an existing attribute list. * *

This constructor is most useful for application writers, * who will use it to create a persistent copy of an existing * attribute list.

* * @param atts The attribute list to copy * @see org.xml.sax.DocumentHandler#startElement */ public AttributeListImpl (AttributeList atts) { setAttributeList(atts); } //////////////////////////////////////////////////////////////////// // Methods specific to this class. //////////////////////////////////////////////////////////////////// /** * Set the attribute list, discarding previous contents. * *

This method allows an application writer to reuse an * attribute list easily.

* * @param atts The attribute list to copy. */ public void setAttributeList (AttributeList atts) { int count = atts.getLength(); clear(); for (int i = 0; i < count; i++) { addAttribute(atts.getName(i), atts.getType(i), atts.getValue(i)); } } /** * Add an attribute to an attribute list. * *

This method is provided for SAX parser writers, to allow them * to build up an attribute list incrementally before delivering * it to the application.

* * @param name The attribute name. * @param type The attribute type ("NMTOKEN" for an enumeration). * @param value The attribute value (must not be null). * @see #removeAttribute * @see org.xml.sax.DocumentHandler#startElement */ public void addAttribute (String name, String type, String value) { names.addElement(name); types.addElement(type); values.addElement(value); } /** * Remove an attribute from the list. * *

SAX application writers can use this method to filter an * attribute out of an AttributeList. Note that invoking this * method will change the length of the attribute list and * some of the attribute's indices.

* *

If the requested attribute is not in the list, this is * a no-op.

* * @param name The attribute name. * @see #addAttribute */ public void removeAttribute (String name) { int i = names.indexOf(name); if (i >= 0) { names.removeElementAt(i); types.removeElementAt(i); values.removeElementAt(i); } } /** * Clear the attribute list. * *

SAX parser writers can use this method to reset the attribute * list between DocumentHandler.startElement events. Normally, * it will make sense to reuse the same AttributeListImpl object * rather than allocating a new one each time.

* * @see org.xml.sax.DocumentHandler#startElement */ public void clear () { names.removeAllElements(); types.removeAllElements(); values.removeAllElements(); } //////////////////////////////////////////////////////////////////// // Implementation of org.xml.sax.AttributeList //////////////////////////////////////////////////////////////////// /** * Return the number of attributes in the list. * * @return The number of attributes in the list. * @see org.xml.sax.AttributeList#getLength */ public int getLength () { return names.size(); } /** * Get the name of an attribute (by position). * * @param i The position of the attribute in the list. * @return The attribute name as a string, or null if there * is no attribute at that position. * @see org.xml.sax.AttributeList#getName(int) */ public String getName (int i) { if (i < 0) { return null; } try { return (String)names.elementAt(i); } catch (ArrayIndexOutOfBoundsException e) { return null; } } /** * Get the type of an attribute (by position). * * @param i The position of the attribute in the list. * @return The attribute type as a string ("NMTOKEN" for an * enumeration, and "CDATA" if no declaration was * read), or null if there is no attribute at * that position. * @see org.xml.sax.AttributeList#getType(int) */ public String getType (int i) { if (i < 0) { return null; } try { return (String)types.elementAt(i); } catch (ArrayIndexOutOfBoundsException e) { return null; } } /** * Get the value of an attribute (by position). * * @param i The position of the attribute in the list. * @return The attribute value as a string, or null if * there is no attribute at that position. * @see org.xml.sax.AttributeList#getValue(int) */ public String getValue (int i) { if (i < 0) { return null; } try { return (String)values.elementAt(i); } catch (ArrayIndexOutOfBoundsException e) { return null; } } /** * Get the type of an attribute (by name). * * @param name The attribute name. * @return The attribute type as a string ("NMTOKEN" for an * enumeration, and "CDATA" if no declaration was * read). * @see org.xml.sax.AttributeList#getType(java.lang.String) */ public String getType (String name) { return getType(names.indexOf(name)); } /** * Get the value of an attribute (by name). * * @param name The attribute name. * @see org.xml.sax.AttributeList#getValue(java.lang.String) */ public String getValue (String name) { return getValue(names.indexOf(name)); } //////////////////////////////////////////////////////////////////// // Internal state. //////////////////////////////////////////////////////////////////// Vector names = new Vector(); Vector types = new Vector(); Vector values = new Vector(); } // end of AttributeListImpl.java org/xml/sax/helpers/AttributesImpl.java100644 0 0 42264 11146172375 15703 0ustar 0 0 // AttributesImpl.java - default implementation of Attributes. // http://www.saxproject.org // Written by David Megginson // NO WARRANTY! This class is in the public domain. // $Id: AttributesImpl.java 226184 2005-04-08 10:53:24Z neeraj $ package org.xml.sax.helpers; import org.xml.sax.Attributes; /** * Default implementation of the Attributes interface. * *
* This module, both source code and documentation, is in the * Public Domain, and comes with NO WARRANTY. * See http://www.saxproject.org * for further information. *
* *

This class provides a default implementation of the SAX2 * {@link org.xml.sax.Attributes Attributes} interface, with the * addition of manipulators so that the list can be modified or * reused.

* *

There are two typical uses of this class:

* *
    *
  1. to take a persistent snapshot of an Attributes object * in a {@link org.xml.sax.ContentHandler#startElement startElement} event; or
  2. *
  3. to construct or modify an Attributes object in a SAX2 driver or filter.
  4. *
* *

This class replaces the now-deprecated SAX1 {@link * org.xml.sax.helpers.AttributeListImpl AttributeListImpl} * class; in addition to supporting the updated Attributes * interface rather than the deprecated {@link org.xml.sax.AttributeList * AttributeList} interface, it also includes a much more efficient * implementation using a single array rather than a set of Vectors.

* * @since SAX 2.0 * @author David Megginson * @version 2.0.1 (sax2r2) */ public class AttributesImpl implements Attributes { //////////////////////////////////////////////////////////////////// // Constructors. //////////////////////////////////////////////////////////////////// /** * Construct a new, empty AttributesImpl object. */ public AttributesImpl () { length = 0; data = null; } /** * Copy an existing Attributes object. * *

This constructor is especially useful inside a * {@link org.xml.sax.ContentHandler#startElement startElement} event.

* * @param atts The existing Attributes object. */ public AttributesImpl (Attributes atts) { setAttributes(atts); } //////////////////////////////////////////////////////////////////// // Implementation of org.xml.sax.Attributes. //////////////////////////////////////////////////////////////////// /** * Return the number of attributes in the list. * * @return The number of attributes in the list. * @see org.xml.sax.Attributes#getLength */ public int getLength () { return length; } /** * Return an attribute's Namespace URI. * * @param index The attribute's index (zero-based). * @return The Namespace URI, the empty string if none is * available, or null if the index is out of range. * @see org.xml.sax.Attributes#getURI */ public String getURI (int index) { if (index >= 0 && index < length) { return data[index*5]; } else { return null; } } /** * Return an attribute's local name. * * @param index The attribute's index (zero-based). * @return The attribute's local name, the empty string if * none is available, or null if the index if out of range. * @see org.xml.sax.Attributes#getLocalName */ public String getLocalName (int index) { if (index >= 0 && index < length) { return data[index*5+1]; } else { return null; } } /** * Return an attribute's qualified (prefixed) name. * * @param index The attribute's index (zero-based). * @return The attribute's qualified name, the empty string if * none is available, or null if the index is out of bounds. * @see org.xml.sax.Attributes#getQName */ public String getQName (int index) { if (index >= 0 && index < length) { return data[index*5+2]; } else { return null; } } /** * Return an attribute's type by index. * * @param index The attribute's index (zero-based). * @return The attribute's type, "CDATA" if the type is unknown, or null * if the index is out of bounds. * @see org.xml.sax.Attributes#getType(int) */ public String getType (int index) { if (index >= 0 && index < length) { return data[index*5+3]; } else { return null; } } /** * Return an attribute's value by index. * * @param index The attribute's index (zero-based). * @return The attribute's value or null if the index is out of bounds. * @see org.xml.sax.Attributes#getValue(int) */ public String getValue (int index) { if (index >= 0 && index < length) { return data[index*5+4]; } else { return null; } } /** * Look up an attribute's index by Namespace name. * *

In many cases, it will be more efficient to look up the name once and * use the index query methods rather than using the name query methods * repeatedly.

* * @param uri The attribute's Namespace URI, or the empty * string if none is available. * @param localName The attribute's local name. * @return The attribute's index, or -1 if none matches. * @see org.xml.sax.Attributes#getIndex(java.lang.String,java.lang.String) */ public int getIndex (String uri, String localName) { int max = length * 5; for (int i = 0; i < max; i += 5) { if (data[i].equals(uri) && data[i+1].equals(localName)) { return i / 5; } } return -1; } /** * Look up an attribute's index by qualified (prefixed) name. * * @param qName The qualified name. * @return The attribute's index, or -1 if none matches. * @see org.xml.sax.Attributes#getIndex(java.lang.String) */ public int getIndex (String qName) { int max = length * 5; for (int i = 0; i < max; i += 5) { if (data[i+2].equals(qName)) { return i / 5; } } return -1; } /** * Look up an attribute's type by Namespace-qualified name. * * @param uri The Namespace URI, or the empty string for a name * with no explicit Namespace URI. * @param localName The local name. * @return The attribute's type, or null if there is no * matching attribute. * @see org.xml.sax.Attributes#getType(java.lang.String,java.lang.String) */ public String getType (String uri, String localName) { int max = length * 5; for (int i = 0; i < max; i += 5) { if (data[i].equals(uri) && data[i+1].equals(localName)) { return data[i+3]; } } return null; } /** * Look up an attribute's type by qualified (prefixed) name. * * @param qName The qualified name. * @return The attribute's type, or null if there is no * matching attribute. * @see org.xml.sax.Attributes#getType(java.lang.String) */ public String getType (String qName) { int max = length * 5; for (int i = 0; i < max; i += 5) { if (data[i+2].equals(qName)) { return data[i+3]; } } return null; } /** * Look up an attribute's value by Namespace-qualified name. * * @param uri The Namespace URI, or the empty string for a name * with no explicit Namespace URI. * @param localName The local name. * @return The attribute's value, or null if there is no * matching attribute. * @see org.xml.sax.Attributes#getValue(java.lang.String,java.lang.String) */ public String getValue (String uri, String localName) { int max = length * 5; for (int i = 0; i < max; i += 5) { if (data[i].equals(uri) && data[i+1].equals(localName)) { return data[i+4]; } } return null; } /** * Look up an attribute's value by qualified (prefixed) name. * * @param qName The qualified name. * @return The attribute's value, or null if there is no * matching attribute. * @see org.xml.sax.Attributes#getValue(java.lang.String) */ public String getValue (String qName) { int max = length * 5; for (int i = 0; i < max; i += 5) { if (data[i+2].equals(qName)) { return data[i+4]; } } return null; } //////////////////////////////////////////////////////////////////// // Manipulators. //////////////////////////////////////////////////////////////////// /** * Clear the attribute list for reuse. * *

Note that little memory is freed by this call: * the current array is kept so it can be * reused.

*/ public void clear () { if (data != null) { for (int i = 0; i < (length * 5); i++) data [i] = null; } length = 0; } /** * Copy an entire Attributes object. * *

It may be more efficient to reuse an existing object * rather than constantly allocating new ones.

* * @param atts The attributes to copy. */ public void setAttributes (Attributes atts) { clear(); length = atts.getLength(); if (length > 0) { data = new String[length*5]; for (int i = 0; i < length; i++) { data[i*5] = atts.getURI(i); data[i*5+1] = atts.getLocalName(i); data[i*5+2] = atts.getQName(i); data[i*5+3] = atts.getType(i); data[i*5+4] = atts.getValue(i); } } } /** * Add an attribute to the end of the list. * *

For the sake of speed, this method does no checking * to see if the attribute is already in the list: that is * the responsibility of the application.

* * @param uri The Namespace URI, or the empty string if * none is available or Namespace processing is not * being performed. * @param localName The local name, or the empty string if * Namespace processing is not being performed. * @param qName The qualified (prefixed) name, or the empty string * if qualified names are not available. * @param type The attribute type as a string. * @param value The attribute value. */ public void addAttribute (String uri, String localName, String qName, String type, String value) { ensureCapacity(length+1); data[length*5] = uri; data[length*5+1] = localName; data[length*5+2] = qName; data[length*5+3] = type; data[length*5+4] = value; length++; } /** * Set an attribute in the list. * *

For the sake of speed, this method does no checking * for name conflicts or well-formedness: such checks are the * responsibility of the application.

* * @param index The index of the attribute (zero-based). * @param uri The Namespace URI, or the empty string if * none is available or Namespace processing is not * being performed. * @param localName The local name, or the empty string if * Namespace processing is not being performed. * @param qName The qualified name, or the empty string * if qualified names are not available. * @param type The attribute type as a string. * @param value The attribute value. * @exception java.lang.ArrayIndexOutOfBoundsException When the * supplied index does not point to an attribute * in the list. */ public void setAttribute (int index, String uri, String localName, String qName, String type, String value) { if (index >= 0 && index < length) { data[index*5] = uri; data[index*5+1] = localName; data[index*5+2] = qName; data[index*5+3] = type; data[index*5+4] = value; } else { badIndex(index); } } /** * Remove an attribute from the list. * * @param index The index of the attribute (zero-based). * @exception java.lang.ArrayIndexOutOfBoundsException When the * supplied index does not point to an attribute * in the list. */ public void removeAttribute (int index) { if (index >= 0 && index < length) { if (index < length - 1) { System.arraycopy(data, (index+1)*5, data, index*5, (length-index-1)*5); } index = (length - 1) * 5; data [index++] = null; data [index++] = null; data [index++] = null; data [index++] = null; data [index] = null; length--; } else { badIndex(index); } } /** * Set the Namespace URI of a specific attribute. * * @param index The index of the attribute (zero-based). * @param uri The attribute's Namespace URI, or the empty * string for none. * @exception java.lang.ArrayIndexOutOfBoundsException When the * supplied index does not point to an attribute * in the list. */ public void setURI (int index, String uri) { if (index >= 0 && index < length) { data[index*5] = uri; } else { badIndex(index); } } /** * Set the local name of a specific attribute. * * @param index The index of the attribute (zero-based). * @param localName The attribute's local name, or the empty * string for none. * @exception java.lang.ArrayIndexOutOfBoundsException When the * supplied index does not point to an attribute * in the list. */ public void setLocalName (int index, String localName) { if (index >= 0 && index < length) { data[index*5+1] = localName; } else { badIndex(index); } } /** * Set the qualified name of a specific attribute. * * @param index The index of the attribute (zero-based). * @param qName The attribute's qualified name, or the empty * string for none. * @exception java.lang.ArrayIndexOutOfBoundsException When the * supplied index does not point to an attribute * in the list. */ public void setQName (int index, String qName) { if (index >= 0 && index < length) { data[index*5+2] = qName; } else { badIndex(index); } } /** * Set the type of a specific attribute. * * @param index The index of the attribute (zero-based). * @param type The attribute's type. * @exception java.lang.ArrayIndexOutOfBoundsException When the * supplied index does not point to an attribute * in the list. */ public void setType (int index, String type) { if (index >= 0 && index < length) { data[index*5+3] = type; } else { badIndex(index); } } /** * Set the value of a specific attribute. * * @param index The index of the attribute (zero-based). * @param value The attribute's value. * @exception java.lang.ArrayIndexOutOfBoundsException When the * supplied index does not point to an attribute * in the list. */ public void setValue (int index, String value) { if (index >= 0 && index < length) { data[index*5+4] = value; } else { badIndex(index); } } //////////////////////////////////////////////////////////////////// // Internal methods. //////////////////////////////////////////////////////////////////// /** * Ensure the internal array's capacity. * * @param n The minimum number of attributes that the array must * be able to hold. */ private void ensureCapacity (int n) { if (n <= 0) { return; } int max; if (data == null || data.length == 0) { max = 25; } else if (data.length >= n * 5) { return; } else { max = data.length; } while (max < n * 5) { max *= 2; } String newData[] = new String[max]; if (length > 0) { System.arraycopy(data, 0, newData, 0, length*5); } data = newData; } /** * Report a bad array index in a manipulator. * * @param index The index to report. * @exception java.lang.ArrayIndexOutOfBoundsException Always. */ private void badIndex (int index) throws ArrayIndexOutOfBoundsException { String msg = "Attempt to modify attribute at illegal index: " + index; throw new ArrayIndexOutOfBoundsException(msg); } //////////////////////////////////////////////////////////////////// // Internal state. //////////////////////////////////////////////////////////////////// int length; String data []; } // end of AttributesImpl.java org/xml/sax/helpers/DefaultHandler.java100644 0 0 40627 11146172375 15616 0ustar 0 0 // DefaultHandler.java - default implementation of the core handlers. // http://www.saxproject.org // Written by David Megginson // NO WARRANTY! This class is in the public domain. // $Id: DefaultHandler.java 226184 2005-04-08 10:53:24Z neeraj $ package org.xml.sax.helpers; import java.io.IOException; import org.xml.sax.InputSource; import org.xml.sax.Locator; import org.xml.sax.Attributes; import org.xml.sax.EntityResolver; import org.xml.sax.DTDHandler; import org.xml.sax.ContentHandler; import org.xml.sax.ErrorHandler; import org.xml.sax.SAXException; import org.xml.sax.SAXParseException; /** * Default base class for SAX2 event handlers. * *
* This module, both source code and documentation, is in the * Public Domain, and comes with NO WARRANTY. * See http://www.saxproject.org * for further information. *
* *

This class is available as a convenience base class for SAX2 * applications: it provides default implementations for all of the * callbacks in the four core SAX2 handler classes:

* * * *

Application writers can extend this class when they need to * implement only part of an interface; parser writers can * instantiate this class to provide default handlers when the * application has not supplied its own.

* *

This class replaces the deprecated SAX1 * {@link org.xml.sax.HandlerBase HandlerBase} class.

* * @since SAX 2.0 * @author David Megginson, * @version 2.0.1 (sax2r2) * @see org.xml.sax.EntityResolver * @see org.xml.sax.DTDHandler * @see org.xml.sax.ContentHandler * @see org.xml.sax.ErrorHandler */ public class DefaultHandler implements EntityResolver, DTDHandler, ContentHandler, ErrorHandler { //////////////////////////////////////////////////////////////////// // Default implementation of the EntityResolver interface. //////////////////////////////////////////////////////////////////// /** * Resolve an external entity. * *

Always return null, so that the parser will use the system * identifier provided in the XML document. This method implements * the SAX default behaviour: application writers can override it * in a subclass to do special translations such as catalog lookups * or URI redirection.

* * @param publicId The public identifer, or null if none is * available. * @param systemId The system identifier provided in the XML * document. * @return The new input source, or null to require the * default behaviour. * @exception java.io.IOException If there is an error setting * up the new input source. * @exception org.xml.sax.SAXException Any SAX exception, possibly * wrapping another exception. * @see org.xml.sax.EntityResolver#resolveEntity */ public InputSource resolveEntity (String publicId, String systemId) throws IOException, SAXException { return null; } //////////////////////////////////////////////////////////////////// // Default implementation of DTDHandler interface. //////////////////////////////////////////////////////////////////// /** * Receive notification of a notation declaration. * *

By default, do nothing. Application writers may override this * method in a subclass if they wish to keep track of the notations * declared in a document.

* * @param name The notation name. * @param publicId The notation public identifier, or null if not * available. * @param systemId The notation system identifier. * @exception org.xml.sax.SAXException Any SAX exception, possibly * wrapping another exception. * @see org.xml.sax.DTDHandler#notationDecl */ public void notationDecl (String name, String publicId, String systemId) throws SAXException { // no op } /** * Receive notification of an unparsed entity declaration. * *

By default, do nothing. Application writers may override this * method in a subclass to keep track of the unparsed entities * declared in a document.

* * @param name The entity name. * @param publicId The entity public identifier, or null if not * available. * @param systemId The entity system identifier. * @param notationName The name of the associated notation. * @exception org.xml.sax.SAXException Any SAX exception, possibly * wrapping another exception. * @see org.xml.sax.DTDHandler#unparsedEntityDecl */ public void unparsedEntityDecl (String name, String publicId, String systemId, String notationName) throws SAXException { // no op } //////////////////////////////////////////////////////////////////// // Default implementation of ContentHandler interface. //////////////////////////////////////////////////////////////////// /** * Receive a Locator object for document events. * *

By default, do nothing. Application writers may override this * method in a subclass if they wish to store the locator for use * with other document events.

* * @param locator A locator for all SAX document events. * @see org.xml.sax.ContentHandler#setDocumentLocator * @see org.xml.sax.Locator */ public void setDocumentLocator (Locator locator) { // no op } /** * Receive notification of the beginning of the document. * *

By default, do nothing. Application writers may override this * method in a subclass to take specific actions at the beginning * of a document (such as allocating the root node of a tree or * creating an output file).

* * @exception org.xml.sax.SAXException Any SAX exception, possibly * wrapping another exception. * @see org.xml.sax.ContentHandler#startDocument */ public void startDocument () throws SAXException { // no op } /** * Receive notification of the end of the document. * *

By default, do nothing. Application writers may override this * method in a subclass to take specific actions at the end * of a document (such as finalising a tree or closing an output * file).

* * @exception org.xml.sax.SAXException Any SAX exception, possibly * wrapping another exception. * @see org.xml.sax.ContentHandler#endDocument */ public void endDocument () throws SAXException { // no op } /** * Receive notification of the start of a Namespace mapping. * *

By default, do nothing. Application writers may override this * method in a subclass to take specific actions at the start of * each Namespace prefix scope (such as storing the prefix mapping).

* * @param prefix The Namespace prefix being declared. * @param uri The Namespace URI mapped to the prefix. * @exception org.xml.sax.SAXException Any SAX exception, possibly * wrapping another exception. * @see org.xml.sax.ContentHandler#startPrefixMapping */ public void startPrefixMapping (String prefix, String uri) throws SAXException { // no op } /** * Receive notification of the end of a Namespace mapping. * *

By default, do nothing. Application writers may override this * method in a subclass to take specific actions at the end of * each prefix mapping.

* * @param prefix The Namespace prefix being declared. * @exception org.xml.sax.SAXException Any SAX exception, possibly * wrapping another exception. * @see org.xml.sax.ContentHandler#endPrefixMapping */ public void endPrefixMapping (String prefix) throws SAXException { // no op } /** * Receive notification of the start of an element. * *

By default, do nothing. Application writers may override this * method in a subclass to take specific actions at the start of * each element (such as allocating a new tree node or writing * output to a file).

* * @param uri The Namespace URI, or the empty string if the * element has no Namespace URI or if Namespace * processing is not being performed. * @param localName The local name (without prefix), or the * empty string if Namespace processing is not being * performed. * @param qName The qualified name (with prefix), or the * empty string if qualified names are not available. * @param attributes The attributes attached to the element. If * there are no attributes, it shall be an empty * Attributes object. * @exception org.xml.sax.SAXException Any SAX exception, possibly * wrapping another exception. * @see org.xml.sax.ContentHandler#startElement */ public void startElement (String uri, String localName, String qName, Attributes attributes) throws SAXException { // no op } /** * Receive notification of the end of an element. * *

By default, do nothing. Application writers may override this * method in a subclass to take specific actions at the end of * each element (such as finalising a tree node or writing * output to a file).

* * @param uri The Namespace URI, or the empty string if the * element has no Namespace URI or if Namespace * processing is not being performed. * @param localName The local name (without prefix), or the * empty string if Namespace processing is not being * performed. * @param qName The qualified name (with prefix), or the * empty string if qualified names are not available. * @exception org.xml.sax.SAXException Any SAX exception, possibly * wrapping another exception. * @see org.xml.sax.ContentHandler#endElement */ public void endElement (String uri, String localName, String qName) throws SAXException { // no op } /** * Receive notification of character data inside an element. * *

By default, do nothing. Application writers may override this * method to take specific actions for each chunk of character data * (such as adding the data to a node or buffer, or printing it to * a file).

* * @param ch The characters. * @param start The start position in the character array. * @param length The number of characters to use from the * character array. * @exception org.xml.sax.SAXException Any SAX exception, possibly * wrapping another exception. * @see org.xml.sax.ContentHandler#characters */ public void characters (char ch[], int start, int length) throws SAXException { // no op } /** * Receive notification of ignorable whitespace in element content. * *

By default, do nothing. Application writers may override this * method to take specific actions for each chunk of ignorable * whitespace (such as adding data to a node or buffer, or printing * it to a file).

* * @param ch The whitespace characters. * @param start The start position in the character array. * @param length The number of characters to use from the * character array. * @exception org.xml.sax.SAXException Any SAX exception, possibly * wrapping another exception. * @see org.xml.sax.ContentHandler#ignorableWhitespace */ public void ignorableWhitespace (char ch[], int start, int length) throws SAXException { // no op } /** * Receive notification of a processing instruction. * *

By default, do nothing. Application writers may override this * method in a subclass to take specific actions for each * processing instruction, such as setting status variables or * invoking other methods.

* * @param target The processing instruction target. * @param data The processing instruction data, or null if * none is supplied. * @exception org.xml.sax.SAXException Any SAX exception, possibly * wrapping another exception. * @see org.xml.sax.ContentHandler#processingInstruction */ public void processingInstruction (String target, String data) throws SAXException { // no op } /** * Receive notification of a skipped entity. * *

By default, do nothing. Application writers may override this * method in a subclass to take specific actions for each * processing instruction, such as setting status variables or * invoking other methods.

* * @param name The name of the skipped entity. * @exception org.xml.sax.SAXException Any SAX exception, possibly * wrapping another exception. * @see org.xml.sax.ContentHandler#processingInstruction */ public void skippedEntity (String name) throws SAXException { // no op } //////////////////////////////////////////////////////////////////// // Default implementation of the ErrorHandler interface. //////////////////////////////////////////////////////////////////// /** * Receive notification of a parser warning. * *

The default implementation does nothing. Application writers * may override this method in a subclass to take specific actions * for each warning, such as inserting the message in a log file or * printing it to the console.

* * @param e The warning information encoded as an exception. * @exception org.xml.sax.SAXException Any SAX exception, possibly * wrapping another exception. * @see org.xml.sax.ErrorHandler#warning * @see org.xml.sax.SAXParseException */ public void warning (SAXParseException e) throws SAXException { // no op } /** * Receive notification of a recoverable parser error. * *

The default implementation does nothing. Application writers * may override this method in a subclass to take specific actions * for each error, such as inserting the message in a log file or * printing it to the console.

* * @param e The warning information encoded as an exception. * @exception org.xml.sax.SAXException Any SAX exception, possibly * wrapping another exception. * @see org.xml.sax.ErrorHandler#warning * @see org.xml.sax.SAXParseException */ public void error (SAXParseException e) throws SAXException { // no op } /** * Report a fatal XML parsing error. * *

The default implementation throws a SAXParseException. * Application writers may override this method in a subclass if * they need to take specific actions for each fatal error (such as * collecting all of the errors into a single report): in any case, * the application must stop all regular processing when this * method is invoked, since the document is no longer reliable, and * the parser may no longer report parsing events.

* * @param e The error information encoded as an exception. * @exception org.xml.sax.SAXException Any SAX exception, possibly * wrapping another exception. * @see org.xml.sax.ErrorHandler#fatalError * @see org.xml.sax.SAXParseException */ public void fatalError (SAXParseException e) throws SAXException { throw e; } } // end of DefaultHandler.java org/xml/sax/helpers/LocatorImpl.java100644 0 0 12750 11146172375 15155 0ustar 0 0 // SAX default implementation for Locator. // http://www.saxproject.org // No warranty; no copyright -- use this as you will. // $Id: LocatorImpl.java 226184 2005-04-08 10:53:24Z neeraj $ package org.xml.sax.helpers; import org.xml.sax.Locator; /** * Provide an optional convenience implementation of Locator. * *
* This module, both source code and documentation, is in the * Public Domain, and comes with NO WARRANTY. * See http://www.saxproject.org * for further information. *
* *

This class is available mainly for application writers, who * can use it to make a persistent snapshot of a locator at any * point during a document parse:

* *
 * Locator locator;
 * Locator startloc;
 *
 * public void setLocator (Locator locator)
 * {
 *         // note the locator
 *   this.locator = locator;
 * }
 *
 * public void startDocument ()
 * {
 *         // save the location of the start of the document
 *         // for future use.
 *   Locator startloc = new LocatorImpl(locator);
 * }
 *
* *

Normally, parser writers will not use this class, since it * is more efficient to provide location information only when * requested, rather than constantly updating a Locator object.

* * @since SAX 1.0 * @author David Megginson * @version 2.0.1 (sax2r2) * @see org.xml.sax.Locator Locator */ public class LocatorImpl implements Locator { /** * Zero-argument constructor. * *

This will not normally be useful, since the main purpose * of this class is to make a snapshot of an existing Locator.

*/ public LocatorImpl () { } /** * Copy constructor. * *

Create a persistent copy of the current state of a locator. * When the original locator changes, this copy will still keep * the original values (and it can be used outside the scope of * DocumentHandler methods).

* * @param locator The locator to copy. */ public LocatorImpl (Locator locator) { setPublicId(locator.getPublicId()); setSystemId(locator.getSystemId()); setLineNumber(locator.getLineNumber()); setColumnNumber(locator.getColumnNumber()); } //////////////////////////////////////////////////////////////////// // Implementation of org.xml.sax.Locator //////////////////////////////////////////////////////////////////// /** * Return the saved public identifier. * * @return The public identifier as a string, or null if none * is available. * @see org.xml.sax.Locator#getPublicId * @see #setPublicId */ public String getPublicId () { return publicId; } /** * Return the saved system identifier. * * @return The system identifier as a string, or null if none * is available. * @see org.xml.sax.Locator#getSystemId * @see #setSystemId */ public String getSystemId () { return systemId; } /** * Return the saved line number (1-based). * * @return The line number as an integer, or -1 if none is available. * @see org.xml.sax.Locator#getLineNumber * @see #setLineNumber */ public int getLineNumber () { return lineNumber; } /** * Return the saved column number (1-based). * * @return The column number as an integer, or -1 if none is available. * @see org.xml.sax.Locator#getColumnNumber * @see #setColumnNumber */ public int getColumnNumber () { return columnNumber; } //////////////////////////////////////////////////////////////////// // Setters for the properties (not in org.xml.sax.Locator) //////////////////////////////////////////////////////////////////// /** * Set the public identifier for this locator. * * @param publicId The new public identifier, or null * if none is available. * @see #getPublicId */ public void setPublicId (String publicId) { this.publicId = publicId; } /** * Set the system identifier for this locator. * * @param systemId The new system identifier, or null * if none is available. * @see #getSystemId */ public void setSystemId (String systemId) { this.systemId = systemId; } /** * Set the line number for this locator (1-based). * * @param lineNumber The line number, or -1 if none is available. * @see #getLineNumber */ public void setLineNumber (int lineNumber) { this.lineNumber = lineNumber; } /** * Set the column number for this locator (1-based). * * @param columnNumber The column number, or -1 if none is available. * @see #getColumnNumber */ public void setColumnNumber (int columnNumber) { this.columnNumber = columnNumber; } //////////////////////////////////////////////////////////////////// // Internal state. //////////////////////////////////////////////////////////////////// private String publicId; private String systemId; private int lineNumber; private int columnNumber; } // end of LocatorImpl.java org/xml/sax/helpers/NamespaceSupport.java100644 0 0 62255 11146172375 16226 0ustar 0 0 // NamespaceSupport.java - generic Namespace support for SAX. // http://www.saxproject.org // Written by David Megginson // This class is in the Public Domain. NO WARRANTY! // $Id: NamespaceSupport.java 226184 2005-04-08 10:53:24Z neeraj $ package org.xml.sax.helpers; import java.util.EmptyStackException; import java.util.Enumeration; import java.util.Hashtable; import java.util.Vector; /** * Encapsulate Namespace logic for use by applications using SAX, * or internally by SAX drivers. * *
* This module, both source code and documentation, is in the * Public Domain, and comes with NO WARRANTY. * See http://www.saxproject.org * for further information. *
* *

This class encapsulates the logic of Namespace processing: it * tracks the declarations currently in force for each context and * automatically processes qualified XML names into their Namespace * parts; it can also be used in reverse for generating XML qnames * from Namespaces.

* *

Namespace support objects are reusable, but the reset method * must be invoked between each session.

* *

Here is a simple session:

* *
 * String parts[] = new String[3];
 * NamespaceSupport support = new NamespaceSupport();
 *
 * support.pushContext();
 * support.declarePrefix("", "http://www.w3.org/1999/xhtml");
 * support.declarePrefix("dc", "http://www.purl.org/dc#");
 *
 * parts = support.processName("p", parts, false);
 * System.out.println("Namespace URI: " + parts[0]);
 * System.out.println("Local name: " + parts[1]);
 * System.out.println("Raw name: " + parts[2]);
 *
 * parts = support.processName("dc:title", parts, false);
 * System.out.println("Namespace URI: " + parts[0]);
 * System.out.println("Local name: " + parts[1]);
 * System.out.println("Raw name: " + parts[2]);
 *
 * support.popContext();
 * 
* *

Note that this class is optimized for the use case where most * elements do not contain Namespace declarations: if the same * prefix/URI mapping is repeated for each context (for example), this * class will be somewhat less efficient.

* *

Although SAX drivers (parsers) may choose to use this class to * implement namespace handling, they are not required to do so. * Applications must track namespace information themselves if they * want to use namespace information. * * @since SAX 2.0 * @author David Megginson * @version 2.0.1 (sax2r2) */ public class NamespaceSupport { //////////////////////////////////////////////////////////////////// // Constants. //////////////////////////////////////////////////////////////////// /** * The XML Namespace URI as a constant. * The value is http://www.w3.org/XML/1998/namespace * as defined in the "Namespaces in XML" * recommendation. * *

This is the Namespace URI that is automatically mapped * to the "xml" prefix.

*/ public final static String XMLNS = "http://www.w3.org/XML/1998/namespace"; /** * The namespace declaration URI as a constant. * The value is http://www.w3.org/xmlns/2000/, as defined * in a backwards-incompatible erratum to the "Namespaces in XML" * recommendation. Because that erratum postdated SAX2, SAX2 defaults * to the original recommendation, and does not normally use this URI. * * *

This is the Namespace URI that is optionally applied to * xmlns and xmlns:* attributes, which are used to * declare namespaces.

* * @since SAX 2.1alpha * @see #setNamespaceDeclUris * @see #isNamespaceDeclUris */ public final static String NSDECL = "http://www.w3.org/xmlns/2000/"; /** * An empty enumeration. */ private final static Enumeration EMPTY_ENUMERATION = new Vector().elements(); //////////////////////////////////////////////////////////////////// // Constructor. //////////////////////////////////////////////////////////////////// /** * Create a new Namespace support object. */ public NamespaceSupport () { reset(); } //////////////////////////////////////////////////////////////////// // Context management. //////////////////////////////////////////////////////////////////// /** * Reset this Namespace support object for reuse. * *

It is necessary to invoke this method before reusing the * Namespace support object for a new session. If namespace * declaration URIs are to be supported, that flag must also * be set to a non-default value. *

* * @see #setNamespaceDeclUris */ public void reset () { contexts = new Context[32]; namespaceDeclUris = false; contextPos = 0; contexts[contextPos] = currentContext = new Context(); currentContext.declarePrefix("xml", XMLNS); } /** * Start a new Namespace context. * The new context will automatically inherit * the declarations of its parent context, but it will also keep * track of which declarations were made within this context. * *

Event callback code should start a new context once per element. * This means being ready to call this in either of two places. * For elements that don't include namespace declarations, the * ContentHandler.startElement() callback is the right place. * For elements with such a declaration, it'd done in the first * ContentHandler.startPrefixMapping() callback. * A boolean flag can be used to * track whether a context has been started yet. When either of * those methods is called, it checks the flag to see if a new context * needs to be started. If so, it starts the context and sets the * flag. After ContentHandler.startElement() * does that, it always clears the flag. * *

Normally, SAX drivers would push a new context at the beginning * of each XML element. Then they perform a first pass over the * attributes to process all namespace declarations, making * ContentHandler.startPrefixMapping() callbacks. * Then a second pass is made, to determine the namespace-qualified * names for all attributes and for the element name. * Finally all the information for the * ContentHandler.startElement() callback is available, * so it can then be made. * *

The Namespace support object always starts with a base context * already in force: in this context, only the "xml" prefix is * declared.

* * @see org.xml.sax.ContentHandler * @see #popContext */ public void pushContext () { int max = contexts.length; contextPos++; // Extend the array if necessary if (contextPos >= max) { Context newContexts[] = new Context[max*2]; System.arraycopy(contexts, 0, newContexts, 0, max); max *= 2; contexts = newContexts; } // Allocate the context if necessary. currentContext = contexts[contextPos]; if (currentContext == null) { contexts[contextPos] = currentContext = new Context(); } // Set the parent, if any. if (contextPos > 0) { currentContext.setParent(contexts[contextPos - 1]); } } /** * Revert to the previous Namespace context. * *

Normally, you should pop the context at the end of each * XML element. After popping the context, all Namespace prefix * mappings that were previously in force are restored.

* *

You must not attempt to declare additional Namespace * prefixes after popping a context, unless you push another * context first.

* * @see #pushContext */ public void popContext () { contexts[contextPos].clear(); contextPos--; if (contextPos < 0) { throw new EmptyStackException(); } currentContext = contexts[contextPos]; } //////////////////////////////////////////////////////////////////// // Operations within a context. //////////////////////////////////////////////////////////////////// /** * Declare a Namespace prefix. All prefixes must be declared * before they are referenced. For example, a SAX driver (parser) * would scan an element's attributes * in two passes: first for namespace declarations, * then a second pass using {@link #processName processName()} to * interpret prefixes against (potentially redefined) prefixes. * *

This method declares a prefix in the current Namespace * context; the prefix will remain in force until this context * is popped, unless it is shadowed in a descendant context.

* *

To declare the default element Namespace, use the empty string as * the prefix.

* *

Note that there is an asymmetry in this library: {@link * #getPrefix getPrefix} will not return the "" prefix, * even if you have declared a default element namespace. * To check for a default namespace, * you have to look it up explicitly using {@link #getURI getURI}. * This asymmetry exists to make it easier to look up prefixes * for attribute names, where the default prefix is not allowed.

* * @param prefix The prefix to declare, or the empty string to * indicate the default element namespace. This may never have * the value "xml" or "xmlns". * @param uri The Namespace URI to associate with the prefix. * @return true if the prefix was legal, false otherwise * * @see #processName * @see #getURI * @see #getPrefix */ public boolean declarePrefix (String prefix, String uri) { if (prefix.equals("xml") || prefix.equals("xmlns")) { return false; } else { currentContext.declarePrefix(prefix, uri); return true; } } /** * Process a raw XML qualified name, after all declarations in the * current context have been handled by {@link #declarePrefix * declarePrefix()}. * *

This method processes a raw XML qualified name in the * current context by removing the prefix and looking it up among * the prefixes currently declared. The return value will be the * array supplied by the caller, filled in as follows:

* *
*
parts[0]
*
The Namespace URI, or an empty string if none is * in use.
*
parts[1]
*
The local name (without prefix).
*
parts[2]
*
The original raw name.
*
* *

All of the strings in the array will be internalized. If * the raw name has a prefix that has not been declared, then * the return value will be null.

* *

Note that attribute names are processed differently than * element names: an unprefixed element name will receive the * default Namespace (if any), while an unprefixed attribute name * will not.

* * @param qName The XML qualified name to be processed. * @param parts An array supplied by the caller, capable of * holding at least three members. * @param isAttribute A flag indicating whether this is an * attribute name (true) or an element name (false). * @return The supplied array holding three internalized strings * representing the Namespace URI (or empty string), the * local name, and the XML qualified name; or null if there * is an undeclared prefix. * @see #declarePrefix * @see java.lang.String#intern */ public String [] processName (String qName, String parts[], boolean isAttribute) { String myParts[] = currentContext.processName(qName, isAttribute); if (myParts == null) { return null; } else { parts[0] = myParts[0]; parts[1] = myParts[1]; parts[2] = myParts[2]; return parts; } } /** * Look up a prefix and get the currently-mapped Namespace URI. * *

This method looks up the prefix in the current context. * Use the empty string ("") for the default Namespace.

* * @param prefix The prefix to look up. * @return The associated Namespace URI, or null if the prefix * is undeclared in this context. * @see #getPrefix * @see #getPrefixes */ public String getURI (String prefix) { return currentContext.getURI(prefix); } /** * Return an enumeration of all prefixes whose declarations are * active in the current context. * This includes declarations from parent contexts that have * not been overridden. * *

Note: if there is a default prefix, it will not be * returned in this enumeration; check for the default prefix * using the {@link #getURI getURI} with an argument of "".

* * @return An enumeration of prefixes (never empty). * @see #getDeclaredPrefixes * @see #getURI */ public Enumeration getPrefixes () { return currentContext.getPrefixes(); } /** * Return one of the prefixes mapped to a Namespace URI. * *

If more than one prefix is currently mapped to the same * URI, this method will make an arbitrary selection; if you * want all of the prefixes, use the {@link #getPrefixes} * method instead.

* *

Note: this will never return the empty (default) prefix; * to check for a default prefix, use the {@link #getURI getURI} * method with an argument of "".

* * @param uri the namespace URI * @return one of the prefixes currently mapped to the URI supplied, * or null if none is mapped or if the URI is assigned to * the default namespace * @see #getPrefixes(java.lang.String) * @see #getURI */ public String getPrefix (String uri) { return currentContext.getPrefix(uri); } /** * Return an enumeration of all prefixes for a given URI whose * declarations are active in the current context. * This includes declarations from parent contexts that have * not been overridden. * *

This method returns prefixes mapped to a specific Namespace * URI. The xml: prefix will be included. If you want only one * prefix that's mapped to the Namespace URI, and you don't care * which one you get, use the {@link #getPrefix getPrefix} * method instead.

* *

Note: the empty (default) prefix is never included * in this enumeration; to check for the presence of a default * Namespace, use the {@link #getURI getURI} method with an * argument of "".

* * @param uri The Namespace URI. * @return An enumeration of prefixes (never empty). * @see #getPrefix * @see #getDeclaredPrefixes * @see #getURI */ public Enumeration getPrefixes (String uri) { Vector prefixes = new Vector(); Enumeration allPrefixes = getPrefixes(); while (allPrefixes.hasMoreElements()) { String prefix = (String)allPrefixes.nextElement(); if (uri.equals(getURI(prefix))) { prefixes.addElement(prefix); } } return prefixes.elements(); } /** * Return an enumeration of all prefixes declared in this context. * *

The empty (default) prefix will be included in this * enumeration; note that this behaviour differs from that of * {@link #getPrefix} and {@link #getPrefixes}.

* * @return An enumeration of all prefixes declared in this * context. * @see #getPrefixes * @see #getURI */ public Enumeration getDeclaredPrefixes () { return currentContext.getDeclaredPrefixes(); } /** * Controls whether namespace declaration attributes are placed * into the {@link #NSDECL NSDECL} namespace * by {@link #processName processName()}. This may only be * changed before any contexts have been pushed. * * @since SAX 2.1alpha * * @exception IllegalStateException when attempting to set this * after any context has been pushed. */ public void setNamespaceDeclUris (boolean value) { if (contextPos != 0) throw new IllegalStateException (); if (value == namespaceDeclUris) return; namespaceDeclUris = value; if (value) currentContext.declarePrefix ("xmlns", NSDECL); else { contexts[contextPos] = currentContext = new Context(); currentContext.declarePrefix("xml", XMLNS); } } /** * Returns true if namespace declaration attributes are placed into * a namespace. This behavior is not the default. * * @since SAX 2.1alpha */ public boolean isNamespaceDeclUris () { return namespaceDeclUris; } //////////////////////////////////////////////////////////////////// // Internal state. //////////////////////////////////////////////////////////////////// private Context contexts[]; private Context currentContext; private int contextPos; private boolean namespaceDeclUris; //////////////////////////////////////////////////////////////////// // Internal classes. //////////////////////////////////////////////////////////////////// /** * Internal class for a single Namespace context. * *

This module caches and reuses Namespace contexts, * so the number allocated * will be equal to the element depth of the document, not to the total * number of elements (i.e. 5-10 rather than tens of thousands). * Also, data structures used to represent contexts are shared when * possible (child contexts without declarations) to further reduce * the amount of memory that's consumed. *

*/ final class Context { /** * Create the root-level Namespace context. */ Context () { copyTables(); } /** * (Re)set the parent of this Namespace context. * The context must either have been freshly constructed, * or must have been cleared. * * @param context The parent Namespace context object. */ void setParent (Context parent) { this.parent = parent; declarations = null; prefixTable = parent.prefixTable; uriTable = parent.uriTable; elementNameTable = parent.elementNameTable; attributeNameTable = parent.attributeNameTable; defaultNS = parent.defaultNS; declSeen = false; } /** * Makes associated state become collectible, * invalidating this context. * {@link #setParent} must be called before * this context may be used again. */ void clear () { parent = null; prefixTable = null; uriTable = null; elementNameTable = null; attributeNameTable = null; defaultNS = null; } /** * Declare a Namespace prefix for this context. * * @param prefix The prefix to declare. * @param uri The associated Namespace URI. * @see org.xml.sax.helpers.NamespaceSupport#declarePrefix */ void declarePrefix (String prefix, String uri) { // Lazy processing... // if (!declsOK) // throw new IllegalStateException ( // "can't declare any more prefixes in this context"); if (!declSeen) { copyTables(); } if (declarations == null) { declarations = new Vector(); } prefix = prefix.intern(); uri = uri.intern(); if ("".equals(prefix)) { if ("".equals(uri)) { defaultNS = null; } else { defaultNS = uri; } } else { prefixTable.put(prefix, uri); uriTable.put(uri, prefix); // may wipe out another prefix } declarations.addElement(prefix); } /** * Process an XML qualified name in this context. * * @param qName The XML qualified name. * @param isAttribute true if this is an attribute name. * @return An array of three strings containing the * URI part (or empty string), the local part, * and the raw name, all internalized, or null * if there is an undeclared prefix. * @see org.xml.sax.helpers.NamespaceSupport#processName */ String [] processName (String qName, boolean isAttribute) { String name[]; Hashtable table; // Select the appropriate table. if (isAttribute) { table = attributeNameTable; } else { table = elementNameTable; } // Start by looking in the cache, and // return immediately if the name // is already known in this content name = (String[])table.get(qName); if (name != null) { return name; } // We haven't seen this name in this // context before. Maybe in the parent // context, but we can't assume prefix // bindings are the same. name = new String[3]; name[2] = qName.intern(); int index = qName.indexOf(':'); // No prefix. if (index == -1) { if (isAttribute) { if (qName == "xmlns" && namespaceDeclUris) name[0] = NSDECL; else name[0] = ""; } else if (defaultNS == null) { name[0] = ""; } else { name[0] = defaultNS; } name[1] = name[2]; } // Prefix else { String prefix = qName.substring(0, index); String local = qName.substring(index+1); String uri; if ("".equals(prefix)) { uri = defaultNS; } else { uri = (String)prefixTable.get(prefix); } if (uri == null || (!isAttribute && "xmlns".equals (prefix))) { return null; } name[0] = uri; name[1] = local.intern(); } // Save in the cache for future use. // (Could be shared with parent context...) table.put(name[2], name); return name; } /** * Look up the URI associated with a prefix in this context. * * @param prefix The prefix to look up. * @return The associated Namespace URI, or null if none is * declared. * @see org.xml.sax.helpers.NamespaceSupport#getURI */ String getURI (String prefix) { if ("".equals(prefix)) { return defaultNS; } else if (prefixTable == null) { return null; } else { return (String)prefixTable.get(prefix); } } /** * Look up one of the prefixes associated with a URI in this context. * *

Since many prefixes may be mapped to the same URI, * the return value may be unreliable.

* * @param uri The URI to look up. * @return The associated prefix, or null if none is declared. * @see org.xml.sax.helpers.NamespaceSupport#getPrefix */ String getPrefix (String uri) { if (uriTable == null) { return null; } else { return (String)uriTable.get(uri); } } /** * Return an enumeration of prefixes declared in this context. * * @return An enumeration of prefixes (possibly empty). * @see org.xml.sax.helpers.NamespaceSupport#getDeclaredPrefixes */ Enumeration getDeclaredPrefixes () { if (declarations == null) { return EMPTY_ENUMERATION; } else { return declarations.elements(); } } /** * Return an enumeration of all prefixes currently in force. * *

The default prefix, if in force, is not * returned, and will have to be checked for separately.

* * @return An enumeration of prefixes (never empty). * @see org.xml.sax.helpers.NamespaceSupport#getPrefixes */ Enumeration getPrefixes () { if (prefixTable == null) { return EMPTY_ENUMERATION; } else { return prefixTable.keys(); } } //////////////////////////////////////////////////////////////// // Internal methods. //////////////////////////////////////////////////////////////// /** * Copy on write for the internal tables in this context. * *

This class is optimized for the normal case where most * elements do not contain Namespace declarations.

*/ private void copyTables () { if (prefixTable != null) { prefixTable = (Hashtable)prefixTable.clone(); } else { prefixTable = new Hashtable(); } if (uriTable != null) { uriTable = (Hashtable)uriTable.clone(); } else { uriTable = new Hashtable(); } elementNameTable = new Hashtable(); attributeNameTable = new Hashtable(); declSeen = true; } //////////////////////////////////////////////////////////////// // Protected state. //////////////////////////////////////////////////////////////// Hashtable prefixTable; Hashtable uriTable; Hashtable elementNameTable; Hashtable attributeNameTable; String defaultNS = null; //////////////////////////////////////////////////////////////// // Internal state. //////////////////////////////////////////////////////////////// private Vector declarations = null; private boolean declSeen = false; private Context parent = null; } } // end of NamespaceSupport.java org/xml/sax/helpers/NewInstance.java100644 0 0 7570 11146172375 15132 0ustar 0 0 // NewInstance.java - create a new instance of a class by name. // http://www.saxproject.org // Written by Edwin Goei, edwingo@apache.org // and by David Brownell, dbrownell@users.sourceforge.net // NO WARRANTY! This class is in the Public Domain. // $Id: NewInstance.java 670295 2008-06-22 01:46:43Z mrglavas $ package org.xml.sax.helpers; /** * Create a new instance of a class by name. * *
* This module, both source code and documentation, is in the * Public Domain, and comes with NO WARRANTY. * See http://www.saxproject.org * for further information. *
* *

This class contains a static method for creating an instance of a * class from an explicit class name. It tries to use the thread's context * ClassLoader if possible and falls back to using * Class.forName(String). It also takes into account JDK 1.2+'s * AccessController mechanism for performing its actions.

* *

This code is designed to compile and run on JDK version 1.1 and later * including versions of Java 2.

* *

This is not the NewInstance accompanying SAX 2.0.2; it * represents many fixes to that code. * * @author Edwin Goei, David Brownell * @version 2.0.1 (sax2r2) */ class NewInstance { // constants // governs whether, if we fail in finding a class even // when given a classloader, we'll make a last-ditch attempt // to use the current classloader. private static final boolean DO_FALLBACK = true; /** * Creates a new instance of the specified class name * * Package private so this code is not exposed at the API level. */ static Object newInstance (ClassLoader classLoader, String className) throws ClassNotFoundException, IllegalAccessException, InstantiationException { Class driverClass; if (classLoader == null) { // XXX Use the bootstrap ClassLoader. There is no way to // load a class using the bootstrap ClassLoader that works // in both JDK 1.1 and Java 2. However, this should still // work b/c the following should be true: // // (cl == null) iff current ClassLoader == null // // Thus Class.forName(String) will use the current // ClassLoader which will be the bootstrap ClassLoader. driverClass = Class.forName(className); } else { try { driverClass = classLoader.loadClass(className); } catch (ClassNotFoundException x) { if (DO_FALLBACK) { // Fall back to current classloader classLoader = NewInstance.class.getClassLoader(); if (classLoader != null) { driverClass = classLoader.loadClass(className); } else { driverClass = Class.forName(className); } } else { throw x; } } } Object instance = driverClass.newInstance(); return instance; } /** * Figure out which ClassLoader to use. For JDK 1.2 and later use * the context ClassLoader. */ static ClassLoader getClassLoader () { // Figure out which ClassLoader to use for loading the provider // class. If there is a Context ClassLoader then use it. ClassLoader cl = SecuritySupport.getContextClassLoader(); if (cl == null) { // Assert: we are on JDK 1.1 or we have no Context ClassLoader // so use the current ClassLoader cl = NewInstance.class.getClassLoader(); } return cl; } } org/xml/sax/helpers/ParserAdapter.java100644 0 0 67723 11146172375 15477 0ustar 0 0 // ParserAdapter.java - adapt a SAX1 Parser to a SAX2 XMLReader. // http://www.saxproject.org // Written by David Megginson // NO WARRANTY! This class is in the public domain. // $Id: ParserAdapter.java 226184 2005-04-08 10:53:24Z neeraj $ package org.xml.sax.helpers; import java.io.IOException; import java.util.Enumeration; import java.util.Vector; import org.xml.sax.Parser; // deprecated import org.xml.sax.InputSource; import org.xml.sax.Locator; import org.xml.sax.AttributeList; // deprecated import org.xml.sax.EntityResolver; import org.xml.sax.DTDHandler; import org.xml.sax.DocumentHandler; // deprecated import org.xml.sax.ErrorHandler; import org.xml.sax.SAXException; import org.xml.sax.SAXParseException; import org.xml.sax.XMLReader; import org.xml.sax.Attributes; import org.xml.sax.ContentHandler; import org.xml.sax.SAXNotRecognizedException; import org.xml.sax.SAXNotSupportedException; /** * Adapt a SAX1 Parser as a SAX2 XMLReader. * *

* This module, both source code and documentation, is in the * Public Domain, and comes with NO WARRANTY. * See http://www.saxproject.org * for further information. *
* *

This class wraps a SAX1 {@link org.xml.sax.Parser Parser} * and makes it act as a SAX2 {@link org.xml.sax.XMLReader XMLReader}, * with feature, property, and Namespace support. Note * that it is not possible to report {@link org.xml.sax.ContentHandler#skippedEntity * skippedEntity} events, since SAX1 does not make that information available.

* *

This adapter does not test for duplicate Namespace-qualified * attribute names.

* * @since SAX 2.0 * @author David Megginson * @version 2.0.1 (sax2r2) * @see org.xml.sax.helpers.XMLReaderAdapter * @see org.xml.sax.XMLReader * @see org.xml.sax.Parser */ public class ParserAdapter implements XMLReader, DocumentHandler { //////////////////////////////////////////////////////////////////// // Constructors. //////////////////////////////////////////////////////////////////// /** * Construct a new parser adapter. * *

Use the "org.xml.sax.parser" property to locate the * embedded SAX1 driver.

* * @exception SAXException If the embedded driver * cannot be instantiated or if the * org.xml.sax.parser property is not specified. */ public ParserAdapter () throws SAXException { super(); String driver = System.getProperty("org.xml.sax.parser"); try { setup(ParserFactory.makeParser()); } catch (ClassNotFoundException e1) { throw new SAXException("Cannot find SAX1 driver class " + driver, e1); } catch (IllegalAccessException e2) { throw new SAXException("SAX1 driver class " + driver + " found but cannot be loaded", e2); } catch (InstantiationException e3) { throw new SAXException("SAX1 driver class " + driver + " loaded but cannot be instantiated", e3); } catch (ClassCastException e4) { throw new SAXException("SAX1 driver class " + driver + " does not implement org.xml.sax.Parser"); } catch (NullPointerException e5) { throw new SAXException("System property org.xml.sax.parser not specified"); } } /** * Construct a new parser adapter. * *

Note that the embedded parser cannot be changed once the * adapter is created; to embed a different parser, allocate * a new ParserAdapter.

* * @param parser The SAX1 parser to embed. * @exception java.lang.NullPointerException If the parser parameter * is null. */ public ParserAdapter (Parser parser) { super(); setup(parser); } /** * Internal setup method. * * @param parser The embedded parser. * @exception java.lang.NullPointerException If the parser parameter * is null. */ private void setup (Parser parser) { if (parser == null) { throw new NullPointerException("Parser argument must not be null"); } this.parser = parser; atts = new AttributesImpl(); nsSupport = new NamespaceSupport(); attAdapter = new AttributeListAdapter(); } //////////////////////////////////////////////////////////////////// // Implementation of org.xml.sax.XMLReader. //////////////////////////////////////////////////////////////////// // // Internal constants for the sake of convenience. // private final static String FEATURES = "http://xml.org/sax/features/"; private final static String NAMESPACES = FEATURES + "namespaces"; private final static String NAMESPACE_PREFIXES = FEATURES + "namespace-prefixes"; private final static String XMLNS_URIs = FEATURES + "xmlns-uris"; /** * Set a feature flag for the parser. * *

The only features recognized are namespaces and * namespace-prefixes.

* * @param name The feature name, as a complete URI. * @param value The requested feature value. * @exception SAXNotRecognizedException If the feature * can't be assigned or retrieved. * @exception SAXNotSupportedException If the feature * can't be assigned that value. * @see org.xml.sax.XMLReader#setFeature */ public void setFeature (String name, boolean value) throws SAXNotRecognizedException, SAXNotSupportedException { if (name.equals(NAMESPACES)) { checkNotParsing("feature", name); namespaces = value; if (!namespaces && !prefixes) { prefixes = true; } } else if (name.equals(NAMESPACE_PREFIXES)) { checkNotParsing("feature", name); prefixes = value; if (!prefixes && !namespaces) { namespaces = true; } } else if (name.equals(XMLNS_URIs)) { checkNotParsing("feature", name); uris = value; } else { throw new SAXNotRecognizedException("Feature: " + name); } } /** * Check a parser feature flag. * *

The only features recognized are namespaces and * namespace-prefixes.

* * @param name The feature name, as a complete URI. * @return The current feature value. * @exception SAXNotRecognizedException If the feature * value can't be assigned or retrieved. * @exception SAXNotSupportedException If the * feature is not currently readable. * @see org.xml.sax.XMLReader#setFeature */ public boolean getFeature (String name) throws SAXNotRecognizedException, SAXNotSupportedException { if (name.equals(NAMESPACES)) { return namespaces; } else if (name.equals(NAMESPACE_PREFIXES)) { return prefixes; } else if (name.equals(XMLNS_URIs)) { return uris; } else { throw new SAXNotRecognizedException("Feature: " + name); } } /** * Set a parser property. * *

No properties are currently recognized.

* * @param name The property name. * @param value The property value. * @exception SAXNotRecognizedException If the property * value can't be assigned or retrieved. * @exception SAXNotSupportedException If the property * can't be assigned that value. * @see org.xml.sax.XMLReader#setProperty */ public void setProperty (String name, Object value) throws SAXNotRecognizedException, SAXNotSupportedException { throw new SAXNotRecognizedException("Property: " + name); } /** * Get a parser property. * *

No properties are currently recognized.

* * @param name The property name. * @return The property value. * @exception SAXNotRecognizedException If the property * value can't be assigned or retrieved. * @exception SAXNotSupportedException If the property * value is not currently readable. * @see org.xml.sax.XMLReader#getProperty */ public Object getProperty (String name) throws SAXNotRecognizedException, SAXNotSupportedException { throw new SAXNotRecognizedException("Property: " + name); } /** * Set the entity resolver. * * @param resolver The new entity resolver. * @see org.xml.sax.XMLReader#setEntityResolver */ public void setEntityResolver (EntityResolver resolver) { entityResolver = resolver; } /** * Return the current entity resolver. * * @return The current entity resolver, or null if none was supplied. * @see org.xml.sax.XMLReader#getEntityResolver */ public EntityResolver getEntityResolver () { return entityResolver; } /** * Set the DTD handler. * * @param handler the new DTD handler * @see org.xml.sax.XMLReader#setEntityResolver */ public void setDTDHandler (DTDHandler handler) { dtdHandler = handler; } /** * Return the current DTD handler. * * @return the current DTD handler, or null if none was supplied * @see org.xml.sax.XMLReader#getEntityResolver */ public DTDHandler getDTDHandler () { return dtdHandler; } /** * Set the content handler. * * @param handler the new content handler * @see org.xml.sax.XMLReader#setEntityResolver */ public void setContentHandler (ContentHandler handler) { contentHandler = handler; } /** * Return the current content handler. * * @return The current content handler, or null if none was supplied. * @see org.xml.sax.XMLReader#getEntityResolver */ public ContentHandler getContentHandler () { return contentHandler; } /** * Set the error handler. * * @param handler The new error handler. * @see org.xml.sax.XMLReader#setEntityResolver */ public void setErrorHandler (ErrorHandler handler) { errorHandler = handler; } /** * Return the current error handler. * * @return The current error handler, or null if none was supplied. * @see org.xml.sax.XMLReader#getEntityResolver */ public ErrorHandler getErrorHandler () { return errorHandler; } /** * Parse an XML document. * * @param systemId The absolute URL of the document. * @exception java.io.IOException If there is a problem reading * the raw content of the document. * @exception SAXException If there is a problem * processing the document. * @see #parse(org.xml.sax.InputSource) * @see org.xml.sax.Parser#parse(java.lang.String) */ public void parse (String systemId) throws IOException, SAXException { parse(new InputSource(systemId)); } /** * Parse an XML document. * * @param input An input source for the document. * @exception java.io.IOException If there is a problem reading * the raw content of the document. * @exception SAXException If there is a problem * processing the document. * @see #parse(java.lang.String) * @see org.xml.sax.Parser#parse(org.xml.sax.InputSource) */ public void parse (InputSource input) throws IOException, SAXException { if (parsing) { throw new SAXException("Parser is already in use"); } setupParser(); parsing = true; try { parser.parse(input); } finally { parsing = false; } parsing = false; } //////////////////////////////////////////////////////////////////// // Implementation of org.xml.sax.DocumentHandler. //////////////////////////////////////////////////////////////////// /** * Adapter implementation method; do not call. * Adapt a SAX1 document locator event. * * @param locator A document locator. * @see org.xml.sax.ContentHandler#setDocumentLocator */ public void setDocumentLocator (Locator locator) { this.locator = locator; if (contentHandler != null) { contentHandler.setDocumentLocator(locator); } } /** * Adapter implementation method; do not call. * Adapt a SAX1 start document event. * * @exception SAXException The client may raise a * processing exception. * @see org.xml.sax.DocumentHandler#startDocument */ public void startDocument () throws SAXException { if (contentHandler != null) { contentHandler.startDocument(); } } /** * Adapter implementation method; do not call. * Adapt a SAX1 end document event. * * @exception SAXException The client may raise a * processing exception. * @see org.xml.sax.DocumentHandler#endDocument */ public void endDocument () throws SAXException { if (contentHandler != null) { contentHandler.endDocument(); } } /** * Adapter implementation method; do not call. * Adapt a SAX1 startElement event. * *

If necessary, perform Namespace processing.

* * @param qName The qualified (prefixed) name. * @param qAtts The XML attribute list (with qnames). * @exception SAXException The client may raise a * processing exception. */ public void startElement (String qName, AttributeList qAtts) throws SAXException { // These are exceptions from the // first pass; they should be // ignored if there's a second pass, // but reported otherwise. Vector exceptions = null; // If we're not doing Namespace // processing, dispatch this quickly. if (!namespaces) { if (contentHandler != null) { attAdapter.setAttributeList(qAtts); contentHandler.startElement("", "", qName.intern(), attAdapter); } return; } // OK, we're doing Namespace processing. nsSupport.pushContext(); int length = qAtts.getLength(); // First pass: handle NS decls for (int i = 0; i < length; i++) { String attQName = qAtts.getName(i); if (!attQName.startsWith("xmlns")) continue; // Could be a declaration... String prefix; int n = attQName.indexOf(':'); // xmlns=... if (n == -1 && attQName.length () == 5) { prefix = ""; } else if (n != 5) { // XML namespaces spec doesn't discuss "xmlnsf:oo" // (and similarly named) attributes ... at most, warn continue; } else // xmlns:foo=... prefix = attQName.substring(n+1); String value = qAtts.getValue(i); if (!nsSupport.declarePrefix(prefix, value)) { reportError("Illegal Namespace prefix: " + prefix); continue; } if (contentHandler != null) contentHandler.startPrefixMapping(prefix, value); } // Second pass: copy all relevant // attributes into the SAX2 AttributeList // using updated prefix bindings atts.clear(); for (int i = 0; i < length; i++) { String attQName = qAtts.getName(i); String type = qAtts.getType(i); String value = qAtts.getValue(i); // Declaration? if (attQName.startsWith("xmlns")) { String prefix; int n = attQName.indexOf(':'); if (n == -1 && attQName.length () == 5) { prefix = ""; } else if (n != 5) { // XML namespaces spec doesn't discuss "xmlnsf:oo" // (and similarly named) attributes ... ignore prefix = null; } else { prefix = attQName.substring(6); } // Yes, decl: report or prune if (prefix != null) { if (prefixes) { if (uris) // note funky case: localname can be null // when declaring the default prefix, and // yet the uri isn't null. atts.addAttribute (nsSupport.XMLNS, prefix, attQName.intern(), type, value); else atts.addAttribute ("", "", attQName.intern(), type, value); } continue; } } // Not a declaration -- report try { String attName[] = processName(attQName, true, true); atts.addAttribute(attName[0], attName[1], attName[2], type, value); } catch (SAXException e) { if (exceptions == null) exceptions = new Vector(); exceptions.addElement(e); atts.addAttribute("", attQName, attQName, type, value); } } // now handle the deferred exception reports if (exceptions != null && errorHandler != null) { for (int i = 0; i < exceptions.size(); i++) errorHandler.error((SAXParseException) (exceptions.elementAt(i))); } // OK, finally report the event. if (contentHandler != null) { String name[] = processName(qName, false, false); contentHandler.startElement(name[0], name[1], name[2], atts); } } /** * Adapter implementation method; do not call. * Adapt a SAX1 end element event. * * @param qName The qualified (prefixed) name. * @exception SAXException The client may raise a * processing exception. * @see org.xml.sax.DocumentHandler#endElement */ public void endElement (String qName) throws SAXException { // If we're not doing Namespace // processing, dispatch this quickly. if (!namespaces) { if (contentHandler != null) { contentHandler.endElement("", "", qName.intern()); } return; } // Split the name. String names[] = processName(qName, false, false); if (contentHandler != null) { contentHandler.endElement(names[0], names[1], names[2]); Enumeration prefixes = nsSupport.getDeclaredPrefixes(); while (prefixes.hasMoreElements()) { String prefix = (String)prefixes.nextElement(); contentHandler.endPrefixMapping(prefix); } } nsSupport.popContext(); } /** * Adapter implementation method; do not call. * Adapt a SAX1 characters event. * * @param ch An array of characters. * @param start The starting position in the array. * @param length The number of characters to use. * @exception SAXException The client may raise a * processing exception. * @see org.xml.sax.DocumentHandler#characters */ public void characters (char ch[], int start, int length) throws SAXException { if (contentHandler != null) { contentHandler.characters(ch, start, length); } } /** * Adapter implementation method; do not call. * Adapt a SAX1 ignorable whitespace event. * * @param ch An array of characters. * @param start The starting position in the array. * @param length The number of characters to use. * @exception SAXException The client may raise a * processing exception. * @see org.xml.sax.DocumentHandler#ignorableWhitespace */ public void ignorableWhitespace (char ch[], int start, int length) throws SAXException { if (contentHandler != null) { contentHandler.ignorableWhitespace(ch, start, length); } } /** * Adapter implementation method; do not call. * Adapt a SAX1 processing instruction event. * * @param target The processing instruction target. * @param data The remainder of the processing instruction * @exception SAXException The client may raise a * processing exception. * @see org.xml.sax.DocumentHandler#processingInstruction */ public void processingInstruction (String target, String data) throws SAXException { if (contentHandler != null) { contentHandler.processingInstruction(target, data); } } //////////////////////////////////////////////////////////////////// // Internal utility methods. //////////////////////////////////////////////////////////////////// /** * Initialize the parser before each run. */ private void setupParser () { // catch an illegal "nonsense" state. if (!prefixes && !namespaces) throw new IllegalStateException (); nsSupport.reset(); if (uris) nsSupport.setNamespaceDeclUris (true); if (entityResolver != null) { parser.setEntityResolver(entityResolver); } if (dtdHandler != null) { parser.setDTDHandler(dtdHandler); } if (errorHandler != null) { parser.setErrorHandler(errorHandler); } parser.setDocumentHandler(this); locator = null; } /** * Process a qualified (prefixed) name. * *

If the name has an undeclared prefix, use only the qname * and make an ErrorHandler.error callback in case the app is * interested.

* * @param qName The qualified (prefixed) name. * @param isAttribute true if this is an attribute name. * @return The name split into three parts. * @exception SAXException The client may throw * an exception if there is an error callback. */ private String [] processName (String qName, boolean isAttribute, boolean useException) throws SAXException { String parts[] = nsSupport.processName(qName, nameParts, isAttribute); if (parts == null) { if (useException) throw makeException("Undeclared prefix: " + qName); reportError("Undeclared prefix: " + qName); parts = new String[3]; parts[0] = parts[1] = ""; parts[2] = qName.intern(); } return parts; } /** * Report a non-fatal error. * * @param message The error message. * @exception SAXException The client may throw * an exception. */ void reportError (String message) throws SAXException { if (errorHandler != null) errorHandler.error(makeException(message)); } /** * Construct an exception for the current context. * * @param message The error message. */ private SAXParseException makeException (String message) { if (locator != null) { return new SAXParseException(message, locator); } else { return new SAXParseException(message, null, null, -1, -1); } } /** * Throw an exception if we are parsing. * *

Use this method to detect illegal feature or * property changes.

* * @param type The type of thing (feature or property). * @param name The feature or property name. * @exception SAXNotSupportedException If a * document is currently being parsed. */ private void checkNotParsing (String type, String name) throws SAXNotSupportedException { if (parsing) { throw new SAXNotSupportedException("Cannot change " + type + ' ' + name + " while parsing"); } } //////////////////////////////////////////////////////////////////// // Internal state. //////////////////////////////////////////////////////////////////// private NamespaceSupport nsSupport; private AttributeListAdapter attAdapter; private boolean parsing = false; private String nameParts[] = new String[3]; private Parser parser = null; private AttributesImpl atts = null; // Features private boolean namespaces = true; private boolean prefixes = false; private boolean uris = false; // Properties // Handlers Locator locator; EntityResolver entityResolver = null; DTDHandler dtdHandler = null; ContentHandler contentHandler = null; ErrorHandler errorHandler = null; //////////////////////////////////////////////////////////////////// // Inner class to wrap an AttributeList when not doing NS proc. //////////////////////////////////////////////////////////////////// /** * Adapt a SAX1 AttributeList as a SAX2 Attributes object. * *

This class is in the Public Domain, and comes with NO * WARRANTY of any kind.

* *

This wrapper class is used only when Namespace support * is disabled -- it provides pretty much a direct mapping * from SAX1 to SAX2, except that names and types are * interned whenever requested.

*/ final class AttributeListAdapter implements Attributes { /** * Construct a new adapter. */ AttributeListAdapter () { } /** * Set the embedded AttributeList. * *

This method must be invoked before any of the others * can be used.

* * @param The SAX1 attribute list (with qnames). */ void setAttributeList (AttributeList qAtts) { this.qAtts = qAtts; } /** * Return the length of the attribute list. * * @return The number of attributes in the list. * @see org.xml.sax.Attributes#getLength */ public int getLength () { return qAtts.getLength(); } /** * Return the Namespace URI of the specified attribute. * * @param The attribute's index. * @return Always the empty string. * @see org.xml.sax.Attributes#getURI */ public String getURI (int i) { return ""; } /** * Return the local name of the specified attribute. * * @param The attribute's index. * @return Always the empty string. * @see org.xml.sax.Attributes#getLocalName */ public String getLocalName (int i) { return ""; } /** * Return the qualified (prefixed) name of the specified attribute. * * @param The attribute's index. * @return The attribute's qualified name, internalized. */ public String getQName (int i) { return qAtts.getName(i).intern(); } /** * Return the type of the specified attribute. * * @param The attribute's index. * @return The attribute's type as an internalized string. */ public String getType (int i) { return qAtts.getType(i).intern(); } /** * Return the value of the specified attribute. * * @param The attribute's index. * @return The attribute's value. */ public String getValue (int i) { return qAtts.getValue(i); } /** * Look up an attribute index by Namespace name. * * @param uri The Namespace URI or the empty string. * @param localName The local name. * @return The attributes index, or -1 if none was found. * @see org.xml.sax.Attributes#getIndex(java.lang.String,java.lang.String) */ public int getIndex (String uri, String localName) { return -1; } /** * Look up an attribute index by qualified (prefixed) name. * * @param qName The qualified name. * @return The attributes index, or -1 if none was found. * @see org.xml.sax.Attributes#getIndex(java.lang.String) */ public int getIndex (String qName) { int max = atts.getLength(); for (int i = 0; i < max; i++) { if (qAtts.getName(i).equals(qName)) { return i; } } return -1; } /** * Look up the type of an attribute by Namespace name. * * @param uri The Namespace URI * @param localName The local name. * @return The attribute's type as an internalized string. */ public String getType (String uri, String localName) { return null; } /** * Look up the type of an attribute by qualified (prefixed) name. * * @param qName The qualified name. * @return The attribute's type as an internalized string. */ public String getType (String qName) { return qAtts.getType(qName).intern(); } /** * Look up the value of an attribute by Namespace name. * * @param uri The Namespace URI * @param localName The local name. * @return The attribute's value. */ public String getValue (String uri, String localName) { return null; } /** * Look up the value of an attribute by qualified (prefixed) name. * * @param qName The qualified name. * @return The attribute's value. */ public String getValue (String qName) { return qAtts.getValue(qName); } private AttributeList qAtts; } } // end of ParserAdapter.java org/xml/sax/helpers/ParserFactory.java100644 0 0 10632 11146172375 15511 0ustar 0 0 //SAX parser factory. //http://www.saxproject.org //No warranty; no copyright -- use this as you will. //$Id: ParserFactory.java 670295 2008-06-22 01:46:43Z mrglavas $ package org.xml.sax.helpers; import org.xml.sax.Parser; /** * Java-specific class for dynamically loading SAX parsers. * *
* This module, both source code and documentation, is in the * Public Domain, and comes with NO WARRANTY. * See http://www.saxproject.org * for further information. *
* *

Note: This class is designed to work with the now-deprecated * SAX1 {@link org.xml.sax.Parser Parser} class. SAX2 applications should use * {@link org.xml.sax.helpers.XMLReaderFactory XMLReaderFactory} instead.

* *

ParserFactory is not part of the platform-independent definition * of SAX; it is an additional convenience class designed * specifically for Java XML application writers. SAX applications * can use the static methods in this class to allocate a SAX parser * dynamically at run-time based either on the value of the * `org.xml.sax.parser' system property or on a string containing the class * name.

* *

Note that the application still requires an XML parser that * implements SAX1.

* * @deprecated This class works with the deprecated * {@link org.xml.sax.Parser Parser} * interface. * @since SAX 1.0 * @author David Megginson * @version 2.0.1 (sax2r2) */ public class ParserFactory { /** * Private null constructor. */ private ParserFactory () { } /** * Create a new SAX parser using the `org.xml.sax.parser' system property. * *

The named class must exist and must implement the * {@link org.xml.sax.Parser Parser} interface.

* * @exception java.lang.NullPointerException There is no value * for the `org.xml.sax.parser' system property. * @exception java.lang.ClassNotFoundException The SAX parser * class was not found (check your CLASSPATH). * @exception IllegalAccessException The SAX parser class was * found, but you do not have permission to load * it. * @exception InstantiationException The SAX parser class was * found but could not be instantiated. * @exception java.lang.ClassCastException The SAX parser class * was found and instantiated, but does not implement * org.xml.sax.Parser. * @see #makeParser(java.lang.String) * @see org.xml.sax.Parser */ public static Parser makeParser () throws ClassNotFoundException, IllegalAccessException, InstantiationException, NullPointerException, ClassCastException { String className = SecuritySupport.getSystemProperty("org.xml.sax.parser"); if (className == null) { throw new NullPointerException("No value for sax.parser property"); } else { return makeParser(className); } } /** * Create a new SAX parser object using the class name provided. * *

The named class must exist and must implement the * {@link org.xml.sax.Parser Parser} interface.

* * @param className A string containing the name of the * SAX parser class. * @exception java.lang.ClassNotFoundException The SAX parser * class was not found (check your CLASSPATH). * @exception IllegalAccessException The SAX parser class was * found, but you do not have permission to load * it. * @exception InstantiationException The SAX parser class was * found but could not be instantiated. * @exception java.lang.ClassCastException The SAX parser class * was found and instantiated, but does not implement * org.xml.sax.Parser. * @see #makeParser() * @see org.xml.sax.Parser */ public static Parser makeParser (String className) throws ClassNotFoundException, IllegalAccessException, InstantiationException, ClassCastException { return (Parser) NewInstance.newInstance ( NewInstance.getClassLoader (), className); } } org/xml/sax/helpers/SecuritySupport.java100644 0 0 6230 11146172375 16110 0ustar 0 0 /* * 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. */ package org.xml.sax.helpers; import java.io.File; import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.InputStream; import java.security.AccessController; import java.security.PrivilegedAction; import java.security.PrivilegedActionException; import java.security.PrivilegedExceptionAction; /** * This class is duplicated for each JAXP subpackage so keep it in sync. * It is package private and therefore is not exposed as part of the JAXP * API. * * Security related methods that only work on J2SE 1.2 and newer. */ final class SecuritySupport { private SecuritySupport() {} static ClassLoader getContextClassLoader() { return (ClassLoader) AccessController.doPrivileged(new PrivilegedAction() { public Object run() { ClassLoader cl = null; try { cl = Thread.currentThread().getContextClassLoader(); } catch (SecurityException ex) { } return cl; } }); } static String getSystemProperty(final String propName) { return (String) AccessController.doPrivileged(new PrivilegedAction() { public Object run() { return System.getProperty(propName); } }); } static FileInputStream getFileInputStream(final File file) throws FileNotFoundException { try { return (FileInputStream) AccessController.doPrivileged(new PrivilegedExceptionAction() { public Object run() throws FileNotFoundException { return new FileInputStream(file); } }); } catch (PrivilegedActionException e) { throw (FileNotFoundException)e.getException(); } } static InputStream getResourceAsStream(final ClassLoader cl, final String name) { return (InputStream) AccessController.doPrivileged(new PrivilegedAction() { public Object run() { InputStream ris; if (cl == null) { ris = ClassLoader.getSystemResourceAsStream(name); } else { ris = cl.getResourceAsStream(name); } return ris; } }); } } org/xml/sax/helpers/XMLFilterImpl.java100644 0 0 47637 11146172375 15374 0ustar 0 0 // XMLFilterImpl.java - base SAX2 filter implementation. // http://www.saxproject.org // Written by David Megginson // NO WARRANTY! This class is in the Public Domain. // $Id: XMLFilterImpl.java 226184 2005-04-08 10:53:24Z neeraj $ package org.xml.sax.helpers; import java.io.IOException; import org.xml.sax.XMLReader; import org.xml.sax.XMLFilter; import org.xml.sax.InputSource; import org.xml.sax.Locator; import org.xml.sax.Attributes; import org.xml.sax.EntityResolver; import org.xml.sax.DTDHandler; import org.xml.sax.ContentHandler; import org.xml.sax.ErrorHandler; import org.xml.sax.SAXException; import org.xml.sax.SAXParseException; import org.xml.sax.SAXNotSupportedException; import org.xml.sax.SAXNotRecognizedException; /** * Base class for deriving an XML filter. * *
* This module, both source code and documentation, is in the * Public Domain, and comes with NO WARRANTY. * See http://www.saxproject.org * for further information. *
* *

This class is designed to sit between an {@link org.xml.sax.XMLReader * XMLReader} and the client application's event handlers. By default, it * does nothing but pass requests up to the reader and events * on to the handlers unmodified, but subclasses can override * specific methods to modify the event stream or the configuration * requests as they pass through.

* * @since SAX 2.0 * @author David Megginson * @version 2.0.1 (sax2r2) * @see org.xml.sax.XMLFilter * @see org.xml.sax.XMLReader * @see org.xml.sax.EntityResolver * @see org.xml.sax.DTDHandler * @see org.xml.sax.ContentHandler * @see org.xml.sax.ErrorHandler */ public class XMLFilterImpl implements XMLFilter, EntityResolver, DTDHandler, ContentHandler, ErrorHandler { //////////////////////////////////////////////////////////////////// // Constructors. //////////////////////////////////////////////////////////////////// /** * Construct an empty XML filter, with no parent. * *

This filter will have no parent: you must assign a parent * before you start a parse or do any configuration with * setFeature or setProperty, unless you use this as a pure event * consumer rather than as an {@link XMLReader}.

* * @see org.xml.sax.XMLReader#setFeature * @see org.xml.sax.XMLReader#setProperty * @see #setParent */ public XMLFilterImpl () { super(); } /** * Construct an XML filter with the specified parent. * * @see #setParent * @see #getParent */ public XMLFilterImpl (XMLReader parent) { super(); setParent(parent); } //////////////////////////////////////////////////////////////////// // Implementation of org.xml.sax.XMLFilter. //////////////////////////////////////////////////////////////////// /** * Set the parent reader. * *

This is the {@link org.xml.sax.XMLReader XMLReader} from which * this filter will obtain its events and to which it will pass its * configuration requests. The parent may itself be another filter.

* *

If there is no parent reader set, any attempt to parse * or to set or get a feature or property will fail.

* * @param parent The parent XML reader. * @see #getParent */ public void setParent (XMLReader parent) { this.parent = parent; } /** * Get the parent reader. * * @return The parent XML reader, or null if none is set. * @see #setParent */ public XMLReader getParent () { return parent; } //////////////////////////////////////////////////////////////////// // Implementation of org.xml.sax.XMLReader. //////////////////////////////////////////////////////////////////// /** * Set the value of a feature. * *

This will always fail if the parent is null.

* * @param name The feature name. * @param value The requested feature value. * @exception org.xml.sax.SAXNotRecognizedException If the feature * value can't be assigned or retrieved from the parent. * @exception org.xml.sax.SAXNotSupportedException When the * parent recognizes the feature name but * cannot set the requested value. */ public void setFeature (String name, boolean value) throws SAXNotRecognizedException, SAXNotSupportedException { if (parent != null) { parent.setFeature(name, value); } else { throw new SAXNotRecognizedException("Feature: " + name); } } /** * Look up the value of a feature. * *

This will always fail if the parent is null.

* * @param name The feature name. * @return The current value of the feature. * @exception org.xml.sax.SAXNotRecognizedException If the feature * value can't be assigned or retrieved from the parent. * @exception org.xml.sax.SAXNotSupportedException When the * parent recognizes the feature name but * cannot determine its value at this time. */ public boolean getFeature (String name) throws SAXNotRecognizedException, SAXNotSupportedException { if (parent != null) { return parent.getFeature(name); } else { throw new SAXNotRecognizedException("Feature: " + name); } } /** * Set the value of a property. * *

This will always fail if the parent is null.

* * @param name The property name. * @param value The requested property value. * @exception org.xml.sax.SAXNotRecognizedException If the property * value can't be assigned or retrieved from the parent. * @exception org.xml.sax.SAXNotSupportedException When the * parent recognizes the property name but * cannot set the requested value. */ public void setProperty (String name, Object value) throws SAXNotRecognizedException, SAXNotSupportedException { if (parent != null) { parent.setProperty(name, value); } else { throw new SAXNotRecognizedException("Property: " + name); } } /** * Look up the value of a property. * * @param name The property name. * @return The current value of the property. * @exception org.xml.sax.SAXNotRecognizedException If the property * value can't be assigned or retrieved from the parent. * @exception org.xml.sax.SAXNotSupportedException When the * parent recognizes the property name but * cannot determine its value at this time. */ public Object getProperty (String name) throws SAXNotRecognizedException, SAXNotSupportedException { if (parent != null) { return parent.getProperty(name); } else { throw new SAXNotRecognizedException("Property: " + name); } } /** * Set the entity resolver. * * @param resolver The new entity resolver. */ public void setEntityResolver (EntityResolver resolver) { entityResolver = resolver; } /** * Get the current entity resolver. * * @return The current entity resolver, or null if none was set. */ public EntityResolver getEntityResolver () { return entityResolver; } /** * Set the DTD event handler. * * @param handler the new DTD handler */ public void setDTDHandler (DTDHandler handler) { dtdHandler = handler; } /** * Get the current DTD event handler. * * @return The current DTD handler, or null if none was set. */ public DTDHandler getDTDHandler () { return dtdHandler; } /** * Set the content event handler. * * @param handler the new content handler */ public void setContentHandler (ContentHandler handler) { contentHandler = handler; } /** * Get the content event handler. * * @return The current content handler, or null if none was set. */ public ContentHandler getContentHandler () { return contentHandler; } /** * Set the error event handler. * * @param handler the new error handler */ public void setErrorHandler (ErrorHandler handler) { errorHandler = handler; } /** * Get the current error event handler. * * @return The current error handler, or null if none was set. */ public ErrorHandler getErrorHandler () { return errorHandler; } /** * Parse a document. * * @param input The input source for the document entity. * @exception org.xml.sax.SAXException Any SAX exception, possibly * wrapping another exception. * @exception java.io.IOException An IO exception from the parser, * possibly from a byte stream or character stream * supplied by the application. */ public void parse (InputSource input) throws SAXException, IOException { setupParse(); parent.parse(input); } /** * Parse a document. * * @param systemId The system identifier as a fully-qualified URI. * @exception org.xml.sax.SAXException Any SAX exception, possibly * wrapping another exception. * @exception java.io.IOException An IO exception from the parser, * possibly from a byte stream or character stream * supplied by the application. */ public void parse (String systemId) throws SAXException, IOException { parse(new InputSource(systemId)); } //////////////////////////////////////////////////////////////////// // Implementation of org.xml.sax.EntityResolver. //////////////////////////////////////////////////////////////////// /** * Filter an external entity resolution. * * @param publicId The entity's public identifier, or null. * @param systemId The entity's system identifier. * @return A new InputSource or null for the default. * @exception org.xml.sax.SAXException The client may throw * an exception during processing. * @exception java.io.IOException The client may throw an * I/O-related exception while obtaining the * new InputSource. */ public InputSource resolveEntity (String publicId, String systemId) throws SAXException, IOException { if (entityResolver != null) { return entityResolver.resolveEntity(publicId, systemId); } else { return null; } } //////////////////////////////////////////////////////////////////// // Implementation of org.xml.sax.DTDHandler. //////////////////////////////////////////////////////////////////// /** * Filter a notation declaration event. * * @param name The notation name. * @param publicId The notation's public identifier, or null. * @param systemId The notation's system identifier, or null. * @exception org.xml.sax.SAXException The client may throw * an exception during processing. */ public void notationDecl (String name, String publicId, String systemId) throws SAXException { if (dtdHandler != null) { dtdHandler.notationDecl(name, publicId, systemId); } } /** * Filter an unparsed entity declaration event. * * @param name The entity name. * @param publicId The entity's public identifier, or null. * @param systemId The entity's system identifier, or null. * @param notationName The name of the associated notation. * @exception org.xml.sax.SAXException The client may throw * an exception during processing. */ public void unparsedEntityDecl (String name, String publicId, String systemId, String notationName) throws SAXException { if (dtdHandler != null) { dtdHandler.unparsedEntityDecl(name, publicId, systemId, notationName); } } //////////////////////////////////////////////////////////////////// // Implementation of org.xml.sax.ContentHandler. //////////////////////////////////////////////////////////////////// /** * Filter a new document locator event. * * @param locator The document locator. */ public void setDocumentLocator (Locator locator) { this.locator = locator; if (contentHandler != null) { contentHandler.setDocumentLocator(locator); } } /** * Filter a start document event. * * @exception org.xml.sax.SAXException The client may throw * an exception during processing. */ public void startDocument () throws SAXException { if (contentHandler != null) { contentHandler.startDocument(); } } /** * Filter an end document event. * * @exception org.xml.sax.SAXException The client may throw * an exception during processing. */ public void endDocument () throws SAXException { if (contentHandler != null) { contentHandler.endDocument(); } } /** * Filter a start Namespace prefix mapping event. * * @param prefix The Namespace prefix. * @param uri The Namespace URI. * @exception org.xml.sax.SAXException The client may throw * an exception during processing. */ public void startPrefixMapping (String prefix, String uri) throws SAXException { if (contentHandler != null) { contentHandler.startPrefixMapping(prefix, uri); } } /** * Filter an end Namespace prefix mapping event. * * @param prefix The Namespace prefix. * @exception org.xml.sax.SAXException The client may throw * an exception during processing. */ public void endPrefixMapping (String prefix) throws SAXException { if (contentHandler != null) { contentHandler.endPrefixMapping(prefix); } } /** * Filter a start element event. * * @param uri The element's Namespace URI, or the empty string. * @param localName The element's local name, or the empty string. * @param qName The element's qualified (prefixed) name, or the empty * string. * @param atts The element's attributes. * @exception org.xml.sax.SAXException The client may throw * an exception during processing. */ public void startElement (String uri, String localName, String qName, Attributes atts) throws SAXException { if (contentHandler != null) { contentHandler.startElement(uri, localName, qName, atts); } } /** * Filter an end element event. * * @param uri The element's Namespace URI, or the empty string. * @param localName The element's local name, or the empty string. * @param qName The element's qualified (prefixed) name, or the empty * string. * @exception org.xml.sax.SAXException The client may throw * an exception during processing. */ public void endElement (String uri, String localName, String qName) throws SAXException { if (contentHandler != null) { contentHandler.endElement(uri, localName, qName); } } /** * Filter a character data event. * * @param ch An array of characters. * @param start The starting position in the array. * @param length The number of characters to use from the array. * @exception org.xml.sax.SAXException The client may throw * an exception during processing. */ public void characters (char ch[], int start, int length) throws SAXException { if (contentHandler != null) { contentHandler.characters(ch, start, length); } } /** * Filter an ignorable whitespace event. * * @param ch An array of characters. * @param start The starting position in the array. * @param length The number of characters to use from the array. * @exception org.xml.sax.SAXException The client may throw * an exception during processing. */ public void ignorableWhitespace (char ch[], int start, int length) throws SAXException { if (contentHandler != null) { contentHandler.ignorableWhitespace(ch, start, length); } } /** * Filter a processing instruction event. * * @param target The processing instruction target. * @param data The text following the target. * @exception org.xml.sax.SAXException The client may throw * an exception during processing. */ public void processingInstruction (String target, String data) throws SAXException { if (contentHandler != null) { contentHandler.processingInstruction(target, data); } } /** * Filter a skipped entity event. * * @param name The name of the skipped entity. * @exception org.xml.sax.SAXException The client may throw * an exception during processing. */ public void skippedEntity (String name) throws SAXException { if (contentHandler != null) { contentHandler.skippedEntity(name); } } //////////////////////////////////////////////////////////////////// // Implementation of org.xml.sax.ErrorHandler. //////////////////////////////////////////////////////////////////// /** * Filter a warning event. * * @param e The warning as an exception. * @exception org.xml.sax.SAXException The client may throw * an exception during processing. */ public void warning (SAXParseException e) throws SAXException { if (errorHandler != null) { errorHandler.warning(e); } } /** * Filter an error event. * * @param e The error as an exception. * @exception org.xml.sax.SAXException The client may throw * an exception during processing. */ public void error (SAXParseException e) throws SAXException { if (errorHandler != null) { errorHandler.error(e); } } /** * Filter a fatal error event. * * @param e The error as an exception. * @exception org.xml.sax.SAXException The client may throw * an exception during processing. */ public void fatalError (SAXParseException e) throws SAXException { if (errorHandler != null) { errorHandler.fatalError(e); } } //////////////////////////////////////////////////////////////////// // Internal methods. //////////////////////////////////////////////////////////////////// /** * Set up before a parse. * *

Before every parse, check whether the parent is * non-null, and re-register the filter for all of the * events.

*/ private void setupParse () { if (parent == null) { throw new NullPointerException("No parent for filter"); } parent.setEntityResolver(this); parent.setDTDHandler(this); parent.setContentHandler(this); parent.setErrorHandler(this); } //////////////////////////////////////////////////////////////////// // Internal state. //////////////////////////////////////////////////////////////////// private XMLReader parent = null; private Locator locator = null; private EntityResolver entityResolver = null; private DTDHandler dtdHandler = null; private ContentHandler contentHandler = null; private ErrorHandler errorHandler = null; } // end of XMLFilterImpl.java org/xml/sax/helpers/XMLReaderAdapter.java100644 0 0 34360 11146172375 16015 0ustar 0 0 // XMLReaderAdapter.java - adapt an SAX2 XMLReader to a SAX1 Parser // http://www.saxproject.org // Written by David Megginson // NO WARRANTY! This class is in the public domain. // $Id: XMLReaderAdapter.java 226184 2005-04-08 10:53:24Z neeraj $ package org.xml.sax.helpers; import java.io.IOException; import java.util.Locale; import org.xml.sax.Parser; // deprecated import org.xml.sax.Locator; import org.xml.sax.InputSource; import org.xml.sax.AttributeList; // deprecated import org.xml.sax.EntityResolver; import org.xml.sax.DTDHandler; import org.xml.sax.DocumentHandler; // deprecated import org.xml.sax.ErrorHandler; import org.xml.sax.SAXException; import org.xml.sax.XMLReader; import org.xml.sax.Attributes; import org.xml.sax.ContentHandler; import org.xml.sax.SAXNotSupportedException; /** * Adapt a SAX2 XMLReader as a SAX1 Parser. * *
* This module, both source code and documentation, is in the * Public Domain, and comes with NO WARRANTY. * See http://www.saxproject.org * for further information. *
* *

This class wraps a SAX2 {@link org.xml.sax.XMLReader XMLReader} * and makes it act as a SAX1 {@link org.xml.sax.Parser Parser}. The XMLReader * must support a true value for the * http://xml.org/sax/features/namespace-prefixes property or parsing will fail * with a {@link org.xml.sax.SAXException SAXException}; if the XMLReader * supports a false value for the http://xml.org/sax/features/namespaces * property, that will also be used to improve efficiency.

* * @since SAX 2.0 * @author David Megginson * @version 2.0.1 (sax2r2) * @see org.xml.sax.Parser * @see org.xml.sax.XMLReader */ public class XMLReaderAdapter implements Parser, ContentHandler { //////////////////////////////////////////////////////////////////// // Constructor. //////////////////////////////////////////////////////////////////// /** * Create a new adapter. * *

Use the "org.xml.sax.driver" property to locate the SAX2 * driver to embed.

* * @exception org.xml.sax.SAXException If the embedded driver * cannot be instantiated or if the * org.xml.sax.driver property is not specified. */ public XMLReaderAdapter () throws SAXException { setup(XMLReaderFactory.createXMLReader()); } /** * Create a new adapter. * *

Create a new adapter, wrapped around a SAX2 XMLReader. * The adapter will make the XMLReader act like a SAX1 * Parser.

* * @param xmlReader The SAX2 XMLReader to wrap. * @exception java.lang.NullPointerException If the argument is null. */ public XMLReaderAdapter (XMLReader xmlReader) { setup(xmlReader); } /** * Internal setup. * * @param xmlReader The embedded XMLReader. */ private void setup (XMLReader xmlReader) { if (xmlReader == null) { throw new NullPointerException("XMLReader must not be null"); } this.xmlReader = xmlReader; qAtts = new AttributesAdapter(); } //////////////////////////////////////////////////////////////////// // Implementation of org.xml.sax.Parser. //////////////////////////////////////////////////////////////////// /** * Set the locale for error reporting. * *

This is not supported in SAX2, and will always throw * an exception.

* * @param locale the locale for error reporting. * @see org.xml.sax.Parser#setLocale * @exception org.xml.sax.SAXException Thrown unless overridden. */ public void setLocale (Locale locale) throws SAXException { throw new SAXNotSupportedException("setLocale not supported"); } /** * Register the entity resolver. * * @param resolver The new resolver. * @see org.xml.sax.Parser#setEntityResolver */ public void setEntityResolver (EntityResolver resolver) { xmlReader.setEntityResolver(resolver); } /** * Register the DTD event handler. * * @param handler The new DTD event handler. * @see org.xml.sax.Parser#setDTDHandler */ public void setDTDHandler (DTDHandler handler) { xmlReader.setDTDHandler(handler); } /** * Register the SAX1 document event handler. * *

Note that the SAX1 document handler has no Namespace * support.

* * @param handler The new SAX1 document event handler. * @see org.xml.sax.Parser#setDocumentHandler */ public void setDocumentHandler (DocumentHandler handler) { documentHandler = handler; } /** * Register the error event handler. * * @param handler The new error event handler. * @see org.xml.sax.Parser#setErrorHandler */ public void setErrorHandler (ErrorHandler handler) { xmlReader.setErrorHandler(handler); } /** * Parse the document. * *

This method will throw an exception if the embedded * XMLReader does not support the * http://xml.org/sax/features/namespace-prefixes property.

* * @param systemId The absolute URL of the document. * @exception java.io.IOException If there is a problem reading * the raw content of the document. * @exception org.xml.sax.SAXException If there is a problem * processing the document. * @see #parse(org.xml.sax.InputSource) * @see org.xml.sax.Parser#parse(java.lang.String) */ public void parse (String systemId) throws IOException, SAXException { parse(new InputSource(systemId)); } /** * Parse the document. * *

This method will throw an exception if the embedded * XMLReader does not support the * http://xml.org/sax/features/namespace-prefixes property.

* * @param input An input source for the document. * @exception java.io.IOException If there is a problem reading * the raw content of the document. * @exception org.xml.sax.SAXException If there is a problem * processing the document. * @see #parse(java.lang.String) * @see org.xml.sax.Parser#parse(org.xml.sax.InputSource) */ public void parse (InputSource input) throws IOException, SAXException { setupXMLReader(); xmlReader.parse(input); } /** * Set up the XML reader. */ private void setupXMLReader () throws SAXException { xmlReader.setFeature("http://xml.org/sax/features/namespace-prefixes", true); try { xmlReader.setFeature("http://xml.org/sax/features/namespaces", false); } catch (SAXException e) { // NO OP: it's just extra information, and we can ignore it } xmlReader.setContentHandler(this); } //////////////////////////////////////////////////////////////////// // Implementation of org.xml.sax.ContentHandler. //////////////////////////////////////////////////////////////////// /** * Set a document locator. * * @param locator The document locator. * @see org.xml.sax.ContentHandler#setDocumentLocator */ public void setDocumentLocator (Locator locator) { if (documentHandler != null) documentHandler.setDocumentLocator(locator); } /** * Start document event. * * @exception org.xml.sax.SAXException The client may raise a * processing exception. * @see org.xml.sax.ContentHandler#startDocument */ public void startDocument () throws SAXException { if (documentHandler != null) documentHandler.startDocument(); } /** * End document event. * * @exception org.xml.sax.SAXException The client may raise a * processing exception. * @see org.xml.sax.ContentHandler#endDocument */ public void endDocument () throws SAXException { if (documentHandler != null) documentHandler.endDocument(); } /** * Adapt a SAX2 start prefix mapping event. * * @param prefix The prefix being mapped. * @param uri The Namespace URI being mapped to. * @see org.xml.sax.ContentHandler#startPrefixMapping */ public void startPrefixMapping (String prefix, String uri) { } /** * Adapt a SAX2 end prefix mapping event. * * @param prefix The prefix being mapped. * @see org.xml.sax.ContentHandler#endPrefixMapping */ public void endPrefixMapping (String prefix) { } /** * Adapt a SAX2 start element event. * * @param uri The Namespace URI. * @param localName The Namespace local name. * @param qName The qualified (prefixed) name. * @param atts The SAX2 attributes. * @exception org.xml.sax.SAXException The client may raise a * processing exception. * @see org.xml.sax.ContentHandler#endDocument */ public void startElement (String uri, String localName, String qName, Attributes atts) throws SAXException { if (documentHandler != null) { qAtts.setAttributes(atts); documentHandler.startElement(qName, qAtts); } } /** * Adapt a SAX2 end element event. * * @param uri The Namespace URI. * @param localName The Namespace local name. * @param qName The qualified (prefixed) name. * @exception org.xml.sax.SAXException The client may raise a * processing exception. * @see org.xml.sax.ContentHandler#endElement */ public void endElement (String uri, String localName, String qName) throws SAXException { if (documentHandler != null) documentHandler.endElement(qName); } /** * Adapt a SAX2 characters event. * * @param ch An array of characters. * @param start The starting position in the array. * @param length The number of characters to use. * @exception org.xml.sax.SAXException The client may raise a * processing exception. * @see org.xml.sax.ContentHandler#characters */ public void characters (char ch[], int start, int length) throws SAXException { if (documentHandler != null) documentHandler.characters(ch, start, length); } /** * Adapt a SAX2 ignorable whitespace event. * * @param ch An array of characters. * @param start The starting position in the array. * @param length The number of characters to use. * @exception org.xml.sax.SAXException The client may raise a * processing exception. * @see org.xml.sax.ContentHandler#ignorableWhitespace */ public void ignorableWhitespace (char ch[], int start, int length) throws SAXException { if (documentHandler != null) documentHandler.ignorableWhitespace(ch, start, length); } /** * Adapt a SAX2 processing instruction event. * * @param target The processing instruction target. * @param data The remainder of the processing instruction * @exception org.xml.sax.SAXException The client may raise a * processing exception. * @see org.xml.sax.ContentHandler#processingInstruction */ public void processingInstruction (String target, String data) throws SAXException { if (documentHandler != null) documentHandler.processingInstruction(target, data); } /** * Adapt a SAX2 skipped entity event. * * @param name The name of the skipped entity. * @see org.xml.sax.ContentHandler#skippedEntity * @exception org.xml.sax.SAXException Throwable by subclasses. */ public void skippedEntity (String name) throws SAXException { } //////////////////////////////////////////////////////////////////// // Internal state. //////////////////////////////////////////////////////////////////// XMLReader xmlReader; DocumentHandler documentHandler; AttributesAdapter qAtts; //////////////////////////////////////////////////////////////////// // Internal class. //////////////////////////////////////////////////////////////////// /** * Internal class to wrap a SAX2 Attributes object for SAX1. */ final class AttributesAdapter implements AttributeList { AttributesAdapter () { } /** * Set the embedded Attributes object. * * @param The embedded SAX2 Attributes. */ void setAttributes (Attributes attributes) { this.attributes = attributes; } /** * Return the number of attributes. * * @return The length of the attribute list. * @see org.xml.sax.AttributeList#getLength */ public int getLength () { return attributes.getLength(); } /** * Return the qualified (prefixed) name of an attribute by position. * * @return The qualified name. * @see org.xml.sax.AttributeList#getName */ public String getName (int i) { return attributes.getQName(i); } /** * Return the type of an attribute by position. * * @return The type. * @see org.xml.sax.AttributeList#getType(int) */ public String getType (int i) { return attributes.getType(i); } /** * Return the value of an attribute by position. * * @return The value. * @see org.xml.sax.AttributeList#getValue(int) */ public String getValue (int i) { return attributes.getValue(i); } /** * Return the type of an attribute by qualified (prefixed) name. * * @return The type. * @see org.xml.sax.AttributeList#getType(java.lang.String) */ public String getType (String qName) { return attributes.getType(qName); } /** * Return the value of an attribute by qualified (prefixed) name. * * @return The value. * @see org.xml.sax.AttributeList#getValue(java.lang.String) */ public String getValue (String qName) { return attributes.getValue(qName); } private Attributes attributes; } } // end of XMLReaderAdapter.java org/xml/sax/helpers/XMLReaderFactory.java100644 0 0 24315 11146172375 16043 0ustar 0 0 // XMLReaderFactory.java - factory for creating a new reader. // http://www.saxproject.org // Written by David Megginson // and by David Brownell // NO WARRANTY! This class is in the Public Domain. // $Id: XMLReaderFactory.java 670295 2008-06-22 01:46:43Z mrglavas $ package org.xml.sax.helpers; import java.io.BufferedReader; import java.io.IOException; import java.io.InputStream; import java.io.InputStreamReader; import org.xml.sax.XMLReader; import org.xml.sax.SAXException; /** * Factory for creating an XML reader. * *
* This module, both source code and documentation, is in the * Public Domain, and comes with NO WARRANTY. * See http://www.saxproject.org * for further information. *
* *

This class contains static methods for creating an XML reader * from an explicit class name, or based on runtime defaults:

* *
 * try {
 *   XMLReader myReader = XMLReaderFactory.createXMLReader();
 * } catch (SAXException e) {
 *   System.err.println(e.getMessage());
 * }
 * 
* *

Note to Distributions bundled with parsers: * You should modify the implementation of the no-arguments * createXMLReader to handle cases where the external * configuration mechanisms aren't set up. That method should do its * best to return a parser when one is in the class path, even when * nothing bound its class name to org.xml.sax.driver so * those configuration mechanisms would see it.

* * @since SAX 2.0 * @author David Megginson, David Brownell * @version 2.0.1 (sax2r2) */ final public class XMLReaderFactory { /** * Private constructor. * *

This constructor prevents the class from being instantiated.

*/ private XMLReaderFactory () { } private static final String property = "org.xml.sax.driver"; /** * Default columns per line. */ private static final int DEFAULT_LINE_LENGTH = 80; /** * Attempt to create an XMLReader from system defaults. * In environments which can support it, the name of the XMLReader * class is determined by trying each these options in order, and * using the first one which succeeds:

* *

In environments such as small embedded systems, which can not * support that flexibility, other mechanisms to determine the default * may be used.

* *

Note that many Java environments allow system properties to be * initialized on a command line. This means that in most cases * setting a good value for that property ensures that calls to this * method will succeed, except when security policies intervene. * This will also maximize application portability to older SAX * environments, with less robust implementations of this method. *

* * @return A new XMLReader. * @exception org.xml.sax.SAXException If no default XMLReader class * can be identified and instantiated. * @see #createXMLReader(java.lang.String) */ public static XMLReader createXMLReader () throws SAXException { String className = null; ClassLoader loader = NewInstance.getClassLoader (); // 1. try the JVM-instance-wide system property try { className = SecuritySupport.getSystemProperty (property); } catch (Exception e) { /* normally fails for applets */ } // 2. if that fails, try META-INF/services/ if (className == null || className.length() == 0) { String service = "META-INF/services/" + property; InputStream is = null; className = null; // First try the Context ClassLoader ClassLoader cl = SecuritySupport.getContextClassLoader(); if (cl != null) { is = SecuritySupport.getResourceAsStream(cl, service); // If no provider found then try the current ClassLoader if (is == null) { cl = XMLReaderFactory.class.getClassLoader(); is = SecuritySupport.getResourceAsStream(cl, service); } } else { // No Context ClassLoader or JDK 1.1 so try the current // ClassLoader cl = XMLReaderFactory.class.getClassLoader(); is = SecuritySupport.getResourceAsStream(cl, service); } if (is != null) { // Read the service provider name in UTF-8 as specified in // the jar spec. Unfortunately this fails in Microsoft // VJ++, which does not implement the UTF-8 // encoding. Theoretically, we should simply let it fail in // that case, since the JVM is obviously broken if it // doesn't support such a basic standard. But since there // are still some users attempting to use VJ++ for // development, we have dropped in a fallback which makes a // second attempt using the platform's default encoding. In // VJ++ this is apparently ASCII, which is a subset of // UTF-8... and since the strings we'll be reading here are // also primarily limited to the 7-bit ASCII range (at // least, in English versions), this should work well // enough to keep us on the air until we're ready to // officially decommit from VJ++. [Edited comment from // jkesselm] BufferedReader rd; try { rd = new BufferedReader(new InputStreamReader(is, "UTF-8"), DEFAULT_LINE_LENGTH); } catch (java.io.UnsupportedEncodingException e) { rd = new BufferedReader(new InputStreamReader(is), DEFAULT_LINE_LENGTH); } try { // XXX Does not handle all possible input as specified by the // Jar Service Provider specification className = rd.readLine(); } catch (Exception x) { // No provider found } finally { try { // try to close the reader. rd.close(); } // Ignore the exception. catch (IOException exc) {} } } } // 3. Distro-specific fallback if (className == null) { // BEGIN DISTRIBUTION-SPECIFIC // EXAMPLE: // className = "com.example.sax.XmlReader"; // or a $JAVA_HOME/jre/lib/*properties setting... className = "org.apache.xerces.parsers.SAXParser"; // END DISTRIBUTION-SPECIFIC } // do we know the XMLReader implementation class yet? if (className != null) return loadClass (loader, className); // 4. panic -- adapt any SAX1 parser try { return new ParserAdapter (ParserFactory.makeParser ()); } catch (Exception e) { throw new SAXException ("Can't create default XMLReader; " + "is system property org.xml.sax.driver set?"); } } /** * Attempt to create an XML reader from a class name. * *

Given a class name, this method attempts to load * and instantiate the class as an XML reader.

* *

Note that this method will not be usable in environments where * the caller (perhaps an applet) is not permitted to load classes * dynamically.

* * @return A new XML reader. * @exception org.xml.sax.SAXException If the class cannot be * loaded, instantiated, and cast to XMLReader. * @see #createXMLReader() */ public static XMLReader createXMLReader (String className) throws SAXException { return loadClass (NewInstance.getClassLoader (), className); } private static XMLReader loadClass (ClassLoader loader, String className) throws SAXException { try { return (XMLReader) NewInstance.newInstance (loader, className); } catch (ClassNotFoundException e1) { throw new SAXException("SAX2 driver class " + className + " not found", e1); } catch (IllegalAccessException e2) { throw new SAXException("SAX2 driver class " + className + " found but cannot be loaded", e2); } catch (InstantiationException e3) { throw new SAXException("SAX2 driver class " + className + " loaded but cannot be instantiated (no empty public constructor?)", e3); } catch (ClassCastException e4) { throw new SAXException("SAX2 driver class " + className + " does not implement XMLReader", e4); } } } org/xml/sax/helpers/package.html100644 0 0 514 11146172375 14301 0ustar 0 0

This package contains "helper" classes, including support for bootstrapping SAX-based applications.

See http://www.saxproject.org for more information about SAX.

org/xml/sax/package.html100644 0 0 23755 11146172375 12713 0ustar 0 0

This package provides the core SAX APIs. Some SAX1 APIs are deprecated to encourage integration of namespace-awareness into designs of new applications and into maintenance of existing infrastructure.

See http://www.saxproject.org for more information about SAX.

SAX2 Standard Feature Flags

One of the essential characteristics of SAX2 is that it added feature flags which can be used to examine and perhaps modify parser modes, in particular modes such as validation. Since features are identified by (absolute) URIs, anyone can define such features. Currently defined standard feature URIs have the prefix http://xml.org/sax/features/ before an identifier such as validation. Turn features on or off using setFeature. Those standard identifiers are:

Feature ID Access Default Description
external-general-entities read/write unspecified Reports whether this parser processes external general entities; always true if validating.
external-parameter-entities read/write unspecified Reports whether this parser processes external parameter entities; always true if validating.
is-standalone (parsing) read-only, (not parsing) none not applicable May be examined only during a parse, after the startDocument() callback has been completed; read-only. The value is true if the document specified standalone="yes" in its XML declaration, and otherwise is false.
lexical-handler/parameter-entities read/write unspecified A value of "true" indicates that the LexicalHandler will report the beginning and end of parameter entities.
namespaces read/write true A value of "true" indicates namespace URIs and unprefixed local names for element and attribute names will be available.
namespace-prefixes read/write false A value of "true" indicates that XML qualified names (with prefixes) and attributes (including xmlns* attributes) will be available.
resolve-dtd-uris read/write true A value of "true" indicates that system IDs in declarations will be absolutized (relative to their base URIs) before reporting. (That is the default behavior for all SAX2 XML parsers.) A value of "false" indicates those IDs will not be absolutized; parsers will provide the base URI from Locator.getSystemId(). This applies to system IDs passed in
  • DTDHandler.notationDecl(),
  • DTDHandler.unparsedEntityDecl(), and
  • DeclHandler.externalEntityDecl().
It does not apply to EntityResolver.resolveEntity(), which is not used to report declarations, or to LexicalHandler.startDTD(), which already provides the non-absolutized URI.
string-interning read/write unspecified Has a value of "true" if all XML names (for elements, prefixes, attributes, entities, notations, and local names), as well as Namespace URIs, will have been interned using java.lang.String.intern. This supports fast testing of equality/inequality against string constants, rather than forcing slower calls to String.equals().
unicode-normalization-checking read/write false Controls whether the parser reports Unicode normalization errors as described in section 2.13 and Appendix B of the XML 1.1 Recommendation. If true, Unicode normalization errors are reported using the ErrorHandler.error() callback. Such errors are not fatal in themselves (though, obviously, other Unicode-related encoding errors may be).
use-attributes2 read-only not applicable Returns "true" if the Attributes objects passed by this parser in ContentHandler.startElement() implement the org.xml.sax.ext.Attributes2 interface. That interface exposes additional DTD-related information, such as whether the attribute was specified in the source text rather than defaulted.
use-locator2 read-only not applicable Returns "true" if the Locator objects passed by this parser in ContentHandler.setDocumentLocator() implement the org.xml.sax.ext.Locator2 interface. That interface exposes additional entity information, such as the character encoding and XML version used.
use-entity-resolver2 read/write true Returns "true" if, when setEntityResolver is given an object implementing the org.xml.sax.ext.EntityResolver2 interface, those new methods will be used. Returns "false" to indicate that those methods will not be used.
validation read/write unspecified Controls whether the parser is reporting all validity errors; if true, all external entities will be read.
xmlns-uris read/write false Controls whether, when the namespace-prefixes feature is set, the parser treats namespace declaration attributes as being in the http://www.w3.org/2000/xmlns/ namespace. By default, SAX2 conforms to the original "Namespaces in XML" Recommendation, which explicitly states that such attributes are not in any namespace. Setting this optional flag to "true" makes the SAX2 events conform to a later backwards-incompatible revision of that recommendation, placing those attributes in a namespace.
xml-1.1 read-only not applicable Returns "true" if the parser supports both XML 1.1 and XML 1.0. Returns "false" if the parser supports only XML 1.0.

Support for the default values of the namespaces and namespace-prefixes properties is required. Support for any other feature flags is entirely optional.

For default values not specified by SAX2, each XMLReader implementation specifies its default, or may choose not to expose the feature flag. Unless otherwise specified here, implementations may support changing current values of these standard feature flags, but not while parsing.

SAX2 Standard Handler and Property IDs

For parser interface characteristics that are described as objects, a separate namespace is defined. The objects in this namespace are again identified by URI, and the standard property URIs have the prefix http://xml.org/sax/properties/ before an identifier such as lexical-handler or dom-node. Manage those properties using setProperty(). Those identifiers are:

Property ID Description
declaration-handler Used to see most DTD declarations except those treated as lexical ("document element name is ...") or which are mandatory for all SAX parsers (DTDHandler). The Object must implement org.xml.sax.ext.DeclHandler.
document-xml-version May be examined only during a parse, after the startDocument() callback has been completed; read-only. This property is a literal string describing the actual XML version of the document, such as "1.0" or "1.1".
dom-node For "DOM Walker" style parsers, which ignore their parser.parse() parameters, this is used to specify the DOM (sub)tree being walked by the parser. The Object must implement the org.w3c.dom.Node interface.
lexical-handler Used to see some syntax events that are essential in some applications: comments, CDATA delimiters, selected general entity inclusions, and the start and end of the DTD (and declaration of document element name). The Object must implement org.xml.sax.ext.LexicalHandler.
xml-string Readable only during a parser callback, this exposes a TBS chunk of characters responsible for the current event.

All of these standard properties are optional; XMLReader implementations need not support them.

manifest.commons100644 0 0 10362 11310364117 11427 0ustar 0 0 Manifest-Version: 1.0 Created-By: 1.3.1 (IBM Corporation) Name: org/apache/xmlcommons/Version Comment: XmlCommonsExternal for http://xml.apache.org/ subproject's use Implementation-Title: org.apache.xmlcommons.Version Implementation-Version: 1.4.01 Implementation-Vendor: Apache Software Foundation Implementation-URL: http://xml.apache.org/commons/ Name: org/xml/sax/ Comment: xml-commons for http://xml.apache.org/ subproject's use Specification-Title: Simple API for XML Specification-Vendor: David Megginson Specification-Version: 2.0.2 (sax2r3) Implementation-Title: org.xml.sax Implementation-Version: 2.0.2 Implementation-Vendor: David Megginson Implementation-URL: http://www.saxproject.org/ Name: org/w3c/dom/ Comment: xml-commons for http://xml.apache.org/ subproject's use Specification-Title: Document Object Model (DOM) Level 3 Core Specification-Vendor: World Wide Web Consortium Specification-Version: 1.0 Implementation-Title: org.w3c.dom Implementation-Version: 1.0 Implementation-Vendor: World Wide Web Consortium Implementation-URL: http://www.w3c.org/DOM/ Name: org/w3c/dom/ls/ Comment: xml-commons for http://xml.apache.org/ subproject's use Specification-Title: Document Object Model (DOM) Level 3 Load and Save Specification-Vendor: World Wide Web Consortium Specification-Version: 1.0 Implementation-Title: org.w3c.dom.ls Implementation-Version: 1.0 Implementation-Vendor: World Wide Web Consortium Implementation-URL: http://www.w3c.org/DOM/ Name: javax/xml/stream/ Comment: xml-commons for http://xml.apache.org/ subproject's use Specification-Title: Streaming API for XML (StAX) 1.0 Specification-Vendor: BEA Systems, Inc. Specification-Version: 1.0 Implementation-Title: javax.xml.stream Implementation-Version: 1.4.01 Implementation-Vendor: Apache Software Foundation Implementation-URL: http://xml.apache.org/commons/ Name: javax/xml/datatype/ Comment: xml-commons for http://xml.apache.org/ subproject's use Specification-Title: Java API for XML Processing (JAXP) 1.4 Specification-Vendor: Sun Microsystems Inc. Specification-Version: 1.4 Implementation-Title: javax.xml.datatype Implementation-Version: 1.4.01 Implementation-Vendor: Apache Software Foundation Implementation-URL: http://xml.apache.org/commons/ Name: javax/xml/namespace/ Comment: xml-commons for http://xml.apache.org/ subproject's use Specification-Title: Java API for XML Processing (JAXP) 1.4 Specification-Vendor: Sun Microsystems Inc. Specification-Version: 1.4 Implementation-Title: javax.xml.namespace Implementation-Version: 1.4.01 Implementation-Vendor: Apache Software Foundation Implementation-URL: http://xml.apache.org/commons/ Name: javax/xml/parsers/ Comment: xml-commons for http://xml.apache.org/ subproject's use Specification-Title: Java API for XML Processing (JAXP) 1.4 Specification-Vendor: Sun Microsystems Inc. Specification-Version: 1.4 Implementation-Title: javax.xml.parsers Implementation-Version: 1.4.01 Implementation-Vendor: Apache Software Foundation Implementation-URL: http://xml.apache.org/commons/ Name: javax/xml/transform/ Comment: xml-commons for http://xml.apache.org/ subproject's use Specification-Title: Java API for XML Processing (JAXP) 1.4 Specification-Vendor: Sun Microsystems Inc. Specification-Version: 1.4 Implementation-Title: javax.xml.transform Implementation-Version: 1.4.01 Implementation-Vendor: Apache Software Foundation Implementation-URL: http://xml.apache.org/commons/ Name: javax/xml/validation/ Comment: xml-commons for http://xml.apache.org/ subproject's use Specification-Title: Java API for XML Processing (JAXP) 1.4 Specification-Vendor: Sun Microsystems Inc. Specification-Version: 1.4 Implementation-Title: javax.xml.validation Implementation-Version: 1.4.01 Implementation-Vendor: Apache Software Foundation Implementation-URL: http://xml.apache.org/commons/ Name: javax/xml/xpath/ Comment: xml-commons for http://xml.apache.org/ subproject's use Specification-Title: Java API for XML Processing (JAXP) 1.4 Specification-Vendor: Sun Microsystems Inc. Specification-Version: 1.4 Implementation-Title: javax.xml.xpath Implementation-Version: 1.4.01 Implementation-Vendor: Apache Software Foundation Implementation-URL: http://xml.apache.org/commons/ LICENSE.dom-documentation.txt100644 0 0 7652 11146172420 13465 0ustar 0 0 xml-commons/java/external/LICENSE.dom-documentation.txt $Id: LICENSE.dom-documentation.txt 226215 2005-06-03 22:49:13Z mrglavas $ This license came from: http://www.w3.org/Consortium/Legal/copyright-documents-20021231 W3C® DOCUMENT LICENSE http://www.w3.org/Consortium/Legal/2002/copyright-documents-20021231 Public documents on the W3C site are provided by the copyright holders under the following license. By using and/or copying this document, or the W3C document from which this statement is linked, you (the licensee) agree that you have read, understood, and will comply with the following terms and conditions: Permission to copy, and distribute the contents of this document, or the W3C document from which this statement is linked, in any medium for any purpose and without fee or royalty is hereby granted, provided that you include the following on ALL copies of the document, or portions thereof, that you use: 1. A link or URL to the original W3C document. 2. The pre-existing copyright notice of the original author, or if it doesn't exist, a notice (hypertext is preferred, but a textual representation is permitted) of the form: "Copyright © [$date-of-document] World Wide Web Consortium, (Massachusetts Institute of Technology, European Research Consortium for Informatics and Mathematics, Keio University). All Rights Reserved. http://www.w3.org/Consortium/Legal/2002/copyright-documents-20021231" 3. If it exists, the STATUS of the W3C document. When space permits, inclusion of the full text of this NOTICE should be provided. We request that authorship attribution be provided in any software, documents, or other items or products that you create pursuant to the implementation of the contents of this document, or any portion thereof. No right to create modifications or derivatives of W3C documents is granted pursuant to this license. However, if additional requirements (documented in the Copyright FAQ) are satisfied, the right to create modifications or derivatives is sometimes granted by the W3C to individuals complying with those requirements. THIS DOCUMENT IS PROVIDED "AS IS," AND COPYRIGHT HOLDERS MAKE NO REPRESENTATIONS OR WARRANTIES, EXPRESS OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, NON-INFRINGEMENT, OR TITLE; THAT THE CONTENTS OF THE DOCUMENT ARE SUITABLE FOR ANY PURPOSE; NOR THAT THE IMPLEMENTATION OF SUCH CONTENTS WILL NOT INFRINGE ANY THIRD PARTY PATENTS, COPYRIGHTS, TRADEMARKS OR OTHER RIGHTS. COPYRIGHT HOLDERS WILL NOT BE LIABLE FOR ANY DIRECT, INDIRECT, SPECIAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF ANY USE OF THE DOCUMENT OR THE PERFORMANCE OR IMPLEMENTATION OF THE CONTENTS THEREOF. The name and trademarks of copyright holders may NOT be used in advertising or publicity pertaining to this document or its contents without specific, written prior permission. Title to copyright in this document will at all times remain with copyright holders. ---------------------------------------------------------------------------- This formulation of W3C's notice and license became active on December 31 2002. This version removes the copyright ownership notice such that this license can be used with materials other than those owned by the W3C, moves information on style sheets, DTDs, and schemas to the Copyright FAQ, reflects that ERCIM is now a host of the W3C, includes references to this specific dated version of the license, and removes the ambiguous grant of "use". See the older formulation for the policy prior to this date. Please see our Copyright FAQ for common questions about using materials from our site, such as the translating or annotating specifications. Other questions about this notice can be directed to site-policy@w3.org. Joseph Reagle Last revised by Reagle $Date: 2005-06-03 18:49:13 -0400 (Fri, 03 Jun 2005) $ LICENSE.dom-software.txt100644 0 0 6213 11146172420 12436 0ustar 0 0 xml-commons/java/external/LICENSE.dom-software.txt $Id: LICENSE.dom-software.txt 734314 2009-01-14 03:33:27Z mrglavas $ This license came from: http://www.w3.org/TR/2004/REC-DOM-Level-3-Core-20040407/java-binding.zip (COPYRIGHT.html) W3C® SOFTWARE NOTICE AND LICENSE Copyright © 2004 World Wide Web Consortium, (Massachusetts Institute of Technology, European Research Consortium for Informatics and Mathematics, Keio University). All Rights Reserved. The DOM bindings are published under the W3C Software Copyright Notice and License. The software license requires "Notice of any changes or modifications to the W3C files, including the date changes were made." Consequently, modified versions of the DOM bindings must document that they do not conform to the W3C standard; in the case of the IDL definitions, the pragma prefix can no longer be 'w3c.org'; in the case of the Java language binding, the package names can no longer be in the 'org.w3c' package. Note: The original version of the W3C Software Copyright Notice and License could be found at http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 This work (and included software, documentation such as READMEs, or other related items) is being provided by the copyright holders under the following license. By obtaining, using and/or copying this work, you (the licensee) agree that you have read, understood, and will comply with the following terms and conditions. Permission to copy, modify, and distribute this software and its documentation, with or without modification, for any purpose and without fee or royalty is hereby granted, provided that you include the following on ALL copies of the software and documentation or portions thereof, including modifications: 1. The full text of this NOTICE in a location viewable to users of the redistributed or derivative work. 2. Any pre-existing intellectual property disclaimers, notices, or terms and conditions. If none exist, the W3C Software Short Notice should be included (hypertext is preferred, text is permitted) within the body of any redistributed or derivative code. 3. Notice of any changes or modifications to the files, including the date changes were made. (We recommend you provide URIs to the location from which the code is derived.) THIS SOFTWARE AND DOCUMENTATION IS PROVIDED "AS IS," AND COPYRIGHT HOLDERS MAKE NO REPRESENTATIONS OR WARRANTIES, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO, WARRANTIES OF MERCHANTABILITY OR FITNESS FOR ANY PARTICULAR PURPOSE OR THAT THE USE OF THE SOFTWARE OR DOCUMENTATION WILL NOT INFRINGE ANY THIRD PARTY PATENTS, COPYRIGHTS, TRADEMARKS OR OTHER RIGHTS. COPYRIGHT HOLDERS WILL NOT BE LIABLE FOR ANY DIRECT, INDIRECT, SPECIAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF ANY USE OF THE SOFTWARE OR DOCUMENTATION. The name and trademarks of copyright holders may NOT be used in advertising or publicity pertaining to the software without specific, written prior permission. Title to copyright in this software and any associated documentation will at all times remain with copyright holders.LICENSE.sac.html100644 0 0 7504 11146172420 10726 0ustar 0 0 W3C IPR SOFTWARE NOTICE

W3C IPR SOFTWARE NOTICE

Copyright © 2002 World Wide Web Consortium, (Massachusetts Institute of Technology, Institut National de Recherche en Informatique et en Automatique, Keio University). All Rights Reserved.

Note: The original version of the W3C Software Copyright Notice and License could be found at http://www.w3.org/Consortium/Legal/copyright-software-19980720

Copyright © 1994-2002 World Wide Web Consortium, (Massachusetts Institute of Technology, Institut National de Recherche en Informatique et en Automatique, Keio University). All Rights Reserved. http://www.w3.org/Consortium/Legal/

This W3C work (including software, documents, or other related items) is being provided by the copyright holders under the following license. By obtaining, using and/or copying this work, you (the licensee) agree that you have read, understood, and will comply with the following terms and conditions:

Permission to use, copy, and modify this software and its documentation, with or without modification,  for any purpose and without fee or royalty is hereby granted, provided that you include the following on ALL copies of the software and documentation or portions thereof, including modifications, that you make:

  1. The full text of this NOTICE in a location viewable to users of the redistributed or derivative work.
  2. Any pre-existing intellectual property disclaimers, notices, or terms and conditions. If none exist, a short notice of the following form (hypertext is preferred, text is permitted) should be used within the body of any redistributed or derivative code: "Copyright © 2002 World Wide Web Consortium, (Massachusetts Institute of Technology, Institut National de Recherche en Informatique et en Automatique, Keio University). All Rights Reserved. http://www.w3.org/Consortium/Legal/"
  3. Notice of any changes or modifications to the W3C files, including the date changes were made. (We recommend you provide URIs to the location from which the code is derived.)

THIS SOFTWARE AND DOCUMENTATION IS PROVIDED "AS IS," AND COPYRIGHT HOLDERS MAKE NO REPRESENTATIONS OR WARRANTIES, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO, WARRANTIES OF MERCHANTABILITY OR FITNESS FOR ANY PARTICULAR PURPOSE OR THAT THE USE OF THE SOFTWARE OR DOCUMENTATION WILL NOT INFRINGE ANY THIRD PARTY PATENTS, COPYRIGHTS, TRADEMARKS OR OTHER RIGHTS.

COPYRIGHT HOLDERS WILL NOT BE LIABLE FOR ANY DIRECT, INDIRECT, SPECIAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF ANY USE OF THE SOFTWARE OR DOCUMENTATION.

The name and trademarks of copyright holders may NOT be used in advertising or publicity pertaining to the software without specific, written prior permission. Title to copyright in this software and any associated documentation will at all times remain with copyright holders.

LICENSE.sax.txt100644 0 0 1442 11146172420 10621 0ustar 0 0 xml-commons/java/external/LICENSE.sax.txt $Id: LICENSE.sax.txt 225954 2002-01-31 23:26:48Z curcuru $ This license came from: http://www.megginson.com/SAX/copying.html However please note future versions of SAX may be covered under http://saxproject.org/?selected=pd This page is now out of date -- see the new SAX site at http://www.saxproject.org/ for more up-to-date releases and other information. Please change your bookmarks. SAX2 is Free! I hereby abandon any property rights to SAX 2.0 (the Simple API for XML), and release all of the SAX 2.0 source code, compiled code, and documentation contained in this distribution into the Public Domain. SAX comes with NO WARRANTY or guarantee of fitness for any purpose. David Megginson, david@megginson.com 2000-05-05README.dom.txt100644 0 0 4357 11146172420 10470 0ustar 0 0 xml-commons/java/external/README.dom.txt $Id: README.dom.txt 477038 2006-11-20 04:40:36Z mrglavas $ HEAR YE, HEAR YE! All of the .java software and associated documentation about the DOM in this repository are distributed under the license from the W3C, which is provided herein. LICENSE.dom-software.txt covers all software from the W3C including the following items in the xml-commons project: xml-commons/java/external/src/org/w3c and all subdirectories (Note: SAC (The Simple API for CSS) has been published under an older version of the W3C license. The original license file is LICENSE.sac.html.) LICENSE.dom-documentation.txt covers all documentation from the W3C including the following items in the xml-commons project: xml-commons/java/external/xdocs/dom and all subdirectories The actual DOM Java Language Binding classes in xml-commons came from: http://www.w3.org/TR/2004/REC-DOM-Level-3-Core-20040407/java-binding.html The specification of DOM Level 3's various parts is at: http://www.w3.org/TR/2004/REC-DOM-Level-3-Core-20040407/ http://www.w3.org/TR/2004/REC-DOM-Level-3-LS-20040407/ http://www.w3.org/TR/2004/NOTE-DOM-Level-3-XPath-20040226/ The specification of DOM Level 2's various parts is at: http://www.w3.org/TR/2000/REC-DOM-Level-2-Events-20001113/ http://www.w3.org/TR/2000/REC-DOM-Level-2-Style-20001113/ http://www.w3.org/TR/2000/REC-DOM-Level-2-Traversal-Range-20001113/ http://www.w3.org/TR/2000/REC-DOM-Level-2-Views-20001113/ The specification of DOM Level 1's various parts is at: http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html.html Links to all available W3C DOM Java Bindings can be found at: http://www.w3.org/DOM/DOMTR The actual classes of The Simple API for CSS (SAC) came from: http://www.w3.org/Style/CSS/SAC/ http://www.w3.org/2002/06/sacjava-1.3.zip The actual DOM Java Language Binding classes for SMIL came from: http://dev.w3.org/cvsweb/java/classes/org/w3c/dom/smil/ (both ElementTimeControl.java and TimeEvent.java were taken at revision 1.1) The actual DOM Java Language Binding classes for SVG 1.1 came from: http://www.w3.org/TR/SVG11/java.htmlREADME.sax.txt100644 0 0 1311 11146172420 10467 0ustar 0 0 xml-commons/java/external/README.sax.txt $Id: README.sax.txt 225954 2002-01-31 23:26:48Z curcuru $ HEAR YE, HEAR YE! All of the .java software and associated documentation about SAX in this repository are distributed freely in the public domain. LICENSE.sax.txt covers all software and documentation from the megginson.com including the following in the xml-commons project: xml-commons/java/external/src/org/xml/sax and all subdirectories xml-commons/java/external/xdocs/sax and all subdirectories The actual SAX classes in xml-commons came from: http://www.megginson.com/Software/index.html The original versions are tagged 'SAX-2_0-r2-prerelease' LICENSE100644 0 0 26450 11146172420 7237 0ustar 0 0 Apache License Version 2.0, January 2004 http://www.apache.org/licenses/ TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION 1. Definitions. "License" shall mean the terms and conditions for use, reproduction, and distribution as defined by Sections 1 through 9 of this document. "Licensor" shall mean the copyright owner or entity authorized by the copyright owner that is granting the License. "Legal Entity" shall mean the union of the acting entity and all other entities that control, are controlled by, or are under common control with that entity. For the purposes of this definition, "control" means (i) the power, direct or indirect, to cause the direction or management of such entity, whether by contract or otherwise, or (ii) ownership of fifty percent (50%) or more of the outstanding shares, or (iii) beneficial ownership of such entity. "You" (or "Your") shall mean an individual or Legal Entity exercising permissions granted by this License. "Source" form shall mean the preferred form for making modifications, including but not limited to software source code, documentation source, and configuration files. "Object" form shall mean any form resulting from mechanical transformation or translation of a Source form, including but not limited to compiled object code, generated documentation, and conversions to other media types. "Work" shall mean the work of authorship, whether in Source or Object form, made available under the License, as indicated by a copyright notice that is included in or attached to the work (an example is provided in the Appendix below). "Derivative Works" shall mean any work, whether in Source or Object form, that is based on (or derived from) the Work and for which the editorial revisions, annotations, elaborations, or other modifications represent, as a whole, an original work of authorship. For the purposes of this License, Derivative Works shall not include works that remain separable from, or merely link (or bind by name) to the interfaces of, the Work and Derivative Works thereof. "Contribution" shall mean any work of authorship, including the original version of the Work and any modifications or additions to that Work or Derivative Works thereof, that is intentionally submitted to Licensor for inclusion in the Work by the copyright owner or by an individual or Legal Entity authorized to submit on behalf of the copyright owner. For the purposes of this definition, "submitted" means any form of electronic, verbal, or written communication sent to the Licensor or its representatives, including but not limited to communication on electronic mailing lists, source code control systems, and issue tracking systems that are managed by, or on behalf of, the Licensor for the purpose of discussing and improving the Work, but excluding communication that is conspicuously marked or otherwise designated in writing by the copyright owner as "Not a Contribution." "Contributor" shall mean Licensor and any individual or Legal Entity on behalf of whom a Contribution has been received by Licensor and subsequently incorporated within the Work. 2. Grant of Copyright License. Subject to the terms and conditions of this License, each Contributor hereby grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable copyright license to reproduce, prepare Derivative Works of, publicly display, publicly perform, sublicense, and distribute the Work and such Derivative Works in Source or Object form. 3. Grant of Patent License. Subject to the terms and conditions of this License, each Contributor hereby grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable (except as stated in this section) patent license to make, have made, use, offer to sell, sell, import, and otherwise transfer the Work, where such license applies only to those patent claims licensable by such Contributor that are necessarily infringed by their Contribution(s) alone or by combination of their Contribution(s) with the Work to which such Contribution(s) was submitted. If You institute patent litigation against any entity (including a cross-claim or counterclaim in a lawsuit) alleging that the Work or a Contribution incorporated within the Work constitutes direct or contributory patent infringement, then any patent licenses granted to You under this License for that Work shall terminate as of the date such litigation is filed. 4. Redistribution. You may reproduce and distribute copies of the Work or Derivative Works thereof in any medium, with or without modifications, and in Source or Object form, provided that You meet the following conditions: (a) You must give any other recipients of the Work or Derivative Works a copy of this License; and (b) You must cause any modified files to carry prominent notices stating that You changed the files; and (c) You must retain, in the Source form of any Derivative Works that You distribute, all copyright, patent, trademark, and attribution notices from the Source form of the Work, excluding those notices that do not pertain to any part of the Derivative Works; and (d) If the Work includes a "NOTICE" text file as part of its distribution, then any Derivative Works that You distribute must include a readable copy of the attribution notices contained within such NOTICE file, excluding those notices that do not pertain to any part of the Derivative Works, in at least one of the following places: within a NOTICE text file distributed as part of the Derivative Works; within the Source form or documentation, if provided along with the Derivative Works; or, within a display generated by the Derivative Works, if and wherever such third-party notices normally appear. The contents of the NOTICE file are for informational purposes only and do not modify the License. You may add Your own attribution notices within Derivative Works that You distribute, alongside or as an addendum to the NOTICE text from the Work, provided that such additional attribution notices cannot be construed as modifying the License. You may add Your own copyright statement to Your modifications and may provide additional or different license terms and conditions for use, reproduction, or distribution of Your modifications, or for any such Derivative Works as a whole, provided Your use, reproduction, and distribution of the Work otherwise complies with the conditions stated in this License. 5. Submission of Contributions. Unless You explicitly state otherwise, any Contribution intentionally submitted for inclusion in the Work by You to the Licensor shall be under the terms and conditions of this License, without any additional terms or conditions. Notwithstanding the above, nothing herein shall supersede or modify the terms of any separate license agreement you may have executed with Licensor regarding such Contributions. 6. Trademarks. This License does not grant permission to use the trade names, trademarks, service marks, or product names of the Licensor, except as required for reasonable and customary use in describing the origin of the Work and reproducing the content of the NOTICE file. 7. Disclaimer of Warranty. Unless required by applicable law or agreed to in writing, Licensor provides the Work (and each Contributor provides its Contributions) on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied, including, without limitation, any warranties or conditions of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A PARTICULAR PURPOSE. You are solely responsible for determining the appropriateness of using or redistributing the Work and assume any risks associated with Your exercise of permissions under this License. 8. Limitation of Liability. In no event and under no legal theory, whether in tort (including negligence), contract, or otherwise, unless required by applicable law (such as deliberate and grossly negligent acts) or agreed to in writing, shall any Contributor be liable to You for damages, including any direct, indirect, special, incidental, or consequential damages of any character arising as a result of this License or out of the use or inability to use the Work (including but not limited to damages for loss of goodwill, work stoppage, computer failure or malfunction, or any and all other commercial damages or losses), even if such Contributor has been advised of the possibility of such damages. 9. Accepting Warranty or Additional Liability. While redistributing the Work or Derivative Works thereof, You may choose to offer, and charge a fee for, acceptance of support, warranty, indemnity, or other liability obligations and/or rights consistent with this License. However, in accepting such obligations, You may act only on Your own behalf and on Your sole responsibility, not on behalf of any other Contributor, and only if You agree to indemnify, defend, and hold each Contributor harmless for any liability incurred by, or claims asserted against, such Contributor by reason of your accepting any such warranty or additional liability. END OF TERMS AND CONDITIONS APPENDIX: How to apply the Apache License to your work. To apply the Apache License to your work, attach the following boilerplate notice, with the fields enclosed by brackets "[]" replaced with your own identifying information. (Don't include the brackets!) The text should be enclosed in the appropriate comment syntax for the file format. We also recommend that a file or class name and description of purpose be included on the same "printed page" as the copyright notice for easier identification within third-party archives. Copyright [yyyy] [name of copyright owner] Licensed 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. NOTICE100644 0 0 1577 11146172420 7121 0ustar 0 0 ========================================================================= == NOTICE file corresponding to section 4(d) of the Apache License, == == Version 2.0, in this case for the Apache xml-commons xml-apis == == distribution. == ========================================================================= Apache XML Commons XML APIs Copyright 1999-2009 The Apache Software Foundation. This product includes software developed at The Apache Software Foundation (http://www.apache.org/). Portions of this software were originally based on the following: - software copyright (c) 1999, IBM Corporation., http://www.ibm.com. - software copyright (c) 1999, Sun Microsystems., http://www.sun.com. - software copyright (c) 2000 World Wide Web Consortium, http://www.w3.org utor hereby grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable (except as stated in this section) patent license to make, have made, use, offer to sell, sell, import, and otherwise transfer the Work, where such license applies only to those patent claims licensable by such Contributor that are necessarily infringed by their Contribution(s) alone or by combination of their Contribution(s) with the Work to which such Contribution(s) was submitted. If You institute patent litigation against any entity (including a cross-claim or counterclaim in a lawsuit) alleging that the Work or a Contribution incorporated within the Work constitutes direct or contributory patent infringement, then any patent licenses granted to You under this License for that Work shall terminate as of the date such litigation is filed. 4. Redistribution. You may reproduce and distribute copies of the Work or Derivative Works thereof in any medium, with or without modifications, and in Source or Object form, provided that You meet the following conditions: (a) You must give any other recipients of the Work or Derivative Works a copy of this License; and (b) You must cause any modified files to carry prominent notices stating that You changed the files; and (c) You must retain, in the Source form of any Derivative Works that You distribute, all copyright, patent, trademark, and attribution notices from the Source form of the Work, excluding those notices that do not pertain to any part of the Derivative Works; and (d) If the Work includes a "NOTICE" text file as part of its distribution, then any Derivative Works that You distribute must include a readable copy of the attribution notices contained within such NOTICE file, excluding those notices that do not pertain to any part of the Derivative Works, in at least one of the following places: within a NOTICE text file distributed as part of the Derivative Works; within the Source form or documentation, if provided along with the Derivative Works; or, within a display generated by the Derivative Works, if and wherever such third-party notices normally appear. The contents of the NOTICE file are for informational purposes only and do not modify the License. You may add Your own attribution notices within Derivative Works that You distribute, alongside or as an addendum to the NOTICE text from the Work, provided that such additional attribution notices cannot be construed as modifying the License. You may add Your own copyright statement to Your modifications and may provide additional or different license terms and conditions for use, reproduction, or distribution of Your modifications, or for any such Derivative Works as a whole, provided Your use, reproduction, and distribution of the Work otherwise complies with the conditions stated in this License. 5. Submission of Contributions. Unless You explicitly state otherwise, any Contribution intentionally submitted for inclusion in the Work by You to the Licensor shall be under the terms and conditions of this License, without any additional terms or conditions. Notwithstanding the above, nothing herein shall supersede or modify the terms of any separate license agreement you may have executed with Licensor regarding such Contributions. 6. Trademarks. This License does not grant permission to use the trade names, trademarks, service marks, or product names of the Licensor, except as required for reasonable and customary use in describing the origin of the Work and reproducing the content of the NOTICE file. 7. Disclaimer of Warranty. Unless required by applicable law or agreed to in writing, Licensor provides the Work (and each Contributor provides its Contributions) on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied, including, without limitation, any warranties or conditions of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A PARTICULAR PURPOSE. You are solely responsible for determining the appropriateness of using or redistributing the Work and assume any risks associated with Your exercise of permissions under this License. 8. Limitation of Liability. In no event and under no legal theory, whether in tort (including negligence), contract, or otherwise, unless required by applicable law (such as deliberate and grossly negligent acts) or agreed to in writing, shall any Contributor be liable to You for damages, including any direct, indirect, special, incidental, or consequential damages of any character arising as a result of this License or out of the use or inability to use the Work (including but not limited to damages for loss of goodwill, work stoppage, computer failure or malfunction, or any and all other commercial damages or losses), even if such Contributor has been advised of the possibility of such damages. 9. Accepting Warranty or Additional Liability. While redistributing the Work or Derivative Works thereof, You may c