2.3.4.1 Discovering “eml://” Must Return Supported URI Protocol Resources

Topic Version1Published10/31/2016
For StandardETP v1.1

See an example in Figure 16 below.

  • The store must return a folder for each supported version of an ML and each supported version of Energistics common. For example:
  • WITSML Store (1.3.1.1)
  • WITSML Store (1.4.1.1)
  • WITSML Store (2.0)
  • Energistics common (2.0)
  • Energistics common (2.1)
  • The URI must specify the ML family and its 2-digit version number.
  • eml://witsml20
  • The ContentType must not be null. Some examples formats are shown here:
  • For a WITSML v2.0 data object: application/x-witsml+xml;version=2.0
  • For objects in Energistics common: application/x-eml+xml; version=2.1
  • For more information about ContentType and its format, see the Energistics Identifier Specification.
  • “/” is deprecated; you must use “eml://”
  • If the store is aware of data residing in multiple backend data sources, then the store must first return dataspaces:
  • eml://ow_proj_01/witsml20
  • A dataspace can be followed by none or another or a series of dataspaces. To navigate through dataspaces, continue to issue ChannelDescribe messages until you encounter one of the Energistics standards names (i.e., witsml, prodml, resqml or eml) (as in the first item in this list above).
  • You know you’ve encountered a data model when the store returns one of the Energistics MLs ((i.e., witsml, prodml, resqml or eml).
  • The full regular expression is:

/^eml:\/\/(.*\/)*((witsml|resqml|prodml|eml)([0-9]+))(\/((obj_|part_)?(\w+))(\(([\-\w]+)\))?)?(\?[^#]*)?(#.*)?$/i

NOTE: This expression includes parameters that may be needed for future ETP capabilities.

Figure 2.3.4.1-1 : “eml://” must return a folder for each supported version of an ML and Energistics common.