Search in sources :

Example 46 with ErrorListener

use of javax.xml.transform.ErrorListener in project robovm by robovm.

the class StylesheetHandler method pushSpaceHandling.

/**
   * Push boolean value on to the spacePreserve stack depending on the value 
   * of xml:space=default/preserve.
   * 
   * @param attrs list of attributes that were passed to startElement.
   */
void pushSpaceHandling(Attributes attrs) throws org.xml.sax.SAXParseException {
    String value = attrs.getValue("xml:space");
    if (null == value) {
        m_spacePreserveStack.push(m_spacePreserveStack.peekOrFalse());
    } else if (value.equals("preserve")) {
        m_spacePreserveStack.push(true);
    } else if (value.equals("default")) {
        m_spacePreserveStack.push(false);
    } else {
        SAXSourceLocator locator = getLocator();
        ErrorListener handler = m_stylesheetProcessor.getErrorListener();
        try {
            //"Illegal value for xml:space", locator));
            handler.error(new TransformerException(XSLMessages.createMessage(XSLTErrorResources.ER_ILLEGAL_XMLSPACE_VALUE, null), locator));
        } catch (TransformerException te) {
            throw new org.xml.sax.SAXParseException(te.getMessage(), locator, te);
        }
        m_spacePreserveStack.push(m_spacePreserveStack.peek());
    }
}
Also used : ErrorListener(javax.xml.transform.ErrorListener) SAXSourceLocator(org.apache.xml.utils.SAXSourceLocator) TransformerException(javax.xml.transform.TransformerException)

Example 47 with ErrorListener

use of javax.xml.transform.ErrorListener in project robovm by robovm.

the class StylesheetHandler method warn.

/**
   * Warn the user of an problem.
   *
   * @param msg An key into the {@link org.apache.xalan.res.XSLTErrorResources}
   * table, that is one of the WG_ prefixed definitions.
   * @param args An array of arguments for the given warning.
   *
   * @throws org.xml.sax.SAXException that wraps a
   * {@link javax.xml.transform.TransformerException} if the current
   * {@link javax.xml.transform.ErrorListener#warning}
   * method chooses to flag this condition as an error.
   * @xsl.usage internal
   */
public void warn(String msg, Object[] args) throws org.xml.sax.SAXException {
    String formattedMsg = XSLMessages.createWarning(msg, args);
    SAXSourceLocator locator = getLocator();
    ErrorListener handler = m_stylesheetProcessor.getErrorListener();
    try {
        if (null != handler)
            handler.warning(new TransformerException(formattedMsg, locator));
    } catch (TransformerException te) {
        throw new org.xml.sax.SAXException(te);
    }
}
Also used : ErrorListener(javax.xml.transform.ErrorListener) SAXSourceLocator(org.apache.xml.utils.SAXSourceLocator) TransformerException(javax.xml.transform.TransformerException)

Example 48 with ErrorListener

use of javax.xml.transform.ErrorListener in project robovm by robovm.

the class StylesheetHandler method createMatchPatternXPath.

/**
   * Process an expression string into an XPath.
   *
   * @param str A non-null reference to a valid or invalid match pattern string.
   *
   * @return A non-null reference to an XPath object that represents the string argument.
   *
   * @throws javax.xml.transform.TransformerException if the pattern can not be processed.
   * @see <a href="http://www.w3.org/TR/xslt#patterns">Section 5.2 Patterns in XSLT Specification</a>
   */
XPath createMatchPatternXPath(String str, ElemTemplateElement owningTemplate) throws javax.xml.transform.TransformerException {
    ErrorListener handler = m_stylesheetProcessor.getErrorListener();
    XPath xpath = new XPath(str, owningTemplate, this, XPath.MATCH, handler, m_funcTable);
    // Visit the expression, registering namespaces for any extension functions it includes.
    xpath.callVisitors(xpath, new ExpressionVisitor(getStylesheetRoot()));
    return xpath;
}
Also used : ErrorListener(javax.xml.transform.ErrorListener) XPath(org.apache.xpath.XPath) ExpressionVisitor(org.apache.xalan.extensions.ExpressionVisitor)

Example 49 with ErrorListener

use of javax.xml.transform.ErrorListener in project robovm by robovm.

the class StylesheetHandler method error.

/**
   * Receive notification of a recoverable XSLT processing error.
   *
   * @param e The error information encoded as an exception.
   *
   * @throws org.xml.sax.SAXException that wraps a
   * {@link javax.xml.transform.TransformerException} if the current
   * {@link javax.xml.transform.ErrorListener#error}
   * method chooses to flag this condition as an error.
   */
public void error(org.xml.sax.SAXParseException e) throws org.xml.sax.SAXException {
    String formattedMsg = e.getMessage();
    SAXSourceLocator locator = getLocator();
    ErrorListener handler = m_stylesheetProcessor.getErrorListener();
    try {
        handler.error(new TransformerException(formattedMsg, locator));
    } catch (TransformerException te) {
        throw new org.xml.sax.SAXException(te);
    }
}
Also used : ErrorListener(javax.xml.transform.ErrorListener) SAXSourceLocator(org.apache.xml.utils.SAXSourceLocator) TransformerException(javax.xml.transform.TransformerException)

Example 50 with ErrorListener

use of javax.xml.transform.ErrorListener in project robovm by robovm.

the class ToXMLStream method getXMLVersion.

/**
     * This method checks for the XML version of output document.
     * If XML version of output document is not specified, then output 
     * document is of version XML 1.0.
     * If XML version of output doucment is specified, but it is not either 
     * XML 1.0 or XML 1.1, a warning message is generated, the XML Version of
     * output document is set to XML 1.0 and processing continues.
     * @return string (XML version)
     */
private String getXMLVersion() {
    String xmlVersion = getVersion();
    if (xmlVersion == null || xmlVersion.equals(XMLVERSION10)) {
        xmlVersion = XMLVERSION10;
    } else if (xmlVersion.equals(XMLVERSION11)) {
        xmlVersion = XMLVERSION11;
    } else {
        String msg = Utils.messages.createMessage(MsgKey.ER_XML_VERSION_NOT_SUPPORTED, new Object[] { xmlVersion });
        try {
            // Prepare to issue the warning message
            Transformer tran = super.getTransformer();
            ErrorListener errHandler = tran.getErrorListener();
            // Issue the warning message
            if (null != errHandler && m_sourceLocator != null)
                errHandler.warning(new TransformerException(msg, m_sourceLocator));
            else
                System.out.println(msg);
        } catch (Exception e) {
        }
        xmlVersion = XMLVERSION10;
    }
    return xmlVersion;
}
Also used : ErrorListener(javax.xml.transform.ErrorListener) Transformer(javax.xml.transform.Transformer) TransformerException(javax.xml.transform.TransformerException) TransformerException(javax.xml.transform.TransformerException) SAXException(org.xml.sax.SAXException) IOException(java.io.IOException)

Aggregations

ErrorListener (javax.xml.transform.ErrorListener)53 TransformerException (javax.xml.transform.TransformerException)49 SAXSourceLocator (org.apache.xml.utils.SAXSourceLocator)18 XString (org.apache.xpath.objects.XString)8 Transformer (javax.xml.transform.Transformer)6 SAXException (org.xml.sax.SAXException)6 IOException (java.io.IOException)4 ExpressionVisitor (org.apache.xalan.extensions.ExpressionVisitor)4 XMLString (org.apache.xml.utils.XMLString)4 XPath (org.apache.xpath.XPath)4 OutputStream (java.io.OutputStream)2 OutputStreamWriter (java.io.OutputStreamWriter)2 UnsupportedEncodingException (java.io.UnsupportedEncodingException)2 Writer (java.io.Writer)2 EmptyStackException (java.util.EmptyStackException)2 SourceLocator (javax.xml.transform.SourceLocator)2 WrappedRuntimeException (org.apache.xml.serializer.utils.WrappedRuntimeException)2 XPathStylesheetDOM3Exception (org.apache.xpath.domapi.XPathStylesheetDOM3Exception)2 XObject (org.apache.xpath.objects.XObject)2