RAMS XML Schema Definition

The imported XML file to create or update an FMEA 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>