Search in sources :

Example 1 with SequenceType

use of org.sirix.service.xml.xpath.SequenceType in project sirix by sirixdb.

the class XPathParser method parseSequenceType.

/**
 * Parses the the rule SequenceType according to the following production rule: [
 * <p>
 * 49] SequenceType ::= (ItemType OccurrenceIndicator?) | <"void" "(" ")"> .
 * </p>
 *
 * @return SequenceType
 */
private SequenceType parseSequenceType() {
    if (is("empty-sequence", true)) {
        consume(TokenType.OPEN_BR, true);
        consume(TokenType.CLOSE_BR, true);
        return new SequenceType();
    } else {
        final Filter filter = parseItemType();
        if (isWildcard()) {
            final char wildcard = parseOccuranceIndicator();
            return new SequenceType(filter, wildcard);
        }
        return new SequenceType(filter);
    }
}
Also used : ItemFilter(org.sirix.axis.filter.ItemFilter) AttributeFilter(org.sirix.axis.filter.AttributeFilter) NameFilter(org.sirix.axis.filter.NameFilter) TypeFilter(org.sirix.axis.filter.TypeFilter) NestedFilter(org.sirix.axis.filter.NestedFilter) DocumentRootNodeFilter(org.sirix.axis.filter.DocumentRootNodeFilter) CommentFilter(org.sirix.axis.filter.CommentFilter) WildcardFilter(org.sirix.axis.filter.WildcardFilter) PIFilter(org.sirix.axis.filter.PIFilter) SchemaElementFilter(org.sirix.service.xml.xpath.filter.SchemaElementFilter) Filter(org.sirix.api.Filter) SchemaAttributeFilter(org.sirix.service.xml.xpath.filter.SchemaAttributeFilter) TextFilter(org.sirix.axis.filter.TextFilter) ElementFilter(org.sirix.axis.filter.ElementFilter) NodeFilter(org.sirix.axis.filter.NodeFilter) SequenceType(org.sirix.service.xml.xpath.SequenceType)

Aggregations

Filter (org.sirix.api.Filter)1 AttributeFilter (org.sirix.axis.filter.AttributeFilter)1 CommentFilter (org.sirix.axis.filter.CommentFilter)1 DocumentRootNodeFilter (org.sirix.axis.filter.DocumentRootNodeFilter)1 ElementFilter (org.sirix.axis.filter.ElementFilter)1 ItemFilter (org.sirix.axis.filter.ItemFilter)1 NameFilter (org.sirix.axis.filter.NameFilter)1 NestedFilter (org.sirix.axis.filter.NestedFilter)1 NodeFilter (org.sirix.axis.filter.NodeFilter)1 PIFilter (org.sirix.axis.filter.PIFilter)1 TextFilter (org.sirix.axis.filter.TextFilter)1 TypeFilter (org.sirix.axis.filter.TypeFilter)1 WildcardFilter (org.sirix.axis.filter.WildcardFilter)1 SequenceType (org.sirix.service.xml.xpath.SequenceType)1 SchemaAttributeFilter (org.sirix.service.xml.xpath.filter.SchemaAttributeFilter)1 SchemaElementFilter (org.sirix.service.xml.xpath.filter.SchemaElementFilter)1