Taxonomy Guidelines

  • naming conventions
    • namespace.hyphenated-attribute
    • no nested namespaces
    • no camel case
    • if the value has a unit of measure, include that in the attribute name (e.g. size-bytes)
  • ext
    • non-core/one-off attributes must be prefixed with the ext namespace: ext.namespace.attribute
      • this is the only exception to nesting
      • ext is not hyphenated
    • may include format-specific attributes, these should always represent the original values as closely as possible
  • internal
    • functionally scoped (e.g. ui, registry)
    • may be treated as a prefix like ext if necessary
    • all other guidelines still apply
    • these namespaces should not be documented as part of the taxonomy and are for developer use only
  • criteria for adding an attribute to the core taxonomy
    • two or more congruent usages
      • at least two formats that both define and use the attribute to mean the same thing
    • well-defined
    • where applicable
      • standards-based (e.g. Dublin Core)
      • must define a unit of measure
    • name should be format-independent
    • fully implemented
      • transformer support
      • side effects (e.g. security)