VIE
VIE copied to clipboard
Add support for Microdata
Due to the efforts of search engines (see http://schema.org/), it appears HTML5 microdata will become a rather important way of publishing machine-readable data on the web. Because of this, VIE should support it.
Reading and writing semantic data with the DOM is now handled in the VIE.RDFa object. We could implement an API-compatible VIE.Microdata object that systems could use instead as needed.
See microdata / RDFa mappings: http://schema.org/docs/datamodel.html
Here is the first test for Microdata reading. Obviously fails now: https://github.com/bergie/VIE/commit/3c1afcb29a4b4433f9699c4200f49014f8b992e6
This http://gitorious.org/microdatajs and its live version at http://foolip.org/microdatajs/live/ might be of help to not fail ;-)
We are currently working on a Microdata reader/writer for rdfQuery. For the client-side version of VIE this will give immediately support for Microdata as it can use rdfQuery. We have to inspect if we can use that parser for node.js as well.
untested so far, but please have a look at commit a2148563e7fd23931135abc7cf850c2db2c10afd
Hi, is the implementation in mentioned commit a214856 working in node.js? If so, could you please provide some example how to parse html document for microdata items?
You might also want to look at termi's Microdata shim, which is apparently browser tested as far back as IE6. I haven't used it myself, though.
https://github.com/termi/Microdata-JS
Microdata parsers are a lot simpler than RDFa parsers, so you could probably create and maintain your own if you wanted to. If the Drupal folks who are super excited about CreateJS get enough time to add stable support for it in Drupal, then I could help with this issue as well.
A discussion is taking place in the W3C HTML5 WG if it makes sense to have a microdata standard in addition to RDFa: http://manu.sporny.org/2012/microdata-cr/
I agree with Manu Sporny and therefore suggest to ignore HTML5 microdata and to concentrate on RDFa instead.
@akuckartz Microdata might not make sense in VIE as a default, but given that the services are abstracted anyway, I'd love to have a Microdata (and even Microformats!) service out there.
Here is an example of a custom DOM service for VIE (this one using data attributes): https://github.com/wimleers/edit-createjs/blob/7.x-1.x/js/SparkEditService.js