hrntsm/STBDotNet

View on GitHub
STBDotNet/v200/ST-Bridge_v2.xsd

Summary

Maintainability
Test Coverage
<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:stb="https://www.building-smart.or.jp/dl" xmlns:xs="http://www.w3.org/2001/XMLSchema" targetNamespace="https://www.building-smart.or.jp/dl" elementFormDefault="qualified">
  <xs:element name="ST_BRIDGE">
    <xs:complexType>
      <xs:sequence>
        <xs:element ref="stb:StbCommon" minOccurs="1" maxOccurs="1" />
        <xs:element ref="stb:StbModel" minOccurs="1" maxOccurs="1" />
        <xs:element ref="stb:StbExtensions" minOccurs="0" maxOccurs="1" />
      </xs:sequence>
      <xs:attribute name="version" type="xs:string" use="required" />
    </xs:complexType>
    <xs:unique name="guid">
        <xs:selector xpath=".//*"/>
        <xs:field xpath="@guid"/>
    </xs:unique>
  </xs:element>
  <xs:element name="StbCommon">
    <xs:complexType>
      <xs:sequence>
        <xs:element ref="stb:StbReinforcementStrengthList" minOccurs="0" maxOccurs="1" />
        <xs:element ref="stb:StbApplyConditionsList" minOccurs="0" maxOccurs="1"/>
      </xs:sequence>
      <xs:attribute name="guid" type="stb:guid" />
      <xs:attribute name="project_name" type="xs:string" use="required" />
      <xs:attribute name="app_name" type="xs:string" use="required" />
      <xs:attribute name="strength_concrete" type="xs:string" />
    </xs:complexType>
  </xs:element>
  <xs:element name="StbReinforcementStrengthList">
    <xs:complexType>
      <xs:sequence>
        <xs:element ref="stb:StbReinforcementStrength" minOccurs="1" maxOccurs="unbounded" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="StbReinforcementStrength">
    <xs:complexType>
      <xs:attribute name="D" type="xs:string" use="required" />
      <xs:attribute name="strength" type="xs:string" use="required" />
    </xs:complexType>
  </xs:element>
  <xs:element name="StbApplyConditionsList">
      <xs:complexType>
          <xs:sequence>
              <xs:element ref="stb:StbColumn_RC_RebarPositionApply" minOccurs="0" maxOccurs="1"/>
              <xs:element ref="stb:StbColumn_RC_BarSpacingApply" minOccurs="0" maxOccurs="1"/>
              <xs:element ref="stb:StbColumn_SRC_RebarPositionApply" minOccurs="0" maxOccurs="1"/>
              <xs:element ref="stb:StbColumn_SRC_BarSpacingApply" minOccurs="0" maxOccurs="1"/>
              <xs:element ref="stb:StbBeam_RC_RebarPositionApply" minOccurs="0" maxOccurs="1"/>
              <xs:element ref="stb:StbBeam_RC_BarWebApply" minOccurs="0" maxOccurs="1"/>
              <xs:element ref="stb:StbBeam_RC_BarSpacingApply" minOccurs="0" maxOccurs="1"/>
              <xs:element ref="stb:StbBeam_SRC_RebarPositionApply" minOccurs="0" maxOccurs="1"/>
              <xs:element ref="stb:StbBeam_SRC_BarWebApply" minOccurs="0" maxOccurs="1"/>
              <xs:element ref="stb:StbBeam_SRC_BarSpacingApply" minOccurs="0" maxOccurs="1"/>
              <xs:element ref="stb:StbSlab_RC_BarPositionApply" minOccurs="0" maxOccurs="1"/>
              <xs:element ref="stb:StbWall_RC_BarPositionApply" minOccurs="0" maxOccurs="1"/>
              <xs:element ref="stb:StbFoundation_RC_BarPositionApply" minOccurs="0" maxOccurs="1"/>
              <xs:element ref="stb:StbPile_RC_BarPositionApply" minOccurs="0" maxOccurs="1"/>
              <xs:element ref="stb:StbParapet_RC_BarPositionApply" minOccurs="0" maxOccurs="1"/>
          </xs:sequence>
      </xs:complexType>
  </xs:element>
  <xs:element name="StbColumn_RC_RebarPositionApply">
      <xs:complexType>
          <xs:attributeGroup ref="stb:Column_RC_RebarPositionApply"/>
      </xs:complexType>
  </xs:element>
  <xs:element name="StbColumn_RC_BarSpacingApply">
      <xs:complexType>
          <xs:attributeGroup ref="stb:Column_RC_BarSpacingApply"/>
      </xs:complexType>
  </xs:element>
  <xs:element name="StbColumn_SRC_RebarPositionApply">
    <xs:complexType>
        <xs:attributeGroup ref="stb:Column_RC_RebarPositionApply"/>
    </xs:complexType>
  </xs:element>
  <xs:element name="StbColumn_SRC_BarSpacingApply">
      <xs:complexType>
          <xs:attributeGroup ref="stb:Column_RC_BarSpacingApply"/>
      </xs:complexType>
  </xs:element>
  <xs:element name="StbBeam_RC_RebarPositionApply">
      <xs:complexType>
          <xs:attributeGroup ref="stb:Beam_RC_RebarPositionApply"/>
      </xs:complexType>
  </xs:element>
  <xs:element name="StbBeam_RC_BarWebApply">
      <xs:complexType>
          <xs:attributeGroup ref="stb:Beam_RC_BarWebApply"/>
      </xs:complexType>
  </xs:element>
  <xs:element name="StbBeam_RC_BarSpacingApply">
      <xs:complexType>
          <xs:attributeGroup ref="stb:Beam_RC_BarSpacingApply"/>
      </xs:complexType>
  </xs:element>
  <xs:element name="StbBeam_SRC_RebarPositionApply">
      <xs:complexType>
          <xs:attributeGroup ref="stb:Beam_RC_RebarPositionApply"/>
      </xs:complexType>
  </xs:element>
  <xs:element name="StbBeam_SRC_BarWebApply">
      <xs:complexType>
          <xs:attributeGroup ref="stb:Beam_RC_BarWebApply"/>
      </xs:complexType>
  </xs:element>
  <xs:element name="StbBeam_SRC_BarSpacingApply">
      <xs:complexType>
          <xs:attributeGroup ref="stb:Beam_RC_BarSpacingApply"/>
      </xs:complexType>
  </xs:element>
  <xs:element name="StbSlab_RC_BarPositionApply">
      <xs:complexType>
          <xs:attribute name="set_default" type="xs:boolean" use="required"/>
          <xs:attribute name="depth_cover" type="stb:length"/>
      </xs:complexType>
  </xs:element>
  <xs:element name="StbWall_RC_BarPositionApply">
      <xs:complexType>
          <xs:attribute name="set_default" type="xs:boolean" use="required"/>
          <xs:attribute name="depth_cover" type="stb:length"/>
      </xs:complexType>
  </xs:element>
  <xs:element name="StbFoundation_RC_BarPositionApply">
      <xs:complexType>
          <xs:attribute name="set_default" type="xs:boolean" use="required"/>
          <xs:attribute name="depth_cover" type="stb:length"/>
      </xs:complexType>
  </xs:element>
  <xs:element name="StbPile_RC_BarPositionApply">
      <xs:complexType>
          <xs:attribute name="set_default" type="xs:boolean" use="required"/>
          <xs:attribute name="depth_cover" type="stb:length"/>
      </xs:complexType>
  </xs:element>
  <xs:element name="StbParapet_RC_BarPositionApply">
      <xs:complexType>
          <xs:attribute name="set_default" type="xs:boolean" use="required"/>
          <xs:attribute name="depth_cover" type="stb:length"/>
      </xs:complexType>
  </xs:element>
  <xs:element name="StbModel">
    <xs:complexType>
      <xs:sequence>
        <xs:element ref="stb:StbNodes" minOccurs="0" maxOccurs="1" />
        <xs:element ref="stb:StbAxes" minOccurs="0" maxOccurs="1" />
        <xs:element ref="stb:StbStories" minOccurs="0" maxOccurs="1" />
        <xs:element ref="stb:StbMembers" minOccurs="0" maxOccurs="1" />
        <xs:element ref="stb:StbSections" minOccurs="0" maxOccurs="1" />
        <xs:element ref="stb:StbJoints" minOccurs="0" maxOccurs="1" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="StbNodes">
    <xs:complexType>
      <xs:sequence>
        <xs:element ref="stb:StbNode" minOccurs="1" maxOccurs="unbounded" />
      </xs:sequence>
    </xs:complexType>
      <xs:key name="stbNodes">
          <xs:selector xpath="stb:StbNode"/>
          <xs:field xpath="@id"/>
      </xs:key>
  </xs:element>
  <xs:element name="StbNode">
    <xs:complexType>
      <xs:attribute name="id" type="xs:positiveInteger" use="required" />
      <xs:attribute name="guid" type="stb:guid" />
      <xs:attribute name="X" type="xs:double" use="required" />
      <xs:attribute name="Y" type="xs:double" use="required" />
      <xs:attribute name="Z" type="xs:double" use="required" />
      <xs:attribute name="kind" use="required">
        <xs:simpleType>
          <xs:restriction base="xs:string">
            <xs:enumeration value="ON_GIRDER" />
            <xs:enumeration value="ON_BEAM" />
            <xs:enumeration value="ON_COLUMN" />
            <xs:enumeration value="ON_POST" />
            <xs:enumeration value="ON_GRID" />
            <xs:enumeration value="ON_CANTI" />
            <xs:enumeration value="ON_SLAB" />
            <xs:enumeration value="OTHER" />
          </xs:restriction>
        </xs:simpleType>
      </xs:attribute>
      <xs:attribute name="id_member" type="xs:positiveInteger" />
    </xs:complexType>
  </xs:element>
  <xs:element name="StbNodeIdList">
    <xs:complexType>
      <xs:sequence>
        <xs:element ref="stb:StbNodeId" minOccurs="1" maxOccurs="unbounded" />
      </xs:sequence>
    </xs:complexType>
      <xs:key name="stbNodeIdList">
          <xs:selector xpath="stb:StbNodeId"/>
          <xs:field xpath="@id"/>
      </xs:key>
  </xs:element>
  <xs:element name="StbNodeId">
    <xs:complexType>
      <xs:attribute name="id" type="xs:positiveInteger" use="required" />
    </xs:complexType>
  </xs:element>
  <xs:element name="StbNodeIdOrder" type="stb:monolist"/>
  <xs:element name="StbAxes">
    <xs:complexType>
      <xs:sequence>
        <xs:element ref="stb:StbParallelAxes" minOccurs="0" maxOccurs="unbounded" />
        <xs:element ref="stb:StbArcAxes" minOccurs="0" maxOccurs="unbounded" />
        <xs:element ref="stb:StbRadialAxes" minOccurs="0" maxOccurs="unbounded" />
        <xs:element ref="stb:StbDrawingAxis" minOccurs="0" maxOccurs="1" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="StbParallelAxes">
    <xs:complexType>
      <xs:sequence>
        <xs:element ref="stb:StbParallelAxis" minOccurs="1" maxOccurs="unbounded" />
      </xs:sequence>
      <xs:attribute name="group_name" type="xs:string" use="required" />
      <xs:attribute name="X" type="xs:double" use="required" />
      <xs:attribute name="Y" type="xs:double" use="required" />
      <xs:attribute name="angle" type="stb:angle" use="required" />
    </xs:complexType>
      <xs:key name="stbParallelAxes">
          <xs:selector xpath="stb:StbParallelAxis"/>
          <xs:field xpath="@id"/>
      </xs:key>
  </xs:element>
  <xs:element name="StbParallelAxis">
    <xs:complexType>
      <xs:sequence>
        <xs:element ref="stb:StbNodeIdList" minOccurs="0" maxOccurs="1" />
      </xs:sequence>
      <xs:attribute name="id" type="xs:positiveInteger" use="required" />
      <xs:attribute name="guid" type="stb:guid" />
      <xs:attribute name="name" type="xs:string" use="required" />
      <xs:attribute name="distance" type="xs:double" use="required" />
    </xs:complexType>
  </xs:element>
  <xs:element name="StbArcAxes">
    <xs:complexType>
      <xs:sequence>
        <xs:element ref="stb:StbArcAxis" minOccurs="1" maxOccurs="unbounded" />
      </xs:sequence>
      <xs:attribute name="group_name" type="xs:string" use="required" />
      <xs:attribute name="X" type="xs:double" use="required" />
      <xs:attribute name="Y" type="xs:double" use="required" />
      <xs:attribute name="start_angle" type="stb:angle" use="required" />
      <xs:attribute name="end_angle" type="stb:angle" use="required" />
    </xs:complexType>
      <xs:key name="stbArcAxes">
          <xs:selector xpath="stb:StbArcAxis"/>
          <xs:field xpath="@id"/>
      </xs:key>
  </xs:element>
  <xs:element name="StbArcAxis">
    <xs:complexType>
      <xs:sequence>
        <xs:element ref="stb:StbNodeIdList" minOccurs="0" maxOccurs="1" />
      </xs:sequence>
      <xs:attribute name="id" type="xs:positiveInteger" use="required" />
      <xs:attribute name="guid" type="stb:guid" />
      <xs:attribute name="name" type="xs:string" use="required" />
      <xs:attribute name="radius" type="stb:length" use="required" />
    </xs:complexType>
  </xs:element>
  <xs:element name="StbRadialAxes">
    <xs:complexType>
      <xs:sequence>
        <xs:element ref="stb:StbRadialAxis" minOccurs="1" maxOccurs="unbounded" />
      </xs:sequence>
      <xs:attribute name="group_name" type="xs:string" use="required" />
      <xs:attribute name="X" type="xs:double" use="required" />
      <xs:attribute name="Y" type="xs:double" use="required" />
    </xs:complexType>
      <xs:key name="stbRadialAxes">
          <xs:selector xpath="stb:StbRadialAxis"/>
          <xs:field xpath="@id"/>
      </xs:key>
  </xs:element>
  <xs:element name="StbRadialAxis">
    <xs:complexType>
      <xs:sequence>
        <xs:element ref="stb:StbNodeIdList" minOccurs="0" maxOccurs="1" />
      </xs:sequence>
      <xs:attribute name="id" type="xs:positiveInteger" use="required" />
      <xs:attribute name="guid" type="stb:guid" />
      <xs:attribute name="name" type="xs:string" use="required" />
      <xs:attribute name="angle" type="stb:angle" use="required" />
    </xs:complexType>
  </xs:element>
  <xs:element name="StbDrawingAxis">
    <xs:complexType>
      <xs:sequence>
        <xs:element ref="stb:StbDrawingLineAxis" minOccurs="0" maxOccurs="unbounded" />
        <xs:element ref="stb:StbDrawingArcAxis" minOccurs="0" maxOccurs="unbounded" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="StbDrawingLineAxis">
    <xs:complexType>
      <xs:attribute name="group_name" type="xs:string" />
      <xs:attribute name="name" type="xs:string" use="required" />
      <xs:attribute name="start_X" type="xs:double" use="required" />
      <xs:attribute name="start_Y" type="xs:double" use="required" />
      <xs:attribute name="end_X" type="xs:double" use="required" />
      <xs:attribute name="end_Y" type="xs:double" use="required" />
    </xs:complexType>
  </xs:element>
  <xs:element name="StbDrawingArcAxis">
    <xs:complexType>
      <xs:attribute name="group_name" type="xs:string" />
      <xs:attribute name="name" type="xs:string" use="required" />
      <xs:attribute name="X" type="xs:double" use="required" />
      <xs:attribute name="Y" type="xs:double" use="required" />
      <xs:attribute name="radius" type="stb:length" use="required" />
      <xs:attribute name="start_angle" type="stb:angle" use="required" />
      <xs:attribute name="end_angle" type="stb:angle" use="required" />
    </xs:complexType>
  </xs:element>
  <xs:element name="StbStories">
    <xs:complexType>
      <xs:sequence>
        <xs:element ref="stb:StbStory" minOccurs="1" maxOccurs="unbounded" />
      </xs:sequence>
    </xs:complexType>
      <xs:key name="stbStories">
          <xs:selector xpath="stb:StbStory"/>
          <xs:field xpath="@id"/>
      </xs:key>
  </xs:element>
  <xs:element name="StbStory">
    <xs:complexType>
      <xs:sequence>
        <xs:element ref="stb:StbNodeIdList" minOccurs="0" maxOccurs="1" />
      </xs:sequence>
      <xs:attribute name="id" type="xs:positiveInteger" use="required" />
      <xs:attribute name="guid" type="stb:guid" />
      <xs:attribute name="name" type="xs:string" use = "required" />
      <xs:attribute name="height" type="xs:double" use="required" />
      <xs:attribute name="kind" use="required">
        <xs:simpleType>
          <xs:restriction base="xs:string">
            <xs:enumeration value="GENERAL" />
            <xs:enumeration value="BASEMENT" />
            <xs:enumeration value="ROOF" />
            <xs:enumeration value="PENTHOUSE" />
            <xs:enumeration value="ISOLATION" />
            <xs:enumeration value="DEPENDENCE" />
          </xs:restriction>
        </xs:simpleType>
      </xs:attribute>
      <xs:attribute name="id_dependence" type="xs:positiveInteger" />
      <xs:attribute name="strength_concrete" type="xs:string" />
    </xs:complexType>
  </xs:element>
  <xs:element name="StbMembers">
    <xs:complexType>
      <xs:sequence>
        <xs:element ref="stb:StbColumns" minOccurs="0" maxOccurs="1" />
        <xs:element ref="stb:StbPosts" minOccurs="0" maxOccurs="1" />
        <xs:element ref="stb:StbGirders" minOccurs="0" maxOccurs="1" />
        <xs:element ref="stb:StbBeams" minOccurs="0" maxOccurs="1" />
        <xs:element ref="stb:StbBraces" minOccurs="0" maxOccurs="1" />
        <xs:element ref="stb:StbSlabs" minOccurs="0" maxOccurs="1" />
        <xs:element ref="stb:StbWalls" minOccurs="0" maxOccurs="1" />
        <xs:element ref="stb:StbFootings" minOccurs="0" maxOccurs="1" />
        <xs:element ref="stb:StbStripFootings" minOccurs="0" maxOccurs="1" />
        <xs:element ref="stb:StbPiles" minOccurs="0" maxOccurs="1" />
        <xs:element ref="stb:StbFoundationColumns" minOccurs="0" maxOccurs="1" />
        <xs:element ref="stb:StbParapets" minOccurs="0" maxOccurs="1" />
        <xs:element ref="stb:StbOpens" minOccurs="0" maxOccurs="1" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="StbColumns">
    <xs:complexType>
      <xs:sequence>
        <xs:element ref="stb:StbColumn" minOccurs="1" maxOccurs="unbounded" />
      </xs:sequence>
    </xs:complexType>
      <xs:key name="stbColumns">
          <xs:selector xpath="stb:StbColumn"/>
          <xs:field xpath="@id"/>
      </xs:key>
  </xs:element>
  <xs:element name="StbColumn">
    <xs:complexType>
      <xs:attributeGroup ref="stb:Column" />
    </xs:complexType>
  </xs:element>
  <xs:element name="StbPosts">
    <xs:complexType>
      <xs:sequence>
        <xs:element ref="stb:StbPost" minOccurs="1" maxOccurs="unbounded" />
      </xs:sequence>
    </xs:complexType>
      <xs:key name="stbPosts">
          <xs:selector xpath="stb:StbPost"/>
          <xs:field xpath="@id"/>
      </xs:key>
  </xs:element>
  <xs:element name="StbPost">
    <xs:complexType>
      <xs:attributeGroup ref="stb:Column" />
    </xs:complexType>
  </xs:element>
  <xs:element name="StbGirders">
    <xs:complexType>
      <xs:sequence>
        <xs:element ref="stb:StbGirder" minOccurs="1" maxOccurs="unbounded" />
      </xs:sequence>
    </xs:complexType>
      <xs:key name="stbGirders">
          <xs:selector xpath="stb:StbGirder"/>
          <xs:field xpath="@id"/>
      </xs:key>
  </xs:element>
  <xs:element name="StbGirder">
    <xs:complexType>
      <xs:attributeGroup ref="stb:Girder" />
    </xs:complexType>
  </xs:element>
  <xs:element name="StbBeams">
    <xs:complexType>
      <xs:sequence>
        <xs:element ref="stb:StbBeam" minOccurs="1" maxOccurs="unbounded" />
      </xs:sequence>
    </xs:complexType>
      <xs:key name="stbBeams">
          <xs:selector xpath="stb:StbBeam"/>
          <xs:field xpath="@id"/>
      </xs:key>
  </xs:element>
  <xs:element name="StbBeam">
    <xs:complexType>
      <xs:attributeGroup ref="stb:Girder" />
    </xs:complexType>
  </xs:element>
  <xs:element name="StbBraces">
    <xs:complexType>
      <xs:sequence>
        <xs:element ref="stb:StbBrace" minOccurs="1" maxOccurs="unbounded" />
      </xs:sequence>
    </xs:complexType>
      <xs:key name="stbBraces">
          <xs:selector xpath="stb:StbBrace"/>
          <xs:field xpath="@id"/>
      </xs:key>
  </xs:element>
  <xs:element name="StbBrace">
    <xs:complexType>
      <xs:attribute name="id" type="xs:positiveInteger" use="required" />
      <xs:attribute name="guid" type="stb:guid" />
      <xs:attribute name="name" type="xs:string" use="required" />
      <xs:attribute name="id_node_start" type="xs:positiveInteger" use="required" />
      <xs:attribute name="id_node_end" type="xs:positiveInteger" use="required" />
      <xs:attribute name="rotate" type="stb:angle" default="0" />
      <xs:attribute name="id_section" type="xs:positiveInteger" use="required" />
      <xs:attribute name="kind_structure" use="required">
        <xs:simpleType>
          <xs:restriction base="xs:string">
            <xs:enumeration value="RC" />
            <xs:enumeration value="S" />
            <xs:enumeration value="SRC" />
          </xs:restriction>
        </xs:simpleType>
      </xs:attribute>
      <xs:attribute name="offset_start_X" type="xs:double" />
      <xs:attribute name="offset_start_Y" type="xs:double" />
      <xs:attribute name="offset_start_Z" type="xs:double" />
      <xs:attribute name="offset_end_X" type="xs:double" />
      <xs:attribute name="offset_end_Y" type="xs:double" />
      <xs:attribute name="offset_end_Z" type="xs:double" />
      <xs:attribute name="condition_start" default="FIX">
        <xs:simpleType>
          <xs:restriction base="xs:string">
            <xs:enumeration value="FIX" />
            <xs:enumeration value="PIN" />
          </xs:restriction>
        </xs:simpleType>
      </xs:attribute>
      <xs:attribute name="condition_end" default="FIX">
        <xs:simpleType>
          <xs:restriction base="xs:string">
            <xs:enumeration value="FIX" />
            <xs:enumeration value="PIN" />
          </xs:restriction>
        </xs:simpleType>
      </xs:attribute>
      <xs:attribute name="feature_brace" default="TENSION">
        <xs:simpleType>
          <xs:restriction base="xs:string">
            <xs:enumeration value="TENSION" />
            <xs:enumeration value="TENSIONANDCOMPRESSION" />
          </xs:restriction>
        </xs:simpleType>
      </xs:attribute>
      <xs:attribute name="joint_start" type="stb:length" />
      <xs:attribute name="joint_end" type="stb:length" />
      <xs:attribute name="kind_joint_start" default="WELD">
        <xs:simpleType>
          <xs:restriction base="xs:string">
            <xs:enumeration value="BOLT" />
            <xs:enumeration value="WBOLT" />
            <xs:enumeration value="WELD" />
          </xs:restriction>
        </xs:simpleType>
      </xs:attribute>
      <xs:attribute name="kind_joint_end" default="WELD">
        <xs:simpleType>
          <xs:restriction base="xs:string">
            <xs:enumeration value="BOLT" />
            <xs:enumeration value="WBOLT" />
            <xs:enumeration value="WELD" />
          </xs:restriction>
        </xs:simpleType>
      </xs:attribute>
      <xs:attribute name="joint_id_start" type="xs:positiveInteger"/>
      <xs:attribute name="joint_id_end" type="xs:positiveInteger"/>
    </xs:complexType>
  </xs:element>
  <xs:element name="StbSlabs">
    <xs:complexType>
      <xs:sequence>
        <xs:element ref="stb:StbSlab" minOccurs="1" maxOccurs="unbounded">
        </xs:element>
      </xs:sequence>
    </xs:complexType>
      <xs:key name="stbSlabs">
          <xs:selector xpath="stb:StbSlab"/>
          <xs:field xpath="@id"/>
      </xs:key>
  </xs:element>
  <xs:element name="StbSlab">
    <xs:complexType>
      <xs:sequence>
        <xs:element ref="stb:StbNodeIdOrder" minOccurs="1" maxOccurs="1" />
        <xs:element ref="stb:StbSlabOffsetList" minOccurs="0" maxOccurs="1" />
        <xs:element ref="stb:StbOpenIdList" minOccurs="0" maxOccurs="1" />
      </xs:sequence>
      <xs:attribute name="id" type="xs:positiveInteger" use="required" />
      <xs:attribute name="guid" type="stb:guid" />
      <xs:attribute name="name" type="xs:string" use="required" />
      <xs:attribute name="id_section" type="xs:positiveInteger" use="required" />
      <xs:attribute name="kind_structure" use="required">
          <xs:simpleType>
              <xs:restriction base="xs:string">
                  <xs:enumeration value="RC"/>
                  <xs:enumeration value="DECK"/>
                  <xs:enumeration value="PRECAST"/>
              </xs:restriction>
          </xs:simpleType>
      </xs:attribute>
      <xs:attribute name="kind_slab" use="required">
        <xs:simpleType>
          <xs:restriction base="xs:string">
            <xs:enumeration value="NORMAL" />
            <xs:enumeration value="CANTI" />
          </xs:restriction>
        </xs:simpleType>
      </xs:attribute>
      <xs:attribute name="thickness_add_top" type="stb:nonNegativeLength" />
      <xs:attribute name="thickness_add_bottom" type="stb:nonNegativeLength" />
      <xs:attribute name="direction_load">
        <xs:simpleType>
          <xs:restriction base="xs:string">
            <xs:enumeration value="1WAY" />
            <xs:enumeration value="2WAY" />
          </xs:restriction>
        </xs:simpleType>
      </xs:attribute>
      <xs:attribute name="angle_load" type="stb:angle" />
      <xs:attribute name="angle_main_bar_direction" type="stb:angle"/>
      <xs:attribute name="isFoundadtion" type="xs:boolean" use="required"/>
      <xs:attribute name="type_haunch">
        <xs:simpleType>
          <xs:restriction base="xs:string">
            <xs:enumeration value="BOTH" />
            <xs:enumeration value="TOP" />
            <xs:enumeration value="BOTTOM" />
          </xs:restriction>
        </xs:simpleType>
      </xs:attribute>
    </xs:complexType>
  </xs:element>
  <xs:element name="StbSlabOffsetList">
    <xs:complexType>
      <xs:sequence>
        <xs:element ref="stb:StbSlabOffset" minOccurs="1" maxOccurs="unbounded" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="StbSlabOffset">
    <xs:complexType>
      <xs:attribute name="id_node" type="xs:positiveInteger" use="required" />
      <xs:attribute name="offset_X" type="xs:double" use="required" />
      <xs:attribute name="offset_Y" type="xs:double" use="required" />
      <xs:attribute name="offset_Z" type="xs:double" use="required" />
    </xs:complexType>
  </xs:element>
  <xs:element name="StbWalls">
    <xs:complexType>
      <xs:sequence>
        <xs:element ref="stb:StbWall" minOccurs="1" maxOccurs="unbounded" />
      </xs:sequence>
    </xs:complexType>
      <xs:key name="stbWalls">
          <xs:selector xpath="stb:StbWall"/>
          <xs:field xpath="@id"/>
      </xs:key>
  </xs:element>
  <xs:element name="StbWall">
    <xs:complexType>
      <xs:sequence>
        <xs:element ref="stb:StbNodeIdOrder" minOccurs="1" maxOccurs="1" />
        <xs:element ref="stb:StbWallOffsetList" minOccurs="0" maxOccurs="1" />
        <xs:element ref="stb:StbOpenIdList" minOccurs="0" maxOccurs="1" />
      </xs:sequence>
      <xs:attribute name="id" type="xs:positiveInteger" use="required" />
      <xs:attribute name="guid" type="stb:guid" />
      <xs:attribute name="name" type="xs:string" use="required" />
      <xs:attribute name="id_section" type="xs:positiveInteger" use="required" />
      <xs:attribute name="kind_structure" type="xs:string" fixed="RC" use="required" />
      <xs:attribute name="kind_layout" use="required">
        <xs:simpleType>
          <xs:restriction base="xs:string">
            <xs:enumeration value="ON_GIRDER" />
            <xs:enumeration value="ON_BEAM" />
            <xs:enumeration value="ON_SLAB" />
          </xs:restriction>
        </xs:simpleType>
      </xs:attribute>
      <xs:attribute name="thickness_add_right" type="stb:nonNegativeLength" />
      <xs:attribute name="thickness_add_left" type="stb:nonNegativeLength" />
      <xs:attribute name="kind_wall" default="WALL_NORMAL">
        <xs:simpleType>
          <xs:restriction base="xs:string">
            <xs:enumeration value="WALL_NORMAL" />
            <xs:enumeration value="WALL_SHEAR" />
          </xs:restriction>
        </xs:simpleType>
      </xs:attribute>
      <xs:attribute name="slit_upper" type="stb:length" />
      <xs:attribute name="slit_bottom" type="stb:length" />
      <xs:attribute name="slit_right" type="stb:length" />
      <xs:attribute name="slit_left" type="stb:length" />
      <xs:attribute name="type_outside">
        <xs:simpleType>
          <xs:restriction base="xs:string">
            <xs:enumeration value="TYPE_PLUS" />
            <xs:enumeration value="TYPE_MINUS" />
          </xs:restriction>
        </xs:simpleType>
      </xs:attribute>
      <xs:attribute name="isPress" type="xs:boolean" default="false"/>
    </xs:complexType>
  </xs:element>
  <xs:element name="StbWallOffsetList">
    <xs:complexType>
      <xs:sequence>
        <xs:element ref="stb:StbWallOffset" minOccurs="1" maxOccurs="unbounded" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="StbWallOffset">
    <xs:complexType>
      <xs:attribute name="id_node" type="xs:positiveInteger" use="required" />
      <xs:attribute name="offset_X" type="xs:double" use="required" />
      <xs:attribute name="offset_Y" type="xs:double" use="required" />
      <xs:attribute name="offset_Z" type="xs:double" use="required" />
    </xs:complexType>
  </xs:element>
  <xs:element name="StbFootings">
    <xs:complexType>
      <xs:sequence>
        <xs:element ref="stb:StbFooting" minOccurs="1" maxOccurs="unbounded" />
      </xs:sequence>
    </xs:complexType>
      <xs:key name="stbFootings">
          <xs:selector xpath="stb:StbFooting"/>
          <xs:field xpath="@id"/>
      </xs:key>
  </xs:element>
  <xs:element name="StbFooting">
    <xs:complexType>
      <xs:attribute name="id" type="xs:positiveInteger" use="required" />
      <xs:attribute name="guid" type="stb:guid" />
      <xs:attribute name="name" type="xs:string" use="required" />
      <xs:attribute name="id_node" type="xs:positiveInteger" use="required" />
      <xs:attribute name="rotate" type="stb:angle" default="0" />
      <xs:attribute name="id_section" type="xs:positiveInteger" use="required" />
      <xs:attribute name="offset_X" type="xs:double" />
      <xs:attribute name="offset_Y" type="xs:double" />
      <xs:attribute name="level_bottom" type="xs:double" />
      <xs:attribute name="thickness_add_start_X" type="stb:nonNegativeLength" />
      <xs:attribute name="thickness_add_end_X" type="stb:nonNegativeLength" />
      <xs:attribute name="thickness_add_start_Y" type="stb:nonNegativeLength" />
      <xs:attribute name="thickness_add_end_Y" type="stb:nonNegativeLength" />
      <xs:attribute name="thickness_add_top" type="stb:nonNegativeLength" />
      <xs:attribute name="thickness_add_bottom" type="stb:nonNegativeLength" />
    </xs:complexType>
  </xs:element>
  <xs:element name="StbStripFootings">
    <xs:complexType>
      <xs:sequence>
        <xs:element ref="stb:StbStripFooting" minOccurs="1" maxOccurs="unbounded" />
      </xs:sequence>
    </xs:complexType>
      <xs:key name="stbStripFootings">
          <xs:selector xpath="stb:StbStripFooting"/>
          <xs:field xpath="@id"/>
      </xs:key>
  </xs:element>
  <xs:element name="StbStripFooting">
    <xs:complexType>
      <xs:attribute name="id" type="xs:positiveInteger" use="required" />
      <xs:attribute name="guid" type="stb:guid" />
      <xs:attribute name="name" type="xs:string" use="required" />
      <xs:attribute name="id_node_start" type="xs:positiveInteger" use="required" />
      <xs:attribute name="id_node_end" type="xs:positiveInteger" use="required" />
      <xs:attribute name="id_section" type="xs:positiveInteger" use="required" />
      <xs:attribute name="kind_structure" type="xs:string" fixed="RC" use="required" />
      <xs:attribute name="level" type="xs:double" />
      <xs:attribute name="offset" type="xs:double" />
      <xs:attribute name="length_ex_start" type="xs:double" />
      <xs:attribute name="length_ex_end" type="xs:double" />
    </xs:complexType>
  </xs:element>
  <xs:element name="StbPiles">
    <xs:complexType>
      <xs:sequence>
        <xs:element ref="stb:StbPile" minOccurs="1" maxOccurs="unbounded" />
      </xs:sequence>
    </xs:complexType>
      <xs:key name="stbPiles">
          <xs:selector xpath="stb:StbPile"/>
          <xs:field xpath="@id"/>
      </xs:key>
  </xs:element>
  <xs:element name="StbPile">
    <xs:complexType>
      <xs:attribute name="id" type="xs:positiveInteger" use="required" />
      <xs:attribute name="guid" type="stb:guid" />
      <xs:attribute name="name" type="xs:string" use="required" />
      <xs:attribute name="id_node" type="xs:positiveInteger" use="required" />
      <xs:attribute name="id_section" type="xs:positiveInteger" use="required" />
      <xs:attribute name="kind_structure" use="required">
        <xs:simpleType>
          <xs:restriction base="xs:string">
            <xs:enumeration value="RC" />
            <xs:enumeration value="S" />
            <xs:enumeration value="PC" />
          </xs:restriction>
        </xs:simpleType>
      </xs:attribute>
      <xs:attribute name="offset_X" type="xs:double" />
      <xs:attribute name="offset_Y" type="xs:double" />
      <xs:attribute name="level_top" type="xs:double" />
      <xs:attribute name="length_all" type="stb:length" />
      <xs:attribute name="length_head" type="stb:length" />
      <xs:attribute name="length_foot" type="stb:length" />
    </xs:complexType>
  </xs:element>
  <xs:element name="StbFoundationColumns">
    <xs:complexType>
      <xs:sequence>
        <xs:element ref="stb:StbFoundationColumn" minOccurs="1" maxOccurs="unbounded" />
      </xs:sequence>
    </xs:complexType>
      <xs:key name="stbFoundationColumns">
          <xs:selector xpath="stb:StbFoundationColumn"/>
          <xs:field xpath="@id"/>
      </xs:key>
  </xs:element>
  <xs:element name="StbFoundationColumn">
    <xs:complexType>
      <xs:attribute name="id" type="xs:positiveInteger" use="required" />
      <xs:attribute name="guid" type="stb:guid" />
      <xs:attribute name="name" type="xs:string" use="required" />
      <xs:attribute name="id_node" type="xs:positiveInteger" use="required" />
      <xs:attribute name="rotate" type="stb:angle" default="0" />
      <xs:attribute name="offset_Z" type="xs:double" />
      <xs:attribute name="kind_structure" type="xs:string" fixed="RC" use="required" />
      <xs:attribute name="id_section_FD" type="xs:positiveInteger" />
      <xs:attribute name="length_FD" type="stb:length" use="required" />
      <xs:attribute name="offset_FD_X" type="xs:double" />
      <xs:attribute name="offset_FD_Y" type="xs:double" />
      <xs:attribute name="thickness_add_FD_start_X" type="stb:nonNegativeLength" />
      <xs:attribute name="thickness_add_FD_end_X" type="stb:nonNegativeLength" />
      <xs:attribute name="thickness_add_FD_start_Y" type="stb:nonNegativeLength" />
      <xs:attribute name="thickness_add_FD_end_Y" type="stb:nonNegativeLength" />
      <xs:attribute name="id_section_WR" type="xs:positiveInteger" use="required" />
      <xs:attribute name="length_WR" type="stb:length" />
      <xs:attribute name="offset_WR_X" type="xs:double" />
      <xs:attribute name="offset_WR_Y" type="xs:double" />
      <xs:attribute name="thickness_add_WR_start_X" type="stb:nonNegativeLength" />
      <xs:attribute name="thickness_add_WR_end_X" type="stb:nonNegativeLength" />
      <xs:attribute name="thickness_add_WR_start_Y" type="stb:nonNegativeLength" />
      <xs:attribute name="thickness_add_WR_end_Y" type="stb:nonNegativeLength" />
    </xs:complexType>
  </xs:element>
  <xs:element name="StbParapets">
    <xs:complexType>
      <xs:sequence>
        <xs:element ref="stb:StbParapet" minOccurs="1" maxOccurs="unbounded" />
      </xs:sequence>
    </xs:complexType>
      <xs:key name="stbParapets">
          <xs:selector xpath="stb:StbParapet"/>
          <xs:field xpath="@id"/>
      </xs:key>
  </xs:element>
  <xs:element name="StbParapet">
    <xs:complexType>
      <xs:attribute name="id" type="xs:positiveInteger" use="required" />
      <xs:attribute name="guid" type="stb:guid" />
      <xs:attribute name="name" type="xs:string" use="required" />
      <xs:attribute name="id_node_start" type="xs:positiveInteger" use="required" />
      <xs:attribute name="id_node_end" type="xs:positiveInteger" use="required" />
      <xs:attribute name="id_section" type="xs:positiveInteger" use="required" />
      <xs:attribute name="kind_structure" type="xs:string" fixed="RC" use="required" />
      <xs:attribute name="kind_layout" use="required">
        <xs:simpleType>
          <xs:restriction base="xs:string">
            <xs:enumeration value="ON_GIRDER" />
            <xs:enumeration value="ON_BEAM" />
            <xs:enumeration value="ON_SLAB" />
          </xs:restriction>
        </xs:simpleType>
      </xs:attribute>
      <xs:attribute name="direction">
        <xs:simpleType>
          <xs:restriction base="xs:string">
            <xs:enumeration value="R" />
            <xs:enumeration value="L" />
          </xs:restriction>
        </xs:simpleType>
      </xs:attribute>
      <xs:attribute name="offset" type="xs:double" />
      <xs:attribute name="level" type="xs:double" />
    </xs:complexType>
  </xs:element>
  <xs:element name="StbOpens">
    <xs:complexType>
      <xs:sequence>
        <xs:element ref="stb:StbOpen" minOccurs="1" maxOccurs="unbounded" />
      </xs:sequence>
    </xs:complexType>
      <xs:key name="stbOpens">
          <xs:selector xpath="stb:StbOpen"/>
          <xs:field xpath="@id"/>
      </xs:key>
  </xs:element>
  <xs:element name="StbOpen">
    <xs:complexType>
      <xs:attribute name="id" type="xs:positiveInteger" use="required" />
      <xs:attribute name="guid" type="stb:guid" />
      <xs:attribute name="name" type="xs:string" />
      <xs:attribute name="id_section" type="xs:positiveInteger" use="required" />
      <xs:attribute name="position_X" type="xs:double" use="required" />
      <xs:attribute name="position_Y" type="xs:double" use="required" />
      <xs:attribute name="length_X" type="stb:length" use="required" />
      <xs:attribute name="length_Y" type="stb:length" use="required" />
      <xs:attribute name="rotate" type="stb:angle" use="required" />
    </xs:complexType>
  </xs:element>
  <xs:element name="StbOpenIdList">
    <xs:complexType>
      <xs:sequence>
        <xs:element ref="stb:StbOpenId" minOccurs="1" maxOccurs="unbounded" />
      </xs:sequence>
    </xs:complexType>
      <xs:key name="stbOpenIdList">
          <xs:selector xpath="stb:StbOpenId"/>
          <xs:field xpath="@id"/>
      </xs:key>
  </xs:element>
  <xs:element name="StbOpenId">
    <xs:complexType>
      <xs:attribute name="id" type="xs:positiveInteger" use="required" />
    </xs:complexType>
  </xs:element>
  <xs:element name="StbSections">
    <xs:complexType>
      <xs:sequence>
        <xs:element ref="stb:StbSecColumn_RC" minOccurs="0" maxOccurs="unbounded" />
        <xs:element ref="stb:StbSecColumn_S" minOccurs="0" maxOccurs="unbounded" />
        <xs:element ref="stb:StbSecColumn_SRC" minOccurs="0" maxOccurs="unbounded" />
        <xs:element ref="stb:StbSecColumn_CFT" minOccurs="0" maxOccurs="unbounded" />
        <xs:element ref="stb:StbSecBeam_RC" minOccurs="0" maxOccurs="unbounded" />
        <xs:element ref="stb:StbSecBeam_S" minOccurs="0" maxOccurs="unbounded" />
        <xs:element ref="stb:StbSecBeam_SRC" minOccurs="0" maxOccurs="unbounded" />
        <xs:element ref="stb:StbSecBrace_S" minOccurs="0" maxOccurs="unbounded" />
        <xs:element ref="stb:StbSecSlab_RC" minOccurs="0" maxOccurs="unbounded" />
        <xs:element ref="stb:StbSecSlabDeck" minOccurs="0" maxOccurs="unbounded" />
        <xs:element ref="stb:StbSecSlabPrecast" minOccurs="0" maxOccurs="unbounded" />
        <xs:element ref="stb:StbSecWall_RC" minOccurs="0" maxOccurs="unbounded" />
        <xs:element ref="stb:StbSecFoundation_RC" minOccurs="0" maxOccurs="unbounded" />
        <xs:element ref="stb:StbSecPile_RC" minOccurs="0" maxOccurs="unbounded" />
        <xs:element ref="stb:StbSecPile_S" minOccurs="0" maxOccurs="unbounded" />
        <xs:element ref="stb:StbSecPileProduct" minOccurs="0" maxOccurs="unbounded" />
        <xs:element ref="stb:StbSecOpen_RC" minOccurs="0" maxOccurs="unbounded" />
        <xs:element ref="stb:StbSecParapet_RC" minOccurs="0" maxOccurs="unbounded" />
        <xs:element ref="stb:StbSecSteel" minOccurs="0" maxOccurs="1" />
      </xs:sequence>
    </xs:complexType>
      <xs:key name="stbSecColumn_RC">
          <xs:selector xpath="stb:StbSecColumn_RC"/>
          <xs:field xpath="@id"/>
      </xs:key>
      <xs:key name="stbSecColumn_S">
          <xs:selector xpath="stb:StbSecColumn_S"/>
          <xs:field xpath="@id"/>
      </xs:key>
      <xs:key name="stbSecColumn_SRC">
          <xs:selector xpath="stb:StbSecColumn_SRC"/>
          <xs:field xpath="@id"/>
      </xs:key>
      <xs:key name="stbSecColumn_CFT">
          <xs:selector xpath="stb:StbSecColumn_CFT"/>
          <xs:field xpath="@id"/>
      </xs:key>
      <xs:key name="stbSecBeam_RC">
          <xs:selector xpath="stb:StbSecBeam_RC"/>
          <xs:field xpath="@id"/>
      </xs:key>
      <xs:key name="stbSecBeam_S">
          <xs:selector xpath="stb:StbSecBeam_S"/>
          <xs:field xpath="@id"/>
      </xs:key>
      <xs:key name="stbSecBeam_SRC">
          <xs:selector xpath="stb:StbSecBeam_SRC"/>
          <xs:field xpath="@id"/>
      </xs:key>
      <xs:key name="stbSecBrace_S">
          <xs:selector xpath="stb:StbSecBrace_S"/>
          <xs:field xpath="@id"/>
      </xs:key>
      <xs:key name="stbSecSlab_RC">
          <xs:selector xpath="stb:StbSecSlab_RC"/>
          <xs:field xpath="@id"/>
      </xs:key>
      <xs:key name="stbSecSlabDeck">
          <xs:selector xpath="stb:StbSecSlabDeck"/>
          <xs:field xpath="@id"/>
      </xs:key>
      <xs:key name="stbSecSlabPrecast">
          <xs:selector xpath="stb:StbSecSlabPrecast"/>
          <xs:field xpath="@id"/>
      </xs:key>
      <xs:key name="stbSecWall_RC">
          <xs:selector xpath="stb:StbSecWall_RC"/>
          <xs:field xpath="@id"/>
      </xs:key>
      <xs:key name="stbSecFoundation_RC">
          <xs:selector xpath="stb:StbSecFoundation_RC"/>
          <xs:field xpath="@id"/>
      </xs:key>
      <xs:key name="stbSecPile_RC">
          <xs:selector xpath="stb:StbSecPile_RC"/>
          <xs:field xpath="@id"/>
      </xs:key>
      <xs:key name="stbSecPile_S">
          <xs:selector xpath="stb:StbSecPile_S"/>
          <xs:field xpath="@id"/>
      </xs:key>
      <xs:key name="stbSecPileProduct">
          <xs:selector xpath="stb:StbSecPileProduct"/>
          <xs:field xpath="@id"/>
      </xs:key>
      <xs:key name="stbSecOpen_RC">
          <xs:selector xpath="stb:StbSecOpen_RC"/>
          <xs:field xpath="@id"/>
      </xs:key>
      <xs:key name="stbSecParapet_RC">
          <xs:selector xpath="stb:StbSecParapet_RC"/>
          <xs:field xpath="@id"/>
      </xs:key>
      <xs:key name="stbSecSteel">
          <xs:selector xpath="stb:StbSecSteel/*"/>
          <xs:field xpath="@name"/>
      </xs:key>
  </xs:element>
  <xs:element name="StbSecColumn_RC">
    <xs:complexType>
      <xs:sequence>
        <xs:element ref="stb:StbSecFigureColumn_RC" minOccurs="1" maxOccurs="1" />
        <xs:element ref="stb:StbSecBarArrangementColumn_RC" minOccurs="0" maxOccurs="1" />
      </xs:sequence>
      <xs:attribute name="id" type="xs:positiveInteger" use="required" />
      <xs:attribute name="guid" type="stb:guid" />
      <xs:attribute name="name" type="xs:string" use="required" />
      <xs:attribute name="floor" type="xs:string" />
      <xs:attribute name="kind_column">
        <xs:simpleType>
          <xs:restriction base="xs:string">
            <xs:enumeration value="COLUMN" />
            <xs:enumeration value="POST" />
          </xs:restriction>
        </xs:simpleType>
      </xs:attribute>
      <xs:attribute name="strength_concrete" type="xs:string" />
    </xs:complexType>
  </xs:element>
  <xs:element name="StbSecFigureColumn_RC">
    <xs:complexType>
      <xs:choice>
        <xs:element ref="stb:StbSecColumn_RC_Rect" minOccurs="1" maxOccurs="1" />
        <xs:element ref="stb:StbSecColumn_RC_Circle" minOccurs="1" maxOccurs="1" />
      </xs:choice>
    </xs:complexType>
  </xs:element>
  <xs:element name="StbSecColumn_RC_Rect">
    <xs:complexType>
        <xs:attributeGroup ref="stb:SecColumn_RC_Rect"/>
    </xs:complexType>
  </xs:element>
  <xs:element name="StbSecColumn_RC_Circle">
    <xs:complexType>
        <xs:attributeGroup ref="stb:SecColumn_RC_Circle"/>
    </xs:complexType>
  </xs:element>
  <xs:element name="StbSecBarArrangementColumn_RC">
    <xs:complexType>
      <xs:choice>
        <xs:sequence>
          <xs:element ref="stb:StbSecBarColumn_RC_RectSame" minOccurs="1" maxOccurs="1" />
          <xs:element ref="stb:StbSecBarColumnXReinforced" minOccurs="0" maxOccurs="1" />
        </xs:sequence>
        <xs:sequence>
          <xs:element ref="stb:StbSecBarColumn_RC_RectNotSame" minOccurs="2" maxOccurs="2" />
          <xs:element ref="stb:StbSecBarColumnXReinforced" minOccurs="0" maxOccurs="1" />
        </xs:sequence>
        <xs:element ref="stb:StbSecBarColumn_RC_CircleSame" minOccurs="1" maxOccurs="1" />
        <xs:element ref="stb:StbSecBarColumn_RC_CircleNotSame" minOccurs="2" maxOccurs="2" />
      </xs:choice>
      <xs:attribute name="depth_cover_start_X" type="stb:length" />
      <xs:attribute name="depth_cover_end_X" type="stb:length" />
      <xs:attribute name="depth_cover_start_Y" type="stb:length" />
      <xs:attribute name="depth_cover_end_Y" type="stb:length" />
      <xs:attribute name="interval" type="stb:length" />
      <xs:attribute name="kind_corner" default="NONE">
        <xs:simpleType>
          <xs:restriction base="xs:string">
            <xs:enumeration value="NONE" />
            <xs:enumeration value="DIR_X" />
            <xs:enumeration value="DIR_Y" />
            <xs:enumeration value="DIR_XY" />
          </xs:restriction>
        </xs:simpleType>
      </xs:attribute>
      <xs:attribute name="isSpiral" type="xs:boolean" default="false" />
      <xs:attribute name="center_start_X" type="stb:length" />
      <xs:attribute name="center_end_X" type="stb:length" />
      <xs:attribute name="center_start_Y" type="stb:length" />
      <xs:attribute name="center_end_Y" type="stb:length" />
      <xs:attribute name="center_interval" type="stb:length" />
    </xs:complexType>
  </xs:element>
  <xs:element name="StbSecBarColumn_RC_RectSame">
    <xs:complexType>
      <xs:attributeGroup ref="stb:SecBarColumn_RC_RectSame" />
    </xs:complexType>
  </xs:element>
  <xs:element name="StbSecBarColumn_RC_RectNotSame">
    <xs:complexType>
      <xs:attributeGroup ref="stb:SecBarColumn_RC_RectNotSame" />
    </xs:complexType>
  </xs:element>
  <xs:element name="StbSecBarColumn_RC_CircleSame">
    <xs:complexType>
      <xs:attributeGroup ref="stb:SecBarColumn_RC_CircleSame" />
    </xs:complexType>
  </xs:element>
  <xs:element name="StbSecBarColumn_RC_CircleNotSame">
    <xs:complexType>
      <xs:attributeGroup ref="stb:SecBarColumn_RC_CircleNotSame" />
    </xs:complexType>
  </xs:element>
  <xs:element name="StbSecBarColumnXReinforced">
    <xs:complexType>
      <xs:attribute name="N_main_X" type="xs:positiveInteger" />
      <xs:attribute name="N_main_Y" type="xs:positiveInteger" />
      <xs:attribute name="N_main_total" type="xs:positiveInteger" />
    </xs:complexType>
  </xs:element>
  <xs:element name="StbSecColumn_S">
    <xs:complexType>
      <xs:sequence>
        <xs:element ref="stb:StbSecSteelFigureColumn_S" minOccurs="1" maxOccurs="1" />
        <xs:choice>
          <xs:element ref="stb:StbSecBaseProduct_S" minOccurs="0" maxOccurs="1" />
          <xs:element ref="stb:StbSecBaseConventional_S" minOccurs="0" maxOccurs="1" />
        </xs:choice>
      </xs:sequence>
      <xs:attribute name="id" type="xs:positiveInteger" use="required" />
      <xs:attribute name="guid" type="stb:guid" />
      <xs:attribute name="name" type="xs:string" use="required" />
      <xs:attribute name="floor" type="xs:string" />
      <xs:attribute name="kind_column">
        <xs:simpleType>
          <xs:restriction base="xs:string">
            <xs:enumeration value="COLUMN" />
            <xs:enumeration value="POST" />
          </xs:restriction>
        </xs:simpleType>
      </xs:attribute>
      <xs:attribute name="isReferenceDirection" type="xs:boolean" default="true"/>
    </xs:complexType>
  </xs:element>
  <xs:element name="StbSecSteelFigureColumn_S">
    <xs:complexType>
      <xs:choice>
        <xs:element ref="stb:StbSecSteelColumn_S_Same" minOccurs="1" maxOccurs="1" />
        <xs:element ref="stb:StbSecSteelColumn_S_NotSame" minOccurs="2" maxOccurs="2" />
        <xs:element ref="stb:StbSecSteelColumn_S_ThreeTypes" minOccurs="3" maxOccurs="3" />
      </xs:choice>
      <xs:attribute name="base_type" default="NONE">
        <xs:simpleType>
          <xs:restriction base="xs:string">
            <xs:enumeration value="NONE" />
            <xs:enumeration value="EXPOSE" />
            <xs:enumeration value="EMBEDDED" />
            <xs:enumeration value="WRAP" />
          </xs:restriction>
        </xs:simpleType>
      </xs:attribute>
      <xs:attribute name="joint_id_top" type="xs:positiveInteger" />
      <xs:attribute name="joint_id_bottom" type="xs:positiveInteger" />
    </xs:complexType>
  </xs:element>
  <xs:element name="StbSecSteelColumn_S_Same">
    <xs:complexType>
      <xs:attribute name="shape" type="xs:string" use="required" />
      <xs:attribute name="strength_main" type="xs:string" use="required" />
      <xs:attribute name="strength_web" type="xs:string" />
    </xs:complexType>
  </xs:element>
  <xs:element name="StbSecSteelColumn_S_NotSame">
    <xs:complexType>
      <xs:attribute name="pos" use="required">
        <xs:simpleType>
          <xs:restriction base="xs:string">
            <xs:enumeration value="BOTTOM" />
            <xs:enumeration value="TOP" />
          </xs:restriction>
        </xs:simpleType>
      </xs:attribute>
      <xs:attribute name="shape" type="xs:string" use="required" />
      <xs:attribute name="strength_main" type="xs:string" use="required" />
      <xs:attribute name="strength_web" type="xs:string" />
    </xs:complexType>
  </xs:element>
  <xs:element name="StbSecSteelColumn_S_ThreeTypes">
    <xs:complexType>
      <xs:attribute name="pos" use="required">
        <xs:simpleType>
          <xs:restriction base="xs:string">
            <xs:enumeration value="BOTTOM" />
            <xs:enumeration value="CENTER" />
            <xs:enumeration value="TOP" />
          </xs:restriction>
        </xs:simpleType>
      </xs:attribute>
      <xs:attribute name="shape" type="xs:string" use="required" />
      <xs:attribute name="strength_main" type="xs:string" use="required" />
      <xs:attribute name="strength_web" type="xs:string" />
    </xs:complexType>
  </xs:element>
  <xs:element name="StbSecBaseProduct_S">
    <xs:complexType>
      <xs:attributeGroup ref="stb:SecBaseProduct_S" />
    </xs:complexType>
  </xs:element>
  <xs:element name="StbSecBaseConventional_S">
    <xs:complexType>
      <xs:sequence>
        <xs:element ref="stb:StbSecBaseConventional_S_Plate" minOccurs="1" maxOccurs="1" />
        <xs:element ref="stb:StbSecBaseConventional_S_AnchorBolt" minOccurs="1" maxOccurs="1" />
        <xs:element ref="stb:StbSecBaseConventional_S_RibPlate" minOccurs="0" maxOccurs="1" />
      </xs:sequence>
      <xs:attribute name="height_mortar" type="stb:nonNegativeLength" use="required" />
    </xs:complexType>
  </xs:element>
  <xs:element name="StbSecBaseConventional_S_Plate">
    <xs:complexType>
      <xs:attributeGroup ref="stb:SecBaseConventional_S_Plate" />
    </xs:complexType>
  </xs:element>
  <xs:element name="StbSecBaseConventional_S_AnchorBolt">
    <xs:complexType>
      <xs:attributeGroup ref="stb:SecBaseConventional_S_AnchorBolt" />
    </xs:complexType>
  </xs:element>
  <xs:element name="StbSecBaseConventional_S_RibPlate">
    <xs:complexType>
      <xs:attributeGroup ref="stb:SecBaseConventional_S_RibPlate" />
    </xs:complexType>
  </xs:element>
  <xs:element name="StbSecColumn_SRC">
    <xs:complexType>
      <xs:sequence>
        <xs:element ref="stb:StbSecFigureColumn_SRC" minOccurs="1" maxOccurs="1" />
        <xs:element ref="stb:StbSecBarArrangementColumn_SRC" minOccurs="0" maxOccurs="1" />
        <xs:element ref="stb:StbSecSteelFigureColumn_SRC" minOccurs="0" maxOccurs="1" />
        <xs:choice>
          <xs:element ref="stb:StbSecBaseProduct_SRC" minOccurs="0" maxOccurs="1" />
          <xs:element ref="stb:StbSecBaseConventional_SRC" minOccurs="0" maxOccurs="1" />
        </xs:choice>
      </xs:sequence>
      <xs:attribute name="id" type="xs:positiveInteger" use="required" />
      <xs:attribute name="guid" type="stb:guid" />
      <xs:attribute name="name" type="xs:string" use="required" />
      <xs:attribute name="floor" type="xs:string" />
      <xs:attribute name="kind_column" default="COLUMN">
        <xs:simpleType>
          <xs:restriction base="xs:string">
            <xs:enumeration value="COLUMN" />
            <xs:enumeration value="POST" />
          </xs:restriction>
        </xs:simpleType>
      </xs:attribute>
      <xs:attribute name="strength_concrete" type="xs:string" />
    </xs:complexType>
  </xs:element>
  <xs:element name="StbSecFigureColumn_SRC">
    <xs:complexType>
      <xs:choice>
        <xs:element ref="stb:StbSecColumn_SRC_Rect" minOccurs="1" maxOccurs="1" />
        <xs:element ref="stb:StbSecColumn_SRC_Circle" minOccurs="1" maxOccurs="1" />
      </xs:choice>
    </xs:complexType>
  </xs:element>
  <xs:element name="StbSecColumn_SRC_Rect">
    <xs:complexType>
        <xs:attributeGroup ref="stb:SecColumn_RC_Rect"/>
    </xs:complexType>
  </xs:element>
  <xs:element name="StbSecColumn_SRC_Circle">
    <xs:complexType>
        <xs:attributeGroup ref="stb:SecColumn_RC_Circle"/>
    </xs:complexType>
  </xs:element>
  <xs:element name="StbSecBarArrangementColumn_SRC">
    <xs:complexType>
      <xs:choice>
        <xs:element ref="stb:StbSecBarColumn_SRC_RectSame" minOccurs="1" maxOccurs="1" />
        <xs:element ref="stb:StbSecBarColumn_SRC_RectNotSame" minOccurs="2" maxOccurs="2" />
        <xs:element ref="stb:StbSecBarColumn_SRC_CircleSame" minOccurs="1" maxOccurs="1" />
        <xs:element ref="stb:StbSecBarColumn_SRC_CircleNotSame" minOccurs="2" maxOccurs="2" />
      </xs:choice>
      <xs:attribute name="depth_cover_start_X" type="stb:length" />
      <xs:attribute name="depth_cover_end_X" type="stb:length" />
      <xs:attribute name="depth_cover_start_Y" type="stb:length" />
      <xs:attribute name="depth_cover_end_Y" type="stb:length" />
      <xs:attribute name="interval" type="stb:length" />
      <xs:attribute name="kind_corner" default="NONE">
        <xs:simpleType>
          <xs:restriction base="xs:string">
            <xs:enumeration value="NONE" />
            <xs:enumeration value="DIR_X" />
            <xs:enumeration value="DIR_Y" />
            <xs:enumeration value="DIR_XY" />
          </xs:restriction>
        </xs:simpleType>
      </xs:attribute>
      <xs:attribute name="isSpiral" type="xs:boolean" default="false"/>
      <xs:attribute name="center_start_X" type="stb:length" />
      <xs:attribute name="center_end_X" type="stb:length" />
      <xs:attribute name="center_start_Y" type="stb:length" />
      <xs:attribute name="center_end_Y" type="stb:length" />
      <xs:attribute name="center_interval" type="stb:length" />
    </xs:complexType>
  </xs:element>
  <xs:element name="StbSecBarColumn_SRC_RectSame">
    <xs:complexType>
      <xs:attributeGroup ref="stb:SecBarColumn_RC_RectSame" />
    </xs:complexType>
  </xs:element>
  <xs:element name="StbSecBarColumn_SRC_RectNotSame">
    <xs:complexType>
      <xs:attributeGroup ref="stb:SecBarColumn_RC_RectNotSame" />
    </xs:complexType>
  </xs:element>
  <xs:element name="StbSecBarColumn_SRC_CircleSame">
    <xs:complexType>
      <xs:attributeGroup ref="stb:SecBarColumn_RC_CircleSame" />
    </xs:complexType>
  </xs:element>
  <xs:element name="StbSecBarColumn_SRC_CircleNotSame">
    <xs:complexType>
      <xs:attributeGroup ref="stb:SecBarColumn_RC_CircleNotSame" />
    </xs:complexType>
  </xs:element>
  <xs:element name="StbSecSteelFigureColumn_SRC">
    <xs:complexType>
      <xs:choice>
        <xs:element ref="stb:StbSecSteelColumn_SRC_Same" minOccurs="1" maxOccurs="1" />
        <xs:element ref="stb:StbSecSteelColumn_SRC_NotSame" minOccurs="2" maxOccurs="2" />
        <xs:element ref="stb:StbSecSteelColumn_SRC_ThreeTypes" minOccurs="3" maxOccurs="3" />
      </xs:choice>
      <xs:attribute name="base_type" default="NONE">
        <xs:simpleType>
          <xs:restriction base="xs:string">
            <xs:enumeration value="NONE" />
            <xs:enumeration value="UNEMBEDDED" />
            <xs:enumeration value="EMBEDDED" />
          </xs:restriction>
        </xs:simpleType>
      </xs:attribute>
      <xs:attribute name="joint_id_top" type="xs:positiveInteger" />
      <xs:attribute name="joint_id_bottom" type="xs:positiveInteger" />
      <xs:attribute name="length_embedded" type="stb:length" />
    </xs:complexType>
  </xs:element>
  <xs:element name="StbSecSteelColumn_SRC_Same">
    <xs:complexType>
      <xs:choice>
        <xs:element ref="stb:StbSecColumn_SRC_SameShapeH" minOccurs="1" maxOccurs="1" />
        <xs:element ref="stb:StbSecColumn_SRC_SameShapeBOX" minOccurs="1" maxOccurs="1" />
        <xs:element ref="stb:StbSecColumn_SRC_SameShapePipe" minOccurs="1" maxOccurs="1" />
        <xs:element ref="stb:StbSecColumn_SRC_SameShapeCross" minOccurs="1" maxOccurs="1" />
        <xs:element ref="stb:StbSecColumn_SRC_SameShapeT" minOccurs="1" maxOccurs="1" />
      </xs:choice>
    </xs:complexType>
  </xs:element>
  <xs:element name="StbSecColumn_SRC_SameShapeH">
    <xs:complexType>
      <xs:attributeGroup ref="stb:SecColumn_SRC_SameShapeH" />
    </xs:complexType>
  </xs:element>
  <xs:element name="StbSecColumn_SRC_SameShapeBOX">
    <xs:complexType>
      <xs:attributeGroup ref="stb:SecColumn_SRC_SameShapeBOX" />
    </xs:complexType>
  </xs:element>
  <xs:element name="StbSecColumn_SRC_SameShapePipe">
    <xs:complexType>
      <xs:attributeGroup ref="stb:SecColumn_SRC_SameShapePipe" />
    </xs:complexType>
  </xs:element>
  <xs:element name="StbSecColumn_SRC_SameShapeCross">
    <xs:complexType>
      <xs:attributeGroup ref="stb:SecColumn_SRC_SameShapeCross" />
    </xs:complexType>
  </xs:element>
  <xs:element name="StbSecColumn_SRC_SameShapeT">
    <xs:complexType>
      <xs:attributeGroup ref="stb:SecColumn_SRC_SameShapeT" />
    </xs:complexType>
  </xs:element>
  <xs:element name="StbSecSteelColumn_SRC_NotSame">
    <xs:complexType>
      <xs:choice>
        <xs:element ref="stb:StbSecColumn_SRC_NotSameShapeH" minOccurs="2" maxOccurs="2" />
        <xs:element ref="stb:StbSecColumn_SRC_NotSameShapeBox" minOccurs="2" maxOccurs="2" />
        <xs:element ref="stb:StbSecColumn_SRC_NotSameShapePipe" minOccurs="2" maxOccurs="2" />
        <xs:element ref="stb:StbSecColumn_SRC_NotSameShapeCross" minOccurs="2" maxOccurs="2" />
        <xs:element ref="stb:StbSecColumn_SRC_NotSameShapeT" minOccurs="2" maxOccurs="2" />
      </xs:choice>
      <xs:attribute name="pos" use="required">
        <xs:simpleType>
          <xs:restriction base="xs:string">
            <xs:enumeration value="BOTTOM" />
            <xs:enumeration value="TOP" />
          </xs:restriction>
        </xs:simpleType>
      </xs:attribute>
    </xs:complexType>
  </xs:element>
  <xs:element name="StbSecColumn_SRC_NotSameShapeH">
    <xs:complexType>
      <xs:attributeGroup ref="stb:SecColumn_SRC_SameShapeH" />
    </xs:complexType>
  </xs:element>
  <xs:element name="StbSecColumn_SRC_NotSameShapeBox">
    <xs:complexType>
      <xs:attributeGroup ref="stb:SecColumn_SRC_SameShapeBOX" />
    </xs:complexType>
  </xs:element>
  <xs:element name="StbSecColumn_SRC_NotSameShapePipe">
    <xs:complexType>
      <xs:attributeGroup ref="stb:SecColumn_SRC_SameShapePipe" />
    </xs:complexType>
  </xs:element>
  <xs:element name="StbSecColumn_SRC_NotSameShapeCross">
    <xs:complexType>
      <xs:attributeGroup ref="stb:SecColumn_SRC_SameShapeCross" />
    </xs:complexType>
  </xs:element>
  <xs:element name="StbSecColumn_SRC_NotSameShapeT">
    <xs:complexType>
      <xs:attributeGroup ref="stb:SecColumn_SRC_SameShapeT" />
    </xs:complexType>
  </xs:element>
  <xs:element name="StbSecSteelColumn_SRC_ThreeTypes">
    <xs:complexType>
      <xs:choice>
        <xs:element ref="stb:StbSecColumn_SRC_ThreeTypesShapeH" minOccurs="3" maxOccurs="3" />
        <xs:element ref="stb:StbSecColumn_SRC_ThreeTypesShapeBox" minOccurs="3" maxOccurs="3" />
        <xs:element ref="stb:StbSecColumn_SRC_ThreeTypesShapePipe" minOccurs="3" maxOccurs="3" />
        <xs:element ref="stb:StbSecColumn_SRC_ThreeTypesShapeCross" minOccurs="3" maxOccurs="3" />
        <xs:element ref="stb:StbSecColumn_SRC_ThreeTypesShapeT" minOccurs="3" maxOccurs="3" />
      </xs:choice>
      <xs:attribute name="pos" use="required">
        <xs:simpleType>
          <xs:restriction base="xs:string">
            <xs:enumeration value="BOTTOM" />
            <xs:enumeration value="CENTER" />
            <xs:enumeration value="TOP" />
          </xs:restriction>
        </xs:simpleType>
      </xs:attribute>
    </xs:complexType>
  </xs:element>
  <xs:element name="StbSecColumn_SRC_ThreeTypesShapeH">
    <xs:complexType>
      <xs:attributeGroup ref="stb:SecColumn_SRC_SameShapeH" />
    </xs:complexType>
  </xs:element>
  <xs:element name="StbSecColumn_SRC_ThreeTypesShapeBox">
    <xs:complexType>
      <xs:attributeGroup ref="stb:SecColumn_SRC_SameShapeBOX" />
    </xs:complexType>
  </xs:element>
  <xs:element name="StbSecColumn_SRC_ThreeTypesShapePipe">
    <xs:complexType>
      <xs:attributeGroup ref="stb:SecColumn_SRC_SameShapePipe" />
    </xs:complexType>
  </xs:element>
  <xs:element name="StbSecColumn_SRC_ThreeTypesShapeCross">
    <xs:complexType>
      <xs:attributeGroup ref="stb:SecColumn_SRC_SameShapeCross" />
    </xs:complexType>
  </xs:element>
  <xs:element name="StbSecColumn_SRC_ThreeTypesShapeT">
    <xs:complexType>
      <xs:attributeGroup ref="stb:SecColumn_SRC_SameShapeT" />
    </xs:complexType>
  </xs:element>
  <xs:element name="StbSecBaseProduct_SRC">
    <xs:complexType>
      <xs:attributeGroup ref="stb:SecBaseProduct_S" />
    </xs:complexType>
  </xs:element>
  <xs:element name="StbSecBaseConventional_SRC">
    <xs:complexType>
      <xs:sequence>
        <xs:element ref="stb:StbSecBaseConventional_SRC_Plate" minOccurs="1" maxOccurs="1" />
        <xs:element ref="stb:StbSecBaseConventional_SRC_AnchorBolt" minOccurs="1" maxOccurs="1" />
        <xs:element ref="stb:StbSecBaseConventional_SRC_RibPlate" minOccurs="0" maxOccurs="1" />
      </xs:sequence>
      <xs:attribute name="height_mortar" type="stb:nonNegativeLength" use="required" />
    </xs:complexType>
  </xs:element>
  <xs:element name="StbSecBaseConventional_SRC_Plate">
    <xs:complexType>
      <xs:attributeGroup ref="stb:SecBaseConventional_S_Plate" />
    </xs:complexType>
  </xs:element>
  <xs:element name="StbSecBaseConventional_SRC_AnchorBolt">
    <xs:complexType>
      <xs:attributeGroup ref="stb:SecBaseConventional_S_AnchorBolt" />
    </xs:complexType>
  </xs:element>
  <xs:element name="StbSecBaseConventional_SRC_RibPlate">
    <xs:complexType>
      <xs:attributeGroup ref="stb:SecBaseConventional_S_RibPlate" />
    </xs:complexType>
  </xs:element>
  <xs:element name="StbSecColumn_CFT">
    <xs:complexType>
      <xs:sequence>
        <xs:element ref="stb:StbSecSteelFigureColumn_CFT" minOccurs="1" maxOccurs="1" />
        <xs:choice>
          <xs:element ref="stb:StbSecBaseProduct_CFT" minOccurs="0" maxOccurs="1" />
          <xs:element ref="stb:StbSecBaseConventional_CFT" minOccurs="0" maxOccurs="1" />
        </xs:choice>
      </xs:sequence>
      <xs:attribute name="id" type="xs:positiveInteger" use="required" />
      <xs:attribute name="guid" type="stb:guid" />
      <xs:attribute name="name" type="xs:string" use="required" />
      <xs:attribute name="floor" type="xs:string" />
      <xs:attribute name="kind_column" default="COLUMN">
        <xs:simpleType>
          <xs:restriction base="xs:string">
            <xs:enumeration value="COLUMN" />
            <xs:enumeration value="POST" />
          </xs:restriction>
        </xs:simpleType>
      </xs:attribute>
      <xs:attribute name="strength_concrete" type="xs:string" />
      <xs:attribute name="isReferenceDirection" type="xs:boolean" default="true"/>
    </xs:complexType>
  </xs:element>
  <xs:element name="StbSecSteelFigureColumn_CFT">
    <xs:complexType>
      <xs:choice>
        <xs:element ref="stb:StbSecSteelColumn_CFT_Same" minOccurs="1" maxOccurs="1" />
        <xs:element ref="stb:StbSecSteelColumn_CFT_NotSame" minOccurs="2" maxOccurs="2" />
        <xs:element ref="stb:StbSecSteelColumn_CFT_ThreeTypes" minOccurs="3" maxOccurs="3" />
      </xs:choice>
      <xs:attribute name="base_type" default="NONE">
        <xs:simpleType>
          <xs:restriction base="xs:string">
            <xs:enumeration value="NONE" />
            <xs:enumeration value="EXPOSE" />
            <xs:enumeration value="EMBEDDED" />
          </xs:restriction>
        </xs:simpleType>
      </xs:attribute>
    </xs:complexType>
  </xs:element>
  <xs:element name="StbSecSteelColumn_CFT_Same">
    <xs:complexType>
      <xs:attribute name="shape" type="xs:string" use="required" />
      <xs:attribute name="strength" type="xs:string" use="required" />
    </xs:complexType>
  </xs:element>
  <xs:element name="StbSecSteelColumn_CFT_NotSame">
    <xs:complexType>
      <xs:attribute name="pos" use="required">
        <xs:simpleType>
          <xs:restriction base="xs:string">
            <xs:enumeration value="BOTTOM" />
            <xs:enumeration value="TOP" />
          </xs:restriction>
        </xs:simpleType>
      </xs:attribute>
      <xs:attribute name="shape" type="xs:string" use="required" />
      <xs:attribute name="strength" type="xs:string" use="required" />
    </xs:complexType>
  </xs:element>
  <xs:element name="StbSecSteelColumn_CFT_ThreeTypes">
    <xs:complexType>
      <xs:attribute name="pos" use="required">
        <xs:simpleType>
          <xs:restriction base="xs:string">
            <xs:enumeration value="BOTTOM" />
            <xs:enumeration value="CENTER" />
            <xs:enumeration value="TOP" />
          </xs:restriction>
        </xs:simpleType>
      </xs:attribute>
      <xs:attribute name="shape" type="xs:string" use="required" />
      <xs:attribute name="strength" type="xs:string" use="required" />
    </xs:complexType>
  </xs:element>
  <xs:element name="StbSecBaseProduct_CFT">
    <xs:complexType>
      <xs:attributeGroup ref="stb:SecBaseProduct_S" />
    </xs:complexType>
  </xs:element>
  <xs:element name="StbSecBaseConventional_CFT">
    <xs:complexType>
      <xs:sequence>
        <xs:element ref="stb:StbSecBaseConventional_CFT_Plate" minOccurs="1" maxOccurs="1" />
        <xs:element ref="stb:StbSecBaseConventional_CFT_AnchorBolt" minOccurs="1" maxOccurs="1" />
        <xs:element ref="stb:StbSecBaseConventional_CFT_RibPlate" minOccurs="0" maxOccurs="1" />
      </xs:sequence>
      <xs:attribute name="height_mortar" type="stb:nonNegativeLength" use="required" />
    </xs:complexType>
  </xs:element>
  <xs:element name="StbSecBaseConventional_CFT_Plate">
    <xs:complexType>
      <xs:attributeGroup ref="stb:SecBaseConventional_S_Plate" />
    </xs:complexType>
  </xs:element>
  <xs:element name="StbSecBaseConventional_CFT_AnchorBolt">
    <xs:complexType>
      <xs:attributeGroup ref="stb:SecBaseConventional_S_AnchorBolt" />
    </xs:complexType>
  </xs:element>
  <xs:element name="StbSecBaseConventional_CFT_RibPlate">
    <xs:complexType>
      <xs:attributeGroup ref="stb:SecBaseConventional_S_RibPlate" />
    </xs:complexType>
  </xs:element>
  <xs:element name="StbSecBeam_RC">
    <xs:complexType>
      <xs:sequence>
        <xs:element ref="stb:StbSecFigureBeam_RC" minOccurs="1" maxOccurs="1" />
        <xs:element ref="stb:StbSecBarArrangement_Beam_RC" minOccurs="0" maxOccurs="1" />
      </xs:sequence>
      <xs:attribute name="id" type="xs:positiveInteger" use="required" />
      <xs:attribute name="guid" type="stb:guid" />
      <xs:attribute name="name" type="xs:string" use="required" />
      <xs:attribute name="floor" type="xs:string" />
      <xs:attribute name="kind_beam" default="GIRDER">
        <xs:simpleType>
          <xs:restriction base="xs:string">
            <xs:enumeration value="GIRDER" />
            <xs:enumeration value="BEAM" />
          </xs:restriction>
        </xs:simpleType>
      </xs:attribute>
      <xs:attribute name="isFoundation" type="xs:boolean" default="false"/>
      <xs:attribute name="isCanti" type="xs:boolean" default="false"/>
      <xs:attribute name="isOutIn" type="xs:boolean" default="false"/>
      <xs:attribute name="strength_concrete" type="xs:string" />
    </xs:complexType>
  </xs:element>
  <xs:element name="StbSecFigureBeam_RC">
    <xs:complexType>
      <xs:choice>
        <xs:element ref="stb:StbSecBeam_RC_Straight" minOccurs="1" maxOccurs="1" />
        <xs:element ref="stb:StbSecBeam_RC_Taper" minOccurs="2" maxOccurs="2" />
        <xs:element ref="stb:StbSecBeam_RC_Haunch" minOccurs="2" maxOccurs="3" />
      </xs:choice>
    </xs:complexType>
  </xs:element>
  <xs:element name="StbSecBeam_RC_Straight">
    <xs:complexType>
      <xs:attributeGroup ref="stb:SecBeam_RC_Straight" />
    </xs:complexType>
  </xs:element>
  <xs:element name="StbSecBeam_RC_Taper">
    <xs:complexType>
      <xs:attributeGroup ref="stb:SecBeam_RC_Taper" />
    </xs:complexType>
  </xs:element>
  <xs:element name="StbSecBeam_RC_Haunch">
    <xs:complexType>
      <xs:attributeGroup ref="stb:SecBeam_RC_Haunch" />
    </xs:complexType>
  </xs:element>
  <xs:element name="StbSecBarArrangement_Beam_RC">
    <xs:complexType>
      <xs:sequence>
        <xs:choice>
          <xs:element ref="stb:StbSecBarBeam_RC_Same" minOccurs="1" maxOccurs="1" />
          <xs:element ref="stb:StbSecBarBeam_RC_ThreeTypes" minOccurs="3" maxOccurs="3" />
          <xs:element ref="stb:StbSecBarBeam_RC_StartEnd" minOccurs="2" maxOccurs="2" />
        </xs:choice>
        <xs:element ref="stb:StbSecBarBeamXReinforced" minOccurs="0" maxOccurs="1" />
      </xs:sequence>
      <xs:attribute name="depth_cover_left" type="stb:length" />
      <xs:attribute name="depth_cover_right" type="stb:length" />
      <xs:attribute name="depth_cover_top" type="stb:length" />
      <xs:attribute name="depth_cover_bottom" type="stb:length" />
      <xs:attribute name="interval" type="stb:length" />
      <xs:attribute name="center_top" type="stb:length" />
      <xs:attribute name="center_bottom" type="stb:length" />
      <xs:attribute name="center_side" type="stb:length" />
      <xs:attribute name="center_interval" type="stb:length" />
      <xs:attribute name="bar_length_start" type="stb:length" />
      <xs:attribute name="bar_length_end" type="stb:length" />
    </xs:complexType>
  </xs:element>
  <xs:element name="StbSecBarBeam_RC_Same">
    <xs:complexType>
      <xs:attributeGroup ref="stb:SecBarBeam_RC_Same" />
    </xs:complexType>
  </xs:element>
  <xs:element name="StbSecBarBeam_RC_ThreeTypes">
    <xs:complexType>
      <xs:attributeGroup ref="stb:SecBarBeam_RC_ThreeTypes" />
    </xs:complexType>
  </xs:element>
  <xs:element name="StbSecBarBeam_RC_StartEnd">
    <xs:complexType>
      <xs:attributeGroup ref="stb:SecBarBeam_RC_StartEnd" />
    </xs:complexType>
  </xs:element>
  <xs:element name="StbSecBarBeamXReinforced">
    <xs:complexType>
      <xs:attribute name="N_main_top" type="xs:nonNegativeInteger" use="required" />
      <xs:attribute name="N_main_bottom" type="xs:nonNegativeInteger" use="required" />
    </xs:complexType>
  </xs:element>
  <xs:element name="StbSecBeam_S">
    <xs:complexType>
      <xs:sequence>
        <xs:element ref="stb:StbSecFigureBeam_S" minOccurs="1" maxOccurs="1" />
      </xs:sequence>
      <xs:attribute name="id" type="xs:positiveInteger" use="required" />
      <xs:attribute name="guid" type="stb:guid" />
      <xs:attribute name="name" type="xs:string" use="required" />
      <xs:attribute name="floor" type="xs:string" />
      <xs:attribute name="kind_beam" default="GIRDER">
        <xs:simpleType>
          <xs:restriction base="xs:string">
            <xs:enumeration value="GIRDER" />
            <xs:enumeration value="BEAM" />
          </xs:restriction>
        </xs:simpleType>
      </xs:attribute>
      <xs:attribute name="isCanti" type="xs:boolean" default="false"/>
      <xs:attribute name="isOutIn" type="xs:boolean" default="false"/>
    </xs:complexType>
  </xs:element>
  <xs:element name="StbSecFigureBeam_S">
    <xs:complexType>
      <xs:choice>
        <xs:element ref="stb:StbSecSteelBeam_S_Straight" minOccurs="1" maxOccurs="1" />
        <xs:element ref="stb:StbSecSteelBeam_S_Taper" minOccurs="2" maxOccurs="2" />
        <xs:element ref="stb:StbSecSteelBeam_S_Joint" minOccurs="2" maxOccurs="3" />
        <xs:element ref="stb:StbSecSteelBeam_S_Haunch" minOccurs="2" maxOccurs="3" />
        <xs:element ref="stb:StbSecSteelBeam_S_FiveTypes" minOccurs="3" maxOccurs="5" />
      </xs:choice>
      <xs:attribute name="joint_id_start" type="xs:positiveInteger" />
      <xs:attribute name="joint_id_end" type="xs:positiveInteger" />
    </xs:complexType>
  </xs:element>
  <xs:element name="StbSecSteelBeam_S_Straight">
    <xs:complexType>
      <xs:attributeGroup ref="stb:SecSteelBeam_S_Straight" />
    </xs:complexType>
  </xs:element>
  <xs:element name="StbSecSteelBeam_S_Taper">
    <xs:complexType>
      <xs:attributeGroup ref="stb:SecSteelBeam_S_Taper" />
    </xs:complexType>
  </xs:element>
  <xs:element name="StbSecSteelBeam_S_Joint">
    <xs:complexType>
      <xs:attributeGroup ref="stb:SecSteelBeam_S_Joint" />
    </xs:complexType>
  </xs:element>
  <xs:element name="StbSecSteelBeam_S_Haunch">
    <xs:complexType>
      <xs:attributeGroup ref="stb:SecSteelBeam_S_Haunch" />
    </xs:complexType>
  </xs:element>
  <xs:element name="StbSecSteelBeam_S_FiveTypes">
    <xs:complexType>
      <xs:attributeGroup ref="stb:SecSteelBeam_S_FiveTypes" />
    </xs:complexType>
  </xs:element>
  <xs:element name="StbSecBeam_SRC">
    <xs:complexType>
      <xs:sequence>
        <xs:element ref="stb:StbSecFigureBeam_SRC" minOccurs="1" maxOccurs="1" />
        <xs:element ref="stb:StbSecBarArrangementBeam_SRC" minOccurs="0" maxOccurs="1" />
        <xs:element ref="stb:StbSecSteelFigureBeam_SRC" minOccurs="0" maxOccurs="1" />
      </xs:sequence>
      <xs:attribute name="id" type="xs:positiveInteger" use="required" />
      <xs:attribute name="guid" type="stb:guid" />
      <xs:attribute name="name" type="xs:string" use="required" />
      <xs:attribute name="floor" type="xs:string" />
      <xs:attribute name="kind_beam" default="GIRDER">
        <xs:simpleType>
          <xs:restriction base="xs:string">
            <xs:enumeration value="GIRDER" />
            <xs:enumeration value="BEAM" />
          </xs:restriction>
        </xs:simpleType>
      </xs:attribute>
      <xs:attribute name="isFoundation" type="xs:boolean" default="false"/>
      <xs:attribute name="isCanti" type="xs:boolean" default="false"/>
      <xs:attribute name="isOutIn" type="xs:boolean" default="false"/>
      <xs:attribute name="strength_concrete" type="xs:string" />
    </xs:complexType>
  </xs:element>
  <xs:element name="StbSecFigureBeam_SRC">
    <xs:complexType>
      <xs:choice>
        <xs:element ref="stb:StbSecBeam_SRC_Straight" minOccurs="1" maxOccurs="1" />
        <xs:element ref="stb:StbSecBeam_SRC_Taper" minOccurs="2" maxOccurs="2" />
        <xs:element ref="stb:StbSecBeam_SRC_Haunch" minOccurs="2" maxOccurs="3" />
      </xs:choice>
    </xs:complexType>
  </xs:element>
  <xs:element name="StbSecBeam_SRC_Straight">
    <xs:complexType>
      <xs:attributeGroup ref="stb:SecBeam_RC_Straight" />
    </xs:complexType>
  </xs:element>
  <xs:element name="StbSecBeam_SRC_Taper">
    <xs:complexType>
      <xs:attributeGroup ref="stb:SecBeam_RC_Taper" />
    </xs:complexType>
  </xs:element>
  <xs:element name="StbSecBeam_SRC_Haunch">
    <xs:complexType>
      <xs:attributeGroup ref="stb:SecBeam_RC_Haunch" />
    </xs:complexType>
  </xs:element>
  <xs:element name="StbSecBarArrangementBeam_SRC">
    <xs:complexType>
      <xs:choice>
        <xs:element ref="stb:StbSecBarBeam_SRC_Same" minOccurs="1" maxOccurs="1" />
        <xs:element ref="stb:StbSecBarBeam_SRC_ThreeTypes" minOccurs="3" maxOccurs="3" />
        <xs:element ref="stb:StbSecBarBeam_SRC_StartEnd" minOccurs="2" maxOccurs="2" />
      </xs:choice>
      <xs:attribute name="depth_cover_left" type="stb:length" />
      <xs:attribute name="depth_cover_right" type="stb:length" />
      <xs:attribute name="depth_cover_top" type="stb:length" />
      <xs:attribute name="depth_cover_bottom" type="stb:length" />
      <xs:attribute name="interval" type="stb:length" />
      <xs:attribute name="center_top" type="stb:length" />
      <xs:attribute name="center_bottom" type="stb:length" />
      <xs:attribute name="center_side" type="stb:length" />
      <xs:attribute name="center_interval" type="stb:length" />
      <xs:attribute name="bar_length_start" type="stb:length" />
      <xs:attribute name="bar_length_end" type="stb:length" />
    </xs:complexType>
  </xs:element>
  <xs:element name="StbSecBarBeam_SRC_Same">
    <xs:complexType>
      <xs:attributeGroup ref="stb:SecBarBeam_RC_Same" />
    </xs:complexType>
  </xs:element>
  <xs:element name="StbSecBarBeam_SRC_ThreeTypes">
    <xs:complexType>
      <xs:attributeGroup ref="stb:SecBarBeam_RC_ThreeTypes" />
    </xs:complexType>
  </xs:element>
  <xs:element name="StbSecBarBeam_SRC_StartEnd">
    <xs:complexType>
      <xs:attributeGroup ref="stb:SecBarBeam_RC_StartEnd" />
    </xs:complexType>
  </xs:element>
  <xs:element name="StbSecSteelFigureBeam_SRC">
    <xs:complexType>
      <xs:choice>
        <xs:element ref="stb:StbSecSteelBeam_SRC_Straight" minOccurs="1" maxOccurs="1" />
        <xs:element ref="stb:StbSecSteelBeam_SRC_Taper" minOccurs="2" maxOccurs="2" />
        <xs:element ref="stb:StbSecSteelBeam_SRC_Joint" minOccurs="2" maxOccurs="3" />
        <xs:element ref="stb:StbSecSteelBeam_SRC_Haunch" minOccurs="2" maxOccurs="3" />
        <xs:element ref="stb:StbSecSteelBeam_SRC_FiveTypes" minOccurs="3" maxOccurs="5" />
      </xs:choice>
      <xs:attribute name="offset" type="xs:double" />
      <xs:attribute name="level" type="xs:double" />
      <xs:attribute name="joint_id_start" type="xs:positiveInteger" />
      <xs:attribute name="joint_id_end" type="xs:positiveInteger" />
    </xs:complexType>
  </xs:element>
  <xs:element name="StbSecSteelBeam_SRC_Straight">
    <xs:complexType>
      <xs:attributeGroup ref="stb:SecSteelBeam_S_Straight" />
    </xs:complexType>
  </xs:element>
  <xs:element name="StbSecSteelBeam_SRC_Taper">
    <xs:complexType>
      <xs:attributeGroup ref="stb:SecSteelBeam_S_Taper" />
    </xs:complexType>
  </xs:element>
  <xs:element name="StbSecSteelBeam_SRC_Joint">
    <xs:complexType>
      <xs:attributeGroup ref="stb:SecSteelBeam_S_Joint" />
    </xs:complexType>
  </xs:element>
  <xs:element name="StbSecSteelBeam_SRC_Haunch">
    <xs:complexType>
      <xs:attributeGroup ref="stb:SecSteelBeam_S_Haunch" />
    </xs:complexType>
  </xs:element>
  <xs:element name="StbSecSteelBeam_SRC_FiveTypes">
    <xs:complexType>
      <xs:attributeGroup ref="stb:SecSteelBeam_S_FiveTypes" />
    </xs:complexType>
  </xs:element>
  <xs:element name="StbSecBrace_S">
    <xs:complexType>
      <xs:sequence>
        <xs:element ref="stb:StbSecSteelFigureBrace_S" minOccurs="1" maxOccurs="1" />
      </xs:sequence>
      <xs:attribute name="id" type="xs:positiveInteger" use="required" />
      <xs:attribute name="guid" type="stb:guid" />
      <xs:attribute name="name" type="xs:string" use="required" />
      <xs:attribute name="floor" type="xs:string" />
      <xs:attribute name="kind_brace" default="VERTICAL">
        <xs:simpleType>
          <xs:restriction base="xs:string">
            <xs:enumeration value="VERTICAL" />
            <xs:enumeration value="HORIZONTAL" />
          </xs:restriction>
        </xs:simpleType>
      </xs:attribute>
    </xs:complexType>
  </xs:element>
  <xs:element name="StbSecSteelFigureBrace_S">
    <xs:complexType>
      <xs:choice>
        <xs:element ref="stb:StbSecSteelBrace_S_Same" minOccurs="1" maxOccurs="1" />
        <xs:element ref="stb:StbSecSteelBrace_S_NotSame" minOccurs="2" maxOccurs="2" />
        <xs:element ref="stb:StbSecSteelBrace_S_ThreeTypes" minOccurs="3" maxOccurs="3" />
      </xs:choice>
      <xs:attribute name="joint_id_start" type="xs:positiveInteger"/>
      <xs:attribute name="joint_id_end" type="xs:positiveInteger"/>
    </xs:complexType>
  </xs:element>
  <xs:element name="StbSecSteelBrace_S_Same">
    <xs:complexType>
      <xs:attribute name="shape" type="xs:string" use="required" />
      <xs:attribute name="strength_main" type="xs:string" use="required" />
      <xs:attribute name="strength_web" type="xs:string" />
    </xs:complexType>
  </xs:element>
  <xs:element name="StbSecSteelBrace_S_NotSame">
    <xs:complexType>
      <xs:attribute name="pos" use="required">
        <xs:simpleType>
          <xs:restriction base="xs:string">
            <xs:enumeration value="BOTTOM" />
            <xs:enumeration value="TOP" />
          </xs:restriction>
        </xs:simpleType>
      </xs:attribute>
      <xs:attribute name="shape" type="xs:string" use="required" />
      <xs:attribute name="strength_main" type="xs:string" use="required" />
      <xs:attribute name="strength_web" type="xs:string" />
    </xs:complexType>
  </xs:element>
  <xs:element name="StbSecSteelBrace_S_ThreeTypes">
    <xs:complexType>
      <xs:attribute name="pos" use="required">
        <xs:simpleType>
          <xs:restriction base="xs:string">
            <xs:enumeration value="BOTTOM" />
            <xs:enumeration value="CENTER" />
            <xs:enumeration value="TOP" />
          </xs:restriction>
        </xs:simpleType>
      </xs:attribute>
      <xs:attribute name="shape" type="xs:string" use="required" />
      <xs:attribute name="strength_main" type="xs:string" use="required" />
      <xs:attribute name="strength_web" type="xs:string" />
    </xs:complexType>
  </xs:element>
  <xs:element name="StbSecSlab_RC">
    <xs:complexType>
      <xs:sequence>
        <xs:element ref="stb:StbSecFigureSlab_RC" minOccurs="1" maxOccurs="1" />
        <xs:element ref="stb:StbSecBarArrangementSlab_RC" minOccurs="0" maxOccurs="1" />
      </xs:sequence>
      <xs:attribute name="id" type="xs:positiveInteger" use="required" />
      <xs:attribute name="guid" type="stb:guid" />
      <xs:attribute name="name" type="xs:string" use="required" />
      <xs:attribute name="isFoundation" type="xs:boolean" default="false"/>
      <xs:attribute name="isEarthen" type="xs:boolean" default="false"/>
      <xs:attribute name="isCanti" type="xs:boolean" default="false"/>
      <xs:attribute name="strength_concrete" type="xs:string" />
    </xs:complexType>
  </xs:element>
  <xs:element name="StbSecFigureSlab_RC">
    <xs:complexType>
      <xs:choice>
        <xs:element ref="stb:StbSecSlab_RC_Straight" minOccurs="1" maxOccurs="1" />
        <xs:element ref="stb:StbSecSlab_RC_Taper" minOccurs="2" maxOccurs="2" />
        <xs:element ref="stb:StbSecSlab_RC_Haunch" minOccurs="3" maxOccurs="3" />
      </xs:choice>
    </xs:complexType>
  </xs:element>
  <xs:element name="StbSecSlab_RC_Straight">
    <xs:complexType>
      <xs:attribute name="depth" type="stb:length" use="required" />
    </xs:complexType>
  </xs:element>
  <xs:element name="StbSecSlab_RC_Taper">
    <xs:complexType>
      <xs:attribute name="pos" use="required">
        <xs:simpleType>
          <xs:restriction base="xs:string">
            <xs:enumeration value="BASE" />
            <xs:enumeration value="TIP" />
          </xs:restriction>
        </xs:simpleType>
      </xs:attribute>
      <xs:attribute name="depth" type="stb:length" use="required" />
    </xs:complexType>
  </xs:element>
  <xs:element name="StbSecSlab_RC_Haunch">
    <xs:complexType>
      <xs:attribute name="pos" use="required">
        <xs:simpleType>
          <xs:restriction base="xs:string">
            <xs:enumeration value="BASE" />
            <xs:enumeration value="CENTER" />
            <xs:enumeration value="Haunch" />
          </xs:restriction>
        </xs:simpleType>
      </xs:attribute>
      <xs:attribute name="depth" type="stb:length" use="required" />
    </xs:complexType>
  </xs:element>
  <xs:element name="StbSecBarArrangementSlab_RC">
    <xs:complexType>
      <xs:choice>
        <xs:element ref="stb:StbSecBarSlab_RC_Standard" minOccurs="12" maxOccurs="12" />
        <xs:element ref="stb:StbSecBarSlab_RC_2Way" minOccurs="4" maxOccurs="4" />
        <xs:element ref="stb:StbSecBarSlab_RC_1Way1" minOccurs="4" maxOccurs="4" />
        <xs:element ref="stb:StbSecBarSlab_RC_1Way2" minOccurs="6" maxOccurs="6" />
      </xs:choice>
      <xs:attribute name="depth_cover_top" type="stb:length" />
      <xs:attribute name="depth_cover_bottom" type="stb:length" />
    </xs:complexType>
  </xs:element>
  <xs:element name="StbSecBarSlab_RC_Standard">
    <xs:complexType>
      <xs:attributeGroup ref="stb:SecBarSlab_RC_Standard" />
    </xs:complexType>
  </xs:element>
  <xs:element name="StbSecBarSlab_RC_2Way">
    <xs:complexType>
      <xs:attributeGroup ref="stb:SecBarSlab_RC_2Way" />
    </xs:complexType>
  </xs:element>
  <xs:element name="StbSecBarSlab_RC_1Way1">
    <xs:complexType>
      <xs:attribute name="pos" use="required">
        <xs:simpleType>
          <xs:restriction base="xs:string">
            <xs:enumeration value="MAIN_TOP" />
            <xs:enumeration value="MAIN_BOTTOM" />
            <xs:enumeration value="TRANSVERS_TOP" />
            <xs:enumeration value="TRANSVERS_BOTTOM" />
          </xs:restriction>
        </xs:simpleType>
      </xs:attribute>
      <xs:attribute name="strength" type="xs:string" />
      <xs:attribute name="D" type="xs:string" use="required" />
      <xs:attribute name="pitch" type="stb:length" use="required" />
    </xs:complexType>
  </xs:element>
  <xs:element name="StbSecBarSlab_RC_1Way2">
    <xs:complexType>
      <xs:attribute name="pos" use="required">
        <xs:simpleType>
          <xs:restriction base="xs:string">
            <xs:enumeration value="MAIN_BASE_TOP" />
            <xs:enumeration value="MAIN_BASE_BOTTOM" />
            <xs:enumeration value="MAIN_TIP_TOP" />
            <xs:enumeration value="MAIN_TIP_BOTTOM" />
            <xs:enumeration value="TRANSVERS_TOP" />
            <xs:enumeration value="TRANSVERS_BOTTOM" />
          </xs:restriction>
        </xs:simpleType>
      </xs:attribute>
      <xs:attribute name="strength" type="xs:string" />
      <xs:attribute name="D" type="xs:string" use="required" />
      <xs:attribute name="pitch" type="stb:length" use="required" />
    </xs:complexType>
  </xs:element>
  <xs:element name="StbSecSlabDeck">
    <xs:complexType>
      <xs:sequence>
        <xs:element ref="stb:StbSecFigureSlabDeck" minOccurs="1" maxOccurs="1" />
        <xs:element ref="stb:StbSecBarArrangementSlabDeck" minOccurs="0" maxOccurs="1" />
        <xs:element ref="stb:StbSecProductSlabDeck" minOccurs="1" maxOccurs="1" />
      </xs:sequence>
      <xs:attribute name="id" type="xs:positiveInteger" use="required" />
      <xs:attribute name="guid" type="stb:guid" />
      <xs:attribute name="name" type="xs:string" use="required" />
      <xs:attribute name="product_type" use="required" >
        <xs:simpleType>
          <xs:restriction base="xs:string">
            <xs:enumeration value="FLAT" />
            <xs:enumeration value="COMPOSITE" />
          </xs:restriction>
        </xs:simpleType>
      </xs:attribute>
      <xs:attribute name="strength_concrete" type="xs:string" />
    </xs:complexType>
  </xs:element>
  <xs:element name="StbSecFigureSlabDeck">
    <xs:complexType>
      <xs:sequence>
        <xs:element ref="stb:StbSecSlabDeckStraight" minOccurs="1" maxOccurs="1" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="StbSecSlabDeckStraight">
    <xs:complexType>
      <xs:attribute name="depth" type="stb:length" use="required" />
    </xs:complexType>
  </xs:element>
  <xs:element name="StbSecBarArrangementSlabDeck">
    <xs:complexType>
      <xs:choice>
        <xs:element ref="stb:StbSecBarSlabDeckStandard" minOccurs="12" maxOccurs="12" />
        <xs:element ref="stb:StbSecBarSlabDeck2Way" minOccurs="4" maxOccurs="4" />
        <xs:element ref="stb:StbSecBarSlabDeck1Way" minOccurs="2" maxOccurs="5" />
      </xs:choice>
      <xs:attribute name="depth_cover_top" type="stb:length" />
      <xs:attribute name="depth_cover_bottom" type="stb:length" />
    </xs:complexType>
  </xs:element>
  <xs:element name="StbSecBarSlabDeckStandard">
    <xs:complexType>
      <xs:attributeGroup ref="stb:SecBarSlab_RC_Standard" />
    </xs:complexType>
  </xs:element>
  <xs:element name="StbSecBarSlabDeck2Way">
    <xs:complexType>
      <xs:attributeGroup ref="stb:SecBarSlab_RC_2Way" />
    </xs:complexType>
  </xs:element>
  <xs:element name="StbSecBarSlabDeck1Way">
    <xs:complexType>
      <xs:attributeGroup ref="stb:SecBarSlabDeck1Way" />
    </xs:complexType>
  </xs:element>
  <xs:element name="StbSecProductSlabDeck">
    <xs:complexType>
      <xs:attribute name="product_company" type="xs:string" />
      <xs:attribute name="product_code" type="xs:string" use="required" />
      <xs:attribute name="deck_depth" type="stb:length" use="required" />
    </xs:complexType>
  </xs:element>
  <xs:element name="StbSecSlabPrecast">
    <xs:complexType>
      <xs:sequence>
        <xs:element ref="stb:StbSecFigureSlabPrecast" minOccurs="0" maxOccurs="1" />
        <xs:element ref="stb:StbSecBarArrangementSlabPrecast" minOccurs="0" maxOccurs="1" />
        <xs:element ref="stb:StbSecProductSlabPrecast" minOccurs="1" maxOccurs="1" />
      </xs:sequence>
      <xs:attribute name="id" type="xs:positiveInteger" use="required" />
      <xs:attribute name="guid" type="stb:guid" />
      <xs:attribute name="name" type="xs:string" use="required" />
      <xs:attribute name="precast_type" use="required">
        <xs:simpleType>
          <xs:restriction base="xs:string">
            <xs:enumeration value="FULL" />
            <xs:enumeration value="HALF" />
            <xs:enumeration value="FORM" />
          </xs:restriction>
        </xs:simpleType>
      </xs:attribute>
      <xs:attribute name="strength_concrete" type="xs:string" />
    </xs:complexType>
  </xs:element>
  <xs:element name="StbSecFigureSlabPrecast">
    <xs:complexType>
      <xs:sequence>
        <xs:element ref="stb:StbSecSlabPrecastStraight" minOccurs="1" maxOccurs="1" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="StbSecSlabPrecastStraight">
    <xs:complexType>
      <xs:attribute name="depth_concrete" type="stb:length" use="required" />
    </xs:complexType>
  </xs:element>
  <xs:element name="StbSecBarArrangementSlabPrecast">
    <xs:complexType>
      <xs:choice>
        <xs:element ref="stb:StbSecBarSlabPrecastStandard" minOccurs="12" maxOccurs="12" />
        <xs:element ref="stb:StbSecBarSlabPrecast2Way" minOccurs="4" maxOccurs="4" />
        <xs:element ref="stb:StbSecBarSlabPrecast1Way" minOccurs="2" maxOccurs="5" />
      </xs:choice>
      <xs:attribute name="depth_concrete_top" type="stb:length" />
    </xs:complexType>
  </xs:element>
  <xs:element name="StbSecBarSlabPrecastStandard">
    <xs:complexType>
      <xs:attributeGroup ref="stb:SecBarSlab_RC_Standard" />
    </xs:complexType>
  </xs:element>
  <xs:element name="StbSecBarSlabPrecast2Way">
    <xs:complexType>
      <xs:attributeGroup ref="stb:SecBarSlab_RC_2Way" />
    </xs:complexType>
  </xs:element>
  <xs:element name="StbSecBarSlabPrecast1Way">
    <xs:complexType>
      <xs:attributeGroup ref="stb:SecBarSlabDeck1Way" />
    </xs:complexType>
  </xs:element>
  <xs:element name="StbSecProductSlabPrecast">
    <xs:complexType>
      <xs:attribute name="product_company" type="xs:string" />
      <xs:attribute name="product_name" type="xs:string" />
      <xs:attribute name="product_code" type="xs:string" use="required" />
      <xs:attribute name="depth" type="stb:length" use="required" />
    </xs:complexType>
  </xs:element>
  <xs:element name="StbSecWall_RC">
    <xs:complexType>
      <xs:sequence>
        <xs:element ref="stb:StbSecFigureWall_RC" minOccurs="1" maxOccurs="1" />
        <xs:element ref="stb:StbSecBarArrangementWall_RC" minOccurs="0" maxOccurs="1" />
      </xs:sequence>
      <xs:attribute name="id" type="xs:positiveInteger" use="required" />
      <xs:attribute name="guid" type="stb:guid" />
      <xs:attribute name="name" type="xs:string" use="required" />
      <xs:attribute name="strength_concrete" type="xs:string" />
    </xs:complexType>
  </xs:element>
  <xs:element name="StbSecFigureWall_RC">
    <xs:complexType>
      <xs:sequence>
        <xs:element ref="stb:StbSecWall_RC_Straight" minOccurs="1" maxOccurs="1" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="StbSecWall_RC_Straight">
    <xs:complexType>
      <xs:attribute name="t" type="stb:length" use="required" />
    </xs:complexType>
  </xs:element>
  <xs:element name="StbSecBarArrangementWall_RC">
    <xs:complexType>
      <xs:sequence>
        <xs:choice>
          <xs:element ref="stb:StbSecBarWall_RC_Single" minOccurs="2" maxOccurs="2" />
          <xs:element ref="stb:StbSecBarWall_RC_Zigzag" minOccurs="2" maxOccurs="2" />
          <xs:element ref="stb:StbSecBarWall_RC_DoubleNet" minOccurs="2" maxOccurs="2" />
          <xs:element ref="stb:StbSecBarWall_RC_InsideAndOutside" minOccurs="4" maxOccurs="12" />
        </xs:choice>
        <xs:element ref="stb:StbSecBarWall_RC_Edge" minOccurs="0" maxOccurs="4" />
        <xs:element ref="stb:StbSecBarWall_RC_Open" minOccurs="0" maxOccurs="3" />
      </xs:sequence>
      <xs:attribute name="depth_cover_outside" type="stb:length" />
      <xs:attribute name="depth_cover_inside" type="stb:length" />
    </xs:complexType>
  </xs:element>
  <xs:element name="StbSecBarWall_RC_Single">
    <xs:complexType>
      <xs:attribute name="pos" use="required">
        <xs:simpleType>
          <xs:restriction base="xs:string">
            <xs:enumeration value="VERTICAL" />
            <xs:enumeration value="HORIZONTAL" />
          </xs:restriction>
        </xs:simpleType>
      </xs:attribute>
      <xs:attribute name="strength" type="xs:string" />
      <xs:attribute name="D" type="xs:string" use="required" />
      <xs:attribute name="pitch" type="stb:length" use="required" />
    </xs:complexType>
  </xs:element>
  <xs:element name="StbSecBarWall_RC_Zigzag">
    <xs:complexType>
      <xs:attribute name="pos" use="required">
        <xs:simpleType>
          <xs:restriction base="xs:string">
            <xs:enumeration value="VERTICAL" />
            <xs:enumeration value="HORIZONTAL" />
          </xs:restriction>
        </xs:simpleType>
      </xs:attribute>
      <xs:attribute name="strength" type="xs:string" />
      <xs:attribute name="D" type="xs:string" use="required" />
      <xs:attribute name="pitch" type="stb:length" use="required" />
    </xs:complexType>
  </xs:element>
  <xs:element name="StbSecBarWall_RC_DoubleNet">
    <xs:complexType>
      <xs:attribute name="pos" use="required">
        <xs:simpleType>
          <xs:restriction base="xs:string">
            <xs:enumeration value="VERTICAL" />
            <xs:enumeration value="HORIZONTAL" />
          </xs:restriction>
        </xs:simpleType>
      </xs:attribute>
      <xs:attribute name="strength" type="xs:string" />
      <xs:attribute name="D" type="xs:string" use="required" />
      <xs:attribute name="pitch" type="stb:length" use="required" />
    </xs:complexType>
  </xs:element>
  <xs:element name="StbSecBarWall_RC_InsideAndOutside">
    <xs:complexType>
      <xs:attribute name="pos" use="required">
        <xs:simpleType>
          <xs:restriction base="xs:string">
            <xs:enumeration value="VERTICAL_OUTSIDE" />
            <xs:enumeration value="VERTICAL_INSIDE" />
            <xs:enumeration value="HORIZONTAL_OUTSIDE" />
            <xs:enumeration value="HORIZONTAL_INSIDE" />
          </xs:restriction>
        </xs:simpleType>
      </xs:attribute>
      <xs:attribute name="pos2" default="ALL">
        <xs:simpleType>
          <xs:restriction base="xs:string">
            <xs:enumeration value="ALL" />
            <xs:enumeration value="TOP_START" />
            <xs:enumeration value="MIDDLE" />
            <xs:enumeration value="BOTTOM_END" />
          </xs:restriction>
        </xs:simpleType>
      </xs:attribute>
      <xs:attribute name="strength" type="xs:string" />
      <xs:attribute name="D" type="xs:string" use="required" />
      <xs:attribute name="pitch" type="stb:length" use="required" />
    </xs:complexType>
  </xs:element>
  <xs:element name="StbSecBarWall_RC_Edge">
    <xs:complexType>
      <xs:attribute name="pos" use="required">
        <xs:simpleType>
          <xs:restriction base="xs:string">
            <xs:enumeration value="VERTICAL_START" />
            <xs:enumeration value="VERTICAL_END" />
            <xs:enumeration value="HORIZONTAL_BOTTOM" />
            <xs:enumeration value="HORIZONTAL_TOP" />
          </xs:restriction>
        </xs:simpleType>
      </xs:attribute>
      <xs:attribute name="strength" type="xs:string" />
      <xs:attribute name="D" type="xs:string" use="required" />
      <xs:attribute name="N" type="xs:positiveInteger" use="required" />
    </xs:complexType>
  </xs:element>
  <xs:element name="StbSecBarWall_RC_Open">
    <xs:complexType>
      <xs:attribute name="pos" use="required">
        <xs:simpleType>
          <xs:restriction base="xs:string">
            <xs:enumeration value="VERTICAL" />
            <xs:enumeration value="HORIZONTAL" />
            <xs:enumeration value="DIAGONAL" />
          </xs:restriction>
        </xs:simpleType>
      </xs:attribute>
      <xs:attribute name="strength" type="xs:string" />
      <xs:attribute name="D" type="xs:string" use="required" />
      <xs:attribute name="N" type="xs:positiveInteger" use="required" />
      <xs:attribute name="length" type="stb:length" />
    </xs:complexType>
  </xs:element>
  <xs:element name="StbSecFoundation_RC">
    <xs:complexType>
      <xs:sequence>
        <xs:element ref="stb:StbSecFigureFoundation_RC" minOccurs="1" maxOccurs="1" />
        <xs:element ref="stb:StbSecBarArrangementFoundation_RC" minOccurs="0" maxOccurs="1" />
      </xs:sequence>
      <xs:attribute name="id" type="xs:positiveInteger" use="required" />
      <xs:attribute name="guid" type="stb:guid" />
      <xs:attribute name="name" type="xs:string" use="required" />
      <xs:attribute name="strength_concrete" type="xs:string" />
    </xs:complexType>
  </xs:element>
  <xs:element name="StbSecFigureFoundation_RC">
    <xs:complexType>
      <xs:choice>
        <xs:element ref="stb:StbSecFoundation_RC_Rect" minOccurs="1" maxOccurs="1" />
        <xs:element ref="stb:StbSecFoundation_RC_Tapered_Rect" minOccurs="1" maxOccurs="1" />
        <xs:element ref="stb:StbSecFoundation_RC_Triangle" minOccurs="1" maxOccurs="1" />
        <xs:element ref="stb:StbSecFoundation_RC_Equi_Triangle" minOccurs="1" maxOccurs="1" />
        <xs:element ref="stb:StbSecFoundation_RC_Octagon" minOccurs="1" maxOccurs="1" />
        <xs:element ref="stb:StbSecFoundation_RC_Continuous" minOccurs="1" maxOccurs="1" />
      </xs:choice>
    </xs:complexType>
  </xs:element>
  <xs:element name="StbSecFoundation_RC_Rect">
    <xs:complexType>
      <xs:attribute name="width_X" type="stb:length" use="required" />
      <xs:attribute name="width_Y" type="stb:length" use="required" />
      <xs:attribute name="depth" type="stb:length" use="required" />
    </xs:complexType>
  </xs:element>
  <xs:element name="StbSecFoundation_RC_Tapered_Rect">
    <xs:complexType>
      <xs:attribute name="width_X" type="stb:length" use="required" />
      <xs:attribute name="width_Y" type="stb:length" use="required" />
      <xs:attribute name="depth_base" type="stb:length" use="required" />
      <xs:attribute name="depth_tip" type="stb:length" use="required" />
    </xs:complexType>
  </xs:element>
  <xs:element name="StbSecFoundation_RC_Triangle">
    <xs:complexType>
      <xs:attribute name="width_X" type="stb:length" use="required" />
      <xs:attribute name="width_Y" type="stb:length" use="required" />
      <xs:attribute name="depth" type="stb:length" use="required" />
    </xs:complexType>
  </xs:element>
  <xs:element name="StbSecFoundation_RC_Equi_Triangle">
    <xs:complexType>
      <xs:attribute name="width_base" type="stb:length" use="required" />
      <xs:attribute name="width_chamfer" type="stb:length" use="required" />
      <xs:attribute name="depth" type="stb:length" use="required" />
    </xs:complexType>
  </xs:element>
  <xs:element name="StbSecFoundation_RC_Octagon">
    <xs:complexType>
      <xs:attribute name="width_X" type="stb:length" use="required" />
      <xs:attribute name="width_Y" type="stb:length" use="required" />
      <xs:attribute name="width_chanfer1_X" type="stb:nonNegativeLength" use="required"/>
      <xs:attribute name="width_chanfer1_Y" type="stb:nonNegativeLength" use="required"/>
      <xs:attribute name="width_chanfer2_X" type="stb:nonNegativeLength" use="required"/>
      <xs:attribute name="width_chanfer2_Y" type="stb:nonNegativeLength" use="required"/>
      <xs:attribute name="width_chanfer3_X" type="stb:nonNegativeLength" use="required"/>
      <xs:attribute name="width_chanfer3_Y" type="stb:nonNegativeLength" use="required"/>
      <xs:attribute name="width_chanfer4_X" type="stb:nonNegativeLength" use="required"/>
      <xs:attribute name="width_chanfer4_Y" type="stb:nonNegativeLength" use="required"/>
      <xs:attribute name="depth" type="stb:length" use="required" />
    </xs:complexType>
  </xs:element>
  <xs:element name="StbSecFoundation_RC_Continuous">
    <xs:complexType>
      <xs:attribute name="width" type="stb:length" use="required" />
      <xs:attribute name="depth_base" type="stb:length" use="required" />
      <xs:attribute name="depth_tip" type="stb:length" use="required" />
      <xs:attribute name="type" use="required">
        <xs:simpleType>
          <xs:restriction base="xs:string">
            <xs:enumeration value="RIGHT_L" />
            <xs:enumeration value="LEFT_L" />
            <xs:enumeration value="REVERSE_T" />
          </xs:restriction>
        </xs:simpleType>
      </xs:attribute>
    </xs:complexType>
  </xs:element>
  <xs:element name="StbSecBarArrangementFoundation_RC">
    <xs:complexType>
      <xs:choice>
        <xs:element ref="stb:StbSecBarFoundation_RC_Rect" minOccurs="2" maxOccurs="5" />
        <xs:element ref="stb:StbSecBarFoundation_RC_Triangle" minOccurs="2" maxOccurs="5" />
        <xs:element ref="stb:StbSecBarFoundation_RC_ThreeWay" minOccurs="2" maxOccurs="5" />
        <xs:element ref="stb:StbSecBarFoundation_RC_Continuous" minOccurs="2" maxOccurs="5" />
      </xs:choice>
      <xs:attribute name="depth_cover_top" type="stb:length"/>
      <xs:attribute name="depth_cover_bottom" type="stb:length"/>
      <xs:attribute name="depth_cover_side" type="stb:length"/>
    </xs:complexType>
  </xs:element>
  <xs:element name="StbSecBarFoundation_RC_Rect">
    <xs:complexType>
      <xs:attribute name="pos" use="required">
        <xs:simpleType>
          <xs:restriction base="xs:string">
            <xs:enumeration value="X_TOP" />
            <xs:enumeration value="X_BOTTOM" />
            <xs:enumeration value="Y_TOP" />
            <xs:enumeration value="Y_BOTTOM" />
            <xs:enumeration value="HORIZONTAL" />
          </xs:restriction>
        </xs:simpleType>
      </xs:attribute>
      <xs:attribute name="strength" type="xs:string" />
      <xs:attribute name="D" type="xs:string" use="required" />
      <xs:attribute name="N" type="xs:positiveInteger" use="required" />
    </xs:complexType>
  </xs:element>
  <xs:element name="StbSecBarFoundation_RC_Triangle">
    <xs:complexType>
      <xs:attribute name="pos" use="required">
        <xs:simpleType>
          <xs:restriction base="xs:string">
            <xs:enumeration value="MAIN_TOP" />
            <xs:enumeration value="MAIN_BOTTOM" />
            <xs:enumeration value="TRANSVERS_TOP" />
            <xs:enumeration value="TRANSVERS_BOTTOM" />
            <xs:enumeration value="HORIZONTAL" />
          </xs:restriction>
        </xs:simpleType>
      </xs:attribute>
      <xs:attribute name="strength" type="xs:string" />
      <xs:attribute name="D" type="xs:string" use="required" />
      <xs:attribute name="N" type="xs:positiveInteger" use="required" />
    </xs:complexType>
  </xs:element>
  <xs:element name="StbSecBarFoundation_RC_ThreeWay">
    <xs:complexType>
      <xs:attribute name="pos" use="required">
        <xs:simpleType>
          <xs:restriction base="xs:string">
            <xs:enumeration value="MAIN_TOP" />
            <xs:enumeration value="MAIN_BOTTOM" />
            <xs:enumeration value="OUTSIDE_TOP" />
            <xs:enumeration value="OUTSIDE_BOTTOM" />
            <xs:enumeration value="HORIZONTAL" />
          </xs:restriction>
        </xs:simpleType>
      </xs:attribute>
      <xs:attribute name="strength" type="xs:string" />
      <xs:attribute name="D" type="xs:string" use="required" />
      <xs:attribute name="N" type="xs:positiveInteger" use="required" />
    </xs:complexType>
  </xs:element>
  <xs:element name="StbSecBarFoundation_RC_Continuous">
    <xs:complexType>
      <xs:attribute name="pos" use="required">
        <xs:simpleType>
          <xs:restriction base="xs:string">
            <xs:enumeration value="MAIN_TOP" />
            <xs:enumeration value="MAIN_BOTTOM" />
            <xs:enumeration value="OUTSIDE_TOP" />
            <xs:enumeration value="OUTSIDE_BOTTOM" />
            <xs:enumeration value="HORIZONTAL" />
          </xs:restriction>
        </xs:simpleType>
      </xs:attribute>
      <xs:attribute name="strength" type="xs:string" />
      <xs:attribute name="D" type="xs:string" use="required" />
      <xs:attribute name="N" type="xs:positiveInteger" />
      <xs:attribute name="pitch" type="stb:length" />
    </xs:complexType>
  </xs:element>
  <xs:element name="StbSecPile_RC">
    <xs:complexType>
      <xs:sequence>
        <xs:element ref="stb:StbSecFigurePile_RC" minOccurs="1" maxOccurs="1" />
        <xs:element ref="stb:StbSecBarArrangement_Pile_RC" minOccurs="0" maxOccurs="1" />
      </xs:sequence>
      <xs:attribute name="id" type="xs:positiveInteger" use="required" />
      <xs:attribute name="guid" type="stb:guid" />
      <xs:attribute name="name" type="xs:string" use="required" />
      <xs:attribute name="strength_concrete" type="xs:string" />
    </xs:complexType>
  </xs:element>
  <xs:element name="StbSecFigurePile_RC">
    <xs:complexType>
      <xs:choice>
        <xs:element ref="stb:StbSecPile_RC_Straight" minOccurs="1" maxOccurs="1" />
        <xs:element ref="stb:StbSecPile_RC_ExtendedFoot" minOccurs="1" maxOccurs="1" />
        <xs:element ref="stb:StbSecPile_RC_ExtendedTop" minOccurs="1" maxOccurs="1" />
        <xs:element ref="stb:StbSecPile_RC_ExtendedTopFoot" minOccurs="1" maxOccurs="1" />
      </xs:choice>
      <xs:attribute name="length_pipe" type="stb:length" />
      <xs:attribute name="t_pipe" type="stb:length" />
      <xs:attribute name="strength_pipe" type="xs:string" />
    </xs:complexType>
  </xs:element>
  <xs:element name="StbSecPile_RC_Straight">
    <xs:complexType>
      <xs:attribute name="D" type="stb:length" use="required" />
    </xs:complexType>
  </xs:element>
  <xs:element name="StbSecPile_RC_ExtendedFoot">
    <xs:complexType>
      <xs:attribute name="D_axial" type="stb:length" use="required" />
      <xs:attribute name="D_extended_foot" type="stb:length" use="required" />
      <xs:attribute name="length_extended_foot" type="stb:length" use="required" />
      <xs:attribute name="angle_extended_foot_taper" type="stb:angle" use="required" />
    </xs:complexType>
  </xs:element>
  <xs:element name="StbSecPile_RC_ExtendedTop">
    <xs:complexType>
      <xs:attribute name="D_extended_top" type="stb:length" use="required" />
      <xs:attribute name="D_axial" type="stb:length" use="required" />
      <xs:attribute name="angle_extended_top_taper" type="stb:angle" use="required" />
    </xs:complexType>
  </xs:element>
  <xs:element name="StbSecPile_RC_ExtendedTopFoot">
    <xs:complexType>
      <xs:attribute name="D_extended_top" type="stb:length" use="required" />
      <xs:attribute name="D_axial" type="stb:length" use="required" />
      <xs:attribute name="D_extended_foot" type="stb:length" use="required" />
      <xs:attribute name="angle_extended_top_taper" type="stb:angle" use="required" />
      <xs:attribute name="length_extended_foot" type="stb:length" use="required" />
      <xs:attribute name="angle_extended_foot_taper" type="stb:angle" use="required" />
    </xs:complexType>
  </xs:element>
  <xs:element name="StbSecBarArrangement_Pile_RC">
    <xs:complexType>
      <xs:choice>
        <xs:element ref="stb:StbSecBarPile_RC_Same" minOccurs="1" maxOccurs="1" />
        <xs:element ref="stb:StbSecBarPile_RC_TopBottom" minOccurs="2" maxOccurs="2" />
        <xs:element ref="stb:StbSecBarPile_RC_TopCenterBottom" minOccurs="3" maxOccurs="3" />
      </xs:choice>
      <xs:attribute name="depth_cover" type="stb:length" />
      <xs:attribute name="depth_cover_top" type="stb:length" />
      <xs:attribute name="isSpiral" type="xs:boolean" default="false"/>
    </xs:complexType>
  </xs:element>
  <xs:element name="StbSecBarPile_RC_Same">
    <xs:complexType>
    <xs:attribute name="D_main_circumference_1st" type="xs:string" use="required" />
    <xs:attribute name="D_main_circumference_2nd" type="xs:string" />
    <xs:attribute name="D_main_core" type="xs:string" />
    <xs:attribute name="D_band" type="xs:string" use="required" />
    <xs:attribute name="strength_main_circumference_1st" type="xs:string" />
    <xs:attribute name="strength_main_circumference_2nd" type="xs:string" />
    <xs:attribute name="strength_main_core" type="xs:string" />
    <xs:attribute name="strength_band" type="xs:string" />
    <xs:attribute name="N_main_circumference_1st" type="xs:positiveInteger" use="required" />
    <xs:attribute name="N_main_circumference_2nd" type="xs:positiveInteger" />
    <xs:attribute name="N_main_core" type="xs:positiveInteger" />
    <xs:attribute name="pitch_band" type="stb:length" use="required" />
    </xs:complexType>
  </xs:element>
  <xs:element name="StbSecBarPile_RC_TopBottom">
    <xs:complexType>
      <xs:attribute name="pos" use="required">
        <xs:simpleType>
          <xs:restriction base="xs:string">
            <xs:enumeration value="TOP" />
            <xs:enumeration value="BOTTOM" />
          </xs:restriction>
        </xs:simpleType>
      </xs:attribute>
    <xs:attribute name="D_main_circumference_1st" type="xs:string" use="required" />
    <xs:attribute name="D_main_circumference_2nd" type="xs:string" />
    <xs:attribute name="D_main_core" type="xs:string" />
    <xs:attribute name="D_band" type="xs:string" use="required" />
    <xs:attribute name="strength_main_circumference_1st" type="xs:string" />
    <xs:attribute name="strength_main_circumference_2nd" type="xs:string" />
    <xs:attribute name="strength_main_core" type="xs:string" />
    <xs:attribute name="strength_band" type="xs:string" />
    <xs:attribute name="N_main_circumference_1st" type="xs:positiveInteger" use="required" />
    <xs:attribute name="N_main_circumference_2nd" type="xs:positiveInteger" />
    <xs:attribute name="N_main_core" type="xs:positiveInteger" />
    <xs:attribute name="pitch_band" type="stb:length" use="required" />
      <xs:attribute name="length_bar" type="stb:length"/>
      <xs:attribute name="length_lap_bar" type="stb:length"/>
    </xs:complexType>
  </xs:element>
  <xs:element name="StbSecBarPile_RC_TopCenterBottom">
    <xs:complexType>
      <xs:attribute name="pos" use="required">
        <xs:simpleType>
          <xs:restriction base="xs:string">
            <xs:enumeration value="TOP" />
            <xs:enumeration value="CENTER" />
            <xs:enumeration value="BOTTOM" />
          </xs:restriction>
        </xs:simpleType>
      </xs:attribute>
    <xs:attribute name="D_main_circumference_1st" type="xs:string" use="required" />
    <xs:attribute name="D_main_circumference_2nd" type="xs:string" />
    <xs:attribute name="D_main_core" type="xs:string" />
    <xs:attribute name="D_band" type="xs:string" use="required" />
    <xs:attribute name="strength_main_circumference_1st" type="xs:string" />
    <xs:attribute name="strength_main_circumference_2nd" type="xs:string" />
    <xs:attribute name="strength_main_core" type="xs:string" />
    <xs:attribute name="strength_band" type="xs:string" />
    <xs:attribute name="N_main_circumference_1st" type="xs:positiveInteger" use="required" />
    <xs:attribute name="N_main_circumference_2nd" type="xs:positiveInteger" />
    <xs:attribute name="N_main_core" type="xs:positiveInteger" />
    <xs:attribute name="pitch_band" type="stb:length" use="required" />
      <xs:attribute name="length_bar" type="stb:length"/>
      <xs:attribute name="length_lap_bar" type="stb:length"/>
    </xs:complexType>
  </xs:element>
  <xs:element name="StbSecPile_S">
    <xs:complexType>
      <xs:sequence>
        <xs:element ref="stb:StbSecFigurePile_S" minOccurs="1" maxOccurs="1" />
      </xs:sequence>
      <xs:attribute name="id" type="xs:positiveInteger" use="required" />
      <xs:attribute name="guid" type="stb:guid" />
      <xs:attribute name="name" type="xs:string" use="required" />
    </xs:complexType>
  </xs:element>
  <xs:element name="StbSecFigurePile_S">
    <xs:complexType>
      <xs:sequence>
        <xs:element ref="stb:StbSecPile_S_Straight" minOccurs="0" maxOccurs="unbounded" />
        <xs:element ref="stb:StbSecPile_S_Rotational" minOccurs="0" maxOccurs="unbounded" />
        <xs:element ref="stb:StbSecPile_S_Taper" minOccurs="0" maxOccurs="unbounded" />
      </xs:sequence>
    </xs:complexType>
    <xs:key name="SecFigurePile_S">
        <xs:selector xpath="./*"/>
        <xs:field xpath="@id_order"/>
    </xs:key>
  </xs:element>
  <xs:element name="StbSecPile_S_Straight">
    <xs:complexType>
      <xs:attribute name="id_order" type="xs:positiveInteger" use="required" />
      <xs:attribute name="product_company" type="xs:string" />
      <xs:attribute name="product_code" type="xs:string" />
      <xs:attribute name="length_pile" type="stb:length" use="required" />
      <xs:attribute name="D" type="stb:length" use="required" />
      <xs:attribute name="t" type="stb:length" use="required" />
      <xs:attribute name="strength" type="xs:string" use="required" />
    </xs:complexType>
  </xs:element>
  <xs:element name="StbSecPile_S_Rotational">
    <xs:complexType>
      <xs:attribute name="id_order" type="xs:positiveInteger" use="required" />
      <xs:attribute name="product_company" type="xs:string" />
      <xs:attribute name="product_code" type="xs:string" />
      <xs:attribute name="length_pile" type="stb:length" use="required" />
      <xs:attribute name="D1" type="stb:length" use="required" />
      <xs:attribute name="D2" type="stb:length" use="required" />
      <xs:attribute name="t" type="stb:length" use="required" />
      <xs:attribute name="strength" type="xs:string" use="required" />
    </xs:complexType>
  </xs:element>
  <xs:element name="StbSecPile_S_Taper">
    <xs:complexType>
      <xs:attribute name="id_order" type="xs:positiveInteger" use="required" />
      <xs:attribute name="product_company" type="xs:string" />
      <xs:attribute name="product_code" type="xs:string" />
      <xs:attribute name="length_pile" type="stb:length" use="required" />
      <xs:attribute name="D1" type="stb:length" use="required" />
      <xs:attribute name="D2" type="stb:length" use="required" />
      <xs:attribute name="t" type="stb:length" use="required" />
      <xs:attribute name="strength" type="xs:string" use="required" />
    </xs:complexType>
  </xs:element>
  <xs:element name="StbSecPileProduct">
    <xs:complexType>
      <xs:sequence>
        <xs:element ref="stb:StbSecFigurePileProduct" minOccurs="1" maxOccurs="1" />
      </xs:sequence>
      <xs:attribute name="id" type="xs:positiveInteger" use="required" />
      <xs:attribute name="guid" type="stb:guid" />
      <xs:attribute name="name" type="xs:string" use="required" />
    </xs:complexType>
  </xs:element>
  <xs:element name="StbSecFigurePileProduct">
    <xs:complexType>
      <xs:sequence>
        <xs:element ref="stb:StbSecPileProduct_PHC" minOccurs="0" maxOccurs="unbounded" />
        <xs:element ref="stb:StbSecPileProduct_ST" minOccurs="0" maxOccurs="unbounded" />
        <xs:element ref="stb:StbSecPileProduct_SC" minOccurs="0" maxOccurs="unbounded" />
        <xs:element ref="stb:StbSecPileProduct_PRC" minOccurs="0" maxOccurs="unbounded" />
        <xs:element ref="stb:StbSecPileProduct_CPRC" minOccurs="0" maxOccurs="unbounded" />
        <xs:element ref="stb:StbSecPileProductNodular_PHC" minOccurs="0" maxOccurs="unbounded" />
        <xs:element ref="stb:StbSecPileProductNodular_PRC" minOccurs="0" maxOccurs="unbounded" />
        <xs:element ref="stb:StbSecPileProductNodular_CPRC" minOccurs="0" maxOccurs="unbounded" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="StbSecPileProduct_PHC">
    <xs:complexType>
      <xs:attribute name="id_order" type="xs:positiveInteger" use="required" />
      <xs:attribute name="product_company" type="xs:string" />
      <xs:attribute name="product_code" type="xs:string" />
      <xs:attribute name="length_pile" type="stb:length" use="required" />
      <xs:attribute name="kind" type="xs:string" use="required" />
      <xs:attribute name="D" type="stb:length" use="required" />
      <xs:attribute name="t" type="stb:length" use="required" />
      <xs:attribute name="strength_concrete" type="xs:string" />
      <xs:attribute name="D_PC" type="stb:length" />
      <xs:attribute name="N_PC" type="xs:positiveInteger" />
      <xs:attribute name="strength_PC" type="xs:string" />
    </xs:complexType>
  </xs:element>
  <xs:element name="StbSecPileProduct_ST">
    <xs:complexType>
      <xs:attribute name="id_order" type="xs:positiveInteger" use="required" />
      <xs:attribute name="product_company" type="xs:string" />
      <xs:attribute name="product_code" type="xs:string" />
      <xs:attribute name="length_pile" type="stb:length" use="required" />
      <xs:attribute name="kind" type="xs:string" use="required" />
      <xs:attribute name="D1" type="stb:length" use="required" />
      <xs:attribute name="D2" type="stb:length" use="required" />
      <xs:attribute name="t1" type="stb:length" use="required" />
      <xs:attribute name="t2" type="stb:length" use="required" />
      <xs:attribute name="strength_concrete" type="xs:string" />
      <xs:attribute name="D_PC" type="stb:length" />
      <xs:attribute name="N_PC" type="xs:positiveInteger" />
      <xs:attribute name="strength_PC" type="xs:string" />
    </xs:complexType>
  </xs:element>
  <xs:element name="StbSecPileProduct_SC">
    <xs:complexType>
      <xs:attribute name="id_order" type="xs:positiveInteger" use="required" />
      <xs:attribute name="product_company" type="xs:string" />
      <xs:attribute name="product_code" type="xs:string" />
      <xs:attribute name="length_pile" type="stb:length" use="required" />
      <xs:attribute name="kind" type="xs:string" />
      <xs:attribute name="D" type="stb:length" use="required" />
      <xs:attribute name="tc" type="stb:length" use="required" />
      <xs:attribute name="ts" type="stb:length" use="required" />
      <xs:attribute name="strength_concrete" type="xs:string" />
      <xs:attribute name="strength" type="xs:string" />
    </xs:complexType>
  </xs:element>
  <xs:element name="StbSecPileProduct_PRC">
    <xs:complexType>
      <xs:attribute name="id_order" type="xs:positiveInteger" use="required" />
      <xs:attribute name="product_company" type="xs:string" />
      <xs:attribute name="product_code" type="xs:string" />
      <xs:attribute name="length_pile" type="stb:length" use="required" />
      <xs:attribute name="kind" type="xs:string" />
      <xs:attribute name="D" type="stb:length" use="required" />
      <xs:attribute name="tc" type="stb:length" use="required" />
      <xs:attribute name="strength_concrete" type="xs:string" />
      <xs:attribute name="D_PC" type="stb:length" />
      <xs:attribute name="N_PC" type="xs:positiveInteger" />
      <xs:attribute name="strength_PC" type="xs:string" />
      <xs:attribute name="D_bar" type="xs:string" />
      <xs:attribute name="N_bar" type="xs:positiveInteger" />
      <xs:attribute name="strength_bar" type="xs:string" />
    </xs:complexType>
  </xs:element>
  <xs:element name="StbSecPileProduct_CPRC">
    <xs:complexType>
      <xs:attribute name="id_order" type="xs:positiveInteger" use="required" />
      <xs:attribute name="product_company" type="xs:string" />
      <xs:attribute name="product_code" type="xs:string" />
      <xs:attribute name="length_pile" type="stb:length" use="required" />
      <xs:attribute name="kind" type="xs:string" />
      <xs:attribute name="D" type="stb:length" use="required" />
      <xs:attribute name="tc" type="stb:length" use="required" />
      <xs:attribute name="strength_concrete" type="xs:string" />
      <xs:attribute name="D_PC" type="stb:length" />
      <xs:attribute name="N_PC" type="xs:positiveInteger" />
      <xs:attribute name="strength_PC" type="xs:string" />
      <xs:attribute name="D_bar" type="xs:string" />
      <xs:attribute name="N_bar" type="xs:positiveInteger" />
      <xs:attribute name="strength_bar" type="xs:string" />
    </xs:complexType>
  </xs:element>
  <xs:element name="StbSecPileProductNodular_PHC">
    <xs:complexType>
      <xs:attribute name="id_order" type="xs:positiveInteger" use="required" />
      <xs:attribute name="product_company" type="xs:string" />
      <xs:attribute name="product_code" type="xs:string" />
      <xs:attribute name="length_pile" type="stb:length" use="required" />
      <xs:attribute name="kind" type="xs:string" />
      <xs:attribute name="D1" type="stb:length" use="required" />
      <xs:attribute name="D2" type="stb:length" use="required" />
      <xs:attribute name="t" type="stb:length" use="required" />
      <xs:attribute name="strength_concrete" type="xs:string" />
      <xs:attribute name="D_PC" type="stb:length" />
      <xs:attribute name="N_PC" type="xs:positiveInteger" />
      <xs:attribute name="strength_PC" type="xs:string" />
    </xs:complexType>
  </xs:element>
  <xs:element name="StbSecPileProductNodular_PRC">
    <xs:complexType>
      <xs:attribute name="id_order" type="xs:positiveInteger" use="required" />
      <xs:attribute name="product_company" type="xs:string" />
      <xs:attribute name="product_code" type="xs:string" />
      <xs:attribute name="length_pile" type="stb:length" use="required" />
      <xs:attribute name="kind" type="xs:string" />
      <xs:attribute name="D1" type="stb:length" use="required" />
      <xs:attribute name="D2" type="stb:length" use="required" />
      <xs:attribute name="tc" type="stb:length" use="required" />
      <xs:attribute name="strength_concrete" type="xs:string" />
      <xs:attribute name="D_PC" type="stb:length" />
      <xs:attribute name="N_PC" type="xs:positiveInteger" />
      <xs:attribute name="strength_PC" type="xs:string" />
      <xs:attribute name="D_bar" type="xs:string" />
      <xs:attribute name="N_bar" type="xs:positiveInteger" />
      <xs:attribute name="strength_bar" type="xs:string" />
    </xs:complexType>
  </xs:element>
  <xs:element name="StbSecPileProductNodular_CPRC">
    <xs:complexType>
      <xs:attribute name="id_order" type="xs:positiveInteger" use="required" />
      <xs:attribute name="product_company" type="xs:string" />
      <xs:attribute name="product_code" type="xs:string" />
      <xs:attribute name="length_pile" type="stb:length" use="required" />
      <xs:attribute name="kind" type="xs:string" />
      <xs:attribute name="D1" type="stb:length" use="required" />
      <xs:attribute name="D2" type="stb:length" use="required" />
      <xs:attribute name="tc" type="stb:length" use="required" />
      <xs:attribute name="strength_concrete" type="xs:string" />
      <xs:attribute name="D_PC" type="stb:length" />
      <xs:attribute name="N_PC" type="xs:positiveInteger" />
      <xs:attribute name="strength_PC" type="xs:string" />
      <xs:attribute name="D_bar" type="xs:string" />
      <xs:attribute name="N_bar" type="xs:positiveInteger" />
      <xs:attribute name="strength_bar" type="xs:string" />
    </xs:complexType>
  </xs:element>
  <xs:element name="StbSecOpen_RC">
    <xs:complexType>
      <xs:sequence>
        <xs:element ref="stb:StbSecBarArrangementOpen_RC" minOccurs="1" maxOccurs="1" />
      </xs:sequence>
      <xs:attribute name="id" type="xs:positiveInteger" use="required" />
      <xs:attribute name="guid" type="stb:guid" />
      <xs:attribute name="name" type="xs:string" />
    </xs:complexType>
  </xs:element>
  <xs:element name="StbSecBarArrangementOpen_RC">
    <xs:complexType>
      <xs:choice>
        <xs:element ref="stb:StbSecBarOpen_RC_Slab" minOccurs="1" maxOccurs="6" />
        <xs:element ref="stb:StbSecBarOpen_RC_Wall" minOccurs="1" maxOccurs="3" />
      </xs:choice>
    </xs:complexType>
  </xs:element>
  <xs:element name="StbSecBarOpen_RC_Slab">
    <xs:complexType>
      <xs:attribute name="pos" use="required">
        <xs:simpleType>
          <xs:restriction base="xs:string">
            <xs:enumeration value="X_TOP" />
            <xs:enumeration value="X_BOTTOM" />
            <xs:enumeration value="Y_TOP" />
            <xs:enumeration value="Y_BOTTOM" />
            <xs:enumeration value="DIAGONAL_TOP" />
            <xs:enumeration value="DIAGONAL_BOTTOM" />
          </xs:restriction>
        </xs:simpleType>
      </xs:attribute>
      <xs:attribute name="strength" type="xs:string" />
      <xs:attribute name="D" type="xs:string" use="required" />
      <xs:attribute name="N" type="xs:positiveInteger" use="required" />
      <xs:attribute name="length" type="stb:length" />
    </xs:complexType>
  </xs:element>
  <xs:element name="StbSecBarOpen_RC_Wall">
    <xs:complexType>
      <xs:attribute name="pos" use="required">
        <xs:simpleType>
          <xs:restriction base="xs:string">
            <xs:enumeration value="VERTICAL" />
            <xs:enumeration value="HORIZONTAL" />
            <xs:enumeration value="DIAGONAL" />
          </xs:restriction>
        </xs:simpleType>
      </xs:attribute>
      <xs:attribute name="strength" type="xs:string" />
      <xs:attribute name="D" type="xs:string" use="required" />
      <xs:attribute name="N" type="xs:positiveInteger" use="required" />
      <xs:attribute name="length" type="stb:length" />
    </xs:complexType>
  </xs:element>
  <xs:element name="StbSecParapet_RC">
    <xs:complexType>
      <xs:sequence>
        <xs:element ref="stb:StbSecFigureParapet_RC" minOccurs="1" maxOccurs="1" />
        <xs:element ref="stb:StbSecBarArrangementParapet_RC" minOccurs="0" maxOccurs="1" />
      </xs:sequence>
      <xs:attribute name="id" type="xs:positiveInteger" use="required" />
      <xs:attribute name="guid" type="stb:guid" />
      <xs:attribute name="name" type="xs:string" use="required" />
      <xs:attribute name="strength_concrete" type="xs:string" />
    </xs:complexType>
  </xs:element>
  <xs:element name="StbSecFigureParapet_RC">
    <xs:complexType>
      <xs:choice>
        <xs:element ref="stb:StbSecParapet_RC_TypeL" minOccurs="1" maxOccurs="1" />
        <xs:element ref="stb:StbSecParapet_RC_TypeT" minOccurs="1" maxOccurs="1" />
        <xs:element ref="stb:StbSecParapet_RC_TypeI" minOccurs="1" maxOccurs="1" />
      </xs:choice>
    </xs:complexType>
  </xs:element>
  <xs:element name="StbSecParapet_RC_TypeL">
    <xs:complexType>
      <xs:attribute name="t_T" type="stb:length" use="required" />
      <xs:attribute name="depth_H" type="stb:length" use="required" />
      <xs:attribute name="t_T1" type="stb:length" use="required" />
      <xs:attribute name="depth_H1" type="stb:length" use="required" />
      <xs:attribute name="depth_H2" type="stb:length" use="required" />
    </xs:complexType>
  </xs:element>
  <xs:element name="StbSecParapet_RC_TypeT">
    <xs:complexType>
      <xs:attribute name="t_T" type="stb:length" use="required" />
      <xs:attribute name="depth_H" type="stb:length" use="required" />
      <xs:attribute name="t_T1" type="stb:length" use="required" />
      <xs:attribute name="depth_H1" type="stb:length" use="required" />
      <xs:attribute name="depth_H2" type="stb:length" use="required" />
      <xs:attribute name="depth_H3" type="stb:length" use="required" />
    </xs:complexType>
  </xs:element>
  <xs:element name="StbSecParapet_RC_TypeI">
    <xs:complexType>
      <xs:attribute name="t_T" type="stb:length" use="required" />
      <xs:attribute name="depth_H" type="stb:length" use="required" />
    </xs:complexType>
  </xs:element>
  <xs:element name="StbSecBarArrangementParapet_RC">
    <xs:complexType>
      <xs:sequence>
        <xs:choice>
          <xs:element ref="stb:StbSecBarParapet_RC_Single" minOccurs="2" maxOccurs="2" />
          <xs:element ref="stb:StbSecBarParapet_RC_ZigZag" minOccurs="2" maxOccurs="2" />
          <xs:element ref="stb:StbSecBarParapet_RC_DoubleNet" minOccurs="2" maxOccurs="2" />
        </xs:choice>
        <xs:element ref="stb:StbSecBarParapet_RC_Tip" minOccurs="0" maxOccurs="2" />
        <xs:element ref="stb:StbSecBarParapet_RC_Edge" minOccurs="0" maxOccurs="4" />
      </xs:sequence>
      <xs:attribute name="depth_cover_outside" type="stb:length" />
      <xs:attribute name="depth_cover_inside" type="stb:length" />
      <xs:attribute name="isTipline" type="xs:boolean" default="true"/>
    </xs:complexType>
  </xs:element>
  <xs:element name="StbSecBarParapet_RC_Single">
    <xs:complexType>
      <xs:attribute name="pos" use="required">
        <xs:simpleType>
          <xs:restriction base="xs:string">
            <xs:enumeration value="VERTICAL" />
            <xs:enumeration value="HORIZONTAL" />
          </xs:restriction>
        </xs:simpleType>
      </xs:attribute>
      <xs:attribute name="strength" type="xs:string" />
      <xs:attribute name="D" type="xs:string" use="required" />
      <xs:attribute name="pitch" type="stb:length" use="required" />
    </xs:complexType>
  </xs:element>
  <xs:element name="StbSecBarParapet_RC_ZigZag">
    <xs:complexType>
      <xs:attribute name="pos" use="required">
        <xs:simpleType>
          <xs:restriction base="xs:string">
            <xs:enumeration value="VERTICAL" />
            <xs:enumeration value="HORIZONTAL" />
          </xs:restriction>
        </xs:simpleType>
      </xs:attribute>
      <xs:attribute name="strength" type="xs:string" />
      <xs:attribute name="D" type="xs:string" use="required" />
      <xs:attribute name="pitch" type="stb:length" use="required" />
    </xs:complexType>
  </xs:element>
  <xs:element name="StbSecBarParapet_RC_DoubleNet">
    <xs:complexType>
      <xs:attribute name="pos" use="required">
        <xs:simpleType>
          <xs:restriction base="xs:string">
            <xs:enumeration value="VERTICAL" />
            <xs:enumeration value="HORIZONTAL" />
          </xs:restriction>
        </xs:simpleType>
      </xs:attribute>
      <xs:attribute name="strength" type="xs:string" />
      <xs:attribute name="D" type="xs:string" use="required" />
      <xs:attribute name="pitch" type="stb:length" use="required" />
    </xs:complexType>
  </xs:element>
  <xs:element name="StbSecBarParapet_RC_Tip">
    <xs:complexType>
      <xs:attribute name="pos" use="required">
        <xs:simpleType>
          <xs:restriction base="xs:string">
            <xs:enumeration value="SHORT_SIDE" />
            <xs:enumeration value="LONG_SIDE" />
          </xs:restriction>
        </xs:simpleType>
      </xs:attribute>
      <xs:attribute name="strength" type="xs:string" />
      <xs:attribute name="D" type="xs:string" use="required" />
      <xs:attribute name="pitch" type="stb:length" />
      <xs:attribute name="N" type="xs:positiveInteger" />
    </xs:complexType>
  </xs:element>
  <xs:element name="StbSecBarParapet_RC_Edge">
    <xs:complexType>
      <xs:attribute name="pos" use="required">
        <xs:simpleType>
          <xs:restriction base="xs:string">
            <xs:enumeration value="VERTICAL_START" />
            <xs:enumeration value="VERTICAL_END" />
            <xs:enumeration value="HORIZONTAL_BOTTOM" />
            <xs:enumeration value="HORIZONTAL_TOP" />
          </xs:restriction>
        </xs:simpleType>
      </xs:attribute>
      <xs:attribute name="strength" type="xs:string" />
      <xs:attribute name="D" type="xs:string" use="required" />
      <xs:attribute name="N" type="xs:positiveInteger" use="required" />
   </xs:complexType>
  </xs:element>
  <xs:element name="StbSecSteel">
    <xs:complexType>
      <xs:sequence>
        <xs:element ref="stb:StbSecRoll-H" minOccurs="0" maxOccurs="unbounded" />
        <xs:element ref="stb:StbSecBuild-H" minOccurs="0" maxOccurs="unbounded" />
        <xs:element ref="stb:StbSecRoll-BOX" minOccurs="0" maxOccurs="unbounded" />
        <xs:element ref="stb:StbSecBuild-BOX" minOccurs="0" maxOccurs="unbounded" />
        <xs:element ref="stb:StbSecPipe" minOccurs="0" maxOccurs="unbounded" />
        <xs:element ref="stb:StbSecRoll-T" minOccurs="0" maxOccurs="unbounded" />
        <xs:element ref="stb:StbSecRoll-C" minOccurs="0" maxOccurs="unbounded" />
        <xs:element ref="stb:StbSecRoll-L" minOccurs="0" maxOccurs="unbounded" />
        <xs:element ref="stb:StbSecLipC" minOccurs="0" maxOccurs="unbounded" />
        <xs:element ref="stb:StbSecFlatBar" minOccurs="0" maxOccurs="unbounded" />
        <xs:element ref="stb:StbSecRoundBar" minOccurs="0" maxOccurs="unbounded" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="StbSecRoll-H">
    <xs:complexType>
      <xs:attribute name="name" type="xs:string" use="required" />
      <xs:attribute name="type" use="required">
        <xs:simpleType>
          <xs:restriction base="xs:string">
            <xs:enumeration value="H" />
            <xs:enumeration value="SH" />
          </xs:restriction>
        </xs:simpleType>
      </xs:attribute>
      <xs:attribute name="A" type="stb:length" use="required" />
      <xs:attribute name="B" type="stb:length" use="required" />
      <xs:attribute name="t1" type="stb:length" use="required" />
      <xs:attribute name="t2" type="stb:length" use="required" />
      <xs:attribute name="r" type="stb:length" use="required" />
    </xs:complexType>
  </xs:element>
  <xs:element name="StbSecBuild-H">
    <xs:complexType>
      <xs:attribute name="name" type="xs:string" use="required" />
      <xs:attribute name="A" type="stb:length" use="required" />
      <xs:attribute name="B" type="stb:length" use="required" />
      <xs:attribute name="t1" type="stb:length" use="required" />
      <xs:attribute name="t2" type="stb:length" use="required" />
    </xs:complexType>
  </xs:element>
  <xs:element name="StbSecRoll-BOX">
    <xs:complexType>
      <xs:attribute name="name" type="xs:string" use="required" />
      <xs:attribute name="type" use="required">
        <xs:simpleType>
          <xs:restriction base="xs:string">
            <xs:enumeration value="BCP" />
            <xs:enumeration value="BCR" />
            <xs:enumeration value="STKR" />
            <xs:enumeration value="ELSE" />
          </xs:restriction>
        </xs:simpleType>
      </xs:attribute>
      <xs:attribute name="A" type="stb:length" use="required" />
      <xs:attribute name="B" type="stb:length" use="required" />
      <xs:attribute name="t" type="stb:length" use="required" />
      <xs:attribute name="R" type="stb:length" use="required" />
    </xs:complexType>
  </xs:element>
  <xs:element name="StbSecBuild-BOX">
    <xs:complexType>
      <xs:attribute name="name" type="xs:string" use="required" />
      <xs:attribute name="A" type="stb:length" use="required" />
      <xs:attribute name="B" type="stb:length" use="required" />
      <xs:attribute name="t1" type="stb:length" use="required" />
      <xs:attribute name="t2" type="stb:length" use="required" />
    </xs:complexType>
  </xs:element>
  <xs:element name="StbSecPipe">
    <xs:complexType>
      <xs:attribute name="name" type="xs:string" use="required" />
      <xs:attribute name="D" type="stb:length" use="required" />
      <xs:attribute name="t" type="stb:length" use="required" />
    </xs:complexType>
  </xs:element>
  <xs:element name="StbSecRoll-T">
    <xs:complexType>
      <xs:attribute name="name" type="xs:string" use="required" />
      <xs:attribute name="type" use="required">
        <xs:simpleType>
          <xs:restriction base="xs:string">
            <xs:enumeration value="T" />
            <xs:enumeration value="ST" />
          </xs:restriction>
        </xs:simpleType>
      </xs:attribute>
      <xs:attribute name="A" type="stb:length" use="required" />
      <xs:attribute name="B" type="stb:length" use="required" />
      <xs:attribute name="t1" type="stb:length" use="required" />
      <xs:attribute name="t2" type="stb:length" use="required" />
      <xs:attribute name="r" type="stb:length" use="required" />
    </xs:complexType>
  </xs:element>
  <xs:element name="StbSecRoll-C">
    <xs:complexType>
      <xs:attribute name="name" type="xs:string" use="required" />
      <xs:attribute name="type" use="required">
        <xs:simpleType>
          <xs:restriction base="xs:string">
            <xs:enumeration value="SINGLE" />
            <xs:enumeration value="BACKTOBACK" />
            <xs:enumeration value="FACETOFACE" />
          </xs:restriction>
        </xs:simpleType>
      </xs:attribute>
      <xs:attribute name="A" type="stb:length" use="required" />
      <xs:attribute name="B" type="stb:length" use="required" />
      <xs:attribute name="t1" type="stb:length" use="required" />
      <xs:attribute name="t2" type="stb:length" use="required" />
      <xs:attribute name="r1" type="stb:length" use="required" />
      <xs:attribute name="r2" type="stb:length" use="required" />
    </xs:complexType>
  </xs:element>
  <xs:element name="StbSecRoll-L">
    <xs:complexType>
      <xs:attribute name="name" type="xs:string" use="required" />
      <xs:attribute name="type" use="required">
        <xs:simpleType>
          <xs:restriction base="xs:string">
            <xs:enumeration value="SINGLE" />
            <xs:enumeration value="BACKTOBACK" />
            <xs:enumeration value="FACETOFACE" />
          </xs:restriction>
        </xs:simpleType>
      </xs:attribute>
      <xs:attribute name="A" type="stb:length" use="required" />
      <xs:attribute name="B" type="stb:length" use="required" />
      <xs:attribute name="t1" type="stb:length" use="required" />
      <xs:attribute name="t2" type="stb:length" use="required" />
      <xs:attribute name="r1" type="stb:length" use="required" />
      <xs:attribute name="r2" type="stb:length" use="required" />
    </xs:complexType>
  </xs:element>
  <xs:element name="StbSecLipC">
    <xs:complexType>
      <xs:attribute name="name" type="xs:string" use="required" />
      <xs:attribute name="type" use="required">
        <xs:simpleType>
          <xs:restriction base="xs:string">
            <xs:enumeration value="SINGLE" />
            <xs:enumeration value="BACKTOBACK" />
            <xs:enumeration value="FACETOFACE" />
          </xs:restriction>
        </xs:simpleType>
      </xs:attribute>
      <xs:attribute name="H" type="stb:length" use="required" />
      <xs:attribute name="A" type="stb:length" use="required" />
      <xs:attribute name="C" type="stb:length" use="required" />
      <xs:attribute name="t" type="stb:length" use="required" />
    </xs:complexType>
  </xs:element>
  <xs:element name="StbSecFlatBar">
    <xs:complexType>
      <xs:attribute name="name" type="xs:string" use="required" />
      <xs:attribute name="B" type="stb:length" use="required" />
      <xs:attribute name="t" type="stb:length" use="required" />
    </xs:complexType>
  </xs:element>
  <xs:element name="StbSecRoundBar">
    <xs:complexType>
      <xs:attribute name="name" type="xs:string" use="required" />
      <xs:attribute name="R" type="stb:length" use="required" />
    </xs:complexType>
  </xs:element>
  <xs:element name="StbJoints">
    <xs:complexType>
      <xs:sequence>
        <xs:element ref="stb:StbJointBeamShapeH" minOccurs="0" maxOccurs="unbounded" />
        <xs:element ref="stb:StbJointColumnShapeH" minOccurs="0" maxOccurs="unbounded" />
        <xs:element ref="stb:StbJointColumnShapeT" minOccurs="0" maxOccurs="unbounded" />
        <xs:element ref="stb:StbJointColumnShapeCross" minOccurs="0" maxOccurs="unbounded" />
      </xs:sequence>
    </xs:complexType>
      <xs:key name="stbJoints">
          <xs:selector xpath="./*"/>
          <xs:field xpath="@id"/>
      </xs:key>
  </xs:element>
  <xs:element name="StbJointBeamShapeH">
    <xs:complexType>
      <xs:sequence>
        <xs:element ref="stb:StbJointShapeH" minOccurs="1" maxOccurs="1"/>
        <xs:element ref="stb:StbJointShapeHFlange" minOccurs="0" maxOccurs="1" />
        <xs:element ref="stb:StbJointShapeHWeb" minOccurs="1" maxOccurs="1"/>
      </xs:sequence>
      <xs:attribute name="id" type="xs:positiveInteger" use="required" />
      <xs:attribute name="joint_name" type="xs:string" />
      <xs:attribute name="joint_mark" type="xs:string" />
    </xs:complexType>
  </xs:element>
  <xs:element name="StbJointShapeH">
    <xs:complexType>
      <xs:attribute name="strength_plate" type="xs:string" use="required" />
      <xs:attribute name="strength_bolt" type="xs:string" use="required" />
      <xs:attribute name="name_bolt" type="xs:string" use="required" />
      <xs:attribute name="clearance" type="stb:nonNegativeLength" default="10" />
    </xs:complexType>
  </xs:element>
  <xs:element name="StbJointShapeHFlange">
    <xs:complexType>
      <xs:attribute name="isZigzag" type="xs:boolean" default="false"/>
      <xs:attribute name="nf" type="xs:positiveInteger" use="required" />
      <xs:attribute name="mf" type="xs:positiveInteger" use="required" />
      <xs:attribute name="g1" type="stb:length" use="required" />
      <xs:attribute name="g2" type="stb:length" />
      <xs:attribute name="pitch" type="stb:length" use="required" />
      <xs:attribute name="e1" type="stb:length" use="required" />
      <xs:attribute name="e2" type="stb:length" />
      <xs:attribute name="outside_thickness" type="stb:length" use="required" />
      <xs:attribute name="outside_width" type="stb:length" use="required" />
      <xs:attribute name="outside_length" type="stb:length" />
      <xs:attribute name="inside_thickness" type="stb:length" />
      <xs:attribute name="inside_width" type="stb:length" />
      <xs:attribute name="inside_length" type="stb:length" />
    </xs:complexType>
  </xs:element>
  <xs:element name="StbJointShapeHWeb">
    <xs:complexType>
      <xs:attribute name="mw" type="xs:positiveInteger" use="required" />
      <xs:attribute name="nw" type="xs:positiveInteger" use="required" />
      <xs:attribute name="pitch_depth" type="stb:length" />
      <xs:attribute name="pitch" type="stb:length" />
      <xs:attribute name="e1" type="stb:length" use="required" />
      <xs:attribute name="e2" type="stb:length" />
      <xs:attribute name="plate_thickness" type="stb:length" use="required" />
      <xs:attribute name="plate_width" type="stb:length" use="required" />
      <xs:attribute name="plate_length" type="stb:length" />
    </xs:complexType>
  </xs:element>
  <xs:element name="StbJointColumnShapeH">
    <xs:complexType>
      <xs:sequence>
        <xs:element ref="stb:StbJointShapeH" minOccurs="1" maxOccurs="1" />
        <xs:element ref="stb:StbJointShapeHFlange" minOccurs="0" maxOccurs="1" />
        <xs:element ref="stb:StbJointShapeHWeb" minOccurs="1" maxOccurs="1" />
      </xs:sequence>
      <xs:attribute name="id" type="xs:positiveInteger" use="required" />
      <xs:attribute name="joint_name" type="xs:string" />
      <xs:attribute name="joint_mark" type="xs:string" />
    </xs:complexType>
  </xs:element>
  <xs:element name="StbJointColumnShapeT">
    <xs:complexType>
      <xs:sequence>
        <xs:element ref="stb:StbJointShapeT" minOccurs="1" maxOccurs="1" />
        <xs:element ref="stb:StbJointShapeTFlangeH" minOccurs="0" maxOccurs="1" />
        <xs:element ref="stb:StbJointShapeTWebHLong" minOccurs="1" maxOccurs="1" />
        <xs:element ref="stb:StbJointShapeTWebHShort" minOccurs="1" maxOccurs="1" />
        <xs:element ref="stb:StbJointShapeTFlangeT" minOccurs="0" maxOccurs="1" />
        <xs:element ref="stb:StbJointShapeTWebT" minOccurs="1" maxOccurs="1" />
      </xs:sequence>
      <xs:attribute name="id" type="xs:positiveInteger" use="required" />
      <xs:attribute name="joint_name" type="xs:string" />
      <xs:attribute name="joint_mark" type="xs:string" />
    </xs:complexType>
  </xs:element>
  <xs:element name="StbJointShapeT">
    <xs:complexType>
      <xs:attribute name="strength_plate" type="xs:string" use="required" />
      <xs:attribute name="strength_bolt" type="xs:string" use="required" />
      <xs:attribute name="name_bolt" type="xs:string" use="required" />
      <xs:attribute name="offset_T" type="stb:nonNegativeLength" default="0" />
      <xs:attribute name="clearance" type="stb:nonNegativeLength" default="10" />
    </xs:complexType>
  </xs:element>
  <xs:element name="StbJointShapeTFlangeH">
    <xs:complexType>
      <xs:attribute name="isZigzag" type="xs:boolean" default="false" />
      <xs:attribute name="nf" type="xs:positiveInteger" use="required" />
      <xs:attribute name="mf" type="xs:positiveInteger" use="required" />
      <xs:attribute name="g1" type="stb:length" use="required" />
      <xs:attribute name="g2" type="stb:length" />
      <xs:attribute name="pitch" type="stb:length" use="required" />
      <xs:attribute name="e1" type="stb:length" use="required" />
      <xs:attribute name="e2" type="stb:length" />
      <xs:attribute name="outside_thickness" type="stb:length" use="required" />
      <xs:attribute name="outside_width" type="stb:length" use="required" />
      <xs:attribute name="outside_length" type="stb:length" />
      <xs:attribute name="inside_thickness" type="stb:length" />
      <xs:attribute name="inside_width" type="stb:length" />
      <xs:attribute name="inside_length" type="stb:length" />
    </xs:complexType>
  </xs:element>
  <xs:element name="StbJointShapeTWebHLong">
    <xs:complexType>
      <xs:attribute name="mw" type="xs:positiveInteger" use="required" />
      <xs:attribute name="nw" type="xs:positiveInteger" use="required" />
      <xs:attribute name="pitch_depth" type="stb:length" />
      <xs:attribute name="pitch" type="stb:length" />
      <xs:attribute name="e1" type="stb:length" use="required" />
      <xs:attribute name="e2" type="stb:length" />
      <xs:attribute name="plate_thickness" type="stb:length" use="required" />
      <xs:attribute name="plate_width" type="stb:length" use="required" />
      <xs:attribute name="plate_length" type="stb:length" />
    </xs:complexType>
  </xs:element>
  <xs:element name="StbJointShapeTWebHShort">
    <xs:complexType>
      <xs:attribute name="mw" type="xs:positiveInteger" use="required" />
      <xs:attribute name="nw" type="xs:positiveInteger" use="required" />
      <xs:attribute name="pitch_depth" type="stb:length" />
      <xs:attribute name="pitch" type="stb:length" />
      <xs:attribute name="e1" type="stb:length" use="required" />
      <xs:attribute name="e2" type="stb:length" />
      <xs:attribute name="plate_thickness" type="stb:length" use="required" />
      <xs:attribute name="plate_width" type="stb:length" use="required" />
      <xs:attribute name="plate_length" type="stb:length" />
    </xs:complexType>
  </xs:element>
  <xs:element name="StbJointShapeTFlangeT">
    <xs:complexType>
      <xs:attribute name="isZigzag" type="xs:boolean" default="false" />
      <xs:attribute name="nf" type="xs:positiveInteger" use="required" />
      <xs:attribute name="mf" type="xs:positiveInteger" use="required" />
      <xs:attribute name="g1" type="stb:length" use="required" />
      <xs:attribute name="g2" type="stb:length" />
      <xs:attribute name="pitch" type="stb:length" use="required" />
      <xs:attribute name="e1" type="stb:length" use="required" />
      <xs:attribute name="e2" type="stb:length" />
      <xs:attribute name="outside_thickness" type="stb:length" use="required" />
      <xs:attribute name="outside_width" type="stb:length" use="required" />
      <xs:attribute name="outside_length" type="stb:length" />
      <xs:attribute name="inside_thickness" type="stb:length" />
      <xs:attribute name="inside_width" type="stb:length" />
      <xs:attribute name="inside_length" type="stb:length" />
    </xs:complexType>
  </xs:element>
  <xs:element name="StbJointShapeTWebT">
    <xs:complexType>
      <xs:attribute name="mw" type="xs:positiveInteger" use="required" />
      <xs:attribute name="nw" type="xs:positiveInteger" use="required" />
      <xs:attribute name="pitch_depth" type="stb:length" />
      <xs:attribute name="pitch" type="stb:length" />
      <xs:attribute name="e1" type="stb:length" use="required" />
      <xs:attribute name="e2" type="stb:length" />
      <xs:attribute name="plate_thickness" type="stb:length" use="required" />
      <xs:attribute name="plate_width" type="stb:length" use="required" />
      <xs:attribute name="plate_length" type="stb:length" />
    </xs:complexType>
  </xs:element>
  <xs:element name="StbJointColumnShapeCross">
    <xs:complexType>
      <xs:sequence>
        <xs:element ref="stb:StbJointShapeCross" minOccurs="1" maxOccurs="1" />
        <xs:element ref="stb:StbJointShapeCrossXFlange" minOccurs="0" maxOccurs="1" />
        <xs:element ref="stb:StbJointShapeCrossXWebLong" minOccurs="1" maxOccurs="1" />
        <xs:element ref="stb:StbJointShapeCrossXWebShort" minOccurs="1" maxOccurs="1" />
        <xs:element ref="stb:StbJointShapeCrossYFlange" minOccurs="0" maxOccurs="1" />
        <xs:element ref="stb:StbJointShapeCrossYWebLong" minOccurs="1" maxOccurs="1" />
        <xs:element ref="stb:StbJointShapeCrossYWebShort" minOccurs="1" maxOccurs="1" />
      </xs:sequence>
      <xs:attribute name="id" type="xs:positiveInteger" use="required" />
      <xs:attribute name="joint_name" type="xs:string" />
      <xs:attribute name="joint_mark" type="xs:string" />
    </xs:complexType>
  </xs:element>
  <xs:element name="StbJointShapeCross">
    <xs:complexType>
      <xs:attribute name="strength_plate" type="xs:string" use="required" />
      <xs:attribute name="strength_bolt" type="xs:string" use="required" />
      <xs:attribute name="name_bolt" type="xs:string" use="required" />
      <xs:attribute name="offset_HY" type="stb:nonNegativeLength" />
      <xs:attribute name="offset_HX" type="stb:nonNegativeLength" />
      <xs:attribute name="clearance" type="stb:nonNegativeLength" default="10"/>
    </xs:complexType>
  </xs:element>
  <xs:element name="StbJointShapeCrossXFlange">
    <xs:complexType>
      <xs:attribute name="isZigzag" type="xs:boolean" default="false" />
      <xs:attribute name="nf" type="xs:positiveInteger" use="required" />
      <xs:attribute name="mf" type="xs:positiveInteger" use="required" />
      <xs:attribute name="g1" type="stb:length" use="required" />
      <xs:attribute name="g2" type="stb:length" />
      <xs:attribute name="pitch" type="stb:length" use="required" />
      <xs:attribute name="e1" type="stb:length" use="required" />
      <xs:attribute name="e2" type="stb:length" />
      <xs:attribute name="outside_thickness" type="stb:length" use="required" />
      <xs:attribute name="outside_width" type="stb:length" use="required" />
      <xs:attribute name="outside_length" type="stb:length" />
      <xs:attribute name="inside_thickness" type="stb:length" />
      <xs:attribute name="inside_width" type="stb:length" />
      <xs:attribute name="inside_length" type="stb:length" />
    </xs:complexType>
  </xs:element>
  <xs:element name="StbJointShapeCrossXWebLong">
    <xs:complexType>
      <xs:attribute name="mw" type="xs:positiveInteger" use="required" />
      <xs:attribute name="nw" type="xs:positiveInteger" use="required" />
      <xs:attribute name="pitch_depth" type="stb:length" />
      <xs:attribute name="pitch" type="stb:length" />
      <xs:attribute name="e1" type="stb:length" use="required" />
      <xs:attribute name="e2" type="stb:length" />
      <xs:attribute name="plate_thickness" type="stb:length" use="required" />
      <xs:attribute name="plate_width" type="stb:length" use="required" />
      <xs:attribute name="plate_length" type="stb:length" />
    </xs:complexType>
  </xs:element>
  <xs:element name="StbJointShapeCrossXWebShort">
    <xs:complexType>
      <xs:attribute name="mw" type="xs:positiveInteger" use="required" />
      <xs:attribute name="nw" type="xs:positiveInteger" use="required" />
      <xs:attribute name="pitch_depth" type="stb:length" />
      <xs:attribute name="pitch" type="stb:length" />
      <xs:attribute name="e1" type="stb:length" use="required" />
      <xs:attribute name="e2" type="stb:length" />
      <xs:attribute name="plate_thickness" type="stb:length" use="required" />
      <xs:attribute name="plate_width" type="stb:length" use="required" />
      <xs:attribute name="plate_length" type="stb:length" />
    </xs:complexType>
  </xs:element>
  <xs:element name="StbJointShapeCrossYFlange">
    <xs:complexType>
      <xs:attribute name="isZigzag" type="xs:boolean" default="false"/>
      <xs:attribute name="nf" type="xs:positiveInteger" use="required" />
      <xs:attribute name="mf" type="xs:positiveInteger" use="required" />
      <xs:attribute name="g1" type="stb:length" use="required" />
      <xs:attribute name="g2" type="stb:length" />
      <xs:attribute name="pitch" type="stb:length" use="required" />
      <xs:attribute name="e1" type="stb:length" use="required" />
      <xs:attribute name="e2" type="stb:length" />
      <xs:attribute name="outside_thickness" type="stb:length" use="required" />
      <xs:attribute name="outside_width" type="stb:length" use="required" />
      <xs:attribute name="outside_length" type="stb:length" />
      <xs:attribute name="inside_thickness" type="stb:length" />
      <xs:attribute name="inside_width" type="stb:length" />
      <xs:attribute name="inside_length" type="stb:length" />
    </xs:complexType>
  </xs:element>
  <xs:element name="StbJointShapeCrossYWebLong">
    <xs:complexType>
      <xs:attribute name="mw" type="xs:positiveInteger" use="required" />
      <xs:attribute name="nw" type="xs:positiveInteger" use="required" />
      <xs:attribute name="pitch_depth" type="stb:length" />
      <xs:attribute name="pitch" type="stb:length" />
      <xs:attribute name="e1" type="stb:length" use="required" />
      <xs:attribute name="e2" type="stb:length" />
      <xs:attribute name="plate_thickness" type="stb:length" use="required" />
      <xs:attribute name="plate_width" type="stb:length" use="required" />
      <xs:attribute name="plate_length" type="stb:length" />
    </xs:complexType>
  </xs:element>
  <xs:element name="StbJointShapeCrossYWebShort">
    <xs:complexType>
      <xs:attribute name="mw" type="xs:positiveInteger" use="required" />
      <xs:attribute name="nw" type="xs:positiveInteger" use="required" />
      <xs:attribute name="pitch_depth" type="stb:length" />
      <xs:attribute name="pitch" type="stb:length" />
      <xs:attribute name="e1" type="stb:length" use="required" />
      <xs:attribute name="e2" type="stb:length" />
      <xs:attribute name="plate_thickness" type="stb:length" use="required" />
      <xs:attribute name="plate_width" type="stb:length" use="required" />
      <xs:attribute name="plate_length" type="stb:length" />
    </xs:complexType>
  </xs:element>
  <xs:element name="StbExtensions">
    <xs:complexType>
      <xs:sequence>
        <xs:element ref="stb:StbExtension" minOccurs="0" maxOccurs="unbounded" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="StbExtension">
    <xs:complexType>
      <xs:sequence>
        <xs:element ref="stb:StbExtObject" minOccurs="0" maxOccurs="unbounded" />
        <xs:element ref="stb:StbExtElement" minOccurs="0" maxOccurs="unbounded" />
      </xs:sequence>
      <xs:attribute name="identifier" type="xs:string" use="required"/>
      <xs:attribute name="description" type="xs:string" />
    </xs:complexType>
  </xs:element>
  <xs:element name="StbExtObject">
    <xs:complexType>
      <xs:sequence>
        <xs:element ref="stb:StbExtProperty" minOccurs="0" maxOccurs="unbounded" />
      </xs:sequence>
      <xs:attribute name="objectName" type="xs:string" use="required" />
      <xs:attribute name="objectID" type="xs:nonNegativeInteger" use="required" />
    </xs:complexType>
  </xs:element>
  <xs:element name="StbExtProperty">
    <xs:complexType>
      <xs:attribute name="key" type="xs:string" use="required"/>
      <xs:attribute name="type" use="required">
        <xs:simpleType>
          <xs:restriction base="xs:string">
            <xs:enumeration value="string" />
            <xs:enumeration value="integer" />
            <xs:enumeration value="double" />
            <xs:enumeration value="boolean" />
          </xs:restriction>
        </xs:simpleType>
      </xs:attribute>
      <xs:attribute name="value" type="xs:string" use="required"/>
    </xs:complexType>
  </xs:element>
  <xs:element name="StbExtElement">
    <xs:complexType>
      <xs:sequence>
        <xs:element ref="stb:StbExtPropertyDef" minOccurs="0" maxOccurs="unbounded" />
      </xs:sequence>
      <xs:attribute name="objectName" type="xs:string" use="required" />
      <xs:attribute name="elementName" type="xs:string" />
    </xs:complexType>
  </xs:element>
  <xs:element name="StbExtPropertyDef">
    <xs:complexType>
      <xs:attribute name="key" type="xs:string" use="required" />
      <xs:attribute name="type" use="required" >
        <xs:simpleType>
          <xs:restriction base="xs:string">
            <xs:enumeration value="string" />
            <xs:enumeration value="integer" />
            <xs:enumeration value="double" />
            <xs:enumeration value="boolean" />
          </xs:restriction>
        </xs:simpleType>
      </xs:attribute>
      <xs:attribute name="default" />
    </xs:complexType>
  </xs:element>
  <xs:attributeGroup name="Column_RC_RebarPositionApply">
      <xs:attribute name="set_default" type="xs:boolean" use="required"/>
      <xs:attribute name="depth_cover" type="stb:length"/>
      <xs:attribute name="interval" type="stb:length"/>
      <xs:attribute name="center" type="stb:length"/>
      <xs:attribute name="length_to_center" type="stb:length"/>
  </xs:attributeGroup>
  <xs:attributeGroup name="Column_RC_BarSpacingApply">
          <xs:attribute name="set_default" type="xs:boolean" use="required"/>
          <xs:attribute name="D_bar_spacing" type="xs:string"/>
          <xs:attribute name="pitch_bar_spacing" type="stb:length"/>
          <xs:attribute name="N_bar_spacing_X" type="xs:positiveInteger"/>
          <xs:attribute name="N_bar_spacing_Y" type="xs:positiveInteger"/>
  </xs:attributeGroup>
  <xs:attributeGroup name="Beam_RC_RebarPositionApply">
          <xs:attribute name="set_default" type="xs:boolean" use="required"/>
          <xs:attribute name="depth_cover_side" type="stb:length"/>
          <xs:attribute name="depth_cover_top_bottom" type="stb:length"/>
          <xs:attribute name="interval" type="stb:length"/>
          <xs:attribute name="center_side" type="stb:length"/>
          <xs:attribute name="center_top_bottom" type="stb:length"/>
          <xs:attribute name="length_to_center" type="stb:length"/>
  </xs:attributeGroup>
  <xs:attributeGroup name="Beam_RC_BarWebApply">
          <xs:attribute name="set_default" type="xs:boolean" use="required"/>
          <xs:attribute name="D_web" type="xs:string"/>
          <xs:attribute name="N_web" type="xs:positiveInteger"/>
  </xs:attributeGroup>
  <xs:attributeGroup name="Beam_RC_BarSpacingApply">
          <xs:attribute name="set_default" type="xs:boolean" use="required"/>
          <xs:attribute name="D_bar_spacing" type="xs:string"/>
          <xs:attribute name="pitch_bar_spacing" type="stb:length"/>
          <xs:attribute name="N_bar_spacing" type="xs:positiveInteger"/>
  </xs:attributeGroup>
 <xs:attributeGroup name="Column">
    <xs:attribute name="id" type="xs:positiveInteger" use="required" />
    <xs:attribute name="guid" type="stb:guid" />
    <xs:attribute name="name" type="xs:string" use="required" />
    <xs:attribute name="id_node_bottom" type="xs:positiveInteger" use="required" />
    <xs:attribute name="id_node_top" type="xs:positiveInteger" use="required" />
    <xs:attribute name="rotate" type="stb:angle" default="0" />
    <xs:attribute name="id_section" type="xs:positiveInteger" use="required" />
    <xs:attribute name="kind_structure" use="required">
      <xs:simpleType>
        <xs:restriction base="xs:string">
          <xs:enumeration value="RC" />
          <xs:enumeration value="S" />
          <xs:enumeration value="SRC" />
          <xs:enumeration value="CFT" />
        </xs:restriction>
      </xs:simpleType>
    </xs:attribute>
    <xs:attribute name="offset_bottom_X" type="xs:double" />
    <xs:attribute name="offset_bottom_Y" type="xs:double" />
    <xs:attribute name="offset_bottom_Z" type="xs:double" />
    <xs:attribute name="offset_top_X" type="xs:double" />
    <xs:attribute name="offset_top_Y" type="xs:double" />
    <xs:attribute name="offset_top_Z" type="xs:double" />
    <xs:attribute name="thickness_add_start_X" type="stb:nonNegativeLength" />
    <xs:attribute name="thickness_add_end_X" type="stb:nonNegativeLength" />
    <xs:attribute name="thickness_add_start_Y" type="stb:nonNegativeLength" />
    <xs:attribute name="thickness_add_end_Y" type="stb:nonNegativeLength" />
    <xs:attribute name="condition_bottom" default="FIX">
      <xs:simpleType>
        <xs:restriction base="xs:string" >
          <xs:enumeration value="FIX" />
          <xs:enumeration value="PIN" />
        </xs:restriction>
      </xs:simpleType>
    </xs:attribute>
    <xs:attribute name="condition_top" default="FIX">
      <xs:simpleType>
        <xs:restriction base="xs:string">
          <xs:enumeration value="FIX" />
          <xs:enumeration value="PIN" />
        </xs:restriction>
      </xs:simpleType>
    </xs:attribute>
    <xs:attribute name="joint_top" type="stb:length" />
    <xs:attribute name="joint_bottom" type="stb:length" />
    <xs:attribute name="kind_joint_top" default="WELD">
      <xs:simpleType>
        <xs:restriction base="xs:string">
          <xs:enumeration value="BOLT" />
          <xs:enumeration value="WBOLT" />
          <xs:enumeration value="WELD" />
        </xs:restriction>
      </xs:simpleType>
    </xs:attribute>
    <xs:attribute name="kind_joint_bottom" default="WELD">
      <xs:simpleType>
        <xs:restriction base="xs:string">
          <xs:enumeration value="BOLT" />
          <xs:enumeration value="WBOLT" />
          <xs:enumeration value="WELD" />
        </xs:restriction>
      </xs:simpleType>
    </xs:attribute>
    <xs:attribute name="joint_id_top" type="xs:positiveInteger" />
    <xs:attribute name="joint_id_bottom" type="xs:positiveInteger" />
  </xs:attributeGroup>
  <xs:attributeGroup name="Girder">
    <xs:attribute name="id" type="xs:positiveInteger" use="required" />
    <xs:attribute name="guid" type="stb:guid" />
    <xs:attribute name="name" type="xs:string" use="required" />
    <xs:attribute name="id_node_start" type="xs:positiveInteger" use="required" />
    <xs:attribute name="id_node_end" type="xs:positiveInteger" use="required" />
    <xs:attribute name="rotate" type="stb:angle" default="0" />
    <xs:attribute name="id_section" type="xs:positiveInteger" use="required" />
    <xs:attribute name="section_io_start">
      <xs:simpleType>
        <xs:restriction base="xs:string">
          <xs:enumeration value="OUT" />
          <xs:enumeration value="IN" />
        </xs:restriction>
      </xs:simpleType>
    </xs:attribute>
    <xs:attribute name="section_io_end">
      <xs:simpleType>
        <xs:restriction base="xs:string">
          <xs:enumeration value="OUT" />
          <xs:enumeration value="IN" />
        </xs:restriction>
      </xs:simpleType>
    </xs:attribute>
    <xs:attribute name="kind_structure" use="required">
      <xs:simpleType>
        <xs:restriction base="xs:string">
          <xs:enumeration value="RC" />
          <xs:enumeration value="S" />
          <xs:enumeration value="SRC" />
        </xs:restriction>
      </xs:simpleType>
    </xs:attribute>
    <xs:attribute name="isFoundation" type="xs:boolean" use="required" />
    <xs:attribute name="offset_start_X" type="xs:double" />
    <xs:attribute name="offset_start_Y" type="xs:double" />
    <xs:attribute name="offset_start_Z" type="xs:double" />
    <xs:attribute name="offset_end_X" type="xs:double" />
    <xs:attribute name="offset_end_Y" type="xs:double" />
    <xs:attribute name="offset_end_Z" type="xs:double" />
    <xs:attribute name="thickness_add_top" type="stb:nonNegativeLength" />
    <xs:attribute name="thickness_add_bottom" type="stb:nonNegativeLength" />
    <xs:attribute name="thickness_add_right" type="stb:nonNegativeLength" />
    <xs:attribute name="thickness_add_left" type="stb:nonNegativeLength" />
    <xs:attribute name="condition_start" default="FIX">
      <xs:simpleType>
        <xs:restriction base="xs:string">
          <xs:enumeration value="FIX" />
          <xs:enumeration value="PIN" />
        </xs:restriction>
      </xs:simpleType>
    </xs:attribute>
    <xs:attribute name="condition_end" default="FIX">
      <xs:simpleType>
        <xs:restriction base="xs:string">
          <xs:enumeration value="FIX" />
          <xs:enumeration value="PIN" />
        </xs:restriction>
      </xs:simpleType>
    </xs:attribute>
    <xs:attribute name="haunch_start" type="stb:length" />
    <xs:attribute name="haunch_end" type="stb:length" />
    <xs:attribute name="joint_start" type="stb:length" />
    <xs:attribute name="joint_end" type="stb:length" />
    <xs:attribute name="kind_haunch_start" default="SLOPE">
      <xs:simpleType>
        <xs:restriction base="xs:string">
          <xs:enumeration value="SLOPE" />
          <xs:enumeration value="DROP" />
        </xs:restriction>
      </xs:simpleType>
    </xs:attribute>
    <xs:attribute name="kind_haunch_end" default="SLOPE">
      <xs:simpleType>
        <xs:restriction base="xs:string">
          <xs:enumeration value="SLOPE" />
          <xs:enumeration value="DROP" />
        </xs:restriction>
      </xs:simpleType>
    </xs:attribute>
    <xs:attribute name="type_haunch_H" default="BOTH">
      <xs:simpleType>
        <xs:restriction base="xs:string">
          <xs:enumeration value="BOTH" />
          <xs:enumeration value="RIGHT" />
          <xs:enumeration value="LEFT" />
        </xs:restriction>
      </xs:simpleType>
    </xs:attribute>
    <xs:attribute name="type_haunch_V"  default="BOTH">
      <xs:simpleType>
        <xs:restriction base="xs:string">
          <xs:enumeration value="BOTH" />
          <xs:enumeration value="TOP" />
          <xs:enumeration value="BOTTOM" />
        </xs:restriction>
      </xs:simpleType>
    </xs:attribute>
    <xs:attribute name="kind_joint_start" default="WELD">
      <xs:simpleType>
        <xs:restriction base="xs:string">
          <xs:enumeration value="BOLT" />
          <xs:enumeration value="WBOLT" />
          <xs:enumeration value="WELD" />
        </xs:restriction>
      </xs:simpleType>
    </xs:attribute>
    <xs:attribute name="kind_joint_end" default="WELD">
      <xs:simpleType>
        <xs:restriction base="xs:string">
          <xs:enumeration value="BOLT" />
          <xs:enumeration value="WBOLT" />
          <xs:enumeration value="WELD" />
        </xs:restriction>
      </xs:simpleType>
    </xs:attribute>
    <xs:attribute name="joint_id_start" type="xs:positiveInteger" />
    <xs:attribute name="joint_id_end" type="xs:positiveInteger" />
  </xs:attributeGroup>
  <xs:attributeGroup name="SecColumn_RC_Rect">
      <xs:attribute name="width_X" type="stb:length" use="required" />
      <xs:attribute name="width_Y" type="stb:length" use="required" />
  </xs:attributeGroup>
  <xs:attributeGroup name="SecColumn_RC_Circle">
      <xs:attribute name="D" type="stb:length" use="required" />
  </xs:attributeGroup>
  <xs:attributeGroup name="SecBarColumn_RC_RectSame">
    <xs:attribute name="D_main" type="xs:string" use="required" />
    <xs:attribute name="D_2nd_main" type="xs:string" />
    <xs:attribute name="D_axial" type="xs:string" />
    <xs:attribute name="D_band" type="xs:string" use="required" />
    <xs:attribute name="D_bar_spacing" type="xs:string" />
    <xs:attribute name="strength_main" type="xs:string" />
    <xs:attribute name="strength_2nd_main" type="xs:string" />
    <xs:attribute name="strength_axial" type="xs:string" />
    <xs:attribute name="strength_band" type="xs:string" />
    <xs:attribute name="strength_bar_spacing" type="xs:string" />
    <xs:attribute name="N_main_X_1st" type="xs:positiveInteger" use="required" />
    <xs:attribute name="N_main_X_2nd" type="xs:positiveInteger" />
    <xs:attribute name="N_main_Y_1st" type="xs:positiveInteger" use="required" />
    <xs:attribute name="N_main_Y_2nd" type="xs:positiveInteger" />
    <xs:attribute name="N_2nd_main_X_1st" type="xs:positiveInteger" />
    <xs:attribute name="N_2nd_main_X_2nd" type="xs:positiveInteger" />
    <xs:attribute name="N_2nd_main_Y_1st" type="xs:positiveInteger" />
    <xs:attribute name="N_2nd_main_Y_2nd" type="xs:positiveInteger" />
    <xs:attribute name="N_main_total" type="xs:positiveInteger" use="required" />
    <xs:attribute name="N_axial" type="xs:positiveInteger" />
    <xs:attribute name="pitch_band" type="stb:length" use="required" />
    <xs:attribute name="N_band_direction_X" type="xs:positiveInteger" use="required" />
    <xs:attribute name="N_band_direction_Y" type="xs:positiveInteger" use="required" />
    <xs:attribute name="pitch_bar_spacing" type="stb:length" />
    <xs:attribute name="N_bar_spacing_X" type="xs:positiveInteger" />
    <xs:attribute name="N_bar_spacing_Y" type="xs:positiveInteger" />
  </xs:attributeGroup>
  <xs:attributeGroup name="SecBarColumn_RC_RectNotSame">
    <xs:attribute name="pos" use="required">
        <xs:simpleType>
            <xs:restriction base="xs:string">
                <xs:enumeration value="BASE" />
                <xs:enumeration value="TOP" />
            </xs:restriction>
        </xs:simpleType>
    </xs:attribute>
    <xs:attribute name="D_main" type="xs:string" use="required" />
    <xs:attribute name="D_2nd_main" type="xs:string" />
    <xs:attribute name="D_axial" type="xs:string" />
    <xs:attribute name="D_band" type="xs:string" use="required" />
    <xs:attribute name="D_bar_spacing" type="xs:string" />
    <xs:attribute name="strength_main" type="xs:string" />
    <xs:attribute name="strength_2nd_main" type="xs:string" />
    <xs:attribute name="strength_axial" type="xs:string" />
    <xs:attribute name="strength_band" type="xs:string" />
    <xs:attribute name="strength_bar_spacing" type="xs:string" />
    <xs:attribute name="N_main_X_1st" type="xs:positiveInteger" use="required" />
    <xs:attribute name="N_main_X_2nd" type="xs:positiveInteger" />
    <xs:attribute name="N_main_Y_1st" type="xs:positiveInteger" use="required" />
    <xs:attribute name="N_main_Y_2nd" type="xs:positiveInteger" />
    <xs:attribute name="N_2nd_main_X_1st" type="xs:positiveInteger" />
    <xs:attribute name="N_2nd_main_X_2nd" type="xs:positiveInteger" />
    <xs:attribute name="N_2nd_main_Y_1st" type="xs:positiveInteger" />
    <xs:attribute name="N_2nd_main_Y_2nd" type="xs:positiveInteger" />
    <xs:attribute name="N_main_total" type="xs:positiveInteger" use="required" />
    <xs:attribute name="N_axial" type="xs:positiveInteger" />
    <xs:attribute name="pitch_band" type="stb:length" use="required" />
    <xs:attribute name="N_band_direction_X" type="xs:positiveInteger" use="required" />
    <xs:attribute name="N_band_direction_Y" type="xs:positiveInteger" use="required" />
    <xs:attribute name="pitch_bar_spacing" type="stb:length" />
    <xs:attribute name="N_bar_spacing_X" type="xs:positiveInteger" />
    <xs:attribute name="N_bar_spacing_Y" type="xs:positiveInteger" />
  </xs:attributeGroup>
  <xs:attributeGroup name="SecBarColumn_RC_CircleSame">
    <xs:attribute name="D_main" type="xs:string" use="required" />
    <xs:attribute name="D_axial" type="xs:string" />
    <xs:attribute name="D_band" type="xs:string" use="required" />
    <xs:attribute name="D_bar_spacing" type="xs:string" />
    <xs:attribute name="strength_main" type="xs:string" />
    <xs:attribute name="strength_axial" type="xs:string" />
    <xs:attribute name="strength_band" type="xs:string" />
    <xs:attribute name="strength_bar_spacing" type="xs:string" />
    <xs:attribute name="N_main" type="xs:positiveInteger" use="required" />
    <xs:attribute name="N_axial" type="xs:positiveInteger" />
    <xs:attribute name="N_band" type="xs:positiveInteger" use="required" />
    <xs:attribute name="pitch_band" type="stb:length" use="required" />
    <xs:attribute name="pitch_bar_spacing" type="stb:length" />
    <xs:attribute name="N_bar_spacing_X" type="xs:positiveInteger" />
    <xs:attribute name="N_bar_spacing_Y" type="xs:positiveInteger" />
  </xs:attributeGroup>
  <xs:attributeGroup name="SecBarColumn_RC_CircleNotSame">
      <xs:attribute name="pos" use="required">
        <xs:simpleType>
          <xs:restriction base="xs:string">
            <xs:enumeration value="BASE" />
            <xs:enumeration value="TOP" />
          </xs:restriction>
        </xs:simpleType>
      </xs:attribute>
    <xs:attribute name="D_main" type="xs:string" use="required" />
    <xs:attribute name="D_axial" type="xs:string" />
    <xs:attribute name="D_band" type="xs:string" use="required" />
    <xs:attribute name="D_bar_spacing" type="xs:string" />
    <xs:attribute name="strength_main" type="xs:string" />
    <xs:attribute name="strength_axial" type="xs:string" />
    <xs:attribute name="strength_band" type="xs:string" />
    <xs:attribute name="strength_bar_spacing" type="xs:string" />
    <xs:attribute name="N_main" type="xs:positiveInteger" use="required" />
    <xs:attribute name="N_axial" type="xs:positiveInteger" />
    <xs:attribute name="N_band" type="xs:positiveInteger" use="required" />
    <xs:attribute name="pitch_band" type="stb:length" use="required" />
    <xs:attribute name="pitch_bar_spacing" type="stb:length" />
    <xs:attribute name="N_bar_spacing_X" type="xs:positiveInteger" />
    <xs:attribute name="N_bar_spacing_Y" type="xs:positiveInteger" />
  </xs:attributeGroup>
  <xs:attributeGroup name="SecBarBeam_RC_Same">
    <xs:attribute name="D_main" type="xs:string" use="required" />
    <xs:attribute name="D_2nd_main" type="xs:string" />
    <xs:attribute name="D_stirrup" type="xs:string" use="required" />
    <xs:attribute name="D_web" type="xs:string" />
    <xs:attribute name="D_bar_spacing" type="xs:string" />
    <xs:attribute name="strength_main" type="xs:string" />
    <xs:attribute name="strength_2nd_main" type="xs:string" />
    <xs:attribute name="strength_stirrup" type="xs:string" />
    <xs:attribute name="strength_web" type="xs:string" />
    <xs:attribute name="strength_bar_spacing" type="xs:string" />
    <xs:attribute name="N_main_top_1st" type="xs:positiveInteger" use="required" />
    <xs:attribute name="N_main_top_2nd" type="xs:positiveInteger" />
    <xs:attribute name="N_main_top_3rd" type="xs:positiveInteger" />
    <xs:attribute name="N_main_bottom_1st" type="xs:positiveInteger" use="required" />
    <xs:attribute name="N_main_bottom_2nd" type="xs:positiveInteger" />
    <xs:attribute name="N_main_bottom_3rd" type="xs:positiveInteger" />
    <xs:attribute name="N_2nd_main_top_1st" type="xs:positiveInteger" />
    <xs:attribute name="N_2nd_main_top_2nd" type="xs:positiveInteger" />
    <xs:attribute name="N_2nd_main_top_3rd" type="xs:positiveInteger" />
    <xs:attribute name="N_2nd_main_bottom_1st" type="xs:positiveInteger" />
    <xs:attribute name="N_2nd_main_bottom_2nd" type="xs:positiveInteger" />
    <xs:attribute name="N_2nd_main_bottom_3rd" type="xs:positiveInteger" />
    <xs:attribute name="N_stirrup" type="xs:positiveInteger" use="required" />
    <xs:attribute name="pitch_stirrup" type="stb:length" use="required" />
    <xs:attribute name="N_web" type="xs:positiveInteger" />
    <xs:attribute name="N_bar_spacing" type="xs:positiveInteger" />
    <xs:attribute name="pitch_bar_spacing" type="stb:length" />
  </xs:attributeGroup>
  <xs:attributeGroup name="SecBaseProduct_S">
    <xs:attribute name="product_company" type="xs:string" />
    <xs:attribute name="product_code" type="xs:string" use="required" />
    <xs:attribute name="direction_type" default="0">
      <xs:simpleType>
        <xs:restriction base="xs:integer">
          <xs:enumeration value="0" />
          <xs:enumeration value="90" />
          <xs:enumeration value="180" />
          <xs:enumeration value="270" />
        </xs:restriction>
      </xs:simpleType>
    </xs:attribute>
    <xs:attribute name="height_mortar" type="stb:nonNegativeLength" use="required" />
  </xs:attributeGroup>
  <xs:attributeGroup name="SecBaseConventional_S_Plate">
    <xs:attribute name="B_X" type="stb:length" use="required" />
    <xs:attribute name="B_Y" type="stb:length" use="required" />
    <xs:attribute name="C1_X" type="stb:nonNegativeLength" default="0" />
    <xs:attribute name="C1_Y" type="stb:nonNegativeLength" default="0" />
    <xs:attribute name="C2_X" type="stb:nonNegativeLength" default="0" />
    <xs:attribute name="C2_Y" type="stb:nonNegativeLength" default="0" />
    <xs:attribute name="C3_X" type="stb:nonNegativeLength" default="0" />
    <xs:attribute name="C3_Y" type="stb:nonNegativeLength" default="0" />
    <xs:attribute name="C4_X" type="stb:nonNegativeLength" default="0" />
    <xs:attribute name="C4_Y" type="stb:nonNegativeLength" default="0" />
    <xs:attribute name="t" type="stb:length" use="required" />
    <xs:attribute name="strength" type="xs:string" use="required" />
    <xs:attribute name="D_bolthole" type="stb:length" use="required" />
    <xs:attribute name="offset_X" type="stb:nonNegativeLength" default="0"/>
    <xs:attribute name="offset_Y" type="stb:nonNegativeLength" default="0"/>
  </xs:attributeGroup>
  <xs:attributeGroup name="SecBaseConventional_S_AnchorBolt">
    <xs:attribute name="kind_bolt" use="required">
      <xs:simpleType>
        <xs:restriction base="xs:string">
          <xs:enumeration value="STD" />
          <xs:enumeration value="ABR" />
          <xs:enumeration value="ABM" />
        </xs:restriction>
      </xs:simpleType>
    </xs:attribute>
    <xs:attribute name="name_bolt" type="xs:string" use="required" />
    <xs:attribute name="length_bolt" type="stb:length" use="required" />
    <xs:attribute name="strength_bolt" type="xs:string" use="required" />
    <xs:attribute name="arrangement_bolt" type="xs:string" use="required" />
    <xs:attribute name="D1_X" type="stb:length" use="required" />
    <xs:attribute name="D2_X" type="stb:length" use="required" />
    <xs:attribute name="D1_Y" type="stb:length" use="required" />
    <xs:attribute name="D2_Y" type="stb:length" use="required" />
    <xs:attribute name="N_X" type="xs:positiveInteger" use="required" />
    <xs:attribute name="N_Y" type="xs:positiveInteger" use="required" />
  </xs:attributeGroup>
  <xs:attributeGroup name="SecBaseConventional_S_RibPlate">
    <xs:attribute name="A1" type="stb:length" use="required" />
    <xs:attribute name="A2" type="stb:nonNegativeLength" default="0" />
    <xs:attribute name="B1" type="stb:length" use="required" />
    <xs:attribute name="B2" type="stb:nonNegativeLength" default="0" />
    <xs:attribute name="t" type="stb:length" use="required" />
    <xs:attribute name="strength" type="xs:string" use="required" />
    <xs:attribute name="N_X" type="xs:positiveInteger" use="required" />
    <xs:attribute name="N_Y" type="xs:positiveInteger" use="required" />
    <xs:attribute name="length_e_X" type="stb:length" use="required" />
    <xs:attribute name="length_e_Y" type="stb:length" use="required" />
  </xs:attributeGroup>
  <xs:attributeGroup name="SecColumn_SRC_SameShapeH">
    <xs:attribute name="direction_type" use="required">
      <xs:simpleType>
        <xs:restriction base="xs:string">
          <xs:enumeration value="H" />
          <xs:enumeration value="I" />
        </xs:restriction>
      </xs:simpleType>
    </xs:attribute>
    <xs:attribute name="shape" use="required" />
    <xs:attribute name="strength_main" type="xs:string" use="required" />
    <xs:attribute name="strength_web" type="xs:string" />
    <xs:attribute name="offset_X" type="xs:double" />
    <xs:attribute name="offset_Y" type="xs:double" />
  </xs:attributeGroup>
  <xs:attributeGroup name="SecColumn_SRC_SameShapeBOX">
    <xs:attribute name="shape" type="xs:string" use="required" />
    <xs:attribute name="encase_type" use="required">
      <xs:simpleType>
        <xs:restriction base="xs:string">
          <xs:enumeration value="ENCASED" />
          <xs:enumeration value="ENCASEDANDINFILLED" />
        </xs:restriction>
      </xs:simpleType>
    </xs:attribute>
    <xs:attribute name="strength_main" type="xs:string" use="required" />
    <xs:attribute name="offset_X" type="xs:double" />
    <xs:attribute name="offset_Y" type="xs:double" />
  </xs:attributeGroup>
  <xs:attributeGroup name="SecColumn_SRC_SameShapePipe">
    <xs:attribute name="shape" type="xs:string" use="required" />
    <xs:attribute name="encase_type" use="required">
      <xs:simpleType>
        <xs:restriction base="xs:string">
          <xs:enumeration value="ENCASED" />
          <xs:enumeration value="ENCASEDANDINFILLED" />
        </xs:restriction>
      </xs:simpleType>
    </xs:attribute>
    <xs:attribute name="strength_main" type="xs:string" use="required" />
    <xs:attribute name="offset_X" type="xs:double" />
    <xs:attribute name="offset_Y" type="xs:double" />
  </xs:attributeGroup>
  <xs:attributeGroup name="SecColumn_SRC_SameShapeCross">
    <xs:attribute name="shape_X" type="xs:string" use="required" />
    <xs:attribute name="shape_Y" type="xs:string" use="required" />
    <xs:attribute name="strength_main_X" type="xs:string" use="required" />
    <xs:attribute name="strength_web_X" type="xs:string" />
    <xs:attribute name="strength_main_Y" type="xs:string" />
    <xs:attribute name="strength_web_Y" type="xs:string" />
    <xs:attribute name="offset_XX" type="xs:double" />
    <xs:attribute name="offset_XY" type="xs:double" />
    <xs:attribute name="offset_YX" type="xs:double" />
    <xs:attribute name="offset_YY" type="xs:double" />
  </xs:attributeGroup>
  <xs:attributeGroup name="SecColumn_SRC_SameShapeT">
    <xs:attribute name="direction_type" use="required">
      <xs:simpleType>
        <xs:restriction base="xs:string">
          <xs:enumeration value="T1" />
          <xs:enumeration value="T2" />
          <xs:enumeration value="T3" />
          <xs:enumeration value="T4" />
        </xs:restriction>
      </xs:simpleType>
    </xs:attribute>
    <xs:attribute name="shape_H" type="xs:string" use="required" />
    <xs:attribute name="shape_T" type="xs:string" use="required" />
    <xs:attribute name="strength_main_H" type="xs:string" use="required" />
    <xs:attribute name="strength_web_H" type="xs:string" />
    <xs:attribute name="strength_main_T" type="xs:string" use="required" />
    <xs:attribute name="strength_web_T" type="xs:string" />
    <xs:attribute name="offset_HX" type="xs:double" />
    <xs:attribute name="offset_HY" type="xs:double" />
    <xs:attribute name="offset_T" type="xs:double" />
  </xs:attributeGroup>
  <xs:attributeGroup name="SecBeam_RC_Straight">
    <xs:attribute name="width" type="stb:length" use="required" />
    <xs:attribute name="depth" type="stb:length" use="required" />
  </xs:attributeGroup>
  <xs:attributeGroup name="SecBeam_RC_Taper">
    <xs:attribute name="pos" use="required">
      <xs:simpleType>
        <xs:restriction base="xs:string">
          <xs:enumeration value="START" />
          <xs:enumeration value="END" />
        </xs:restriction>
      </xs:simpleType>
    </xs:attribute>
    <xs:attribute name="width" type="stb:length" use="required" />
    <xs:attribute name="depth" type="stb:length" use="required" />
  </xs:attributeGroup>
  <xs:attributeGroup name="SecBeam_RC_Haunch">
    <xs:attribute name="pos" use="required">
      <xs:simpleType>
        <xs:restriction base="xs:string">
          <xs:enumeration value="START" />
          <xs:enumeration value="CENTER" />
          <xs:enumeration value="END" />
        </xs:restriction>
      </xs:simpleType>
    </xs:attribute>
    <xs:attribute name="width" type="stb:length" use="required" />
    <xs:attribute name="depth" type="stb:length" use="required" />
  </xs:attributeGroup>
  <xs:attributeGroup name="SecBarBeam_RC_ThreeTypes">
    <xs:attribute name="pos" use="required">
      <xs:simpleType>
        <xs:restriction base="xs:string">
          <xs:enumeration value="START" />
          <xs:enumeration value="CENTER" />
          <xs:enumeration value="END" />
        </xs:restriction>
      </xs:simpleType>
    </xs:attribute>
    <xs:attribute name="D_main" type="xs:string" use="required" />
    <xs:attribute name="D_2nd_main" type="xs:string" />
    <xs:attribute name="D_stirrup" type="xs:string" use="required" />
    <xs:attribute name="D_web" type="xs:string" />
    <xs:attribute name="D_bar_spacing" type="xs:string" />
    <xs:attribute name="strength_main" type="xs:string" />
    <xs:attribute name="strength_2nd_main" type="xs:string" />
    <xs:attribute name="strength_stirrup" type="xs:string" />
    <xs:attribute name="strength_web" type="xs:string" />
    <xs:attribute name="strength_bar_spacing" type="xs:string" />
    <xs:attribute name="N_main_top_1st" type="xs:positiveInteger" use="required" />
    <xs:attribute name="N_main_top_2nd" type="xs:positiveInteger" />
    <xs:attribute name="N_main_top_3rd" type="xs:positiveInteger" />
    <xs:attribute name="N_main_bottom_1st" type="xs:positiveInteger" use="required" />
    <xs:attribute name="N_main_bottom_2nd" type="xs:positiveInteger" />
    <xs:attribute name="N_main_bottom_3rd" type="xs:positiveInteger" />
    <xs:attribute name="N_2nd_main_top_1st" type="xs:positiveInteger" />
    <xs:attribute name="N_2nd_main_top_2nd" type="xs:positiveInteger" />
    <xs:attribute name="N_2nd_main_top_3rd" type="xs:positiveInteger" />
    <xs:attribute name="N_2nd_main_bottom_1st" type="xs:positiveInteger" />
    <xs:attribute name="N_2nd_main_bottom_2nd" type="xs:positiveInteger" />
    <xs:attribute name="N_2nd_main_bottom_3rd" type="xs:positiveInteger" />
    <xs:attribute name="N_stirrup" type="xs:positiveInteger" use="required" />
    <xs:attribute name="pitch_stirrup" type="stb:length" use="required" />
    <xs:attribute name="N_web" type="xs:positiveInteger" />
    <xs:attribute name="N_bar_spacing" type="xs:positiveInteger" />
    <xs:attribute name="pitch_bar_spacing" type="stb:length" />
  </xs:attributeGroup>
  <xs:attributeGroup name="SecBarBeam_RC_StartEnd">
    <xs:attribute name="pos" use="required">
      <xs:simpleType>
        <xs:restriction base="xs:string">
          <xs:enumeration value="START" />
          <xs:enumeration value="END" />
        </xs:restriction>
      </xs:simpleType>
    </xs:attribute>
    <xs:attribute name="D_main" type="xs:string" use="required" />
    <xs:attribute name="D_2nd_main" type="xs:string" />
    <xs:attribute name="D_stirrup" type="xs:string" use="required" />
    <xs:attribute name="D_web" type="xs:string" />
    <xs:attribute name="D_bar_spacing" type="xs:string" />
    <xs:attribute name="strength_main" type="xs:string" />
    <xs:attribute name="strength_2nd_main" type="xs:string" />
    <xs:attribute name="strength_stirrup" type="xs:string" />
    <xs:attribute name="strength_web" type="xs:string" />
    <xs:attribute name="strength_bar_spacing" type="xs:string" />
    <xs:attribute name="N_main_top_1st" type="xs:positiveInteger" use="required" />
    <xs:attribute name="N_main_top_2nd" type="xs:positiveInteger" />
    <xs:attribute name="N_main_top_3rd" type="xs:positiveInteger" />
    <xs:attribute name="N_main_bottom_1st" type="xs:positiveInteger" use="required" />
    <xs:attribute name="N_main_bottom_2nd" type="xs:positiveInteger" />
    <xs:attribute name="N_main_bottom_3rd" type="xs:positiveInteger" />
    <xs:attribute name="N_2nd_main_top_1st" type="xs:positiveInteger" />
    <xs:attribute name="N_2nd_main_top_2nd" type="xs:positiveInteger" />
    <xs:attribute name="N_2nd_main_top_3rd" type="xs:positiveInteger" />
    <xs:attribute name="N_2nd_main_bottom_1st" type="xs:positiveInteger" />
    <xs:attribute name="N_2nd_main_bottom_2nd" type="xs:positiveInteger" />
    <xs:attribute name="N_2nd_main_bottom_3rd" type="xs:positiveInteger" />
    <xs:attribute name="N_stirrup" type="xs:positiveInteger" use="required" />
    <xs:attribute name="pitch_stirrup" type="stb:length" use="required" />
    <xs:attribute name="N_web" type="xs:positiveInteger" />
    <xs:attribute name="N_bar_spacing" type="xs:positiveInteger" />
    <xs:attribute name="pitch_bar_spacing" type="stb:length" />
  </xs:attributeGroup>
  <xs:attributeGroup name="SecSteelBeam_S_Straight">
    <xs:attribute name="shape" type="xs:string" use="required" />
    <xs:attribute name="strength_main" type="xs:string" use="required" />
    <xs:attribute name="strength_web" type="xs:string" />
  </xs:attributeGroup>
  <xs:attributeGroup name="SecSteelBeam_S_Taper">
    <xs:attribute name="pos" use="required">
      <xs:simpleType>
        <xs:restriction base="xs:string">
          <xs:enumeration value="START" />
          <xs:enumeration value="END" />
        </xs:restriction>
      </xs:simpleType>
    </xs:attribute>
    <xs:attribute name="pos_name" type="xs:string" />
    <xs:attribute name="shape" type="xs:string" use="required" />
    <xs:attribute name="strength_main" type="xs:string" use="required" />
    <xs:attribute name="strength_web" type="xs:string" />
  </xs:attributeGroup>
  <xs:attributeGroup name="SecSteelBeam_S_Joint">
    <xs:attribute name="pos" use="required">
      <xs:simpleType>
        <xs:restriction base="xs:string">
          <xs:enumeration value="START" />
          <xs:enumeration value="CENTER" />
          <xs:enumeration value="END" />
        </xs:restriction>
      </xs:simpleType>
    </xs:attribute>
    <xs:attribute name="pos_name" type="xs:string" />
    <xs:attribute name="shape" type="xs:string" use="required" />
    <xs:attribute name="strength_main" type="xs:string" use="required" />
    <xs:attribute name="strength_web" type="xs:string" />
  </xs:attributeGroup>
  <xs:attributeGroup name="SecSteelBeam_S_Haunch">
    <xs:attribute name="pos" use="required">
      <xs:simpleType>
        <xs:restriction base="xs:string">
          <xs:enumeration value="START" />
          <xs:enumeration value="CENTER" />
          <xs:enumeration value="END" />
        </xs:restriction>
      </xs:simpleType>
    </xs:attribute>
    <xs:attribute name="pos_name" type="xs:string" />
    <xs:attribute name="shape" type="xs:string" use="required" />
    <xs:attribute name="strength_main" type="xs:string" use="required" />
    <xs:attribute name="strength_web" type="xs:string" />
  </xs:attributeGroup>
  <xs:attributeGroup name="SecSteelBeam_S_FiveTypes">
    <xs:attribute name="pos" use="required">
      <xs:simpleType>
        <xs:restriction base="xs:string">
          <xs:enumeration value="START" />
          <xs:enumeration value="CENTER" />
          <xs:enumeration value="END" />
          <xs:enumeration value="HAUNCH_S" />
          <xs:enumeration value="HAUNCH_E" />
        </xs:restriction>
      </xs:simpleType>
    </xs:attribute>
    <xs:attribute name="pos_name" type="xs:string" />
    <xs:attribute name="shape" type="xs:string" use="required" />
    <xs:attribute name="strength_main" type="xs:string" use="required" />
    <xs:attribute name="strength_web" type="xs:string" />
  </xs:attributeGroup>
  <xs:attributeGroup name="SecBarSlab_RC_Standard">
    <xs:attribute name="pos" use="required">
      <xs:simpleType>
        <xs:restriction base="xs:string">
          <xs:enumeration value="SHORT_TOP_COLUMN" />
          <xs:enumeration value="SHORT_TOP_MID_END" />
          <xs:enumeration value="SHORT_TOP_MID_CENTER" />
          <xs:enumeration value="SHORT_BOTTOM_COLUMN" />
          <xs:enumeration value="SHORT_BOTTOM_MID_END" />
          <xs:enumeration value="SHORT_BOTTOM_MID_CENTER" />
          <xs:enumeration value="LONG_TOP_COLUMN" />
          <xs:enumeration value="LONG_TOP_MID_END" />
          <xs:enumeration value="LONG_TOP_MID_CENTER" />
          <xs:enumeration value="LONG_BOTTOM_COLUMN" />
          <xs:enumeration value="LONG_BOTTOM_MID_END" />
          <xs:enumeration value="LONG_BOTTOM_MID_CENTER" />
        </xs:restriction>
      </xs:simpleType>
    </xs:attribute>
    <xs:attribute name="strength" type="xs:string" />
    <xs:attribute name="D" type="xs:string" use="required" />
    <xs:attribute name="pitch" type="stb:length" use="required" />
  </xs:attributeGroup>
  <xs:attributeGroup name="SecBarSlab_RC_2Way">
    <xs:attribute name="pos" use="required">
      <xs:simpleType>
        <xs:restriction base="xs:string">
          <xs:enumeration value="SHORT_TOP" />
          <xs:enumeration value="SHORT_BOTTOM" />
          <xs:enumeration value="LONG_TOP" />
          <xs:enumeration value="LONG_BOTTOM" />
        </xs:restriction>
      </xs:simpleType>
    </xs:attribute>
    <xs:attribute name="strength" type="xs:string" />
    <xs:attribute name="D" type="xs:string" use="required" />
    <xs:attribute name="pitch" type="stb:length" use="required" />
  </xs:attributeGroup>
  <xs:attributeGroup name="SecBarSlabDeck1Way">
    <xs:attribute name="pos" use="required">
      <xs:simpleType>
        <xs:restriction base="xs:string">
          <xs:enumeration value="MAIN_TOP" />
          <xs:enumeration value="MAIN_BOTTOM" />
          <xs:enumeration value="TRANVERSES_TOP" />
          <xs:enumeration value="TRANVERSES_BOTTOM" />
          <xs:enumeration value="REFRACTORY" />
        </xs:restriction>
      </xs:simpleType>
    </xs:attribute>
    <xs:attribute name="strength" type="xs:string" />
    <xs:attribute name="D" type="xs:string" />
    <xs:attribute name="pitch" type="stb:length" />
  </xs:attributeGroup>
  <xs:simpleType name="length">
    <xs:restriction base="xs:double">
      <xs:minExclusive value="0" />
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="nonNegativeLength">
    <xs:restriction base="xs:double">
      <xs:minInclusive value="0" />
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="monolist">
    <xs:restriction base="stb:positiveIntegerList" >
        <xs:minLength value="3"/>
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="positiveIntegerList">
    <xs:list itemType="xs:positiveInteger" />
  </xs:simpleType>
  <xs:simpleType name="guid">
    <xs:restriction base="xs:string">
      <xs:pattern value="[0-9a-f]{32}" />
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="angle">
    <xs:restriction base="xs:double">
      <xs:minInclusive value="0" />
      <xs:maxExclusive value="360" />
    </xs:restriction>
  </xs:simpleType>
</xs:schema>