pub mod alternative_format_import_part;
pub mod calculation_chain_part;
pub mod cell_metadata_part;
pub mod chart_color_style_part;
pub mod chart_drawing_part;
pub mod chart_part;
pub mod chart_style_part;
pub mod chartsheet_part;
pub mod comment_authors_part;
pub mod connections_part;
pub mod control_properties_part;
pub mod core_file_properties_part;
pub mod custom_data_part;
pub mod custom_data_properties_part;
pub mod custom_file_properties_part;
pub mod custom_property_part;
pub mod custom_xml_mappings_part;
pub mod custom_xml_part;
pub mod custom_xml_properties_part;
pub mod customization_part;
pub mod diagram_colors_part;
pub mod diagram_data_part;
pub mod diagram_layout_definition_part;
pub mod diagram_persist_layout_part;
pub mod diagram_style_part;
pub mod dialogsheet_part;
pub mod digital_signature_origin_part;
pub mod document_settings_part;
pub mod document_tasks_part;
pub mod drawings_part;
pub mod embedded_control_persistence_binary_data_part;
pub mod embedded_control_persistence_part;
pub mod embedded_object_part;
pub mod embedded_package_part;
pub mod endnotes_part;
pub mod excel_attached_toolbars_part;
pub mod extended_chart_part;
pub mod extended_file_properties_part;
pub mod extended_part;
pub mod external_workbook_part;
pub mod feature_property_bags_part;
pub mod font_part;
pub mod font_table_part;
pub mod footer_part;
pub mod footnotes_part;
pub mod glossary_document_part;
pub mod handout_master_part;
pub mod header_part;
pub mod image_part;
pub mod international_macro_sheet_part;
pub mod label_info_part;
pub mod legacy_diagram_text_info_part;
pub mod legacy_diagram_text_part;
pub mod macro_sheet_part;
pub mod mail_merge_recipient_data_part;
pub mod main_document_part;
pub mod model3_d_reference_relationship_part;
pub mod named_sheet_views_part;
pub mod notes_master_part;
pub mod notes_slide_part;
pub mod numbering_definitions_part;
pub mod pivot_table_cache_definition_part;
pub mod pivot_table_cache_records_part;
pub mod pivot_table_part;
pub mod power_point_authors_part;
pub mod power_point_comment_part;
pub mod presentation_document;
pub mod presentation_part;
pub mod presentation_properties_part;
pub mod query_table_part;
pub mod quick_access_toolbar_customizations_part;
pub mod rd_array_part;
pub mod rd_rich_value_part;
pub mod rd_rich_value_structure_part;
pub mod rd_rich_value_types_part;
pub mod rd_rich_value_web_image_part;
pub mod rd_supporting_property_bag_part;
pub mod rd_supporting_property_bag_structure_part;
pub mod ribbon_and_backstage_customizations_part;
pub mod ribbon_extensibility_part;
pub mod rich_styles_part;
pub mod shared_string_table_part;
pub mod single_cell_table_part;
pub mod slicer_cache_part;
pub mod slicers_part;
pub mod slide_comments_part;
pub mod slide_layout_part;
pub mod slide_master_part;
pub mod slide_part;
pub mod slide_sync_data_part;
pub mod spreadsheet_document;
pub mod spreadsheet_printer_settings_part;
pub mod style_definitions_part;
pub mod styles_with_effects_part;
pub mod table_definition_part;
pub mod table_styles_part;
pub mod theme_override_part;
pub mod theme_part;
pub mod thumbnail_part;
pub mod time_line_cache_part;
pub mod time_line_part;
pub mod user_defined_tags_part;
pub mod vba_data_part;
pub mod vba_project_part;
pub mod view_properties_part;
pub mod vml_drawing_part;
pub mod volatile_dependencies_part;
pub mod web_ex_taskpanes_part;
pub mod web_extension_part;
pub mod web_settings_part;
pub mod word_attached_toolbars_part;
pub mod word_comments_extensible_part;
pub mod wordprocessing_comments_ex_part;
pub mod wordprocessing_comments_ids_part;
pub mod wordprocessing_comments_part;
pub mod wordprocessing_document;
pub mod wordprocessing_people_part;
pub mod wordprocessing_printer_settings_part;
pub mod workbook_part;
pub mod workbook_person_part;
pub mod workbook_revision_header_part;
pub mod workbook_revision_log_part;
pub mod workbook_styles_part;
pub mod workbook_user_data_part;
pub mod worksheet_comments_part;
pub mod worksheet_part;
pub mod worksheet_sort_map_part;
pub mod worksheet_threaded_comments_part;
pub mod xml_signature_part;
#[derive(Clone, Debug, Eq, PartialEq, ooxmlsdk_derive::SdkPartRef)]
pub enum PartRef {
#[sdk(
relationship_type = "http://schemas.openxmlformats.org/officeDocument/2006/relationships/aFChunk",
target_name = "afchunk",
extension = ".dat"
)]
AlternativeFormatImportPart(
crate::parts::alternative_format_import_part::AlternativeFormatImportPart,
),
#[sdk(
relationship_type = "http://schemas.openxmlformats.org/officeDocument/2006/relationships/calcChain",
target_name = "calcChain",
content_type = "application/vnd.openxmlformats-officedocument.spreadsheetml.calcChain+xml",
root(
element = crate::schemas::schemas_openxmlformats_org_spreadsheetml_2006_main::CalculationChain
)
)]
CalculationChainPart(crate::parts::calculation_chain_part::CalculationChainPart),
#[sdk(
relationship_type = "http://schemas.openxmlformats.org/officeDocument/2006/relationships/sheetMetadata",
target_name = "metadata",
content_type = "application/vnd.openxmlformats-officedocument.spreadsheetml.sheetMetadata+xml",
root(
element = crate::schemas::schemas_openxmlformats_org_spreadsheetml_2006_main::Metadata
)
)]
CellMetadataPart(crate::parts::cell_metadata_part::CellMetadataPart),
#[sdk(
relationship_type = "http://schemas.microsoft.com/office/2011/relationships/chartColorStyle",
target_name = "colors",
content_type = "application/vnd.ms-office.chartcolorstyle+xml",
root(
element = crate::schemas::schemas_microsoft_com_office_drawing_2012_chart_style::ColorStyle
)
)]
ChartColorStylePart(crate::parts::chart_color_style_part::ChartColorStylePart),
#[sdk(
relationship_type = "http://schemas.openxmlformats.org/officeDocument/2006/relationships/chartUserShapes",
target_name = "drawing",
path_prefix = "../drawings",
content_type = "application/vnd.openxmlformats-officedocument.drawingml.chartshapes+xml",
root(
element = crate::schemas::schemas_openxmlformats_org_drawingml_2006_chart::UserShapes
)
)]
ChartDrawingPart(crate::parts::chart_drawing_part::ChartDrawingPart),
#[sdk(
relationship_type = "http://schemas.openxmlformats.org/officeDocument/2006/relationships/chart",
target_name = "chart",
path_prefix = "charts",
content_type = "application/vnd.openxmlformats-officedocument.drawingml.chart+xml",
root(
element = crate::schemas::schemas_openxmlformats_org_drawingml_2006_chart::ChartSpace
)
)]
ChartPart(crate::parts::chart_part::ChartPart),
#[sdk(
relationship_type = "http://schemas.microsoft.com/office/2011/relationships/chartStyle",
target_name = "style",
content_type = "application/vnd.ms-office.chartstyle+xml",
root(
element = crate::schemas::schemas_microsoft_com_office_drawing_2012_chart_style::ChartStyle
)
)]
ChartStylePart(crate::parts::chart_style_part::ChartStylePart),
#[sdk(
relationship_type = "http://schemas.openxmlformats.org/officeDocument/2006/relationships/chartsheet",
target_name = "sheet",
path_prefix = "chartsheets",
content_type = "application/vnd.openxmlformats-officedocument.spreadsheetml.chartsheet+xml",
root(
element = crate::schemas::schemas_openxmlformats_org_spreadsheetml_2006_main::Chartsheet
)
)]
ChartsheetPart(crate::parts::chartsheet_part::ChartsheetPart),
#[sdk(
relationship_type = "http://schemas.openxmlformats.org/officeDocument/2006/relationships/commentAuthors",
target_name = "commentAuthors",
content_type = "application/vnd.openxmlformats-officedocument.presentationml.commentAuthors+xml",
root(
element = crate::schemas::schemas_openxmlformats_org_presentationml_2006_main::CommentAuthorList
)
)]
CommentAuthorsPart(crate::parts::comment_authors_part::CommentAuthorsPart),
#[sdk(
relationship_type = "http://schemas.openxmlformats.org/officeDocument/2006/relationships/connections",
target_name = "connections",
content_type = "application/vnd.openxmlformats-officedocument.spreadsheetml.connections+xml",
root(
element = crate::schemas::schemas_openxmlformats_org_spreadsheetml_2006_main::Connections
)
)]
ConnectionsPart(crate::parts::connections_part::ConnectionsPart),
#[sdk(
relationship_type = "http://schemas.openxmlformats.org/officeDocument/2006/relationships/ctrlProp",
target_name = "ctrlProp",
path_prefix = "../ctrlProps",
content_type = "application/vnd.ms-excel.controlproperties+xml",
root(
element = crate::schemas::schemas_microsoft_com_office_spreadsheetml_2009_9_main::FormControlProperties
)
)]
ControlPropertiesPart(crate::parts::control_properties_part::ControlPropertiesPart),
#[sdk(
relationship_type = "http://schemas.openxmlformats.org/package/2006/relationships/metadata/core-properties",
target_name = "core",
path_prefix = "docProps",
content_type = "application/vnd.openxmlformats-package.core-properties+xml",
root(element = crate::schemas::opc_core_properties::CoreProperties)
)]
CoreFilePropertiesPart(
crate::parts::core_file_properties_part::CoreFilePropertiesPart,
),
#[sdk(
relationship_type = "http://schemas.microsoft.com/office/2007/relationships/customData",
target_name = "customData",
path_prefix = "customData",
content_type = "application/binary"
)]
CustomDataPart(crate::parts::custom_data_part::CustomDataPart),
#[sdk(
relationship_type = "http://schemas.microsoft.com/office/2007/relationships/customDataProps",
target_name = "customDataProps",
path_prefix = "customData",
content_type = "application/vnd.ms-excel.customDataProperties+xml",
root(
element = crate::schemas::schemas_microsoft_com_office_spreadsheetml_2009_9_main::DatastoreItem
)
)]
CustomDataPropertiesPart(
crate::parts::custom_data_properties_part::CustomDataPropertiesPart,
),
#[sdk(
relationship_type = "http://schemas.openxmlformats.org/officeDocument/2006/relationships/custom-properties",
target_name = "custom",
path_prefix = "docProps",
content_type = "application/vnd.openxmlformats-officedocument.custom-properties+xml",
root(
element = crate::schemas::schemas_openxmlformats_org_office_document_2006_custom_properties::Properties
)
)]
CustomFilePropertiesPart(
crate::parts::custom_file_properties_part::CustomFilePropertiesPart,
),
#[sdk(
relationship_type = "http://schemas.openxmlformats.org/officeDocument/2006/relationships/customProperty",
target_name = "CustomProperty",
extension = ".bin"
)]
CustomPropertyPart(crate::parts::custom_property_part::CustomPropertyPart),
#[sdk(
relationship_type = "http://schemas.openxmlformats.org/officeDocument/2006/relationships/xmlMaps",
target_name = "xmlMaps",
content_type = "application/xml",
root(
element = crate::schemas::schemas_openxmlformats_org_spreadsheetml_2006_main::MapInfo
)
)]
CustomXmlMappingsPart(crate::parts::custom_xml_mappings_part::CustomXmlMappingsPart),
#[sdk(
relationship_type = "http://schemas.openxmlformats.org/officeDocument/2006/relationships/customXml",
target_name = "item",
path_prefix = "../customXml"
)]
CustomXmlPart(crate::parts::custom_xml_part::CustomXmlPart),
#[sdk(
relationship_type = "http://schemas.openxmlformats.org/officeDocument/2006/relationships/customXmlProps",
target_name = "itemProps",
content_type = "application/vnd.openxmlformats-officedocument.customXmlProperties+xml",
root(
element = crate::schemas::schemas_openxmlformats_org_office_document_2006_custom_xml::DataStoreItem
)
)]
CustomXmlPropertiesPart(
crate::parts::custom_xml_properties_part::CustomXmlPropertiesPart,
),
#[sdk(
relationship_type = "http://schemas.microsoft.com/office/2006/relationships/keyMapCustomizations",
target_name = "customizations",
content_type = "application/vnd.ms-word.keyMapCustomizations+xml",
root(
element = crate::schemas::schemas_microsoft_com_office_word_2006_wordml::TemplateCommandGroup
)
)]
CustomizationPart(crate::parts::customization_part::CustomizationPart),
#[sdk(
relationship_type = "http://schemas.openxmlformats.org/officeDocument/2006/relationships/diagramColors",
target_name = "colors",
path_prefix = "../graphics",
content_type = "application/vnd.openxmlformats-officedocument.drawingml.diagramColors+xml",
root(
element = crate::schemas::schemas_openxmlformats_org_drawingml_2006_diagram::ColorsDefinition
)
)]
DiagramColorsPart(crate::parts::diagram_colors_part::DiagramColorsPart),
#[sdk(
relationship_type = "http://schemas.openxmlformats.org/officeDocument/2006/relationships/diagramData",
target_name = "data",
path_prefix = "../graphics",
content_type = "application/vnd.openxmlformats-officedocument.drawingml.diagramData+xml",
root(
element = crate::schemas::schemas_openxmlformats_org_drawingml_2006_diagram::DataModelRoot
)
)]
DiagramDataPart(crate::parts::diagram_data_part::DiagramDataPart),
#[sdk(
relationship_type = "http://schemas.openxmlformats.org/officeDocument/2006/relationships/diagramLayout",
target_name = "layout",
path_prefix = "../graphics",
content_type = "application/vnd.openxmlformats-officedocument.drawingml.diagramLayout+xml",
root(
element = crate::schemas::schemas_openxmlformats_org_drawingml_2006_diagram::LayoutDefinition
)
)]
DiagramLayoutDefinitionPart(
crate::parts::diagram_layout_definition_part::DiagramLayoutDefinitionPart,
),
#[sdk(
relationship_type = "http://schemas.microsoft.com/office/2007/relationships/diagramDrawing",
target_name = "drawing",
path_prefix = "../diagrams",
content_type = "application/vnd.ms-office.drawingml.diagramDrawing+xml",
root(
element = crate::schemas::schemas_microsoft_com_office_drawing_2008_diagram::Drawing
)
)]
DiagramPersistLayoutPart(
crate::parts::diagram_persist_layout_part::DiagramPersistLayoutPart,
),
#[sdk(
relationship_type = "http://schemas.openxmlformats.org/officeDocument/2006/relationships/diagramQuickStyle",
target_name = "quickStyle",
path_prefix = "../graphics",
content_type = "application/vnd.openxmlformats-officedocument.drawingml.diagramStyle+xml",
root(
element = crate::schemas::schemas_openxmlformats_org_drawingml_2006_diagram::StyleDefinition
)
)]
DiagramStylePart(crate::parts::diagram_style_part::DiagramStylePart),
#[sdk(
relationship_type = "http://schemas.openxmlformats.org/officeDocument/2006/relationships/dialogsheet",
target_name = "sheet",
path_prefix = "dialogsheets",
content_type = "application/vnd.openxmlformats-officedocument.spreadsheetml.dialogsheet+xml",
root(
element = crate::schemas::schemas_openxmlformats_org_spreadsheetml_2006_main::DialogSheet
)
)]
DialogsheetPart(crate::parts::dialogsheet_part::DialogsheetPart),
#[sdk(
relationship_type = "http://schemas.openxmlformats.org/package/2006/relationships/digital-signature/origin",
target_name = "origin",
path_prefix = "_xmlsignatures",
content_type = "application/vnd.openxmlformats-package.digital-signature-origin",
extension = ".sigs"
)]
DigitalSignatureOriginPart(
crate::parts::digital_signature_origin_part::DigitalSignatureOriginPart,
),
#[sdk(
relationship_type = "http://schemas.openxmlformats.org/officeDocument/2006/relationships/settings",
target_name = "settings",
content_type = "application/vnd.openxmlformats-officedocument.wordprocessingml.settings+xml",
root(
element = crate::schemas::schemas_openxmlformats_org_wordprocessingml_2006_main::Settings
)
)]
DocumentSettingsPart(crate::parts::document_settings_part::DocumentSettingsPart),
#[sdk(
relationship_type = "http://schemas.microsoft.com/office/2019/05/relationships/documenttasks",
target_name = "tasks",
content_type = "application/vnd.ms-office.documenttasks+xml",
root(
element = crate::schemas::schemas_microsoft_com_office_tasks_2019_documenttasks::Tasks
)
)]
DocumentTasksPart(crate::parts::document_tasks_part::DocumentTasksPart),
#[sdk(
relationship_type = "http://schemas.openxmlformats.org/officeDocument/2006/relationships/drawing",
target_name = "drawing",
path_prefix = "../drawings",
content_type = "application/vnd.openxmlformats-officedocument.drawing+xml",
root(
element = crate::schemas::schemas_openxmlformats_org_drawingml_2006_spreadsheet_drawing::WorksheetDrawing
)
)]
DrawingsPart(crate::parts::drawings_part::DrawingsPart),
#[sdk(
relationship_type = "http://schemas.microsoft.com/office/2006/relationships/activeXControlBinary",
target_name = "ActiveXControl",
extension = ".bin"
)]
EmbeddedControlPersistenceBinaryDataPart(
crate::parts::embedded_control_persistence_binary_data_part::EmbeddedControlPersistenceBinaryDataPart,
),
#[sdk(
relationship_type = "http://schemas.openxmlformats.org/officeDocument/2006/relationships/control",
target_name = "control",
path_prefix = "embeddings",
extension = ".bin"
)]
EmbeddedControlPersistencePart(
crate::parts::embedded_control_persistence_part::EmbeddedControlPersistencePart,
),
#[sdk(
relationship_type = "http://schemas.openxmlformats.org/officeDocument/2006/relationships/oleObject",
target_name = "embeddedObject",
path_prefix = "embeddings",
extension = ".bin"
)]
EmbeddedObjectPart(crate::parts::embedded_object_part::EmbeddedObjectPart),
#[sdk(
relationship_type = "http://schemas.openxmlformats.org/officeDocument/2006/relationships/package",
target_name = "package",
path_prefix = "embeddings",
extension = ".bin"
)]
EmbeddedPackagePart(crate::parts::embedded_package_part::EmbeddedPackagePart),
#[sdk(
relationship_type = "http://schemas.openxmlformats.org/officeDocument/2006/relationships/endnotes",
target_name = "endnotes",
content_type = "application/vnd.openxmlformats-officedocument.wordprocessingml.endnotes+xml",
root(
element = crate::schemas::schemas_openxmlformats_org_wordprocessingml_2006_main::Endnotes
)
)]
EndnotesPart(crate::parts::endnotes_part::EndnotesPart),
#[sdk(
relationship_type = "http://schemas.microsoft.com/office/2006/relationships/attachedToolbars",
target_name = "attachedToolbars",
content_type = "application/vnd.ms-excel.attachedToolbars",
extension = ".bin"
)]
ExcelAttachedToolbarsPart(
crate::parts::excel_attached_toolbars_part::ExcelAttachedToolbarsPart,
),
#[sdk(
relationship_type = "http://schemas.microsoft.com/office/2014/relationships/chartEx",
target_name = "chart",
path_prefix = "extendedCharts",
content_type = "application/vnd.ms-office.chartex+xml",
root(
element = crate::schemas::schemas_microsoft_com_office_drawing_2014_chartex::ChartSpace
)
)]
ExtendedChartPart(crate::parts::extended_chart_part::ExtendedChartPart),
#[sdk(
relationship_type = "http://schemas.openxmlformats.org/officeDocument/2006/relationships/extended-properties",
target_name = "app",
path_prefix = "docProps",
content_type = "application/vnd.openxmlformats-officedocument.extended-properties+xml",
root(
element = crate::schemas::schemas_openxmlformats_org_office_document_2006_extended_properties::Properties
)
)]
ExtendedFilePropertiesPart(
crate::parts::extended_file_properties_part::ExtendedFilePropertiesPart,
),
#[sdk(
relationship_type = "http://schemas.openxmlformats.org/officeDocument/2006/relationships/externalLink",
target_name = "externalReference",
path_prefix = "externalReferences",
content_type = "application/vnd.openxmlformats-officedocument.spreadsheetml.externalLink+xml",
root(
element = crate::schemas::schemas_openxmlformats_org_spreadsheetml_2006_main::ExternalLink
)
)]
ExternalWorkbookPart(crate::parts::external_workbook_part::ExternalWorkbookPart),
#[sdk(
relationship_type = "http://schemas.microsoft.com/office/2022/11/relationships/FeaturePropertyBag",
target_name = "featurePropertyBag",
path_prefix = "featurePropertyBag",
content_type = "application/vnd.ms-excel.featurepropertybag+xml",
root(
element = crate::schemas::schemas_microsoft_com_office_spreadsheetml_2022_featurepropertybag::FeaturePropertyBags
)
)]
FeaturePropertyBagsPart(
crate::parts::feature_property_bags_part::FeaturePropertyBagsPart,
),
#[sdk(
relationship_type = "http://schemas.openxmlformats.org/officeDocument/2006/relationships/font",
target_name = "font",
path_prefix = "fonts",
extension = ".dat"
)]
FontPart(crate::parts::font_part::FontPart),
#[sdk(
relationship_type = "http://schemas.openxmlformats.org/officeDocument/2006/relationships/fontTable",
target_name = "fontTable",
content_type = "application/vnd.openxmlformats-officedocument.wordprocessingml.fontTable+xml",
root(
element = crate::schemas::schemas_openxmlformats_org_wordprocessingml_2006_main::Fonts
)
)]
FontTablePart(crate::parts::font_table_part::FontTablePart),
#[sdk(
relationship_type = "http://schemas.openxmlformats.org/officeDocument/2006/relationships/footer",
target_name = "footer",
content_type = "application/vnd.openxmlformats-officedocument.wordprocessingml.footer+xml",
root(
element = crate::schemas::schemas_openxmlformats_org_wordprocessingml_2006_main::Footer
)
)]
FooterPart(crate::parts::footer_part::FooterPart),
#[sdk(
relationship_type = "http://schemas.openxmlformats.org/officeDocument/2006/relationships/footnotes",
target_name = "footnotes",
content_type = "application/vnd.openxmlformats-officedocument.wordprocessingml.footnotes+xml",
root(
element = crate::schemas::schemas_openxmlformats_org_wordprocessingml_2006_main::Footnotes
)
)]
FootnotesPart(crate::parts::footnotes_part::FootnotesPart),
#[sdk(
relationship_type = "http://schemas.openxmlformats.org/officeDocument/2006/relationships/glossaryDocument",
target_name = "document",
path_prefix = "glossary",
content_type = "application/vnd.openxmlformats-officedocument.wordprocessingml.document.glossary+xml",
root(
element = crate::schemas::schemas_openxmlformats_org_wordprocessingml_2006_main::GlossaryDocument
)
)]
GlossaryDocumentPart(crate::parts::glossary_document_part::GlossaryDocumentPart),
#[sdk(
relationship_type = "http://schemas.openxmlformats.org/officeDocument/2006/relationships/handoutMaster",
target_name = "handoutMaster",
path_prefix = "handoutMasters",
content_type = "application/vnd.openxmlformats-officedocument.presentationml.handoutMaster+xml",
root(
element = crate::schemas::schemas_openxmlformats_org_presentationml_2006_main::HandoutMaster
)
)]
HandoutMasterPart(crate::parts::handout_master_part::HandoutMasterPart),
#[sdk(
relationship_type = "http://schemas.openxmlformats.org/officeDocument/2006/relationships/header",
target_name = "header",
content_type = "application/vnd.openxmlformats-officedocument.wordprocessingml.header+xml",
root(
element = crate::schemas::schemas_openxmlformats_org_wordprocessingml_2006_main::Header
)
)]
HeaderPart(crate::parts::header_part::HeaderPart),
#[sdk(
relationship_type = "http://schemas.openxmlformats.org/officeDocument/2006/relationships/image",
target_name = "image",
path_prefix = "../media",
extension = ".bin"
)]
ImagePart(crate::parts::image_part::ImagePart),
#[sdk(
relationship_type = "http://schemas.microsoft.com/office/2006/relationships/xlIntlMacrosheet",
target_name = "intlsheet",
path_prefix = "macrosheets",
content_type = "application/vnd.ms-excel.intlmacrosheet+xml"
)]
InternationalMacroSheetPart(
crate::parts::international_macro_sheet_part::InternationalMacroSheetPart,
),
#[sdk(
relationship_type = "http://schemas.microsoft.com/office/2020/02/relationships/classificationlabels",
target_name = "LabelInfo",
path_prefix = "docMetadata",
content_type = "application/vnd.ms-office.classificationlabels+xml",
root(
element = crate::schemas::schemas_microsoft_com_office_2020_mip_label_metadata::ClassificationLabelList
)
)]
LabelInfoPart(crate::parts::label_info_part::LabelInfoPart),
#[sdk(
relationship_type = "http://schemas.microsoft.com/office/2006/relationships/legacyDocTextInfo",
target_name = "legacyDocTextInfo",
content_type = "application/vnd.ms-office.legacyDocTextInfo",
extension = ".bin"
)]
LegacyDiagramTextInfoPart(
crate::parts::legacy_diagram_text_info_part::LegacyDiagramTextInfoPart,
),
#[sdk(
relationship_type = "http://schemas.microsoft.com/office/2006/relationships/legacyDiagramText",
target_name = "legacyDiagramText",
content_type = "application/vnd.ms-office.legacyDiagramText",
extension = ".bin"
)]
LegacyDiagramTextPart(crate::parts::legacy_diagram_text_part::LegacyDiagramTextPart),
#[sdk(
relationship_type = "http://schemas.microsoft.com/office/2006/relationships/xlMacrosheet",
target_name = "sheet",
path_prefix = "macrosheets",
content_type = "application/vnd.ms-excel.macrosheet+xml",
root(
element = crate::schemas::schemas_microsoft_com_office_excel_2006_main::Macrosheet
)
)]
MacroSheetPart(crate::parts::macro_sheet_part::MacroSheetPart),
#[sdk(
relationship_type = "http://schemas.openxmlformats.org/officeDocument/2006/relationships/recipientData",
target_name = "recipients"
)]
MailMergeRecipientDataPart(
crate::parts::mail_merge_recipient_data_part::MailMergeRecipientDataPart,
),
#[sdk(
relationship_type = "http://schemas.openxmlformats.org/officeDocument/2006/relationships/officeDocument",
target_name = "document",
path_prefix = "word",
root(
element = crate::schemas::schemas_openxmlformats_org_wordprocessingml_2006_main::Document,
content_type = "application/vnd.openxmlformats-officedocument.wordprocessingml.document.main+xml"
)
)]
MainDocumentPart(crate::parts::main_document_part::MainDocumentPart),
#[sdk(
relationship_type = "http://schemas.microsoft.com/office/2017/06/relationships/model3d",
target_name = "model3d",
path_prefix = "../media",
content_type = "model/gltf-binary",
extension = ".glb"
)]
Model3DReferenceRelationshipPart(
crate::parts::model3_d_reference_relationship_part::Model3DReferenceRelationshipPart,
),
#[sdk(
relationship_type = "http://schemas.microsoft.com/office/2019/04/relationships/namedSheetView",
target_name = "namedSheetView",
path_prefix = "../namedSheetViews",
content_type = "application/vnd.ms-excel.namedsheetviews+xml",
root(
element = crate::schemas::schemas_microsoft_com_office_spreadsheetml_2019_namedsheetviews::NamedSheetViews
)
)]
NamedSheetViewsPart(crate::parts::named_sheet_views_part::NamedSheetViewsPart),
#[sdk(
relationship_type = "http://schemas.openxmlformats.org/officeDocument/2006/relationships/notesMaster",
target_name = "notesMaster",
path_prefix = "notesMasters",
content_type = "application/vnd.openxmlformats-officedocument.presentationml.notesMaster+xml",
root(
element = crate::schemas::schemas_openxmlformats_org_presentationml_2006_main::NotesMaster
)
)]
NotesMasterPart(crate::parts::notes_master_part::NotesMasterPart),
#[sdk(
relationship_type = "http://schemas.openxmlformats.org/officeDocument/2006/relationships/notesSlide",
target_name = "notesSlide",
path_prefix = "../notesSlides",
content_type = "application/vnd.openxmlformats-officedocument.presentationml.notesSlide+xml",
root(
element = crate::schemas::schemas_openxmlformats_org_presentationml_2006_main::NotesSlide
)
)]
NotesSlidePart(crate::parts::notes_slide_part::NotesSlidePart),
#[sdk(
relationship_type = "http://schemas.openxmlformats.org/officeDocument/2006/relationships/numbering",
target_name = "numbering",
content_type = "application/vnd.openxmlformats-officedocument.wordprocessingml.numbering+xml",
root(
element = crate::schemas::schemas_openxmlformats_org_wordprocessingml_2006_main::Numbering
)
)]
NumberingDefinitionsPart(
crate::parts::numbering_definitions_part::NumberingDefinitionsPart,
),
#[sdk(
relationship_type = "http://schemas.openxmlformats.org/officeDocument/2006/relationships/pivotCacheDefinition",
target_name = "pivotCacheDefinition",
path_prefix = "../pivotCache",
content_type = "application/vnd.openxmlformats-officedocument.spreadsheetml.pivotCacheDefinition+xml",
root(
element = crate::schemas::schemas_openxmlformats_org_spreadsheetml_2006_main::PivotCacheDefinition
)
)]
PivotTableCacheDefinitionPart(
crate::parts::pivot_table_cache_definition_part::PivotTableCacheDefinitionPart,
),
#[sdk(
relationship_type = "http://schemas.openxmlformats.org/officeDocument/2006/relationships/pivotCacheRecords",
target_name = "pivotCacheRecords",
content_type = "application/vnd.openxmlformats-officedocument.spreadsheetml.pivotCacheRecords+xml",
root(
element = crate::schemas::schemas_openxmlformats_org_spreadsheetml_2006_main::PivotCacheRecords
)
)]
PivotTableCacheRecordsPart(
crate::parts::pivot_table_cache_records_part::PivotTableCacheRecordsPart,
),
#[sdk(
relationship_type = "http://schemas.openxmlformats.org/officeDocument/2006/relationships/pivotTable",
target_name = "pivotTable",
path_prefix = "../pivotTables",
content_type = "application/vnd.openxmlformats-officedocument.spreadsheetml.pivotTable+xml",
root(
element = crate::schemas::schemas_openxmlformats_org_spreadsheetml_2006_main::PivotTableDefinition
)
)]
PivotTablePart(crate::parts::pivot_table_part::PivotTablePart),
#[sdk(
relationship_type = "http://schemas.microsoft.com/office/2018/10/relationships/authors",
target_name = "authors",
content_type = "application/vnd.ms-powerpoint.authors+xml",
root(
element = crate::schemas::schemas_microsoft_com_office_powerpoint_2018_8_main::AuthorList
)
)]
PowerPointAuthorsPart(crate::parts::power_point_authors_part::PowerPointAuthorsPart),
#[sdk(
relationship_type = "http://schemas.microsoft.com/office/2018/10/relationships/comments",
target_name = "modernComment",
path_prefix = "../comments",
content_type = "application/vnd.ms-powerpoint.comments+xml",
root(
element = crate::schemas::schemas_microsoft_com_office_powerpoint_2018_8_main::CommentList
)
)]
PowerPointCommentPart(crate::parts::power_point_comment_part::PowerPointCommentPart),
#[sdk(
relationship_type = "http://schemas.openxmlformats.org/officeDocument/2006/relationships/officeDocument",
target_name = "presentation",
path_prefix = "ppt",
root(
element = crate::schemas::schemas_openxmlformats_org_presentationml_2006_main::Presentation,
content_type = "application/vnd.openxmlformats-officedocument.presentationml.presentation.main+xml"
)
)]
PresentationPart(crate::parts::presentation_part::PresentationPart),
#[sdk(
relationship_type = "http://schemas.openxmlformats.org/officeDocument/2006/relationships/presProps",
target_name = "presProps",
content_type = "application/vnd.openxmlformats-officedocument.presentationml.presProps+xml",
root(
element = crate::schemas::schemas_openxmlformats_org_presentationml_2006_main::PresentationProperties
)
)]
PresentationPropertiesPart(
crate::parts::presentation_properties_part::PresentationPropertiesPart,
),
#[sdk(
relationship_type = "http://schemas.openxmlformats.org/officeDocument/2006/relationships/queryTable",
target_name = "queryTable",
path_prefix = "../queryTables",
content_type = "application/vnd.openxmlformats-officedocument.spreadsheetml.queryTable+xml",
root(
element = crate::schemas::schemas_openxmlformats_org_spreadsheetml_2006_main::QueryTable
)
)]
QueryTablePart(crate::parts::query_table_part::QueryTablePart),
#[sdk(
relationship_type = "http://schemas.microsoft.com/office/2006/relationships/ui/userCustomization",
target_name = "customUI",
path_prefix = "userCustomization",
content_type = "application/xml"
)]
QuickAccessToolbarCustomizationsPart(
crate::parts::quick_access_toolbar_customizations_part::QuickAccessToolbarCustomizationsPart,
),
#[sdk(
relationship_type = "http://schemas.microsoft.com/office/2017/06/relationships/rdArray",
target_name = "rdarray",
path_prefix = "richData",
content_type = "application/vnd.ms-excel.rdarray+xml",
root(
element = crate::schemas::schemas_microsoft_com_office_spreadsheetml_2017_richdata2::ArrayData
)
)]
RdArrayPart(crate::parts::rd_array_part::RdArrayPart),
#[sdk(
relationship_type = "http://schemas.microsoft.com/office/2017/06/relationships/rdRichValue",
target_name = "rdrichvalue",
path_prefix = "richData",
content_type = "application/vnd.ms-excel.rdrichvalue+xml",
root(
element = crate::schemas::schemas_microsoft_com_office_spreadsheetml_2017_richdata::RichValueData
)
)]
RdRichValuePart(crate::parts::rd_rich_value_part::RdRichValuePart),
#[sdk(
relationship_type = "http://schemas.microsoft.com/office/2017/06/relationships/rdRichValueStructure",
target_name = "rdrichvaluestructure",
path_prefix = "richData",
content_type = "application/vnd.ms-excel.rdrichvaluestructure+xml",
root(
element = crate::schemas::schemas_microsoft_com_office_spreadsheetml_2017_richdata::RichValueStructures
)
)]
RdRichValueStructurePart(
crate::parts::rd_rich_value_structure_part::RdRichValueStructurePart,
),
#[sdk(
relationship_type = "http://schemas.microsoft.com/office/2017/06/relationships/rdRichValueTypes",
target_name = "rdRichValueTypes",
path_prefix = "richData",
content_type = "application/vnd.ms-excel.rdrichvaluetypes+xml",
root(
element = crate::schemas::schemas_microsoft_com_office_spreadsheetml_2017_richdata2::RichValueTypesInfo
)
)]
RdRichValueTypesPart(crate::parts::rd_rich_value_types_part::RdRichValueTypesPart),
#[sdk(
relationship_type = "http://schemas.microsoft.com/office/2020/07/relationships/rdRichValueWebImage",
target_name = "rdRichValueWebImage",
path_prefix = "richData",
content_type = "application/vnd.ms-excel.rdrichvaluewebimage+xml",
root(
element = crate::schemas::schemas_microsoft_com_office_spreadsheetml_2020_richdatawebimage::WebImagesSupportingRichData
)
)]
RdRichValueWebImagePart(
crate::parts::rd_rich_value_web_image_part::RdRichValueWebImagePart,
),
#[sdk(
relationship_type = "http://schemas.microsoft.com/office/2017/06/relationships/rdSupportingPropertyBag",
target_name = "rdsupportingpropertybag",
path_prefix = "richData",
content_type = "application/vnd.ms-excel.rdsupportingpropertybag+xml",
root(
element = crate::schemas::schemas_microsoft_com_office_spreadsheetml_2017_richdata2::SupportingPropertyBags
)
)]
RdSupportingPropertyBagPart(
crate::parts::rd_supporting_property_bag_part::RdSupportingPropertyBagPart,
),
#[sdk(
relationship_type = "http://schemas.microsoft.com/office/2017/06/relationships/rdSupportingPropertyBagStructure",
target_name = "rdsupportingpropertybagstructure",
path_prefix = "richData",
content_type = "application/vnd.ms-excel.rdsupportingpropertybagstructure+xml",
root(
element = crate::schemas::schemas_microsoft_com_office_spreadsheetml_2017_richdata2::SupportingPropertyBagStructures
)
)]
RdSupportingPropertyBagStructurePart(
crate::parts::rd_supporting_property_bag_structure_part::RdSupportingPropertyBagStructurePart,
),
#[sdk(
relationship_type = "http://schemas.microsoft.com/office/2007/relationships/ui/extensibility",
target_name = "customUI",
path_prefix = "customUI",
content_type = "application/xml",
root(
element = crate::schemas::schemas_microsoft_com_office_2009_07_customui::CustomUi
)
)]
RibbonAndBackstageCustomizationsPart(
crate::parts::ribbon_and_backstage_customizations_part::RibbonAndBackstageCustomizationsPart,
),
#[sdk(
relationship_type = "http://schemas.microsoft.com/office/2006/relationships/ui/extensibility",
target_name = "customUI",
path_prefix = "customUI",
content_type = "application/xml"
)]
RibbonExtensibilityPart(
crate::parts::ribbon_extensibility_part::RibbonExtensibilityPart,
),
#[sdk(
relationship_type = "http://schemas.microsoft.com/office/2017/06/relationships/richStyles",
target_name = "richStyles",
path_prefix = "richData",
content_type = "application/vnd.ms-excel.richstyles+xml",
root(
element = crate::schemas::schemas_microsoft_com_office_spreadsheetml_2017_richdata2::RichStylesheet
)
)]
RichStylesPart(crate::parts::rich_styles_part::RichStylesPart),
#[sdk(
relationship_type = "http://schemas.openxmlformats.org/officeDocument/2006/relationships/sharedStrings",
target_name = "sharedStrings",
content_type = "application/vnd.openxmlformats-officedocument.spreadsheetml.sharedStrings+xml",
root(
element = crate::schemas::schemas_openxmlformats_org_spreadsheetml_2006_main::SharedStringTable
)
)]
SharedStringTablePart(crate::parts::shared_string_table_part::SharedStringTablePart),
#[sdk(
relationship_type = "http://schemas.openxmlformats.org/officeDocument/2006/relationships/tableSingleCells",
target_name = "tableSingleCells",
path_prefix = "../tables",
content_type = "application/vnd.openxmlformats-officedocument.spreadsheetml.tableSingleCells+xml",
root(
element = crate::schemas::schemas_openxmlformats_org_spreadsheetml_2006_main::SingleXmlCells
)
)]
SingleCellTablePart(crate::parts::single_cell_table_part::SingleCellTablePart),
#[sdk(
relationship_type = "http://schemas.microsoft.com/office/2007/relationships/slicerCache",
target_name = "slicerCache",
path_prefix = "slicerCaches",
content_type = "application/vnd.ms-excel.slicerCache+xml",
root(
element = crate::schemas::schemas_microsoft_com_office_spreadsheetml_2009_9_main::SlicerCacheDefinition
)
)]
SlicerCachePart(crate::parts::slicer_cache_part::SlicerCachePart),
#[sdk(
relationship_type = "http://schemas.microsoft.com/office/2007/relationships/slicer",
target_name = "slicer",
path_prefix = "../slicers",
content_type = "application/vnd.ms-excel.slicer+xml",
root(
element = crate::schemas::schemas_microsoft_com_office_spreadsheetml_2009_9_main::Slicers
)
)]
SlicersPart(crate::parts::slicers_part::SlicersPart),
#[sdk(
relationship_type = "http://schemas.openxmlformats.org/officeDocument/2006/relationships/comments",
target_name = "comment",
path_prefix = "../comments",
content_type = "application/vnd.openxmlformats-officedocument.presentationml.comments+xml",
root(
element = crate::schemas::schemas_openxmlformats_org_presentationml_2006_main::CommentList
)
)]
SlideCommentsPart(crate::parts::slide_comments_part::SlideCommentsPart),
#[sdk(
relationship_type = "http://schemas.openxmlformats.org/officeDocument/2006/relationships/slideLayout",
target_name = "slideLayout",
path_prefix = "../slideLayouts",
content_type = "application/vnd.openxmlformats-officedocument.presentationml.slideLayout+xml",
root(
element = crate::schemas::schemas_openxmlformats_org_presentationml_2006_main::SlideLayout
)
)]
SlideLayoutPart(crate::parts::slide_layout_part::SlideLayoutPart),
#[sdk(
relationship_type = "http://schemas.openxmlformats.org/officeDocument/2006/relationships/slideMaster",
target_name = "slideMaster",
path_prefix = "slideMasters",
content_type = "application/vnd.openxmlformats-officedocument.presentationml.slideMaster+xml",
root(
element = crate::schemas::schemas_openxmlformats_org_presentationml_2006_main::SlideMaster
)
)]
SlideMasterPart(crate::parts::slide_master_part::SlideMasterPart),
#[sdk(
relationship_type = "http://schemas.openxmlformats.org/officeDocument/2006/relationships/slide",
target_name = "slide",
path_prefix = "slides",
content_type = "application/vnd.openxmlformats-officedocument.presentationml.slide+xml",
root(
element = crate::schemas::schemas_openxmlformats_org_presentationml_2006_main::Slide
)
)]
SlidePart(crate::parts::slide_part::SlidePart),
#[sdk(
relationship_type = "http://schemas.openxmlformats.org/officeDocument/2006/relationships/slideUpdateInfo",
target_name = "slideUpdateInfo",
path_prefix = "slideUpdateInfo",
content_type = "application/vnd.openxmlformats-officedocument.presentationml.slideUpdateInfo+xml",
root(
element = crate::schemas::schemas_openxmlformats_org_presentationml_2006_main::SlideSyncProperties
)
)]
SlideSyncDataPart(crate::parts::slide_sync_data_part::SlideSyncDataPart),
#[sdk(
relationship_type = "http://schemas.openxmlformats.org/officeDocument/2006/relationships/printerSettings",
target_name = "printerSettings",
path_prefix = "../printerSettings",
content_type = "application/vnd.openxmlformats-officedocument.spreadsheetml.printerSettings",
extension = ".bin"
)]
SpreadsheetPrinterSettingsPart(
crate::parts::spreadsheet_printer_settings_part::SpreadsheetPrinterSettingsPart,
),
#[sdk(
relationship_type = "http://schemas.openxmlformats.org/officeDocument/2006/relationships/styles",
target_name = "styles",
content_type = "application/vnd.openxmlformats-officedocument.wordprocessingml.styles+xml",
root(
element = crate::schemas::schemas_openxmlformats_org_wordprocessingml_2006_main::Styles
)
)]
StyleDefinitionsPart(crate::parts::style_definitions_part::StyleDefinitionsPart),
#[sdk(
relationship_type = "http://schemas.microsoft.com/office/2007/relationships/stylesWithEffects",
target_name = "stylesWithEffects",
content_type = "application/vnd.ms-word.stylesWithEffects+xml",
root(
element = crate::schemas::schemas_openxmlformats_org_wordprocessingml_2006_main::Styles
)
)]
StylesWithEffectsPart(crate::parts::styles_with_effects_part::StylesWithEffectsPart),
#[sdk(
relationship_type = "http://schemas.openxmlformats.org/officeDocument/2006/relationships/table",
target_name = "table",
path_prefix = "../tables",
content_type = "application/vnd.openxmlformats-officedocument.spreadsheetml.table+xml",
root(
element = crate::schemas::schemas_openxmlformats_org_spreadsheetml_2006_main::Table
)
)]
TableDefinitionPart(crate::parts::table_definition_part::TableDefinitionPart),
#[sdk(
relationship_type = "http://schemas.openxmlformats.org/officeDocument/2006/relationships/tableStyles",
target_name = "tableStyles",
content_type = "application/vnd.openxmlformats-officedocument.presentationml.tableStyles+xml",
root(
element = crate::schemas::schemas_openxmlformats_org_drawingml_2006_main::TableStyleList
)
)]
TableStylesPart(crate::parts::table_styles_part::TableStylesPart),
#[sdk(
relationship_type = "http://schemas.openxmlformats.org/officeDocument/2006/relationships/themeOverride",
target_name = "themeoverride",
path_prefix = "theme",
content_type = "application/vnd.openxmlformats-officedocument.themeOverride+xml",
root(
element = crate::schemas::schemas_openxmlformats_org_drawingml_2006_main::ThemeOverride
)
)]
ThemeOverridePart(crate::parts::theme_override_part::ThemeOverridePart),
#[sdk(
relationship_type = "http://schemas.openxmlformats.org/officeDocument/2006/relationships/theme",
target_name = "theme",
path_prefix = "theme",
content_type = "application/vnd.openxmlformats-officedocument.theme+xml",
root(
element = crate::schemas::schemas_openxmlformats_org_drawingml_2006_main::Theme
)
)]
ThemePart(crate::parts::theme_part::ThemePart),
#[sdk(
relationship_type = "http://schemas.openxmlformats.org/package/2006/relationships/metadata/thumbnail",
target_name = "thumbnail",
path_prefix = "docProps",
extension = ".bin"
)]
ThumbnailPart(crate::parts::thumbnail_part::ThumbnailPart),
#[sdk(
relationship_type = "http://schemas.microsoft.com/office/2011/relationships/timelineCache",
target_name = "timelineCache",
path_prefix = "timelineCaches",
content_type = "application/vnd.ms-excel.timelineCache+xml",
root(
element = crate::schemas::schemas_microsoft_com_office_spreadsheetml_2010_11_main::TimelineCacheDefinition
)
)]
TimeLineCachePart(crate::parts::time_line_cache_part::TimeLineCachePart),
#[sdk(
relationship_type = "http://schemas.microsoft.com/office/2011/relationships/timeline",
target_name = "timeline",
path_prefix = "../timelines",
content_type = "application/vnd.ms-excel.timeline+xml",
root(
element = crate::schemas::schemas_microsoft_com_office_spreadsheetml_2010_11_main::Timelines
)
)]
TimeLinePart(crate::parts::time_line_part::TimeLinePart),
#[sdk(
relationship_type = "http://schemas.openxmlformats.org/officeDocument/2006/relationships/tags",
target_name = "tag",
path_prefix = "tags",
content_type = "application/vnd.openxmlformats-officedocument.presentationml.tags+xml",
root(
element = crate::schemas::schemas_openxmlformats_org_presentationml_2006_main::TagList
)
)]
UserDefinedTagsPart(crate::parts::user_defined_tags_part::UserDefinedTagsPart),
#[sdk(
relationship_type = "http://schemas.microsoft.com/office/2006/relationships/wordVbaData",
target_name = "vbaData",
content_type = "application/vnd.ms-word.vbaData+xml",
root(
element = crate::schemas::schemas_microsoft_com_office_word_2006_wordml::VbaSuppData
)
)]
VbaDataPart(crate::parts::vba_data_part::VbaDataPart),
#[sdk(
relationship_type = "http://schemas.microsoft.com/office/2006/relationships/vbaProject",
target_name = "vbaProject",
content_type = "application/vnd.ms-office.vbaProject",
extension = ".bin"
)]
VbaProjectPart(crate::parts::vba_project_part::VbaProjectPart),
#[sdk(
relationship_type = "http://schemas.openxmlformats.org/officeDocument/2006/relationships/viewProps",
target_name = "viewProps",
content_type = "application/vnd.openxmlformats-officedocument.presentationml.viewProps+xml",
root(
element = crate::schemas::schemas_openxmlformats_org_presentationml_2006_main::ViewProperties
)
)]
ViewPropertiesPart(crate::parts::view_properties_part::ViewPropertiesPart),
#[sdk(
relationship_type = "http://schemas.openxmlformats.org/officeDocument/2006/relationships/vmlDrawing",
target_name = "vmldrawing",
path_prefix = "../drawings",
content_type = "application/vnd.openxmlformats-officedocument.vmlDrawing",
extension = ".vml"
)]
VmlDrawingPart(crate::parts::vml_drawing_part::VmlDrawingPart),
#[sdk(
relationship_type = "http://schemas.openxmlformats.org/officeDocument/2006/relationships/volatileDependencies",
target_name = "volatileDependencies",
content_type = "application/vnd.openxmlformats-officedocument.spreadsheetml.volatileDependencies+xml",
root(
element = crate::schemas::schemas_openxmlformats_org_spreadsheetml_2006_main::VolatileTypes
)
)]
VolatileDependenciesPart(
crate::parts::volatile_dependencies_part::VolatileDependenciesPart,
),
#[sdk(
relationship_type = "http://schemas.microsoft.com/office/2011/relationships/webextensiontaskpanes",
target_name = "taskpanes",
path_prefix = "../webextensions",
content_type = "application/vnd.ms-office.webextensiontaskpanes+xml",
root(
element = crate::schemas::schemas_microsoft_com_office_webextensions_taskpanes_2010_11::Taskpanes
)
)]
WebExTaskpanesPart(crate::parts::web_ex_taskpanes_part::WebExTaskpanesPart),
#[sdk(
relationship_type = "http://schemas.microsoft.com/office/2011/relationships/webextension",
target_name = "webextension",
path_prefix = "../webextensions",
content_type = "application/vnd.ms-office.webextension+xml",
root(
element = crate::schemas::schemas_microsoft_com_office_webextensions_webextension_2010_11::WebExtension
)
)]
WebExtensionPart(crate::parts::web_extension_part::WebExtensionPart),
#[sdk(
relationship_type = "http://schemas.openxmlformats.org/officeDocument/2006/relationships/webSettings",
target_name = "webSettings",
content_type = "application/vnd.openxmlformats-officedocument.wordprocessingml.webSettings+xml",
root(
element = crate::schemas::schemas_openxmlformats_org_wordprocessingml_2006_main::WebSettings
)
)]
WebSettingsPart(crate::parts::web_settings_part::WebSettingsPart),
#[sdk(
relationship_type = "http://schemas.microsoft.com/office/2006/relationships/attachedToolbars",
target_name = "attachedToolbars",
content_type = "application/vnd.ms-word.attachedToolbars",
extension = ".bin"
)]
WordAttachedToolbarsPart(
crate::parts::word_attached_toolbars_part::WordAttachedToolbarsPart,
),
#[sdk(
relationship_type = "http://schemas.microsoft.com/office/2018/08/relationships/commentsExtensible",
target_name = "commentsExtensible",
content_type = "application/vnd.openxmlformats-officedocument.wordprocessingml.commentsExtensible+xml",
root(
element = crate::schemas::schemas_microsoft_com_office_word_2018_wordml_cex::CommentsExtensible
)
)]
WordCommentsExtensiblePart(
crate::parts::word_comments_extensible_part::WordCommentsExtensiblePart,
),
#[sdk(
relationship_type = "http://schemas.microsoft.com/office/2011/relationships/commentsExtended",
target_name = "commentsExtended",
content_type = "application/vnd.openxmlformats-officedocument.wordprocessingml.commentsExtended+xml",
root(
element = crate::schemas::schemas_microsoft_com_office_word_2012_wordml::CommentsEx
)
)]
WordprocessingCommentsExPart(
crate::parts::wordprocessing_comments_ex_part::WordprocessingCommentsExPart,
),
#[sdk(
relationship_type = "http://schemas.microsoft.com/office/2016/09/relationships/commentsIds",
target_name = "commentsIds",
content_type = "application/vnd.openxmlformats-officedocument.wordprocessingml.commentsIds+xml",
root(
element = crate::schemas::schemas_microsoft_com_office_word_2016_wordml_cid::CommentsIds
)
)]
WordprocessingCommentsIdsPart(
crate::parts::wordprocessing_comments_ids_part::WordprocessingCommentsIdsPart,
),
#[sdk(
relationship_type = "http://schemas.openxmlformats.org/officeDocument/2006/relationships/comments",
target_name = "comments",
content_type = "application/vnd.openxmlformats-officedocument.wordprocessingml.comments+xml",
root(
element = crate::schemas::schemas_openxmlformats_org_wordprocessingml_2006_main::Comments
)
)]
WordprocessingCommentsPart(
crate::parts::wordprocessing_comments_part::WordprocessingCommentsPart,
),
#[sdk(
relationship_type = "http://schemas.microsoft.com/office/2011/relationships/people",
target_name = "people",
content_type = "application/vnd.openxmlformats-officedocument.wordprocessingml.people+xml",
root(
element = crate::schemas::schemas_microsoft_com_office_word_2012_wordml::People
)
)]
WordprocessingPeoplePart(
crate::parts::wordprocessing_people_part::WordprocessingPeoplePart,
),
#[sdk(
relationship_type = "http://schemas.openxmlformats.org/officeDocument/2006/relationships/printerSettings",
target_name = "printerSettings",
path_prefix = "../printerSettings",
content_type = "application/vnd.openxmlformats-officedocument.wordprocessingml.printerSettings",
extension = ".bin"
)]
WordprocessingPrinterSettingsPart(
crate::parts::wordprocessing_printer_settings_part::WordprocessingPrinterSettingsPart,
),
#[sdk(
relationship_type = "http://schemas.openxmlformats.org/officeDocument/2006/relationships/officeDocument",
target_name = "workbook",
path_prefix = "xl",
root(
element = crate::schemas::schemas_openxmlformats_org_spreadsheetml_2006_main::Workbook,
content_type = "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet.main+xml"
)
)]
WorkbookPart(crate::parts::workbook_part::WorkbookPart),
#[sdk(
relationship_type = "http://schemas.microsoft.com/office/2017/10/relationships/person",
target_name = "person",
path_prefix = "persons",
content_type = "application/vnd.ms-excel.person+xml",
root(
element = crate::schemas::schemas_microsoft_com_office_spreadsheetml_2018_threadedcomments::PersonList
)
)]
WorkbookPersonPart(crate::parts::workbook_person_part::WorkbookPersonPart),
#[sdk(
relationship_type = "http://schemas.openxmlformats.org/officeDocument/2006/relationships/revisionHeaders",
target_name = "revisionHeaders",
path_prefix = "revisions",
content_type = "application/vnd.openxmlformats-officedocument.spreadsheetml.revisionHeaders+xml",
root(
element = crate::schemas::schemas_openxmlformats_org_spreadsheetml_2006_main::Headers
)
)]
WorkbookRevisionHeaderPart(
crate::parts::workbook_revision_header_part::WorkbookRevisionHeaderPart,
),
#[sdk(
relationship_type = "http://schemas.openxmlformats.org/officeDocument/2006/relationships/revisionLog",
target_name = "revisionLog",
content_type = "application/vnd.openxmlformats-officedocument.spreadsheetml.revisionLog+xml",
root(
element = crate::schemas::schemas_openxmlformats_org_spreadsheetml_2006_main::Revisions
)
)]
WorkbookRevisionLogPart(
crate::parts::workbook_revision_log_part::WorkbookRevisionLogPart,
),
#[sdk(
relationship_type = "http://schemas.openxmlformats.org/officeDocument/2006/relationships/styles",
target_name = "styles",
content_type = "application/vnd.openxmlformats-officedocument.spreadsheetml.styles+xml",
root(
element = crate::schemas::schemas_openxmlformats_org_spreadsheetml_2006_main::Stylesheet
)
)]
WorkbookStylesPart(crate::parts::workbook_styles_part::WorkbookStylesPart),
#[sdk(
relationship_type = "http://schemas.openxmlformats.org/officeDocument/2006/relationships/usernames",
target_name = "userNames",
path_prefix = "revisions",
content_type = "application/vnd.openxmlformats-officedocument.spreadsheetml.userNames+xml",
root(
element = crate::schemas::schemas_openxmlformats_org_spreadsheetml_2006_main::Users
)
)]
WorkbookUserDataPart(crate::parts::workbook_user_data_part::WorkbookUserDataPart),
#[sdk(
relationship_type = "http://schemas.openxmlformats.org/officeDocument/2006/relationships/comments",
target_name = "comments",
path_prefix = "..",
content_type = "application/vnd.openxmlformats-officedocument.spreadsheetml.comments+xml",
root(
element = crate::schemas::schemas_openxmlformats_org_spreadsheetml_2006_main::Comments
)
)]
WorksheetCommentsPart(crate::parts::worksheet_comments_part::WorksheetCommentsPart),
#[sdk(
relationship_type = "http://schemas.openxmlformats.org/officeDocument/2006/relationships/worksheet",
target_name = "sheet",
path_prefix = "worksheets",
content_type = "application/vnd.openxmlformats-officedocument.spreadsheetml.worksheet+xml",
root(
element = crate::schemas::schemas_openxmlformats_org_spreadsheetml_2006_main::Worksheet
)
)]
WorksheetPart(crate::parts::worksheet_part::WorksheetPart),
#[sdk(
relationship_type = "http://schemas.microsoft.com/office/2006/relationships/wsSortMap",
target_name = "wsSortMap",
content_type = "application/vnd.ms-excel.wsSortMap+xml",
root(
element = crate::schemas::schemas_microsoft_com_office_excel_2006_main::WorksheetSortMap
)
)]
WorksheetSortMapPart(crate::parts::worksheet_sort_map_part::WorksheetSortMapPart),
#[sdk(
relationship_type = "http://schemas.microsoft.com/office/2017/10/relationships/threadedComment",
target_name = "threadedcomment",
path_prefix = "../threadedcomments",
content_type = "application/vnd.ms-excel.threadedcomments+xml",
root(
element = crate::schemas::schemas_microsoft_com_office_spreadsheetml_2018_threadedcomments::ThreadedComments
)
)]
WorksheetThreadedCommentsPart(
crate::parts::worksheet_threaded_comments_part::WorksheetThreadedCommentsPart,
),
#[sdk(
relationship_type = "http://schemas.openxmlformats.org/package/2006/relationships/digital-signature/signature",
target_name = "sig",
path_prefix = "_xmlsignatures",
content_type = "application/vnd.openxmlformats-package.digital-signature-xmlsignature+xml"
)]
XmlSignaturePart(crate::parts::xml_signature_part::XmlSignaturePart),
ExtendedPart(crate::parts::extended_part::ExtendedPart),
}
#[derive(Clone, Debug)]
pub struct IdPartPair<'a> {
pub relationship_id: &'a str,
pub part: PartRef,
}
impl<'a> IdPartPair<'a> {
pub const fn new(relationship_id: &'a str, part: PartRef) -> Self {
Self {
relationship_id,
part,
}
}
}
pub(crate) fn initialize_root_elements(
storage: &crate::common::SdkPackageStorage,
open_settings: &crate::sdk::OpenSettings,
) -> Result<Vec<Option<crate::parts::PartRootElement>>, crate::common::SdkError> {
let mut root_elements = vec![None; storage.parts().len()];
if matches!(
open_settings.root_element_open_mode(),
crate::common::PackageOpenMode::Eager
) {
for (index, slot) in root_elements.iter_mut().enumerate() {
let part_id = crate::common::PartId::from_index(index);
if let Some(root_element) =
crate::parts::PartRootElement::from_part_id(storage, part_id, open_settings)?
{
*slot = Some(root_element);
}
}
}
Ok(root_elements)
}
pub(crate) fn load_all_part_roots<P>(package: &mut P) -> Result<(), crate::common::SdkError>
where
P: crate::sdk::SdkPackage,
{
validate_missing_internal_relationships(package)?;
let part_count = crate::sdk::SdkPackage::storage(package).parts().len();
for index in 0..part_count {
let part_id = crate::common::PartId::from_index(index);
if crate::sdk::SdkPackage::storage(package)
.part(part_id)
.is_none()
|| crate::sdk::SdkPackage::is_root_element_loaded(package, part_id)
{
continue;
}
let root_element = crate::parts::PartRootElement::from_part_id(
crate::sdk::SdkPackage::storage(package),
part_id,
crate::sdk::SdkPackage::open_settings(package),
)?;
if let Some(root_element) = root_element
&& let Some(slot) = crate::sdk::SdkPackage::root_element_slot_mut(package, part_id)
{
*slot = Some(root_element);
}
}
Ok(())
}
fn validate_missing_internal_relationships<P>(package: &P) -> Result<(), crate::common::SdkError>
where
P: crate::sdk::SdkPackage,
{
let storage = crate::sdk::SdkPackage::storage(package);
let open_settings = crate::sdk::SdkPackage::open_settings(package);
for relationship in storage.package_relationships().iter() {
validate_missing_internal_relationship(open_settings, relationship)?;
}
for part in storage.parts().iter().filter(|part| !part.is_deleted()) {
for relationship in part.relationships().iter() {
validate_missing_internal_relationship(open_settings, relationship)?;
}
}
Ok(())
}
fn validate_missing_internal_relationship(
open_settings: &crate::sdk::OpenSettings,
relationship: &crate::common::RelationshipInfo,
) -> Result<(), crate::common::SdkError> {
if !matches!(
relationship.target_kind(),
crate::common::RelationshipTargetKind::Missing
) || should_ignore_missing_relationship(open_settings, relationship)
{
return Ok(());
}
Err(crate::common::SdkError::CommonError(format!(
"relationship {} targets missing part {}",
relationship.id(),
relationship.target()
)))
}
fn should_ignore_missing_relationship(
open_settings: &crate::sdk::OpenSettings,
relationship: &crate::common::RelationshipInfo,
) -> bool {
open_settings.ignore_calculation_chain_part_relationship
&& relationship.relationship_type_bytes()
== b"http://schemas.openxmlformats.org/officeDocument/2006/relationships/calcChain"
}
pub fn save_package<P, W>(package: &P, writer: W) -> Result<(), crate::common::SdkError>
where
P: crate::sdk::SdkPackage,
W: std::io::Write + std::io::Seek,
{
use std::io::Write as _;
let mut zip = zip::ZipWriter::new(writer);
let options = zip::write::SimpleFileOptions::default()
.compression_method(zip::CompressionMethod::Deflated)
.unix_permissions(0o755);
let mut entry_set = std::collections::HashSet::<String>::new();
let storage = crate::sdk::SdkPackage::storage(package);
zip.start_file("[Content_Types].xml", options)?;
zip.write_all(&storage.content_types().to_bytes()?)?;
let package_relationships = storage.package_relationships();
if !package_relationships.is_empty() {
if entry_set.insert("_rels".to_string()) {
zip.add_directory("_rels", options)?;
}
zip.start_file("_rels/.rels", options)?;
package_relationships.write_xml(&mut zip)?;
}
for (index, part) in storage.parts().iter().enumerate() {
if part.is_deleted() {
continue;
}
let part_id = crate::common::PartId::from_index(index);
let parent_path = crate::common::parent_zip_path(part.path());
let directory_path = parent_path.strip_suffix('/').unwrap_or(&parent_path);
if !directory_path.is_empty() && entry_set.insert(directory_path.to_string()) {
zip.add_directory(directory_path, options)?;
}
if let Some(relationships) = storage.relationships(part_id)
&& !relationships.is_empty()
{
let rels_dir_path = crate::common::part_relationships_directory_path(part.path());
if !rels_dir_path.is_empty() && entry_set.insert(rels_dir_path.clone()) {
zip.add_directory(&rels_dir_path, options)?;
}
let rels_path = crate::common::part_relationships_path(part.path());
zip.start_file(&rels_path, options)?;
relationships.write_xml(&mut zip)?;
}
zip.start_file(part.path(), options)?;
if let Some(root_element) = crate::sdk::SdkPackage::root_element(package, part_id) {
zip.write_all(&root_element.to_bytes()?)?;
} else {
zip.write_all(part.data().bytes())?;
}
}
zip.finish()?;
Ok(())
}