// Auto-generated PLCopen types - inline category
// DO NOT EDIT - Generated by build script

use serde::{Serialize, Deserialize};
use super::*;

/// Root_project_InlineType element
#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
#[serde(rename = "project")]
pub struct Root_project_Inline {
    /// fileHeader element
    #[serde(rename = "fileHeader", default)]
    pub file_header: Option<Root_project_InlineType_fileHeader_Inline>,
    /// contentHeader element
    #[serde(rename = "contentHeader", default)]
    pub content_header: Option<Root_project_InlineType_contentHeader_Inline>,
    /// types element
    #[serde(rename = "types", default)]
    pub types: Option<Root_project_InlineType_types_Inline>,
    /// instances element
    #[serde(rename = "instances", default)]
    pub instances: Option<Root_project_InlineType_instances_Inline>,
    /// addData element
    #[serde(rename = "addData", default)]
    pub add_data: Option<AddData>,
    /// documentation element
    #[serde(rename = "documentation", default)]
    pub documentation: Option<FormattedText>,
}

/// Root_project_InlineType_fileHeader_InlineType element
#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
pub struct Root_project_InlineType_fileHeader_Inline {
    /// companyName attribute
    #[serde(rename = "@companyName", default)]
    pub company_name: String,
    /// companyURL attribute
    #[serde(rename = "@companyURL", default)]
    pub company_url: Option<String>,
    /// productName attribute
    #[serde(rename = "@productName", default)]
    pub product_name: String,
    /// productVersion attribute
    #[serde(rename = "@productVersion", default)]
    pub product_version: String,
    /// productRelease attribute
    #[serde(rename = "@productRelease", default)]
    pub product_release: Option<String>,
    /// creationDateTime attribute
    #[serde(rename = "@creationDateTime", default)]
    pub creation_date_time: String,
    /// contentDescription attribute
    #[serde(rename = "@contentDescription", default)]
    pub content_description: Option<String>,
}

/// Root_project_InlineType_contentHeader_InlineType element
#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
pub struct Root_project_InlineType_contentHeader_Inline {
    /// name attribute
    #[serde(rename = "@name", default)]
    pub name: String,
    /// version attribute
    #[serde(rename = "@version", default)]
    pub version: Option<String>,
    /// modificationDateTime attribute
    #[serde(rename = "@modificationDateTime", default)]
    pub modification_date_time: Option<String>,
    /// organization attribute
    #[serde(rename = "@organization", default)]
    pub organization: Option<String>,
    /// author attribute
    #[serde(rename = "@author", default)]
    pub author: Option<String>,
    /// language attribute
    #[serde(rename = "@language", default)]
    pub language: Option<String>,
    /// Comment element
    #[serde(rename = "Comment", default)]
    pub comment: Option<String>,
    /// coordinateInfo element
    #[serde(rename = "coordinateInfo", default)]
    pub coordinate_info: Option<Root_project_InlineType_contentHeader_InlineType_coordinateInfo_Inline>,
    /// addDataInfo element
    #[serde(rename = "addDataInfo", default)]
    pub add_data_info: Option<AddDataInfo>,
    /// addData element
    #[serde(rename = "addData", default)]
    pub add_data: Option<AddData>,
}

/// Root_project_InlineType_contentHeader_InlineType_coordinateInfo_InlineType element
#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
pub struct Root_project_InlineType_contentHeader_InlineType_coordinateInfo_Inline {
    /// pageSize element
    #[serde(rename = "pageSize", default)]
    pub page_size: Option<Root_project_InlineType_contentHeader_InlineType_coordinateInfo_InlineType_pageSize_Inline>,
    /// fbd element
    #[serde(rename = "fbd", default)]
    pub fbd: Option<Root_project_InlineType_contentHeader_InlineType_coordinateInfo_InlineType_fbd_Inline>,
    /// ld element
    #[serde(rename = "ld", default)]
    pub ld: Option<Root_project_InlineType_contentHeader_InlineType_coordinateInfo_InlineType_ld_Inline>,
    /// sfc element
    #[serde(rename = "sfc", default)]
    pub sfc: Option<Root_project_InlineType_contentHeader_InlineType_coordinateInfo_InlineType_sfc_Inline>,
}

/// Root_project_InlineType_contentHeader_InlineType_coordinateInfo_InlineType_pageSize_InlineType element
#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
pub struct Root_project_InlineType_contentHeader_InlineType_coordinateInfo_InlineType_pageSize_Inline {
    /// x attribute
    #[serde(rename = "@x", default)]
    pub x: String,
    /// y attribute
    #[serde(rename = "@y", default)]
    pub y: String,
}

/// Root_project_InlineType_contentHeader_InlineType_coordinateInfo_InlineType_fbd_InlineType element
#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
pub struct Root_project_InlineType_contentHeader_InlineType_coordinateInfo_InlineType_fbd_Inline {
    /// scaling element
    #[serde(rename = "scaling", default)]
    pub scaling: Option<Root_project_InlineType_contentHeader_InlineType_coordinateInfo_InlineType_fbd_InlineType_scaling_Inline>,
}

/// Root_project_InlineType_contentHeader_InlineType_coordinateInfo_InlineType_fbd_InlineType_scaling_InlineType element
#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
pub struct Root_project_InlineType_contentHeader_InlineType_coordinateInfo_InlineType_fbd_InlineType_scaling_Inline {
    /// x attribute
    #[serde(rename = "@x", default)]
    pub x: String,
    /// y attribute
    #[serde(rename = "@y", default)]
    pub y: String,
}

/// Root_project_InlineType_contentHeader_InlineType_coordinateInfo_InlineType_ld_InlineType element
#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
pub struct Root_project_InlineType_contentHeader_InlineType_coordinateInfo_InlineType_ld_Inline {
    /// scaling element
    #[serde(rename = "scaling", default)]
    pub scaling: Option<Root_project_InlineType_contentHeader_InlineType_coordinateInfo_InlineType_ld_InlineType_scaling_Inline>,
}

/// Root_project_InlineType_contentHeader_InlineType_coordinateInfo_InlineType_ld_InlineType_scaling_InlineType element
#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
pub struct Root_project_InlineType_contentHeader_InlineType_coordinateInfo_InlineType_ld_InlineType_scaling_Inline {
    /// x attribute
    #[serde(rename = "@x", default)]
    pub x: String,
    /// y attribute
    #[serde(rename = "@y", default)]
    pub y: String,
}

/// Root_project_InlineType_contentHeader_InlineType_coordinateInfo_InlineType_sfc_InlineType element
#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
pub struct Root_project_InlineType_contentHeader_InlineType_coordinateInfo_InlineType_sfc_Inline {
    /// scaling element
    #[serde(rename = "scaling", default)]
    pub scaling: Option<Root_project_InlineType_contentHeader_InlineType_coordinateInfo_InlineType_sfc_InlineType_scaling_Inline>,
}

/// Root_project_InlineType_contentHeader_InlineType_coordinateInfo_InlineType_sfc_InlineType_scaling_InlineType element
#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
pub struct Root_project_InlineType_contentHeader_InlineType_coordinateInfo_InlineType_sfc_InlineType_scaling_Inline {
    /// x attribute
    #[serde(rename = "@x", default)]
    pub x: String,
    /// y attribute
    #[serde(rename = "@y", default)]
    pub y: String,
}

/// Root_project_InlineType_types_InlineType element
#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
pub struct Root_project_InlineType_types_Inline {
    /// dataTypes element
    #[serde(rename = "dataTypes", default)]
    pub data_types: Option<Root_project_InlineType_types_InlineType_dataTypes_Inline>,
    /// pous element
    #[serde(rename = "pous", default)]
    pub pous: Option<Root_project_InlineType_types_InlineType_pous_Inline>,
}

/// Root_project_InlineType_instances_InlineType element
#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
pub struct Root_project_InlineType_instances_Inline {
    /// configurations element
    #[serde(rename = "configurations", default)]
    pub configurations: Option<Root_project_InlineType_instances_InlineType_configurations_Inline>,
}

/// value_simpleValue_InlineType element
#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
pub struct Value_simpleValue_Inline {
    /// value attribute
    #[serde(rename = "@value", default)]
    pub value: Option<String>,
}

/// value_arrayValue_InlineType element
#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
pub struct Value_arrayValue_Inline {
    /// value element
    #[serde(rename = "value", default)]
    pub value: Vec<Value_arrayValue_InlineType_value_Inline>,
}

/// value_arrayValue_InlineType_value_InlineType element
#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
pub struct Value_arrayValue_InlineType_value_Inline {
    /// repetitionValue attribute
    #[serde(rename = "@repetitionValue", default)]
    pub repetition_value: Option<String>,
}

/// value_structValue_InlineType element
#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
pub struct Value_structValue_Inline {
    /// value element
    #[serde(rename = "value", default)]
    pub value: Vec<Value_structValue_InlineType_value_Inline>,
}

/// value_structValue_InlineType_value_InlineType element
#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
pub struct Value_structValue_InlineType_value_Inline {
    /// member attribute
    #[serde(rename = "@member", default)]
    pub member: String,
}

/// elementaryTypes_string_InlineType element
#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
pub struct ElementaryTypes_string_Inline {
    /// length attribute
    #[serde(rename = "@length", default)]
    pub length: Option<String>,
}

/// elementaryTypes_wstring_InlineType element
#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
pub struct ElementaryTypes_wstring_Inline {
    /// length attribute
    #[serde(rename = "@length", default)]
    pub length: Option<String>,
}

/// derivedTypes_array_InlineType element
#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
pub struct DerivedTypes_array_Inline {
    /// dimension element
    #[serde(rename = "dimension", default)]
    pub dimension: Vec<RangeSigned>,
    /// baseType element
    #[serde(rename = "baseType", default)]
    pub base_type: Option<Data>,
}

/// derivedTypes_derived_InlineType element
#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
pub struct DerivedTypes_derived_Inline {
    /// name attribute
    #[serde(rename = "@name", default)]
    pub name: String,
    /// addData element
    #[serde(rename = "addData", default)]
    pub add_data: Option<AddData>,
}

/// derivedTypes_enum_InlineType element
#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
pub struct DerivedTypes_enum_Inline {
    /// values element
    #[serde(rename = "values", default)]
    pub values: Option<DerivedTypes_enum_InlineType_values_Inline>,
    /// baseType element
    #[serde(rename = "baseType", default)]
    pub base_type: Option<Data>,
}

/// derivedTypes_enum_InlineType_values_InlineType element
#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
pub struct DerivedTypes_enum_InlineType_values_Inline {
    /// value element
    #[serde(rename = "value", default)]
    pub value: Vec<DerivedTypes_enum_InlineType_values_InlineType_value_Inline>,
}

/// derivedTypes_enum_InlineType_values_InlineType_value_InlineType element
#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
pub struct DerivedTypes_enum_InlineType_values_InlineType_value_Inline {
    /// name attribute
    #[serde(rename = "@name", default)]
    pub name: String,
    /// value attribute
    #[serde(rename = "@value", default)]
    pub value: Option<String>,
}

/// derivedTypes_subrangeSigned_InlineType element
#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
pub struct DerivedTypes_subrangeSigned_Inline {
    /// range element
    #[serde(rename = "range", default)]
    pub range: Option<RangeSigned>,
    /// baseType element
    #[serde(rename = "baseType", default)]
    pub base_type: Option<Data>,
}

/// derivedTypes_subrangeUnsigned_InlineType element
#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
pub struct DerivedTypes_subrangeUnsigned_Inline {
    /// range element
    #[serde(rename = "range", default)]
    pub range: Option<RangeUnsigned>,
    /// baseType element
    #[serde(rename = "baseType", default)]
    pub base_type: Option<Data>,
}

/// extended_pointer_InlineType element
#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
pub struct Extended_pointer_Inline {
    /// baseType element
    #[serde(rename = "baseType", default)]
    pub base_type: Option<Data>,
}

/// commonObjects_comment_InlineType element
#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
pub struct CommonObjects_comment_Inline {
    /// localId attribute
    #[serde(rename = "@localId", default)]
    pub local_id: String,
    /// height attribute
    #[serde(rename = "@height", default)]
    pub height: String,
    /// width attribute
    #[serde(rename = "@width", default)]
    pub width: String,
    /// globalId attribute
    #[serde(rename = "@globalId", default)]
    pub global_id: Option<String>,
    /// position element
    #[serde(rename = "position", default)]
    pub position: Option<Position>,
    /// content element
    #[serde(rename = "content", default)]
    pub content: Option<FormattedText>,
    /// addData element
    #[serde(rename = "addData", default)]
    pub add_data: Option<AddData>,
    /// documentation element
    #[serde(rename = "documentation", default)]
    pub documentation: Option<FormattedText>,
}

/// commonObjects_error_InlineType element
#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
pub struct CommonObjects_error_Inline {
    /// localId attribute
    #[serde(rename = "@localId", default)]
    pub local_id: String,
    /// height attribute
    #[serde(rename = "@height", default)]
    pub height: String,
    /// width attribute
    #[serde(rename = "@width", default)]
    pub width: String,
    /// globalId attribute
    #[serde(rename = "@globalId", default)]
    pub global_id: Option<String>,
    /// position element
    #[serde(rename = "position", default)]
    pub position: Option<Position>,
    /// content element
    #[serde(rename = "content", default)]
    pub content: Option<FormattedText>,
    /// addData element
    #[serde(rename = "addData", default)]
    pub add_data: Option<AddData>,
    /// documentation element
    #[serde(rename = "documentation", default)]
    pub documentation: Option<FormattedText>,
}

/// commonObjects_continuation_InlineType element
#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
pub struct CommonObjects_continuation_Inline {
    /// name attribute
    #[serde(rename = "@name", default)]
    pub name: String,
    /// localId attribute
    #[serde(rename = "@localId", default)]
    pub local_id: String,
    /// height attribute
    #[serde(rename = "@height", default)]
    pub height: Option<String>,
    /// width attribute
    #[serde(rename = "@width", default)]
    pub width: Option<String>,
    /// globalId attribute
    #[serde(rename = "@globalId", default)]
    pub global_id: Option<String>,
    /// position element
    #[serde(rename = "position", default)]
    pub position: Option<Position>,
    /// connectionPointOut element
    #[serde(rename = "connectionPointOut", default)]
    pub connection_point_out: Option<ConnectionPointOut>,
    /// addData element
    #[serde(rename = "addData", default)]
    pub add_data: Option<AddData>,
    /// documentation element
    #[serde(rename = "documentation", default)]
    pub documentation: Option<FormattedText>,
}

/// commonObjects_vendorElement_InlineType element
#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
pub struct CommonObjects_vendorElement_Inline {
    /// localId attribute
    #[serde(rename = "@localId", default)]
    pub local_id: String,
    /// width attribute
    #[serde(rename = "@width", default)]
    pub width: Option<String>,
    /// height attribute
    #[serde(rename = "@height", default)]
    pub height: Option<String>,
    /// executionOrderId attribute
    #[serde(rename = "@executionOrderId", default)]
    pub execution_order_id: Option<String>,
    /// globalId attribute
    #[serde(rename = "@globalId", default)]
    pub global_id: Option<String>,
    /// position element
    #[serde(rename = "position", default)]
    pub position: Option<Position>,
    /// alternativeText element
    #[serde(rename = "alternativeText", default)]
    pub alternative_text: Option<FormattedText>,
    /// inputVariables element
    #[serde(rename = "inputVariables", default)]
    pub input_variables: Option<CommonObjects_vendorElement_InlineType_inputVariables_Inline>,
    /// inOutVariables element
    #[serde(rename = "inOutVariables", default)]
    pub in_out_variables: Option<CommonObjects_vendorElement_InlineType_inOutVariables_Inline>,
    /// outputVariables element
    #[serde(rename = "outputVariables", default)]
    pub output_variables: Option<CommonObjects_vendorElement_InlineType_outputVariables_Inline>,
    /// addData element
    #[serde(rename = "addData", default)]
    pub add_data: Option<AddData>,
}

/// fbdObjects_label_InlineType element
#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
pub struct FbdObjects_label_Inline {
    /// localId attribute
    #[serde(rename = "@localId", default)]
    pub local_id: String,
    /// height attribute
    #[serde(rename = "@height", default)]
    pub height: Option<String>,
    /// width attribute
    #[serde(rename = "@width", default)]
    pub width: Option<String>,
    /// label attribute
    #[serde(rename = "@label", default)]
    pub label: String,
    /// executionOrderId attribute
    #[serde(rename = "@executionOrderId", default)]
    pub execution_order_id: Option<String>,
    /// globalId attribute
    #[serde(rename = "@globalId", default)]
    pub global_id: Option<String>,
    /// position element
    #[serde(rename = "position", default)]
    pub position: Option<Position>,
    /// addData element
    #[serde(rename = "addData", default)]
    pub add_data: Option<AddData>,
    /// documentation element
    #[serde(rename = "documentation", default)]
    pub documentation: Option<FormattedText>,
}

/// fbdObjects_jump_InlineType element
#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
pub struct FbdObjects_jump_Inline {
    /// localId attribute
    #[serde(rename = "@localId", default)]
    pub local_id: String,
    /// height attribute
    #[serde(rename = "@height", default)]
    pub height: Option<String>,
    /// width attribute
    #[serde(rename = "@width", default)]
    pub width: Option<String>,
    /// label attribute
    #[serde(rename = "@label", default)]
    pub label: String,
    /// executionOrderId attribute
    #[serde(rename = "@executionOrderId", default)]
    pub execution_order_id: Option<String>,
    /// globalId attribute
    #[serde(rename = "@globalId", default)]
    pub global_id: Option<String>,
    /// position element
    #[serde(rename = "position", default)]
    pub position: Option<Position>,
    /// connectionPointIn element
    #[serde(rename = "connectionPointIn", default)]
    pub connection_point_in: Option<ConnectionPointIn>,
    /// addData element
    #[serde(rename = "addData", default)]
    pub add_data: Option<AddData>,
    /// documentation element
    #[serde(rename = "documentation", default)]
    pub documentation: Option<FormattedText>,
}

/// fbdObjects_return_InlineType element
#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
pub struct FbdObjects_return_Inline {
    /// localId attribute
    #[serde(rename = "@localId", default)]
    pub local_id: String,
    /// height attribute
    #[serde(rename = "@height", default)]
    pub height: Option<String>,
    /// width attribute
    #[serde(rename = "@width", default)]
    pub width: Option<String>,
    /// executionOrderId attribute
    #[serde(rename = "@executionOrderId", default)]
    pub execution_order_id: Option<String>,
    /// globalId attribute
    #[serde(rename = "@globalId", default)]
    pub global_id: Option<String>,
    /// position element
    #[serde(rename = "position", default)]
    pub position: Option<Position>,
    /// connectionPointIn element
    #[serde(rename = "connectionPointIn", default)]
    pub connection_point_in: Option<ConnectionPointIn>,
    /// addData element
    #[serde(rename = "addData", default)]
    pub add_data: Option<AddData>,
    /// documentation element
    #[serde(rename = "documentation", default)]
    pub documentation: Option<FormattedText>,
}

/// ldObjects_leftPowerRail_InlineType element
#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
pub struct LdObjects_leftPowerRail_Inline {
    /// localId attribute
    #[serde(rename = "@localId", default)]
    pub local_id: String,
    /// height attribute
    #[serde(rename = "@height", default)]
    pub height: Option<String>,
    /// width attribute
    #[serde(rename = "@width", default)]
    pub width: Option<String>,
    /// executionOrderId attribute
    #[serde(rename = "@executionOrderId", default)]
    pub execution_order_id: Option<String>,
    /// globalId attribute
    #[serde(rename = "@globalId", default)]
    pub global_id: Option<String>,
    /// position element
    #[serde(rename = "position", default)]
    pub position: Option<Position>,
    /// connectionPointOut element
    #[serde(rename = "connectionPointOut", default)]
    pub connection_point_out: Vec<LdObjects_leftPowerRail_InlineType_connectionPointOut_Inline>,
    /// addData element
    #[serde(rename = "addData", default)]
    pub add_data: Option<AddData>,
    /// documentation element
    #[serde(rename = "documentation", default)]
    pub documentation: Option<FormattedText>,
}

/// ldObjects_rightPowerRail_InlineType element
#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
pub struct LdObjects_rightPowerRail_Inline {
    /// localId attribute
    #[serde(rename = "@localId", default)]
    pub local_id: String,
    /// height attribute
    #[serde(rename = "@height", default)]
    pub height: Option<String>,
    /// width attribute
    #[serde(rename = "@width", default)]
    pub width: Option<String>,
    /// executionOrderId attribute
    #[serde(rename = "@executionOrderId", default)]
    pub execution_order_id: Option<String>,
    /// globalId attribute
    #[serde(rename = "@globalId", default)]
    pub global_id: Option<String>,
    /// position element
    #[serde(rename = "position", default)]
    pub position: Option<Position>,
    /// connectionPointIn element
    #[serde(rename = "connectionPointIn", default)]
    pub connection_point_in: Vec<ConnectionPointIn>,
    /// addData element
    #[serde(rename = "addData", default)]
    pub add_data: Option<AddData>,
    /// documentation element
    #[serde(rename = "documentation", default)]
    pub documentation: Option<FormattedText>,
}

/// sfcObjects_macroStep_InlineType element
#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
pub struct SfcObjects_macroStep_Inline {
    /// localId attribute
    #[serde(rename = "@localId", default)]
    pub local_id: String,
    /// height attribute
    #[serde(rename = "@height", default)]
    pub height: Option<String>,
    /// width attribute
    #[serde(rename = "@width", default)]
    pub width: Option<String>,
    /// name attribute
    #[serde(rename = "@name", default)]
    pub name: Option<String>,
    /// executionOrderId attribute
    #[serde(rename = "@executionOrderId", default)]
    pub execution_order_id: Option<String>,
    /// globalId attribute
    #[serde(rename = "@globalId", default)]
    pub global_id: Option<String>,
    /// position element
    #[serde(rename = "position", default)]
    pub position: Option<Position>,
    /// connectionPointIn element
    #[serde(rename = "connectionPointIn", default)]
    pub connection_point_in: Option<ConnectionPointIn>,
    /// connectionPointOut element
    #[serde(rename = "connectionPointOut", default)]
    pub connection_point_out: Option<ConnectionPointOut>,
    /// body element
    #[serde(rename = "body", default)]
    pub body: Option<Body>,
    /// addData element
    #[serde(rename = "addData", default)]
    pub add_data: Option<AddData>,
    /// documentation element
    #[serde(rename = "documentation", default)]
    pub documentation: Option<FormattedText>,
}

/// sfcObjects_jumpStep_InlineType element
#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
pub struct SfcObjects_jumpStep_Inline {
    /// localId attribute
    #[serde(rename = "@localId", default)]
    pub local_id: String,
    /// height attribute
    #[serde(rename = "@height", default)]
    pub height: Option<String>,
    /// width attribute
    #[serde(rename = "@width", default)]
    pub width: Option<String>,
    /// targetName attribute
    #[serde(rename = "@targetName", default)]
    pub target_name: String,
    /// executionOrderId attribute
    #[serde(rename = "@executionOrderId", default)]
    pub execution_order_id: Option<String>,
    /// globalId attribute
    #[serde(rename = "@globalId", default)]
    pub global_id: Option<String>,
    /// position element
    #[serde(rename = "position", default)]
    pub position: Option<Position>,
    /// connectionPointIn element
    #[serde(rename = "connectionPointIn", default)]
    pub connection_point_in: Option<ConnectionPointIn>,
    /// addData element
    #[serde(rename = "addData", default)]
    pub add_data: Option<AddData>,
    /// documentation element
    #[serde(rename = "documentation", default)]
    pub documentation: Option<FormattedText>,
}

/// sfcObjects_selectionConvergence_InlineType element
#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
pub struct SfcObjects_selectionConvergence_Inline {
    /// localId attribute
    #[serde(rename = "@localId", default)]
    pub local_id: String,
    /// height attribute
    #[serde(rename = "@height", default)]
    pub height: Option<String>,
    /// width attribute
    #[serde(rename = "@width", default)]
    pub width: Option<String>,
    /// globalId attribute
    #[serde(rename = "@globalId", default)]
    pub global_id: Option<String>,
    /// position element
    #[serde(rename = "position", default)]
    pub position: Option<Position>,
    /// connectionPointIn element
    #[serde(rename = "connectionPointIn", default)]
    pub connection_point_in: Vec<SfcObjects_selectionConvergence_InlineType_connectionPointIn_Inline>,
    /// connectionPointOut element
    #[serde(rename = "connectionPointOut", default)]
    pub connection_point_out: Option<ConnectionPointOut>,
    /// addData element
    #[serde(rename = "addData", default)]
    pub add_data: Option<AddData>,
    /// documentation element
    #[serde(rename = "documentation", default)]
    pub documentation: Option<FormattedText>,
}

/// sfcObjects_simultaneousDivergence_InlineType element
#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
pub struct SfcObjects_simultaneousDivergence_Inline {
    /// localId attribute
    #[serde(rename = "@localId", default)]
    pub local_id: String,
    /// height attribute
    #[serde(rename = "@height", default)]
    pub height: Option<String>,
    /// width attribute
    #[serde(rename = "@width", default)]
    pub width: Option<String>,
    /// name attribute
    #[serde(rename = "@name", default)]
    pub name: Option<String>,
    /// globalId attribute
    #[serde(rename = "@globalId", default)]
    pub global_id: Option<String>,
    /// position element
    #[serde(rename = "position", default)]
    pub position: Option<Position>,
    /// connectionPointIn element
    #[serde(rename = "connectionPointIn", default)]
    pub connection_point_in: Option<ConnectionPointIn>,
    /// connectionPointOut element
    #[serde(rename = "connectionPointOut", default)]
    pub connection_point_out: Vec<SfcObjects_simultaneousDivergence_InlineType_connectionPointOut_Inline>,
    /// addData element
    #[serde(rename = "addData", default)]
    pub add_data: Option<AddData>,
    /// documentation element
    #[serde(rename = "documentation", default)]
    pub documentation: Option<FormattedText>,
}

/// sfcObjects_simultaneousConvergence_InlineType element
#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
pub struct SfcObjects_simultaneousConvergence_Inline {
    /// localId attribute
    #[serde(rename = "@localId", default)]
    pub local_id: String,
    /// height attribute
    #[serde(rename = "@height", default)]
    pub height: Option<String>,
    /// width attribute
    #[serde(rename = "@width", default)]
    pub width: Option<String>,
    /// globalId attribute
    #[serde(rename = "@globalId", default)]
    pub global_id: Option<String>,
    /// position element
    #[serde(rename = "position", default)]
    pub position: Option<Position>,
    /// connectionPointIn element
    #[serde(rename = "connectionPointIn", default)]
    pub connection_point_in: Vec<ConnectionPointIn>,
    /// connectionPointOut element
    #[serde(rename = "connectionPointOut", default)]
    pub connection_point_out: Option<ConnectionPointOut>,
    /// addData element
    #[serde(rename = "addData", default)]
    pub add_data: Option<AddData>,
    /// documentation element
    #[serde(rename = "documentation", default)]
    pub documentation: Option<FormattedText>,
}

