private void visitSequence(SequenceNode node, TupleType tupleType) { boolean keepVisitingElements = nodeHandler.onSequenceStart(node, tupleType); if (tupleType == VALUE && keepVisitingElements) { List<Node> value = node.getValue(); for (int i = 0; i < value.size(); i++) { Node originalNode = value.get(i); TagResolver currentTagResolver = getTagResolver(originalNode.getTag()); Node resolvedNode = resolveTag(originalNode.getTag(), currentTagResolver, originalNode); if (originalNode != resolvedNode) { node.getValue().remove(i); node.getValue().add(i, resolvedNode); } nodeHandler.onSequenceElementStart(resolvedNode); visitResolvedNode(originalNode, resolvedNode, currentTagResolver); nodeHandler.onSequenceElementEnd(resolvedNode); } } nodeHandler.onSequenceEnd(node, tupleType); }
private void visitSequence(SequenceNode node, TupleType tupleType) { boolean keepVisitingElements = nodeHandler.onSequenceStart(node, tupleType); if (tupleType == VALUE && keepVisitingElements) { List<Node> value = node.getValue(); for (int i = 0; i < value.size(); i++) { Node originalNode = value.get(i); TagResolver currentTagResolver = getTagResolver(originalNode.getTag()); Node resolvedNode = resolveTag(originalNode.getTag(), currentTagResolver, originalNode); if (originalNode != resolvedNode) { node.getValue().remove(i); node.getValue().add(i, resolvedNode); } nodeHandler.onSequenceElementStart(resolvedNode); visitResolvedNode(originalNode, resolvedNode, currentTagResolver); nodeHandler.onSequenceElementEnd(resolvedNode); } } nodeHandler.onSequenceEnd(node, tupleType); }
Node resolvedNode = resolveTag(tag, currentTagResolver, originalValueNode); if (originalValueNode != resolvedNode)
Node resolvedNode = resolveTag(tag, currentTagResolver, originalValueNode); if (originalValueNode != resolvedNode)