All Downloads are FREE. Search and download functionalities are using the official Maven repository.

org.xmlpull.v1.wrapper.XmlPullParserWrapper Maven / Gradle / Ivy

There is a newer version: 1.0.5
Show newest version
/* -*-             c-basic-offset: 4; indent-tabs-mode: nil; -*-  //------100-columns-wide------>|*/
// for license please see accompanying LICENSE.txt file (available also at http://www.xmlpull.org/)

package org.xmlpull.v1.wrapper;

import java.lang.reflect.Proxy;
import java.lang.reflect.InvocationHandler;

import java.io.IOException;
import org.xmlpull.v1.XmlPullParser;
import org.xmlpull.v1.XmlPullParserException;

/**
 * Extensions to XmlPullParser interface
 *
 * @author Aleksander Slominski
 * @author Naresh Bhatia
 */
public interface XmlPullParserWrapper extends XmlPullParser {
    public static final String XSI_NS = "http://www.w3.org/2001/XMLSchema-instance";
    public static final String XSD_NS = "http://www.w3.org/2001/XMLSchema";

    /**
     * Return value of attribute with given name and no namespace.
     */
    public String getAttributeValue(String name);

    /**
     * Return PITarget from Processing Instruction (PI) as defined in
     * XML 1.0 Section 2.6 Processing Instructions
     *  [16] PI ::= '<?' PITarget (S (Char* - (Char* '?>' Char*)))? '?>'
     */
    public String getPITarget() throws IllegalStateException;

    /**
     * Return everything past PITarget and S from Processing Instruction (PI) as defined in
     * XML 1.0 Section 2.6 Processing Instructions
     *  [16] PI ::= '<?' PITarget (S (Char* - (Char* '?>' Char*)))? '?>'
     *
     * 

NOTE: if there is no PI data it returns empty string. */ public String getPIData() throws IllegalStateException; /** * Read attribute value and return it or throw exception if * current element does not have such attribute. */ public String getRequiredAttributeValue(String name) throws IOException, XmlPullParserException; /** * Read attribute value and return it or throw exception if * current element does not have such attribute. */ public String getRequiredAttributeValue(String namespace, String name) throws IOException, XmlPullParserException; /** * Read the text of a required element and return it or throw exception if * required element is not found. Useful for getting the text of simple * elements such as johndoe. Assumes that parser is * just before the start tag and leaves the parser at the end tag. If the * text is nil (e.g. ), then a null will be returned. */ public String getRequiredElementText(String namespace, String name) throws IOException, XmlPullParserException; /** * Is the current tag nil? Checks for xsi:nil="true". */ public boolean isNil() throws IOException, XmlPullParserException; /** * Tests if the current event is of the given type and if the namespace and name match. * null will match any namespace and any name. If the test passes a true is returned * otherwise a false is returned. */ public boolean matches(int type, String namespace, String name) throws XmlPullParserException; /** * call parser nextTag() and check that it is START_TAG, throw exception if not. */ public void nextStartTag() throws XmlPullParserException, IOException; /** * combine nextTag(); pp.require(pp.START_TAG, null, name); */ public void nextStartTag(String name) throws XmlPullParserException, IOException; /** * combine nextTag(); pp.require(pp.START_TAG, namespace, name); */ public void nextStartTag(String namespace, String name) throws XmlPullParserException, IOException; /** * Call parser nextTag() and check that it is END_TAG, throw exception if not. */ public void nextEndTag() throws XmlPullParserException, IOException; /** * combine nextTag(); pp.require(pp.END_TAG, null, name); */ public void nextEndTag(String name) throws XmlPullParserException, IOException; /** * combine nextTag(); pp.require(pp.END_TAG, namespace, name); */ public void nextEndTag(String namespace, String name) throws XmlPullParserException, IOException; /** * Read text content of element ith given namespace and name * (use null namespace do indicate that nemspace should not be checked) */ public String nextText(String namespace, String name) throws IOException, XmlPullParserException; /** * Skip sub tree that is currently porser positioned on. *
NOTE: parser must be on START_TAG and when funtion returns * parser will be positioned on matching END_TAG */ public void skipSubTree() throws XmlPullParserException, IOException; // set of methods to read XSD types // /** // * Read string content of elment and try to convert it to double. // * Take special care of INF, Infinity and NaN. // * After this method executed the parser is positioned on END_TAG. // */ // public double readDouble() throws XmlPullParserException, IOException; // // /** // * Read string content of elment and convert it to float. // * Take special care of INF, Infinity and NaN. // * After this method executed the parser is positioned on END_TAG. // */ // public float readFloat() throws XmlPullParserException, IOException; // // /** // * Read string content of elment and try to convert it to int. // * Take special care of INF, Infinity and NaN. // * After this method executed the parser is positioned on END_TAG. // */ // public int readInt() throws XmlPullParserException, IOException; // // /** // * Check for xsi:nil and if it has value 'true' returns null // * as described in // * XML Schemas // * Part 1 // * otherwise it calls nextText(). // * After this method executed the parser is positioned on END_TAG. // */ // public String readString() throws XmlPullParserException, IOException; // // /** // * Check that parser is on START_TAG with given namespace and name // * and then call readDouble(). // */ // public double readDoubleElement(String namespace, String name) // throws XmlPullParserException, IOException; // // /** // * Check that parser is on START_TAG with given namespace and name // * and then call readFloat(). // */ // public float readFloatElement(String namespace, String name) // throws XmlPullParserException, IOException; // // /** // * Check that parser is on START_TAG with given namespace and name // * and then call readInt(). // */ // public int readIntElement(String namespace, String name) // throws XmlPullParserException, IOException; // // /** // * Check that parser is on START_TAG with given namespace and name // * and then call readString(). // */ // public String readStringElemet(String namespace, String name) // throws XmlPullParserException, IOException; // }





© 2015 - 2024 Weber Informatics LLC | Privacy Policy