obspy/obspy — pull request #559 by megies (2013-10-01 11:51:33+00:00)
Title: check ResourceIdentifier/public_id handling in event/QuakeML output

`resource_id` attributes that are of type `ResourceIdentifier` get automatically adjusted during output to the QuakeML xml string to ensure they are conform with the QuakeML standard (e.g. autoconvert "someid" to "smi:local/someid"). This is nice in principle but unsafe and potentially hazardous, I think.

I stumbled upon it while having a problem with `MomentTensor.derived_origin_id`. The corresponding Origin's public_id got fixed on-the-fly during output but the reference in the moment tensor did not get fixed so the link was broken there and an invalid QuakeML produced.

I will fix this by running getQuakeMLURI() on all ResourceIdentifier objects during conversion to string. However, I think we should consider moving this QuakeML compatibility workaround **right at initialization time, i.e. always make a ResourceIdentifier QuakeML compatible right when it is created** to avoid possible linking problems.