WITSML

 

This document contains the following sections:

·        Overview

·        Data object schema design

·        Naming convention in schemas

·        WITSML Schemas, XML documents, and Stylesheets

o     Version 1.1.0 Changes

o     Version 1.2.0 Changes

 

 

Overview:

The Wellsite Information Transfer Standard Markup Language (WITSML) is a standard for sending well site information in an XML document format between business partners.  XML schemas are used to define the content of an XML document.  The WITSML standard consists of data object and component schemas.   A data object schema is the smallest set of related data that can be transmitted within an XML document (e.g.; well, wellbore, rig, etc.).  Data object schemas contain attributes, elements, and imported component schemas. 

 

Component schemas are XML schemas, but these schemas do not represent complete data objects.  A component schema may be imported by more than one data object schema.  All component schemas are prefixed with (cs_).  Four component schemas are included in all data object schemas:

 

Data object schema design:

Since all XML documents can only have one root level element and there are instances where it is necessary to send multiple occurrences of a data object in a single XML document (e.g.; multiple wellbores in a well), a pluralized version of the data object name was established as the schema root element.  That is, the object name followed by an “S” (e.g.; wells, wellbores, etc.).  In some cases, this leads to incorrect pluralization (e.g. trajectorys), but is required to order to meet the requirements of the WITSML API’s which generate tag names based on the data object name. 

 

The unique identifiers (uid) for data objects are always defined as attributes at the singular data object name level (e.g.; uidWell, uidWellbore, etc.).  That is, never at the pluralized data object name level.  This was done for two reasons;

 

Naming convention in schemas:

The “type” for an element can be either a W3C standard type or a WITSML defined type.  The W3C standard types are prefixed with “xsd:” and the WITSML types are prefixed with “witsml:”.  A WITSML type can be one of three types; a definition only with possibly a restricted size specified, a definition with enumerated values that are permitted, and a reference to another data object schema or component schema.  In order, to help identify which type is being referenced, the following naming convention is used.

 

<xsd:element name="mdKickoff" type="witsml:standardDepthIndex" minOccurs="0"/>

 

<xsd:element name="shape" type="witsml:WellboreShape" minOccurs="0"/>

 

<xsd:element name="trajectoryStation" type="witsml:obj_trajectoryStation" minOccurs="0"

maxOccurs="unbounded"/>

<xsd:element name="pumps" type="witsml:cs_pumps" minOccurs="0" maxOccurs="unbounded"/>

 

Multi-purpose schemas:

Some schemas are used as both a data object schema and as a component schema.  That is, there is a need to transmit the data object independently of other well related data and a need at times to send information as part of another data object.  For example, trajectory stations can be sent as an XML document or trajectory stations can be included in a trajectory XML document.  Whenever a data object schema is referencing another data object schema, the reference is made to the singular complex type name.  For example, <xsd:element name="trajectorystation" type="witsml:obj_trajectoryStation"     …. maxOccurs=”unbounded”/>.  The example below gives a more complete picture of how this is accomplished.

 

(  This following is a snippet from the trajectory schema definition)

 

        <xsd:element name="trajectorys" type="witsml:obj_trajectorys"/>

                <xsd:complexType name="obj_trajectorys">

                        <xsd:sequence>

                                <xsd:element name="trajectory" type="witsml:obj_trajectory" maxOccurs="unbounded"/>

                        </xsd:sequence>

                        <xsd:attribute name="version" type="xsd:string" use="fixed" value="1.0"/>

                </xsd:complexType>

                <!--                          WITSML Trajectory -  Locally Defined Elements and Attributes                -->

                <xsd:complexType name="obj_trajectory">

                        <xsd:sequence>

                                                <xsd:element name="uidTrajParent" type="witsml:str64" minOccurs="0"/>

                                <xsd:element name="dTimTrajStart" type="xsd:dateTime" minOccurs="0"/>

                                                                (other trajectory elements)

                                <xsd:element name="station" type="witsml:obj_trajectoryStation"     …. maxOccurs=”unbounded”/>

                                <xsd:element name="commonData" type="witsml:commonData" minOccurs="0"/>

                                <xsd:element name="customData" type="witsml:customData" minOccurs="0"/>

                        </xsd:sequence>

                        <xsd:attribute name="uidWell" type="witsml:str64" use="required"/>

                        <xsd:attribute name="uidWellbore" type="witsml:str64" use="required"/>

                        <xsd:attribute name="uidTrajName" type="witsml:str64" use="required"/>

        </xsd:complexType>

 

The “obj_trajectionStation” referenced above is the name of a complex type defined in the obj_trajectoryStation schema.

 

 

WITSML Schemas, XML documents, and Stylesheets:

The WITSML standard includes the following data object and component schemas. 

 

BHA Run data object                                                                                          Links to Documents

 

Schemas

XSD

Schema

XML

Docu.

XML via

Stylesheet

Stylesheet

Source

obj_bhaRun.xsd

XSD

XML

XML/XSL

XSL

   cs_drillingParams.xsd

XSD

 

 

 

   cs_commonData.xsd

XSD

 

 

 

   cs_customData.xsd

XSD

 

 

 

 

 

Capability of Client Schema                                                                                    Links to Documents

 

Schemas

XSD

Schema

XML

Docu.

XML via

Stylesheet

Stylesheet

Source

obj_capClient

XSD

XML

 

 

 

 

Capability of Publisher Schema                                                                                   Links to Documents

 

Schemas

XSD

Schema

XML

Docu.

XML via

Stylesheet

Stylesheet

Source

obj_capPublisher

XSD

XML

 

 

 

 

Capability of Server Schema                                                                                   Links to Documents

 

Schemas

XSD

Schema

XML

Docu.

XML via

Stylesheet

Stylesheet

Source

obj_capServer

XSD

XML

 

 

 

 

Capability of Client Schema                                                                                    Links to Documents

 

Schemas

XSD

Schema

XML

Docu.

XML via

Stylesheet

Stylesheet

Source

obj_capSubscriber

XSD

XML

 

 

 

 

Cement Job data object                                                                                          Links to Documents

 

Schemas

XSD

Schema

XML

Docu.

XML via

Stylesheet

Stylesheet

Source

obj_cementJob.xsd

XSD

XML

XML/XSL

XSL

   cs_cementStage.xsd 

XSD

 

 

 

   cs_cementingFluid.xsd

XSD

 

 

 

   cs_cementAdditive.xsd

XSD

 

 

 

   cs_cementPumpSchedule.xsd

XSD

 

 

 

   cs_commonData.xsd

XSD

 

 

 

   cs_customData.xsd

XSD

 

 

 

 

 

Conventional Core data object                                                                          Links to Documents

 

Schemas

XSD

Schema

XML

Docu.

XML via

Stylesheet

Stylesheet

Source

obj_convCore.xsd

XSD

XML

XML/XSL

XSL

   cs_geologyInterval.xsd

XSD

 

 

 

      cs_lithology.xsd

XSD

 

 

 

      cs_show.xsd

XSD

 

 

 

      cs_chromatograph.xsd

XSD

 

 

 

      cs_mudGas.xsd

XSD

 

 

 

   cs_commonData.xsd

XSD

 

 

 

   cs_customData.xsd

XSD

 

 

 

 

 

Fluids Report data object                                                                                          Links to Documents

 

Schemas

XSD

Schema

XML

Docu.

XML via

Stylesheet

Stylesheet

Source

obj_fluidsReport.xsd

XSD

XML

XML/XSL

XSL

   cs_fluids.xsd

XSD

 

 

 

   cs_rheometer.xsd

XSD

 

 

 

   cs_commonData.xsd

XSD

 

 

 

   cs_customData.xsd

XSD

 

 

 

 

 

Formation Marker data object                                                                          Links to Documents

 

Schemas

XSD

Schema

XML

Docu.

XML via

Stylesheet

Stylesheet

Source

obj_formationMarker.xsd

XSD

XML

XML/XSL

XSL

   cs_commonData.xsd

XSD

 

 

 

   cs_customData.xsd

XSD

 

 

 

 

Log data object                                                                                      Links to Documents

 

Schemas

XSD

Schema

XML

Docu.

XML via

Stylesheet

Stylesheet

Source

obj_log.xsd

XSD

XML

XML/XSL

XSL

   cs_logHeader.xsd

XSD

 

 

 

      cs_logCurveInfo.xsd

XSD

 

 

 

   cs_logData.xsd

XSD

 

 

 

   cs_commonData.xsd