[cc-metadata] data: URLs -- yet another sick hack for stuffing RDF into (X)HTML documents

Evan Prodromou evan at prodromou.name
Thu May 18 20:27:36 EDT 2006


OK, so, I had a vision of yet another crazy way of embedding RDF into an
(X)HTML document, besides the various nutty suggestions posted at
http://creativecommons.org/technology/metadata/extend#html .

Namely, use a data: URL within a <link> element. Data URLs allow you to
put data directly into the content of an URL; see
http://www.ietf.org/rfc/rfc2397.txt . So you could stuff all the RDF
into a single <link> element, like:

        <link rel="meta" type="application/rdf+xml"
        href="data:application/rdf+xml,%3Crdf%3ARDF%20xmlns%3D%22http%3A
        %2F%2Fweb.resource.org%2Fcc%2F%22%0D%0A%20%20%20%20xmlns%3Adc%3D
        %22http%3A%2F%2Fpurl.org%2Fdc%2Felements%2F1.1%2F%22%0D%0A%20%
        20%20%20xmlns%3Ardf%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2F02%
        2F22-rdf-syntax-ns%23%22%3E%0D%0A%3CWork%20rdf%3Aabout%3D%22http
        %3A%2F%2Fexample.org%2Fgnomophone.mp3%22%3E%0D%0A%20%20%3Cdc%
        3Atitle%3ECompilers%20in%20the%20Key%20of%20C%3C%2Fdc%3Atitle%3E
        %0D%0A%20%20%3Cdc%3Adescription%3EA%20lovely%20classical%20work%
        20on%20compiling%20code.%3C%2Fdc%3Adescription%3E%0D%0A%20%20%
        3Cdc%3Acreator%3E%3CAgent%3E%0D%0A%20%20%20%20%3Cdc%3Atitle%
        3EYo-Yo%20Dyne%3C%2Fdc%3Atitle%3E%0D%0A%20%20%3C%2FAgent%3E%3C%
        2Fdc%3Acreator%3E%0D%0A%20%20%3Cdc%3Arights%3E%3CAgent%3E%0D%0A%
        20%20%20%20%3Cdc%3Atitle%3EGnomophone%3C%2Fdc%3Atitle%3E%0D%0A%
        20%20%3C%2FAgent%3E%3C%2Fdc%3Arights%3E%0D%0A%20%20%3Cdc%3Adate%
        3E1842%3C%2Fdc%3Adate%3E%0D%0A%20%20%3Cdc%3Aformat%3Eaudio%
        2Fmpeg%3C%2Fdc%3Aformat%3E%0D%0A%20%20%3Cdc%3Atype%20rdf%
        3Aresource%3D%22http%3A%2F%2Fpurl.org%2Fdc%2Fdcmitype%2FSound%
        22%20%2F%3E%0D%0A%20%20%3Cdc%3Asource%20rdf%3Aresource%3D%22http
        %3A%2F%2Fexample.net%2Fgnomovision.mov%22%20%2F%3E%0D%0A%20%20%
        3Clicense%20rdf%3Aresource%3D%22http%3A%2F%2Fcreativecommons.org
        %2Flicenses%2Fby-nc-nd%2F2.0%2F%22%20%2F%3E%0D%0A%20%20%
        3Clicense%20rdf%3Aresource%3D%22http%3A%2F%2Fwww.eff.org%2FIP%
        2FOpen_licenses%2Feff_oal.html%22%20%2F%3E%0D%0A%0D%0A%3C%2FWork
        %3E%0D%0A%0D%0A%3CLicense%20rdf%3Aabout%3D%22http%3A%2F%
        2Fcreativecommons.org%2Flicenses%2Fby-nc-nd%2F2.0%2F%22%3E%0D%0A
        %20%20%3Cpermits%20rdf%3Aresource%3D%22http%3A%2F%
        2Fweb.resource.org%2Fcc%2FReproduction%22%20%2F%3E%0D%0A%20%20%
        3Cpermits%20rdf%3Aresource%3D%22http%3A%2F%2Fweb.resource.org%
        2Fcc%2FDistribution%22%20%2F%3E%0D%0A%20%20%3Crequires%20rdf%
        3Aresource%3D%22http%3A%2F%2Fweb.resource.org%2Fcc%2FNotice%22%
        20%2F%3E%0D%0A%20%20%3Crequires%20rdf%3Aresource%3D%22http%3A%2F
        %2Fweb.resource.org%2Fcc%2FAttribution%22%20%2F%3E%0D%0A%20%20%
        3Cprohibits%20rdf%3Aresource%3D%22http%3A%2F%2Fweb.resource.org%
        2Fcc%2FCommercialUse%22%20%2F%3E%0D%0A%0D%0A%3C%2FLicense%3E%0D%
        0A%3C%2Frdf%3ARDF%3E" />


(That's the RDF example from creativecommons.org.)

It's not ideal, but it does have the nice properties of a) including the
data in the HTML document itself, b) hiding the RDF from lame old
browsers, c) being at least reasonably RFC-compatible, d) not being the
grodie comment method. B-)

Anyways, I thought it was worth posting as an interesting hack.

~Eva


________________________________________________________________________
Evan Prodromou <evan at prodromou.name>
http://evan.prodromou.name/
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.ibiblio.org/pipermail/cc-metadata/attachments/20060518/a1537992/attachment.htm 
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 191 bytes
Desc: This is a digitally signed message part
Url : http://lists.ibiblio.org/pipermail/cc-metadata/attachments/20060518/a1537992/attachment.bin 


More information about the cc-metadata mailing list