// This file was automatically generated using schemas/generate.sh. Do not edit.

#define NAMESPACE_C
#include "DFXMLNamespaces.h"
#include <stdio.h>

const NamespaceDecl PredefinedNamespaces[PREDEFINED_NAMESPACE_COUNT] = {
    { NULL, NULL },
    { "http://www.w3.org/XML/1998/namespace", "xml" },
    { "http://purl.org/dc/elements/1.1/", "dc" },
    { "http://relaxng.org/ns/compatibility/annotations/1.0", "aa" },
    { "http://schemas.openxmlformats.org/drawingml/2006/chart", "dchrt" },
    { "http://schemas.openxmlformats.org/drawingml/2006/chartDrawing", "cdr" },
    { "http://schemas.openxmlformats.org/drawingml/2006/diagram", "ddgrm" },
    { "http://schemas.openxmlformats.org/drawingml/2006/main", "a" },
    { "http://schemas.openxmlformats.org/drawingml/2006/picture", "dpct" },
    { "http://schemas.openxmlformats.org/drawingml/2006/spreadsheetDrawing", "xdr" },
    { "http://schemas.openxmlformats.org/drawingml/2006/wordprocessingDrawing", "wp" },
    { "http://schemas.openxmlformats.org/drawingml/2006/lockedCanvas", "dlc" },
    { "http://schemas.openxmlformats.org/officeDocument/2006/customXml", "ds" },
    { "http://schemas.openxmlformats.org/officeDocument/2006/math", "m" },
    { "http://schemas.openxmlformats.org/officeDocument/2006/relationships", "r" },
    { "http://schemas.openxmlformats.org/officeDocument/2006/sharedTypes", "s" },
    { "http://schemas.openxmlformats.org/officeDocument/2006/characteristics", "cts" },
    { "http://schemas.openxmlformats.org/officeDocument/2006/bibliography", "bib" },
    { "http://schemas.openxmlformats.org/officeDocument/2006/custom-properties", "cpr" },
    { "http://schemas.openxmlformats.org/officeDocument/2006/extended-properties", "epr" },
    { "http://schemas.openxmlformats.org/markup-compatibility/2006", "mc" },
    { "http://schemas.openxmlformats.org/presentationml/2006/main", "p" },
    { "http://schemas.openxmlformats.org/schemaLibrary/2006/main", "sl" },
    { "http://schemas.openxmlformats.org/spreadsheetml/2006/main", "sml" },
    { "http://schemas.openxmlformats.org/wordprocessingml/2006/main", "w" },
    { "http://www.w3.org/1998/Math/MathML", "math" },
    { "http://www.w3.org/1999/xhtml", "xhtml" },
    { "http://www.w3.org/1999/xlink", "xlink" },
    { "http://www.w3.org/2002/xforms", "xforms" },
    { "http://www.w3.org/2003/g/data-view#", "grddl" },
    { "urn:oasis:names:tc:opendocument:xmlns:animation:1.0", "anim" },
    { "urn:oasis:names:tc:opendocument:xmlns:chart:1.0", "chart" },
    { "urn:oasis:names:tc:opendocument:xmlns:config:1.0", "config" },
    { "urn:oasis:names:tc:opendocument:xmlns:database:1.0", "db" },
    { "urn:oasis:names:tc:opendocument:xmlns:datastyle:1.0", "number" },
    { "urn:oasis:names:tc:opendocument:xmlns:dr3d:1.0", "dr3d" },
    { "urn:oasis:names:tc:opendocument:xmlns:drawing:1.0", "draw" },
    { "urn:oasis:names:tc:opendocument:xmlns:form:1.0", "form" },
    { "urn:oasis:names:tc:opendocument:xmlns:meta:1.0", "meta" },
    { "urn:oasis:names:tc:opendocument:xmlns:office:1.0", "office" },
    { "urn:oasis:names:tc:opendocument:xmlns:presentation:1.0", "presentation" },
    { "urn:oasis:names:tc:opendocument:xmlns:script:1.0", "script" },
    { "urn:oasis:names:tc:opendocument:xmlns:smil-compatible:1.0", "smil" },
    { "urn:oasis:names:tc:opendocument:xmlns:style:1.0", "style" },
    { "urn:oasis:names:tc:opendocument:xmlns:svg-compatible:1.0", "svg" },
    { "urn:oasis:names:tc:opendocument:xmlns:table:1.0", "table" },
    { "urn:oasis:names:tc:opendocument:xmlns:text:1.0", "text" },
    { "urn:oasis:names:tc:opendocument:xmlns:xsl-fo-compatible:1.0", "fo" },
    { "urn:schemas-microsoft-com:office:excel", "x" },
    { "urn:schemas-microsoft-com:office:office", "o" },
    { "urn:schemas-microsoft-com:office:word", "w10" },
    { "urn:schemas-microsoft-com:vml", "v" },
    { "http://relaxng.org/ns/structure/1.0", "rng" },
    { "http://schemas.openxmlformats.org/package/2006/relationships", "rel" },
    { "http://schemas.openxmlformats.org/package/2006/content-types", "ct" },
    { "http://www.uxproductivity.com/schemaview", "sv" },
    { "urn:oasis:names:tc:opendocument:xmlns:manifest:1.0", "mf" },
    { "http://www.uxproductivity.com/uxwrite/conversion", "conv" },
    { "http://www.uxproductivity.com/uxwrite/LaTeX", "latex" },
};
