title: What does a single exclamation mark do in YAML?
body: <p>I'm working with the <a href="http://sourceforge.net/projects/yamldotnet/">YamlDotNet</a> library and I'm getting this error when loading a YAML file:</p>
  
  <blockquote>
    <p>While parsing a tag, did not find expected tag URI.</p>
  </blockquote>
  
  <p>The YAML file is supposed to be well-formed because it comes <a href="https://github.com/svenfuchs/rails-i18n/blob/master/rails/locale/en-GB.yml">right from RoR</a>. The error seems to be triggered by this code:</p>
  
  <pre><code>formats:
    default: ! '%d-%m-%Y'
    long: ! '%d %B, %Y'
    short: ! '%d %b'
  </code></pre>
  
  <p>I'm not an expert, but I see from the YAML spec that you can use an exclamation mark to indicate a custom object/type, and two exclamation marks to indicate an explicit built-in type.</p>
  
  <pre><code>obj1: !custom # whatever
  obj2: !!str "My string"
  </code></pre>
  
  <p>However I haven't been able to find any reference to an exclamation mark used as above. What does that mean, and why the YAML library I use doesn't seem able to parse it? Note that if I remove those exclamation marks, the file is parsed fine.</p>