From Microformats Wiki
Revision as of 21:50, 28 July 2008 by Tantek (talk | contribs) (added FAQ re: exclusions - unnecessary, undesirable, fail in practice)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search

XMDP Frequently Asked Questions

This page is for documenting Q&A about XMDP. The contents here may be incorporated onto a gmpg.org page in the future, so please read the GMPG principles before contributing.

If you have a new question to ask, Please consider first asking your question in the #microformats IRC channel, or on the microformats-discuss list.


  1. Why should I reference XMDP profiles in my documents?
    • In order to precisely define the classes and new rel values you are using as being defined by one or more specific microformats. With an XMDP validator, you will also be able to make sure that you are only using values that have been defined, and this may help catch problems with your content sooner rather than later.
  2. Must content marked up with microformats reference the proper XMDP profile(s)?
    • At this point we are saying that content marked up with microformats SHOULD reference the proper XMDP profile(s). This requirement may be changed to a MUST for microformat validity.
  3. How should a crawler or UA interpret an XMDP profile referenced in a document?
    • Very similar to DTDs. A crawler or UA may interpret an XMDP profile URL simply as an idenitifier for which it knows is a well-defined microformat vocabulary. It may also go read that profile URL, and parse it as XMDP, and thus mechanically know which class values are defined, which new rel/rev values have been introduced, and which <meta name> properties and values have been defined.
  4. Are XMDP and GRDDL very similar because they both use the profile attribute?
    • No. XMDP uses the profile attribute for defining terms, and GRDDL uses the profile attribute for defining how to transform.
  5. Does XMDP provide a namespace for terms?
    • Not quite. XMDP does provide a profile dictionary for terms, but not a namespace in the typical sense used for data (e.g. in XML) or programming language. One big difference is the way XMDP overrides work, as explained in http://gmpg.org/xmdp/description . Note that if two different profiles define the same term, only the first definition is used. Thus XMDP profiles are not "namespaces" in any data/programming functional way, as such namespaces make such multiple references exist simultaneously and distinctly by keeping them in their own silos.
  6. Can I exclude terms defined by an XMDP profile?
    • No. Explicit exclusions are unnecessary, undesirable, and fail in practice.
      1. Unnecessary. One scenario given that supposedly justifies exclusions is the desire to map microformats vocabulary used in a document to other meanings. Rather than exclusions, simply provide an XMDP profile earlier than the microformats profile(s) and thus override the definitions. In short: first defined wins for vocabulary defined by the space separated set of URLs in the profile attribute. See XMDP: Using multiple profiles for more on how to do this and how this works.
      2. Undesirable. The notion of exclusions of use of vocabulary is incompatible with the evolution of content in practice. Over time pages tend to get more structured, more semantic, and semantics get added. Thus anything which "stands in the way" of such increasingly rich semantics (such as exclusions) are undesirable.
      3. Fail in practice. Any value that an exclusion of meaning might have at the point of content creation decays quickly over time. Similar to content being updated independently of the <head> of the document, it is likely that meaning will be added to the content of the document without any exclusions in the <head> being updated, thus invalidating the assertions made by the exclusions. In practice this will mean that parsers will tend to ignore such out-of-date exclusions in order to provide functionality for the microformats present in those pages, and thus any exclusions will have failed in practice.

see also