public override bool ReadAttributeValue ()
{
if (current_attr < 0)
return false;
int start = attributes [current_attr].ValueIndex;
int end = current_attr + 1 == attr_count ? attr_value_count : attributes [current_attr + 1].ValueIndex;
if (start == end)
return false;
if (!current.IsAttributeValue) {
current = attr_values [start];
return true;
}
// Actually there is no case for attribute whose value is split to more than two nodes. We could simplify the node structure.
return false;
}