da8b1298

By: Tom Sydney Kerckhove <syd@cs-syd.eu>

jsonld: extract ld+json nested inside a microdata itemscope

Many CMSs wrap <body> in itemscope/WebPage microdata. Previously, once the
parser entered a microdata item it consumed the whole subtree, swallowing any
nested <script type=application/ld+json> so its structured data was lost.

goLD now takes a continuation, so an ld+json script found inside a microdata
item is extracted separately and then microdata parsing resumes. Regression
test: a WebPage-microdata <body> wrapping an Event ld+json now yields both
values, not just the WebPage.