RAMS XML Schema Definition

The imported XML file to create or update a PRA table must conform to the XML schema definition (XSD) described here.

By default, the RAMS.xsd file is located in the <3DSpaceInstallPath>/WEB-INF/classes/com/dassault_systemes/sfy/exchange folder.

See Also
Importing from XML
<?xml version="1.0" encoding="ISO-8859-1"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
  <xs:complexType name="elementType">
    <xs:simpleContent>
      <xs:extension base="xs:string">
        <xs:attribute type="xs:string" name="ref" use="required"/>
        <xs:attribute type="xs:string" name="type" use="required"/>
        <xs:attribute type="xs:string" name="revision" use="required"/>
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>
  <xs:complexType name="childElementType">
    <xs:simpleContent>
      <xs:extension base="xs:string">
        <xs:attribute type="xs:string" name="ref" use="required"/>
        <xs:attribute type="xs:string" name="type" use="required"/>
        <xs:attribute type="xs:string" name="parentRef" use="required"/>
        <xs:attribute type="xs:string" name="parentType" use="required"/>
        <xs:attribute type="xs:string" name="parentRevision" use="required"/>
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>
  <xs:complexType name="effectivityType">
    <xs:simpleContent>
      <xs:extension base="xs:string">
        <xs:attribute type="xs:string" name="kind" use="required"/>
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>
  <xs:element name="occurrence-attributes">
    <xs:complexType>
      <xs:sequence>
        <xs:element name="occurrence-attribute" type="attributeType" maxOccurs="unbounded" minOccurs="1"/>
      </xs:sequence>
      <xs:attribute type="xs:string" name="analysisContextRef" use="optional"/>
    </xs:complexType>
  </xs:element>
  <xs:complexType name="pathType">
    <xs:choice maxOccurs="unbounded">
      <xs:element ref="attribute" maxOccurs="unbounded" minOccurs="0"/>
      <xs:element ref="occurrence-attributes" maxOccurs="unbounded" minOccurs="0"/>
      <xs:element name="effectivity" type="effectivityType" maxOccurs="unbounded" minOccurs="0"/>
      <xs:element name="element" type="elementType" maxOccurs="unbounded" minOccurs="0"/>
      <xs:element name="childElement" type="childElementType" maxOccurs="unbounded" minOccurs="0"/>
    </xs:choice>
    <xs:attribute type="xs:string" name="type" use="optional">
      <xs:annotation>
        <xs:documentation>Defining a path as a connection of type. A connection (unlike semantic path) supports attributes and effectivity</xs:documentation>
      </xs:annotation>
    </xs:attribute>
    <xs:attribute type="xs:int" name="app-index"/>
  </xs:complexType>
  <xs:complexType name="attributeType">
    <xs:simpleContent>
      <xs:extension base="xs:string">
        <xs:attribute type="xs:string" name="type" use="required"/>
        <xs:attribute type="xs:string" name="name" use="required"/>
        <xs:attribute type="xs:string" name="value" use="required"/>
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>
  <xs:element name="failure-mode">
    <xs:complexType>
      <xs:sequence>
        <xs:element name="workspace" type="elementType" maxOccurs="unbounded" minOccurs="0"/>
        <xs:element ref="attribute" maxOccurs="unbounded" minOccurs="0"/>
        <xs:element name="has-rate-defined-by" type="elementType" maxOccurs="unbounded" minOccurs="0"/>
      </xs:sequence>
      <xs:attribute type="xs:string" name="id" use="required"/>
      <xs:attribute type="xs:string" name="type"/>
      <xs:attribute type="xs:string" name="extensions"/>
    </xs:complexType>
  </xs:element>
  <xs:element name="fallible-reference">
    <xs:complexType>
      <xs:sequence>
        <xs:element name="workspace" type="elementType" maxOccurs="unbounded" minOccurs="0"/>
        <xs:element ref="attribute" maxOccurs="unbounded" minOccurs="0"/>
        <xs:element name="stands-for" type="pathType" maxOccurs="1" minOccurs="0"/>
        <xs:element ref="failure-mode" maxOccurs="unbounded" minOccurs="0"/>
      </xs:sequence>
      <xs:attribute type="xs:string" name="id" use="required"/>
      <xs:attribute type="xs:string" name="type"/>
      <xs:attribute type="xs:string" name="revision"/>
      <xs:attribute type="xs:string" name="extensions"/>
    </xs:complexType>
  </xs:element>
  <xs:element name="logical-formula"/>
  <xs:element name="fault-tree-reference">
    <xs:complexType>
      <xs:sequence>
        <xs:element name="workspace" type="elementType" maxOccurs="unbounded" minOccurs="0"/>
        <xs:element ref="attribute" maxOccurs="unbounded" minOccurs="0"/>
        <xs:element ref="logical-formula" maxOccurs="1" minOccurs="0"/>
        <xs:element name="stands-for" type="pathType" maxOccurs="1" minOccurs="0"/>
        <xs:element name="dsf-context" type="pathType" maxOccurs="1" minOccurs="0"/>
        <xs:element name="reuse-context" type="pathType" maxOccurs="1" minOccurs="0"/>
      </xs:sequence>
      <xs:attribute type="xs:string" name="id" use="required"/>
      <xs:attribute type="xs:string" name="type"/>
      <xs:attribute type="xs:string" name="revision"/>
      <xs:attribute type="xs:string" name="extensions"/>
    </xs:complexType>
  </xs:element>
  <xs:element name="fault-tree-instance">
    <xs:complexType>
      <xs:sequence>
        <xs:element ref="attribute" maxOccurs="unbounded" minOccurs="0"/>
        <xs:element ref="from"/>
        <xs:element ref="to"/>
        <xs:element name="child-context" type="pathType" maxOccurs="1" minOccurs="0"/>
      </xs:sequence>
      <xs:attribute type="xs:string" name="id"/>
      <xs:attribute type="xs:string" name="type"/>
      <xs:attribute type="xs:string" name="extensions"/>
    </xs:complexType>
  </xs:element>
  <xs:element name="from">
    <xs:complexType>
      <xs:sequence>
        <xs:element name="element" type="elementType"/>
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="to">
    <xs:complexType>
      <xs:sequence>
        <xs:element name="element" type="elementType"/>
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="reliability-source-formula">
    <xs:complexType>
      <xs:sequence>
        <xs:element ref="attribute" maxOccurs="unbounded" minOccurs="0"/>
      </xs:sequence>
      <xs:attribute type="xs:string" name="extensions"/>
      <xs:attribute type="xs:string" name="id" use="required"/>
      <xs:attribute type="xs:string" name="type"/>
      <xs:attribute type="xs:string" name="revision" use="required"/>
    </xs:complexType>
  </xs:element>
  <xs:element name="reliability-source">
    <xs:complexType>
      <xs:sequence>
        <xs:element ref="attribute" maxOccurs="unbounded" minOccurs="0"/>
        <xs:element ref="reliability-source-formula" maxOccurs="unbounded" minOccurs="0"/>
      </xs:sequence>
      <xs:attribute type="xs:string" name="id" use="required"/>
      <xs:attribute type="xs:string" name="type"/>
      <xs:attribute type="xs:string" name="revision" use="required"/>
      <xs:attribute type="xs:string" name="extensions"/>
    </xs:complexType>
  </xs:element>
  <xs:element name="reliability-source-sub-source">
    <xs:complexType>
      <xs:sequence>
        <xs:element ref="from"/>
        <xs:element ref="to"/>
      </xs:sequence>
      <xs:attribute type="xs:string" name="id"/>
    </xs:complexType>
  </xs:element>
  <xs:element name="attribute" type="attributeType"/>
  <xs:element name="table-model"/>
  <xs:element name="characterizations"/>
  <xs:element name="cause-failure-mode" type="pathType"/>
  <xs:element name="cause-occurrence" type="pathType"/>
  <xs:element name="effect-without-barrier-occurrences">
    <xs:complexType>
      <xs:sequence>
        <xs:element name="effect-without-barrier-occurrence" type="pathType" maxOccurs="unbounded" minOccurs="0"/>
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="effects-without-barrier">
    <xs:complexType>
      <xs:sequence>
        <xs:element name="effect-without-barrier" type="pathType" maxOccurs="unbounded" minOccurs="0"/>
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="effect-with-barrier-occurrences">
    <xs:complexType>
      <xs:sequence>
        <xs:element name="effect-with-barrier-occurrence" type="pathType" maxOccurs="unbounded" minOccurs="0"/>
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="effects-with-barrier">
    <xs:complexType>
      <xs:sequence>
        <xs:element name="effect-with-barrier" type="pathType" maxOccurs="unbounded" minOccurs="0"/>
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="preventions">
    <xs:complexType>
      <xs:sequence>
        <xs:element name="is-prevented-by" type="pathType" maxOccurs="unbounded" minOccurs="0"/>
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="detections">
    <xs:complexType>
      <xs:sequence>
        <xs:element name="is-detected-by" type="pathType" maxOccurs="unbounded" minOccurs="0"/>
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="calculated-effects">
    <xs:complexType>
      <xs:sequence>
        <xs:element name="calculated-effect" type="pathType" maxOccurs="unbounded" minOccurs="1"/>
      </xs:sequence>
      <xs:attribute type="xs:string" name="analysisContextRef" use="required"/>
    </xs:complexType>
  </xs:element>
  <xs:element name="causality-relationship">
    <xs:complexType>
      <xs:sequence>
        <xs:element ref="attribute" maxOccurs="unbounded" minOccurs="0"/>
        <xs:element ref="cause-failure-mode" maxOccurs="1" minOccurs="0"/>
        <xs:element ref="cause-occurrence"  maxOccurs="1" minOccurs="0"/>
        <xs:element ref="effect-without-barrier-occurrences" maxOccurs="1" minOccurs="0"/>
        <xs:element ref="effects-without-barrier" maxOccurs="1" minOccurs="0"/>
        <xs:element ref="effect-with-barrier-occurrences" maxOccurs="1" minOccurs="0"/>
        <xs:element ref="effects-with-barrier" maxOccurs="1" minOccurs="0"/>
        <xs:element ref="calculated-effects" maxOccurs="unbounded" minOccurs="0"/>
        <xs:element ref="preventions" maxOccurs="1" minOccurs="0"/>
        <xs:element ref="detections" maxOccurs="1" minOccurs="0"/>
      </xs:sequence>
      <xs:attribute type="xs:string" name="id" use="required"/>
      <xs:attribute type="xs:string" name="type"/>
      <xs:attribute type="xs:string" name="extensions"/>
    </xs:complexType>
  </xs:element>
  <xs:element name="fmea-analysis-contexts">
    <xs:complexType>
      <xs:sequence>
        <xs:element name="analysis-context" maxOccurs="unbounded" minOccurs="1">
          <xs:annotation>
            <xs:documentation>FMEA Analysis context - Generated when exporting with calculated effects</xs:documentation>
          </xs:annotation>
          <xs:complexType>
            <xs:choice maxOccurs="unbounded">
              <xs:element name="element" type="elementType" maxOccurs="unbounded" minOccurs="0"/>
              <xs:element name="childElement" type="childElementType" maxOccurs="unbounded" minOccurs="0"/>
            </xs:choice>
            <xs:attribute type="xs:string" name="id" use="required"/>
          </xs:complexType>
        </xs:element>
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="causality-relationships">
    <xs:complexType>
      <xs:sequence>
        <xs:element ref="causality-relationship" maxOccurs="unbounded" minOccurs="0">
        </xs:element>
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="fmea">
    <xs:complexType>
      <xs:sequence>
        <xs:element name="workspace" type="elementType" maxOccurs="unbounded" minOccurs="0"/>
        <xs:element ref="attribute" maxOccurs="unbounded" minOccurs="0"/>
        <xs:element ref="table-model" maxOccurs="1" minOccurs="0"/>
        <xs:element ref="characterizations" maxOccurs="1" minOccurs="0"/>
        <xs:element name="analyzes" type="pathType" maxOccurs="1" minOccurs="0"/>
        <xs:element name="reference-table" type="pathType" maxOccurs="1" minOccurs="0"/>
        <xs:element name="analysis-context" type="pathType" maxOccurs="1" minOccurs="0">
          <xs:annotation>
            <xs:documentation>PRA/FHA analysis context</xs:documentation>
          </xs:annotation>
        </xs:element>
        <xs:element ref="fmea-analysis-contexts" maxOccurs="1" minOccurs="0"/>
        <xs:element ref="causality-relationships" maxOccurs="1" minOccurs="0"/>
      </xs:sequence>
      <xs:attribute type="xs:string" name="id" use="required"/>
      <xs:attribute type="xs:string" name="type"/>
      <xs:attribute type="xs:string" name="revision"/>
      <xs:attribute type="xs:string" name="extensions"/>
    </xs:complexType>
  </xs:element>
  <xs:element name="reliability-sources">
    <xs:complexType>
      <xs:sequence>
        <xs:element ref="reliability-source" maxOccurs="unbounded" minOccurs="0"/>
        <xs:element ref="reliability-source-sub-source" maxOccurs="unbounded" minOccurs="0"/>
      </xs:sequence>
      <xs:attribute type="xs:string" name="policy"/>
    </xs:complexType>
  </xs:element>
  <xs:element name="fallible-references">
    <xs:complexType>
      <xs:sequence>
        <xs:element ref="fallible-reference" maxOccurs="unbounded" minOccurs="0"/>
      </xs:sequence>
      <xs:attribute type="xs:string" name="policy"/>
    </xs:complexType>
  </xs:element>
  <xs:element name="fmeas">
    <xs:complexType>
      <xs:sequence>
        <xs:element ref="fmea" maxOccurs="unbounded" minOccurs="0"/>
      </xs:sequence>
      <xs:attribute type="xs:string" name="policy"/>
    </xs:complexType>
  </xs:element>
  <xs:element name="fault-trees">
    <xs:complexType>
      <xs:sequence>
        <xs:element ref="fault-tree-reference" maxOccurs="unbounded" minOccurs="0"/>
        <xs:element ref="fault-tree-instance" maxOccurs="unbounded" minOccurs="0"/>
      </xs:sequence>
      <xs:attribute type="xs:string" name="policy"/>
    </xs:complexType>
  </xs:element>
  <xs:element name="rams">
    <xs:complexType>
      <xs:sequence>
        <xs:element ref="reliability-sources" maxOccurs="1" minOccurs="0"/>
        <xs:element ref="fallible-references" maxOccurs="1" minOccurs="0"/>
        <xs:element ref="fmeas" maxOccurs="1" minOccurs="0"/>
        <xs:element ref="fault-trees" maxOccurs="1" minOccurs="0"/>
      </xs:sequence>
      <xs:attribute type="xs:string" name="policy">
        <xs:annotation>
          <xs:documentation>Deprecated - Use policy attribute on children of rams node</xs:documentation>
        </xs:annotation>
      </xs:attribute>
    </xs:complexType>
  </xs:element> 
</xs:schema>