/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4; fill-column: 100 -*- */
/*
 * cofficeotron - a C++ port of the Java(tm) Office-o-tron
 *
 * Copyright (c) 2009 Griffin Brown Digital Publishing Ltd.
 * Copyright the Collabora Office contributors.
 *
 * SPDX-License-Identifier: MPL-2.0
 *
 * This Source Code Form is subject to the terms of the Mozilla Public
 * License, v. 2.0. If a copy of the MPL was not distributed with this
 * file, You can obtain one at http://mozilla.org/MPL/2.0/.
 */

#include "schemamap.hxx"

namespace
{

const OOXMLSchemaMapping mappings[] = {
    { "15.2.12.1",
      "application/vnd.openxmlformats-package.core-properties+xml",
      "http://schemas.openxmlformats.org/package/2006/metadata/core-properties",
      "http://schemas.openxmlformats.org/package/2006/relationships/metadata/core-properties",
      "OPC/opc-coreProperties.rnc" },
    { "15.2.12.2",
      "application/vnd.openxmlformats-officedocument.custom-properties+xml",
      "http://schemas.openxmlformats.org/officeDocument/2006/custom-properties",
      "http://schemas.openxmlformats.org/officeDocument/2006/relationships/custom-properties",
      "29500T/Shared_Custom_File_Properties.rnc" },
    { "15.2.12.3",
      "application/vnd.openxmlformats-officedocument.extended-properties+xml",
      "http://schemas.openxmlformats.org/officeDocument/2006/extended-properties",
      "http://schemas.openxmlformats.org/officeDocument/2006/relationships/extended-properties",
      "29500T/Shared_Extended_File_Properties.rnc" },
    { "11.3.2",
      "application/vnd.openxmlformats-officedocument.wordprocessingml.comments+xml",
      "http://schemas.openxmlformats.org/wordprocessingml/2006/main",
      "http://schemas.openxmlformats.org/officeDocument/2006/relationships/comments",
      "29500T/WordprocessingML_Comments.rnc" },
    { "11.3.3",
      "application/vnd.openxmlformats-officedocument.wordprocessingml.settings+xml",
      "http://schemas.openxmlformats.org/wordprocessingml/2006/main",
      "http://schemas.openxmlformats.org/officeDocument/2006/relationships/settings",
      "29500T/WordprocessingML_Document_Settings.rnc" },
    { "11.3.4",
      "application/vnd.openxmlformats-officedocument.wordprocessingml.endnotes+xml",
      "http://schemas.openxmlformats.org/wordprocessingml/2006/main",
      "http://schemas.openxmlformats.org/officeDocument/2006/relationships/endnotes",
      "29500T/WordprocessingML_Endnotes.rnc" },
    { "11.3.5",
      "application/vnd.openxmlformats-officedocument.wordprocessingml.fontTable+xml",
      "http://schemas.openxmlformats.org/wordprocessingml/2006/main",
      "http://schemas.openxmlformats.org/officeDocument/2006/relationships/fontTable",
      "29500T/WordprocessingML_Font_Table.rnc" },
    { "11.3.6",
      "application/vnd.openxmlformats-officedocument.wordprocessingml.footer+xml",
      "http://schemas.openxmlformats.org/wordprocessingml/2006/main",
      "http://schemas.openxmlformats.org/officeDocument/2006/relationships/footer",
      "29500T/WordprocessingML_Footer.rnc" },
    { "11.3.7",
      "application/vnd.openxmlformats-officedocument.wordprocessingml.footnotes+xml",
      "http://schemas.openxmlformats.org/wordprocessingml/2006/main",
      "http://schemas.openxmlformats.org/officeDocument/2006/relationships/footnotes",
      "29500T/WordprocessingML_Footnotes.rnc" },
    { "11.3.8",
      "application/vnd.openxmlformats-officedocument.wordprocessingml.document.glossary+xml",
      "http://schemas.openxmlformats.org/wordprocessingml/2006/main",
      "http://schemas.openxmlformats.org/officeDocument/2006/relationships/glossaryDocument",
      "29500T/WordprocessingML_Glossary_Document.rnc" },
    { "11.3.9",
      "application/vnd.openxmlformats-officedocument.wordprocessingml.header+xml",
      "http://schemas.openxmlformats.org/wordprocessingml/2006/main",
      "http://schemas.openxmlformats.org/officeDocument/2006/relationships/header",
      "29500T/WordprocessingML_Header.rnc" },
    { "11.3.10",
      "application/vnd.openxmlformats-officedocument.wordprocessingml.document.main+xml",
      "http://schemas.openxmlformats.org/wordprocessingml/2006/main",
      "http://schemas.openxmlformats.org/officeDocument/2006/relationships/officeDocument",
      "29500T/WordprocessingML_Main_Document.rnc" },
    { "11.3.10",
      "application/vnd.openxmlformats-officedocument.wordprocessingml.template.main+xml",
      "http://schemas.openxmlformats.org/wordprocessingml/2006/main",
      "http://schemas.openxmlformats.org/officeDocument/2006/relationships/officeDocument",
      "29500T/WordprocessingML_Main_Document.rnc" },
    { "11.3.11",
      "application/vnd.openxmlformats-officedocument.wordprocessingml.numbering+xml",
      "http://schemas.openxmlformats.org/wordprocessingml/2006/main",
      "http://schemas.openxmlformats.org/officeDocument/2006/relationships/numbering",
      "29500T/WordprocessingML_Numbering_Definitions.rnc" },
    { "11.3.12",
      "application/vnd.openxmlformats-officedocument.wordprocessingml.styles+xml",
      "http://schemas.openxmlformats.org/wordprocessingml/2006/main",
      "http://schemas.openxmlformats.org/officeDocument/2006/relationships/styles",
      "29500T/WordprocessingML_Style_Definitions.rnc" },
    { "11.3.13",
      "application/vnd.openxmlformats-officedocument.wordprocessingml.webSettings+xml",
      "http://schemas.openxmlformats.org/wordprocessingml/2006/main",
      "http://schemas.openxmlformats.org/officeDocument/2006/relationships/webSettings",
      "29500T/WordprocessingML_Web_Settings.rnc" },
    { "12.3.1",
      "application/vnd.openxmlformats-officedocument.spreadsheetml.calcChain+xml",
      "http://schemas.openxmlformats.org/spreadsheetml/2006/main",
      "http://schemas.openxmlformats.org/officeDocument/2006/relationships/calcChain",
      "29500T/SpreadsheetML_Calculation_Chain.rnc" },
    { "12.3.2",
      "application/vnd.openxmlformats-officedocument.spreadsheetml.chartsheet+xml",
      "http://schemas.openxmlformats.org/spreadsheetml/2006/main",
      "http://schemas.openxmlformats.org/officeDocument/2006/relationships/chartsheet",
      "29500T/SpreadsheetML_Chartsheet.rnc" },
    { "12.3.3",
      "application/vnd.openxmlformats-officedocument.spreadsheetml.comments+xml",
      "http://schemas.openxmlformats.org/spreadsheetml/2006/main",
      "http://schemas.openxmlformats.org/officeDocument/2006/relationships/comments",
      "29500T/SpreadsheetML_Comments.rnc" },
    { "12.3.4",
      "application/vnd.openxmlformats-officedocument.spreadsheetml.connections+xml",
      "http://schemas.openxmlformats.org/spreadsheetml/2006/main",
      "http://schemas.openxmlformats.org/officeDocument/2006/relationships/connections",
      "29500T/SpreadsheetML_Connections.rnc" },
    { "12.3.7",
      "application/vnd.openxmlformats-officedocument.spreadsheetml.dialogsheet+xml",
      "http://schemas.openxmlformats.org/spreadsheetml/2006/main",
      "http://schemas.openxmlformats.org/officeDocument/2006/relationships/dialogsheet",
      "29500T/SpreadsheetML_Dialogsheet.rnc" },
    { "12.3.8",
      "application/vnd.openxmlformats-officedocument.drawing+xml",
      "http://schemas.openxmlformats.org/drawingml/2006/spreadsheetDrawing",
      "http://schemas.openxmlformats.org/officeDocument/2006/relationships/drawing",
      "29500T/SpreadsheetML_Drawing.rnc" },
    { "12.3.9",
      "application/vnd.openxmlformats-officedocument.spreadsheetml.externalLink+xml",
      "http://schemas.openxmlformats.org/spreadsheetml/2006/main",
      "http://schemas.openxmlformats.org/officeDocument/2006/relationships/externalLink",
      "29500T/SpreadsheetML_External_Workbook_References.rnc" },
    { "12.3.10",
      "application/vnd.openxmlformats-officedocument.spreadsheetml.sheetMetadata+xml",
      "http://schemas.openxmlformats.org/spreadsheetml/2006/main",
      "http://schemas.openxmlformats.org/officeDocument/2006/relationships/sheetMetadata",
      "29500T/SpreadsheetML_Metadata.rnc" },
    { "12.3.11",
      "application/vnd.openxmlformats-officedocument.spreadsheetml.pivotTable+xml",
      "http://schemas.openxmlformats.org/spreadsheetml/2006/main",
      "http://schemas.openxmlformats.org/officeDocument/2006/relationships/pivotTable",
      "29500T/SpreadsheetML_Pivot_Table.rnc" },
    { "12.3.12",
      "application/vnd.openxmlformats-officedocument.spreadsheetml.pivotCacheDefinition+xml",
      "http://schemas.openxmlformats.org/spreadsheetml/2006/main",
      "http://schemas.openxmlformats.org/officeDocument/2006/relationships/pivotCacheDefinition",
      "29500T/SpreadsheetML_Pivot_Table_Cache_Definition.rnc" },
    { "12.3.13",
      "application/vnd.openxmlformats-officedocument.spreadsheetml.pivotCacheRecords+xml",
      "http://schemas.openxmlformats.org/spreadsheetml/2006/main",
      "http://schemas.openxmlformats.org/officeDocument/2006/relationships/pivotCacheRecords",
      "29500T/SpreadsheetML_Pivot_Table_Cache_Records.rnc" },
    { "12.3.14",
      "application/vnd.openxmlformats-officedocument.spreadsheetml.queryTable+xml",
      "http://schemas.openxmlformats.org/spreadsheetml/2006/main",
      "http://schemas.openxmlformats.org/officeDocument/2006/relationships/queryTable",
      "29500T/SpreadsheetML_Query_Table.rnc" },
    { "12.3.15",
      "application/vnd.openxmlformats-officedocument.spreadsheetml.sharedStrings+xml",
      "http://schemas.openxmlformats.org/spreadsheetml/2006/main",
      "http://schemas.openxmlformats.org/officeDocument/2006/relationships/sharedStrings",
      "29500T/SpreadsheetML_Shared_String_Table.rnc" },
    { "12.3.16",
      "application/vnd.openxmlformats-officedocument.spreadsheetml.revisionHeaders+xml",
      "http://schemas.openxmlformats.org/spreadsheetml/2006/main",
      "http://schemas.openxmlformats.org/officeDocument/2006/relationships/revisionHeaders",
      "29500T/SpreadsheetML_Shared_Workbook_Revision_Headers.rnc" },
    { "12.3.17",
      "application/vnd.openxmlformats-officedocument.spreadsheetml.revisionLog+xml",
      "http://schemas.openxmlformats.org/spreadsheetml/2006/main",
      "http://schemas.openxmlformats.org/officeDocument/2006/relationships/revisionLog",
      "29500T/SpreadsheetML_Shared_Workbook_Revision_Log.rnc" },
    { "12.3.18",
      "application/vnd.openxmlformats-officedocument.spreadsheetml.userNames+xml",
      "http://schemas.openxmlformats.org/spreadsheetml/2006/main",
      "http://schemas.openxmlformats.org/officeDocument/2006/relationships/usernames",
      "29500T/SpreadsheetML_Shared_Workbook_User_Data.rnc" },
    { "12.3.19",
      "application/vnd.openxmlformats-officedocument.spreadsheetml.tableSingleCells+xml",
      "http://schemas.openxmlformats.org/spreadsheetml/2006/main",
      "http://schemas.openxmlformats.org/officeDocument/2006/relationships/tableSingleCells",
      "29500T/SpreadsheetML_Single_Cell_Table_Definitions.rnc" },
    { "12.3.20",
      "application/vnd.openxmlformats-officedocument.spreadsheetml.styles+xml",
      "http://schemas.openxmlformats.org/spreadsheetml/2006/main",
      "http://schemas.openxmlformats.org/officeDocument/2006/relationships/styles",
      "29500T/SpreadsheetML_Styles.rnc" },
    { "12.3.21",
      "application/vnd.openxmlformats-officedocument.spreadsheetml.table+xml",
      "http://schemas.openxmlformats.org/spreadsheetml/2006/main",
      "http://schemas.openxmlformats.org/officeDocument/2006/relationships/table",
      "29500T/SpreadsheetML_Table_Definitions.rnc" },
    { "12.3.22",
      "application/vnd.openxmlformats-officedocument.spreadsheetml.volatileDependencies+xml",
      "http://schemas.openxmlformats.org/spreadsheetml/2006/main",
      "http://schemas.openxmlformats.org/officeDocument/2006/relationships/volatileDependencies",
      "29500T/SpreadsheetML_Volatile_Dependencies.rnc" },
    { "12.3.23",
      "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet.main+xml",
      "http://schemas.openxmlformats.org/spreadsheetml/2006/main",
      "http://schemas.openxmlformats.org/officeDocument/2006/relationships/officeDocument",
      "29500T/SpreadsheetML_Workbook.rnc" },
    { "12.3.23",
      "application/vnd.openxmlformats-officedocument.spreadsheetml.template.main+xml",
      "http://schemas.openxmlformats.org/spreadsheetml/2006/main",
      "http://schemas.openxmlformats.org/officeDocument/2006/relationships/officeDocument",
      "29500T/SpreadsheetML_Workbook.rnc" },
    { "12.3.24",
      "application/vnd.openxmlformats-officedocument.spreadsheetml.worksheet+xml",
      "http://schemas.openxmlformats.org/spreadsheetml/2006/main",
      "http://schemas.openxmlformats.org/officeDocument/2006/relationships/worksheet",
      "29500T/SpreadsheetML_Worksheet.rnc" },
    { "13.3.1",
      "application/vnd.openxmlformats-officedocument.presentationml.commentAuthors+xml",
      "http://schemas.openxmlformats.org/presentationml/2006/main",
      "http://schemas.openxmlformats.org/officeDocument/2006/relationships/commentAuthors",
      "29500T/PresentationML_Comment_Authors.rnc" },
    { "13.3.2",
      "application/vnd.openxmlformats-officedocument.presentationml.comments+xml",
      "http://schemas.openxmlformats.org/presentationml/2006/main",
      "http://schemas.openxmlformats.org/officeDocument/2006/relationships/comments",
      "29500T/PresentationML_Comments.rnc" },
    { "13.3.3",
      "application/vnd.openxmlformats-officedocument.presentationml.handoutMaster+xml",
      "http://schemas.openxmlformats.org/presentationml/2006/main",
      "http://schemas.openxmlformats.org/officeDocument/2006/relationships/handoutMaster",
      "29500T/PresentationML_Handout_Master.rnc" },
    { "13.3.4",
      "application/vnd.openxmlformats-officedocument.presentationml.notesMaster+xml",
      "http://schemas.openxmlformats.org/presentationml/2006/main",
      "http://schemas.openxmlformats.org/officeDocument/2006/relationships/notesMaster",
      "29500T/PresentationML_Notes_Master.rnc" },
    { "13.3.5",
      "application/vnd.openxmlformats-officedocument.presentationml.notesSlide+xml",
      "http://schemas.openxmlformats.org/presentationml/2006/main",
      "http://schemas.openxmlformats.org/officeDocument/2006/relationships/notesSlide",
      "29500T/PresentationML_Notes_Slide.rnc" },
    { "13.3.6",
      "application/vnd.openxmlformats-officedocument.presentationml.presentation.main+xml",
      "http://schemas.openxmlformats.org/presentationml/2006/main",
      "http://schemas.openxmlformats.org/officeDocument/2006/relationships/officeDocument",
      "29500T/PresentationML_Presentation.rnc" },
    { "13.3.6",
      "application/vnd.openxmlformats-officedocument.presentationml.sildeshow.main+xml",
      "http://schemas.openxmlformats.org/presentationml/2006/main",
      "http://schemas.openxmlformats.org/officeDocument/2006/relationships/officeDocument",
      "29500T/PresentationML_Presentation.rnc" },
    { "13.3.6",
      "application/vnd.openxmlformats-officedocument.presentationml.template.main+xml",
      "http://schemas.openxmlformats.org/presentationml/2006/main",
      "http://schemas.openxmlformats.org/officeDocument/2006/relationships/officeDocument",
      "29500T/PresentationML_Presentation.rnc" },
    { "13.3.7",
      "application/vnd.openxmlformats-officedocument.presentationml.presProps+xml",
      "http://schemas.openxmlformats.org/presentationml/2006/main",
      "http://schemas.openxmlformats.org/officeDocument/2006/relationships/presProps",
      "29500T/PresentationML_Presentation_Properties.rnc" },
    { "13.3.8",
      "application/vnd.openxmlformats-officedocument.presentationml.slide+xml",
      "http://schemas.openxmlformats.org/presentationml/2006/main",
      "http://schemas.openxmlformats.org/officeDocument/2006/relationships/slide",
      "29500T/PresentationML_Slide.rnc" },
    { "13.3.9",
      "application/vnd.openxmlformats-officedocument.presentationml.slideLayout+xml",
      "http://schemas.openxmlformats.org/presentationml/2006/main",
      "http://schemas.openxmlformats.org/officeDocument/2006/relationships/slideLayout",
      "29500T/PresentationML_Slide_Layout.rnc" },
    { "13.3.10",
      "application/vnd.openxmlformats-officedocument.presentationml.slideMaster+xml",
      "http://schemas.openxmlformats.org/presentationml/2006/main",
      "http://schemas.openxmlformats.org/officeDocument/2006/relationships/slideMaster",
      "29500T/PresentationML_Slide_Master.rnc" },
    { "13.3.11",
      "application/vnd.openxmlformats-officedocument.presentationml.tags+xml",
      "http://schemas.openxmlformats.org/presentationml/2006/main",
      "http://schemas.openxmlformats.org/officeDocument/2006/relationships/tags",
      "29500T/PresentationML_User-Defined_Tags.rnc" },
    { "13.3.11",
      "application/vnd.openxmlformats-officedocument.presentationml.viewProps+xml",
      "http://schemas.openxmlformats.org/presentationml/2006/main",
      "http://schemas.openxmlformats.org/officeDocument/2006/relationships/viewProps",
      "29500T/PresentationML_View_Properties.rnc" },
    { "14.2.1",
      "application/vnd.openxmlformats-officedocument.drawingml.chart+xml",
      "http://schemas.openxmlformats.org/drawingml/2006/chart",
      "http://schemas.openxmlformats.org/officeDocument/2006/relationships/chart",
      "29500T/DrawingML_Chart.rnc" },
    { "14.2.2",
      "application/vnd.openxmlformats-officedocument.drawingml.chartshapes+xml",
      "http://schemas.openxmlformats.org/drawingml/2006/chart",
      "http://schemas.openxmlformats.org/officeDocument/2006/relationships/chartUserShapes",
      "29500T/DrawingML_Chart_Drawing.rnc" },
    { "14.2.3",
      "application/vnd.openxmlformats-officedocument.drawingml.diagramColors+xml",
      "http://schemas.openxmlformats.org/drawingml/2006/diagram",
      "http://schemas.openxmlformats.org/officeDocument/2006/relationships/diagramColors",
      "29500T/DrawingML_Diagram_Colors.rnc" },
    { "14.2.4",
      "application/vnd.openxmlformats-officedocument.drawingml.diagramData+xml",
      "http://schemas.openxmlformats.org/drawingml/2006/diagram",
      "http://schemas.openxmlformats.org/officeDocument/2006/relationships/diagramData",
      "29500T/DrawingML_Diagram_Data.rnc" },
    { "14.2.5",
      "application/vnd.openxmlformats-officedocument.drawingml.diagramLayout+xml",
      "http://schemas.openxmlformats.org/drawingml/2006/diagram",
      "http://schemas.openxmlformats.org/officeDocument/2006/relationships/diagramLayout",
      "29500T/DrawingML_Diagram_Layout_Definition.rnc" },
    { "14.2.6",
      "application/vnd.openxmlformats-officedocument.drawingml.diagramStyle+xml",
      "http://schemas.openxmlformats.org/drawingml/2006/diagram",
      "http://schemas.openxmlformats.org/officeDocument/2006/relationships/diagramQuickStyle",
      "29500T/DrawingML_Diagram_Style.rnc" },
    { "14.2.7",
      "application/vnd.openxmlformats-officedocument.theme+xml",
      "http://schemas.openxmlformats.org/drawingml/2006/main",
      "http://schemas.openxmlformats.org/officeDocument/2006/relationships/theme",
      "29500T/DrawingML_Theme.rnc" },
    { "14.2.8",
      "application/vnd.openxmlformats-officedocument.themeOverride+xml",
      "http://schemas.openxmlformats.org/drawingml/2006/main",
      "http://schemas.openxmlformats.org/officeDocument/2006/relationships/themeOverride",
      "29500T/DrawingML_Theme_Override.rnc" },
    { "14.2.9",
      "application/vnd.openxmlformats-officedocument.presentationml.tableStyles+xml",
      "http://schemas.openxmlformats.org/drawingml/2006/main",
      "http://schemas.openxmlformats.org/officeDocument/2006/relationships/tableStyles",
      "29500T/DrawingML_Table_Styles.rnc" },
    { "8.1 (Part 4)",
      "application/vnd.openxmlformats-officedocument.vmlDrawing",
      "urn:schemas-microsoft-com:vml",
      "http://schemas.openxmlformats.org/officeDocument/2006/relationships/vmlDrawing",
      "29500T/VML_Drawing.rnc" },
    { "15.2.6",
      "application/vnd.openxmlformats-officedocument.customXmlProperties+xml",
      "http://schemas.openxmlformats.org/officeDocument/2006/customXmlDataProps",
      "http://schemas.openxmlformats.org/officeDocument/2006/relationships/customXmlProps",
      "29500T/Shared_Custom_XML_Data_Storage_Properties.rnc" },
};

} // namespace

const OOXMLSchemaMapping* findMappingForContentType(const std::string& contentType)
{
    for (const OOXMLSchemaMapping& mapping : mappings)
    {
        if (contentType == mapping.contentType)
            return &mapping;
    }
    return nullptr;
}

/* vim:set shiftwidth=4 softtabstop=4 expandtab cinoptions=b1,g0,N-s cinkeys+=0=break: */
