Recursive Programs for Document Spanners