You might remember that I worked on my own static website template engine and that I made it Free some time ago. This template engine uses XSLT at its heart; just like the Gentoo XML format, and DocBook. This makes it slightly less powerful than something written in a “proper” programming language, but still powerful enough for most of my uses.
One of the features I implemented last year, was linking to Facebook so that my friend could share his projects directly there. At the time I implemented some basic OpenGraph support, and added some more links to help Google and other search engines to find the pages in the right place, including using a direct reference to Youtube’s video on those pages that almost entirely focus on the video.
Unfortunately that last feature was not used at all by Facebook, at the time, since it did mean loading a third party website within their page, which was at the very least frown upon. It didn’t really matter, at some later point I wanted to make use of HTML5 <video> elements, but doing so meant spending quite a bit of time trying to get it just right and supporting as many browsers as possible.. for the moment I gave up.
A couple of days ago, my friend published a new video on his site, and I went to link it on the facebook page… right away, instead of simply creating a link with the given thumbnail, it has found the actual YouTube embedding code and put it on the side of the provided link and title. Cool, it works!
So today I was spending some more time polishing FSWS, and I went to Facebook’s Open Graph page to see what else I could make use of. Interestingly enough, I note now that even the Open Graph page is now more complete as to which options are available. I don’t know why, but they decided to add support for indicating the width/height of the video in the page, which is all good and dandy. Until you note the name of the attributes:
What about that? Well, in my system, given I’m speaking about XSLT, I translate the OpenGraph meta tags into attributes to the
fsws:page element, and related. This looks like the most RDF-compatible implementation as well, to me. Too bad that for this to work, the attributes need to have a valid QName and a valid QName only has one colon character. D’oh.
The end result of this is that I probably have to rethink most of what I did up to now, and avoid using attributes to represent Open Graph attributes, almost certainly breaking the few websites using FSWS already. But I wonder if they couldn’t just be a bit more compatible and avoid using the colon character as separator there…