Example usage for org.xml.sax ContentHandler characters

List of usage examples for org.xml.sax ContentHandler characters

Introduction

In this page you can find the example usage for org.xml.sax ContentHandler characters.

Prototype

public void characters(char ch[], int start, int length) throws SAXException;

Source Link

Document

Receive notification of character data.

Usage

From source file:Main.java

public static void text(final ContentHandler handler, final String value) throws SAXException {
    handler.characters(value.toCharArray(), 0, value.length());
}

From source file:IOUtils.java

/**
 * Helper method writing out a string./* w  w  w  .j a v  a  2 s  .  c  o m*/
 * @param ch    The content handler.
 * @param text
 * @throws SAXException
 */
protected static void text(ContentHandler ch, String text) throws SAXException {
    if (text != null) {
        final char[] c = text.toCharArray();
        ch.characters(c, 0, c.length);
    }
}

From source file:org.javelin.sws.ext.bind.SoapEncodingMarshaller.java

@Override
public void marshal(Object graph, Result result) throws IOException, XmlMappingException {
    try {//from w  ww.  j av  a  2 s.  c o m
        ContentHandler contentHandler = ((SAXResult) result).getHandler();
        contentHandler.startElement("", "hello", "hello", new AttributesImpl());
        contentHandler.characters(((String) ((Object[]) graph)[0]).toCharArray(), 0,
                ((String) ((Object[]) graph)[0]).toCharArray().length);
        contentHandler.endElement("", "hello", "hello");
    } catch (SAXException e) {
        throw new MarshallingFailureException(e.getMessage(), e);
    }
}

From source file:com.agilejava.docbkx.maven.ExpressionHandler.java

/**
 * DOCUMENT ME!//from  w w w .j  a  v a 2 s .  c  om
 *
 * @param data DOCUMENT ME!
 * @param handler DOCUMENT ME!
 */
public void handle(String data, ContentHandler handler) {
    ExpressionEvaluator evaluator = new ExpressionEvaluatorImpl();
    Object value;

    try {
        value = evaluator.evaluate(data, Object.class, resolver, mapper);

        if (value != null) {
            char[] result = value.toString().toCharArray();
            handler.characters(result, 0, result.length);
        } else {
            log.debug("Failed to resolve " + data);
        }
    } catch (ELException ele) {
        log.error("Failed to handle EL expression.", ele);
    } catch (SAXException saxe) {
        log.error("Failed to generate content.", saxe);
    }
}

From source file:biz.taoconsulting.oxf.processor.converter.FromPdfConverter.java

/**
 * Adds an error element to the output/*from   w  ww . j av a 2  s .c  o m*/
 *
 * @param contentHandler
 * @param eMessage
 */
private void addErrorTagToOutput(ContentHandler contentHandler, String eMessage) {
    try {
        contentHandler.startElement("", TAG_ERROR, TAG_ERROR, null);
        contentHandler.characters(eMessage.toCharArray(), 0, eMessage.length());
        contentHandler.endElement("", TAG_ERROR, TAG_ERROR);
    } catch (SAXException e) {
        logger.error(e);
    }

}

From source file:CSVXMLReader.java

private void parseLine(String curLine, ContentHandler ch) throws IOException, SAXException {

    String firstToken = null;/*from  w ww.  j  a v a 2  s.  c  om*/
    String remainderOfLine = null;
    int commaIndex = locateFirstDelimiter(curLine);
    if (commaIndex > -1) {
        firstToken = curLine.substring(0, commaIndex).trim();
        remainderOfLine = curLine.substring(commaIndex + 1).trim();
    } else {
        // no commas, so the entire line is the token
        firstToken = curLine;
    }

    // remove redundant quotes
    firstToken = cleanupQuotes(firstToken);

    // emit the <value> element
    ch.startElement("", "", "value", EMPTY_ATTR);
    ch.characters(firstToken.toCharArray(), 0, firstToken.length());
    ch.endElement("", "", "value");

    // recursively process the remainder of the line
    if (remainderOfLine != null) {
        parseLine(remainderOfLine, ch);
    }
}

From source file:com.mirth.connect.plugins.datatypes.hl7v2.ER7Reader.java

private void handleComponents(ContentHandler contentHandler, String componentSeparator,
        String subcomponentSeparator, String segmentId, int fieldId, int componentId,
        StringTokenizer componentTokenizer) throws SAXException {
    boolean atLastComponent = true;

    while (componentTokenizer.hasMoreTokens()) {
        String component = componentTokenizer.nextToken();

        if (component.equals(componentSeparator)) {
            if (atLastComponent) {
                contentHandler.startElement("", segmentId + "." + fieldId + "." + componentId, "", null);
                contentHandler.characters(EMPTY_CHAR_ARRAY, 0, 0);
                contentHandler.endElement("", segmentId + "." + fieldId + "." + componentId, "");
            }/*from   w  w w .  jav  a  2 s . co  m*/

            componentId++;
            atLastComponent = true;
        } else {
            atLastComponent = false;
            handleComponent(contentHandler, subcomponentSeparator, segmentId, fieldId, componentId, component);
        }
    }

    if (atLastComponent) {
        contentHandler.startElement("", segmentId + "." + fieldId + "." + componentId, "", null);
        contentHandler.characters(EMPTY_CHAR_ARRAY, 0, 0);
        contentHandler.endElement("", segmentId + "." + fieldId + "." + componentId, "");
    }
}

From source file:com.mirth.connect.plugins.datatypes.hl7v2.ER7Reader.java

private void handleSubcomponents(ContentHandler contentHandler, String subcomponentSeparator, String segmentId,
        int fieldId, int componentId, int subcomponentId, StringTokenizer subcomponentTokenizer)
        throws SAXException {
    boolean atLastSubcomponent = true;

    while (subcomponentTokenizer.hasMoreTokens()) {
        String subcomponent = subcomponentTokenizer.nextToken();

        if (subcomponent.equals(subcomponentSeparator)) {
            if (atLastSubcomponent) {
                contentHandler.startElement("",
                        segmentId + "." + fieldId + "." + componentId + "." + subcomponentId, "", null);
                contentHandler.characters(EMPTY_CHAR_ARRAY, 0, 0);
                contentHandler.endElement("",
                        segmentId + "." + fieldId + "." + componentId + "." + subcomponentId, "");
            }/*from w ww. j  av  a 2 s.  c  o m*/

            subcomponentId++;
            atLastSubcomponent = true;
        } else {
            logger.trace("handling subcomponent: " + subcomponentId);
            atLastSubcomponent = false;
            // the naming is SEG.<field#>.<component#>.<subcomponent#>
            contentHandler.startElement("",
                    segmentId + "." + fieldId + "." + componentId + "." + subcomponentId, "", null);
            contentHandler.characters(subcomponent.toCharArray(), 0, subcomponent.length());
            contentHandler.endElement("", segmentId + "." + fieldId + "." + componentId + "." + subcomponentId,
                    "");
        }
    }

    if (atLastSubcomponent) {
        contentHandler.startElement("", segmentId + "." + fieldId + "." + componentId + "." + subcomponentId,
                "", null);
        contentHandler.characters(EMPTY_CHAR_ARRAY, 0, 0);
        contentHandler.endElement("", segmentId + "." + fieldId + "." + componentId + "." + subcomponentId, "");
    }
}

From source file:com.mirth.connect.plugins.datatypes.hl7v2.ER7Reader.java

private void handleFieldRepetitions(ContentHandler contentHandler, String componentSeparator,
        String repetitionSeparator, String subcomponentSeparator, String segmentId, int fieldId, String field)
        throws SAXException {
    StringTokenizer fieldRepetitionTokenizer = new StringTokenizer(field, repetitionSeparator, true);
    boolean atLastRepetition = true;

    while (fieldRepetitionTokenizer.hasMoreTokens()) {
        field = fieldRepetitionTokenizer.nextToken();

        if (field.equals(repetitionSeparator)) {
            // check for ~~
            if (atLastRepetition) {
                contentHandler.startElement("", segmentId + "." + fieldId, "", null);
                contentHandler.characters(EMPTY_CHAR_ARRAY, 0, 0);
                contentHandler.endElement("", segmentId + "." + fieldId, "");
            }//  w  ww .  j  a  v a2s .  c  o m

            atLastRepetition = true;
        } else {
            logger.trace("handling repetition: " + field);
            atLastRepetition = false;
            handleField(contentHandler, componentSeparator, subcomponentSeparator, segmentId, fieldId, field);
        }
    }

    if (atLastRepetition) {
        contentHandler.startElement("", segmentId + "." + fieldId, "", null);
        contentHandler.characters(EMPTY_CHAR_ARRAY, 0, 0);
        contentHandler.endElement("", segmentId + "." + fieldId, "");
    }
}

From source file:net.ontopia.topicmaps.db2tm.RelationMapping.java

protected void outputField(Field field, ContentHandler dh) throws SAXException {
    AttributesImpl atts = new AttributesImpl();
    if (field.getFieldType() == Field.TYPE_SUBJECT_LOCATOR) {
        addAttribute(atts, "column", "CDATA", field.getColumn());
        dh.startElement("", "", "subject-locator", atts);
        char[] c = field.getPattern().toCharArray();
        dh.characters(c, 0, c.length);
        dh.endElement("", "", "subject-locator");
        atts.clear();//from w  w  w  .j ava2 s . co m
    } else if (field.getFieldType() == Field.TYPE_SUBJECT_IDENTIFIER) {
        addAttribute(atts, "column", "CDATA", field.getColumn());
        dh.startElement("", "", "subject-identifier", atts);
        char[] c = field.getPattern().toCharArray();
        dh.characters(c, 0, c.length);
        dh.endElement("", "", "subject-identifier");
        atts.clear();
    } else if (field.getFieldType() == Field.TYPE_ITEM_IDENTIFIER) {
        addAttribute(atts, "column", "CDATA", field.getColumn());
        dh.startElement("", "", "item-identifier", atts);
        char[] c = field.getPattern().toCharArray();
        dh.characters(c, 0, c.length);
        dh.endElement("", "", "item-identifier");
        atts.clear();
    } else if (field.getFieldType() == Field.TYPE_OCCURRENCE) {
        addAttribute(atts, "column", "CDATA", field.getColumn());
        addAttribute(atts, "type", "CDATA", field.getType());
        addAttribute(atts, "scope", "CDATA", field.getScope());
        addAttribute(atts, "datatype", "CDATA", field.getDatatype());
        dh.startElement("", "", "occurrence", atts);
        dh.endElement("", "", "occurrence");
        atts.clear();
    } else if (field.getFieldType() == Field.TYPE_TOPIC_NAME) {
        addAttribute(atts, "column", "CDATA", field.getColumn());
        addAttribute(atts, "type", "CDATA", field.getType());
        addAttribute(atts, "scope", "CDATA", field.getScope());
        dh.startElement("", "", "topic-name", atts);
        dh.endElement("", "", "topic-name");
        atts.clear();
    } else if (field.getFieldType() == Field.TYPE_PLAYER) {
        addAttribute(atts, "rtype", "CDATA", field.getRoleType());
        addAttribute(atts, "atype", "CDATA", field.getAssociationType());
        addAttribute(atts, "scope", "CDATA", field.getScope());

        dh.startElement("", "", "player", atts);
        atts.clear();

        for (Field orole : field.getOtherRoleFields()) {
            addAttribute(atts, "rtype", "CDATA", orole.getRoleType());
            addAttribute(atts, "player", "CDATA", orole.getPlayer());
            dh.startElement("", "", "other", atts);
            dh.endElement("", "", "other");
            atts.clear();
        }

        dh.endElement("", "", "player");
        atts.clear();
    } else if (field.getFieldType() == Field.TYPE_ASSOCIATION_ROLE) {
        addAttribute(atts, "type", "CDATA", field.getRoleType());
        addAttribute(atts, "player", "CDATA", field.getPlayer());
        dh.startElement("", "", "role", atts);
        dh.endElement("", "", "role");
        atts.clear();
    } else
        throw new OntopiaRuntimeException("Unknown field type: " + field.getType());
}