On 02/02/2012 07:52 PM, Trevor Parscal wrote:
Any ideas about what happens if a parser hook, parser function or template resolves to just plain text, without any wrapping HTML? Where does the microdata get stored? If we wrap it, how do we decide what to wrap it in?
Normally we would wrap the text into a span, and mark this span as being a wrapper in an attribute. The span would then hold all metadata. The extra wrapper might break some CSS selectors unfortunately, but that is a problem with any wrapper and hard to avoid (without those handy range annotations..).
In the parser, wrapping into a span by inserting tokens should be safe in any case (ignoring the potential CSS issues), but there might be a case for propagating that information to a surrounding paragraph if the span is later wrapped into a paragraph at the DOM level.
Also, any trailing text tokens in a template expansion will need to be wrapped as well to mark the end of the expansion. At the token level, all non-text tokens from an expansion are marked as coming from a template, so that the full expansion can be identified in the resulting DOM. This catches any text in between, but not normally plain text before or after the last non-text token. Hence the need for wrapping this too.
Gabriel