Browse files

Added initial draft of Embedded Metadata pattern

  • Loading branch information...
1 parent 238f497 commit fe6a4896648da4b907f8a64ec98840e4d6b9d03a @ldodds committed Aug 17, 2011
Showing with 58 additions and 0 deletions.
  1. +56 −0 src/embedded-metadata.xml
  2. +1 −0 src/linked-data-patterns.xml
  3. +1 −0 src/publishing-patterns.xml
@@ -0,0 +1,56 @@
+<sect1 id="embedded-metadata">
+ <title>Embedded Metadata</title>
+ <para>
+ <emphasis>How do we add structured data to an existing document or file?</emphasis>
+ </para>
+ <sect2><title>Context</title>
+ <para>There are two related aspects to this pattern</para>
+ <para>Firstly, many web sites that are using frameworks or content management systems that
+ are either difficult to customize or are operated by organizations that have little or no in-house
+ technical staff. How can these sites be updated, with a minimum of effort, to support publishing of
+ structured data?</para>
+ <para>Secondly, documents or files may be shared and copied across the web. This can result in a broken connection
+ between the document and it's metadata which might only be available from the source website. How
+ can the metadata be made available to anyone discovering a copy or mirror of the document?</para>
+ </sect2>
+ <sect2><title>Solution</title>
+ <para>Embed the structured data directly in the document itself rather than, or in addition to, publishing that
+ data separately.</para>
+ <para>The most common scenario here is instrumenting an existing webpage to add some "semantic markup" that will enable
+ a client to extract data directly from the HTML source. This typically involves changing just the templates used ot
+ generate the web pages. By changing a small number of resources, it becomes possible to quickly and easily publish
+ data about a large number of resources.</para>
+ <para>A less common scenario involves embedding data within a different document format. Typically this relies on
+ using an existing extension mechanism that has been defined for that format. A tool may then inspect the file directly
+ to discover the metadata or a link to its location.</para>
+ </sect2>
+ <sect2><title>Example(s)</title>
+ <para>At the time of writing there are a number of competing proposals for embedding metadata in XHTML/HTML documents,
+ including RDFa, microdata and microformats. RDFa can also be used to embedded metadata in other XML formats</para>
+ <para>Options vary for embedding metadata in other formats, but <ulink linkend="">Adobe XMP</ulink>
+ provides an option that can be used in a variety of formats.</para>
+ </sect2>
+ <sect2><title>Discussion</title>
+ <para>Embedding metadata into existing resources, rather than requring changes to how content and data is published
+ to the web is often much easier to achieve. At the time of writing there are a number of competing approaches for
+ embedding metadata in XHTML/HTML. These typically offer the same basic features but vary in how much they require specific
+ markup extensions in the original document.</para>
+ <para>While it can be very easy to quickly instrument a website with embedded metadata, the requirement to introduce all
+ data into the same template means that it can become awkward to manage the competing concerns: e.g. clean, well-structured markup
+ for styling and presentation, versus rich, detailed, semantic markup for machines. For more complex use cases its may be better to
+ simply publish the metadata separately, or embedded only a subset of the data with links to additional resources.</para>
+ </sect2>
+ <sect2><title>Related</title>
+ <itemizedlist>
+ <listitem><link linkend="primary-topic-autodiscovery">Primary Topic Autodiscovery</link></listitem>
+ <listitem><link linkend="see-also">See Also</link></listitem>
+ </itemizedlist>
+ </sect2>
@@ -39,6 +39,7 @@
<!ENTITY link-base SYSTEM "link-base.xml">
<!ENTITY progressive-enrichment SYSTEM "progressive-enrichment.xml">
<!ENTITY materialize-inferences SYSTEM "materialize-inferences.xml">
+ <!ENTITY embedded-metadata SYSTEM "embedded-metadata.xml">
<!ENTITY application-patterns SYSTEM "application-patterns.xml">
<!ENTITY assertion-query SYSTEM "assertion-query.xml">
@@ -10,6 +10,7 @@

0 comments on commit fe6a489

Please sign in to comment.