@Override
    public void startElement(final String uri, final String localName, final String qName, final Attributes atts)
            throws SAXException {
        if (DATA.equals(localName) && document != null) {
            String name = atts.getValue(NAME);
            String value = atts.getValue(VALUE);
            if (name != null && value != null) {
                name = name.trim();
                value = value.trim();

                if (!name.isEmpty() && !value.isEmpty()) {
                    // See if we can get this field.
                    final IndexField indexField = indexFieldCache.get(indexRef, name);
                    if (indexField != null) {
                        // Index the current content if we are to store or index
                        // this field.
                        if (indexField.isIndexed() || indexField.isStored()) {
                            processIndexContent(indexField, value);
                        }
                    } else {
                        log(Severity.WARNING, "Attempt to index unknown field: " + name, null);
                    }
                }
            }
        } else if (RECORD.equals(localName)) {
            // Create a document to store fields in.
            document = new IndexDocument();
        }

        super.startElement(uri, localName, qName, atts);
    }
Sets the locator to use when reporting errors.

@param locator The locator to use.
stroom-index/stroom-index-impl/src/main/java/stroom/index/impl/IndexingFilter.java