001package com.hfg.xml.msofficexml;
002
003
004import java.io.File;
005import java.util.logging.Logger;
006
007import com.hfg.xml.XMLName;
008import com.hfg.xml.XMLNamespace;
009
010//------------------------------------------------------------------------------
011/**
012 Office Open XML tag and attribute name definitions.
013
014 @author J. Alex Taylor, hairyfatguy.com
015 */
016//------------------------------------------------------------------------------
017// com.hfg XML/HTML Coding Library
018//
019// This library is free software; you can redistribute it and/or
020// modify it under the terms of the GNU Lesser General Public
021// License as published by the Free Software Foundation; either
022// version 2.1 of the License, or (at your option) any later version.
023//
024// This library is distributed in the hope that it will be useful,
025// but WITHOUT ANY WARRANTY; without even the implied warranty of
026// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
027// Lesser General Public License for more details.
028//
029// You should have received a copy of the GNU Lesser General Public
030// License along with this library; if not, write to the Free Software
031// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
032//
033// J. Alex Taylor, President, Founder, CEO, COO, CFO, OOPS hairyfatguy.com
034// jataylor@hairyfatguy.com
035//------------------------------------------------------------------------------
036
037public class OfficeXML
038{
039   public static final String       RELATIONSHIP_DIR     = "_rels";
040   public static final File         PACKAGE_RELATIONSHIP_FILE = new File(RELATIONSHIP_DIR, ".rels");
041   public static final String       PROPERTIES_DIR       = "docProps";
042   public static final File         CORE_PROPERTIES_FILE = new File(PROPERTIES_DIR, "core.xml");
043   public static final File         CONTENT_TYPES_FILE   = new File("[Content_Types].xml");
044
045
046   public static final XMLNamespace CONTENT_TYPES_NAMESPACE             = XMLNamespace.getNamespace("http://schemas.openxmlformats.org/package/2006/content-types");
047   public static final XMLNamespace CORE_PROP_NAMESPACE                 = XMLNamespace.getNamespace("cp",    "http://schemas.openxmlformats.org/package/2006/metadata/core-properties");
048   public static final XMLNamespace EXTENDED_PROP_NAMESPACE             = XMLNamespace.getNamespace("http://schemas.openxmlformats.org/officeDocument/2006/relationships/extended-properties");
049   public static final XMLNamespace RELATIONSHIPS_NAMESPACE             = XMLNamespace.getNamespace("r",     "http://schemas.openxmlformats.org/package/2006/relationships");
050   public static final XMLNamespace OFFICE_NAMESPACE                    = XMLNamespace.getNamespace("o",     "urn:schemas-microsoft-com:office:office");
051   public static final XMLNamespace MAC_OFFICE_NAMESPACE                = XMLNamespace.getNamespace("mo",    "http://schemas.microsoft.com/office/mac/office/2008/main");
052   public static final XMLNamespace MARKUP_CAPABILITY_NAMESPACE         = XMLNamespace.getNamespace("mc",    "http://schemas.openxmlformats.org/markup-compatibility/2006");
053   public static final XMLNamespace MATH_NAMESPACE                      = XMLNamespace.getNamespace("m",     "http://schemas.openxmlformats.org/officeDocument/2006/math");
054   public static final XMLNamespace DUBLIN_CORE_NAMESPACE               = XMLNamespace.getNamespace("dc",    "http://purl.org/dc/elements/1.1/");
055   public static final XMLNamespace DUBLIN_CORE_TERMS_NAMESPACE         = XMLNamespace.getNamespace("dcterms", "http://purl.org/dc/terms/");
056   public static final XMLNamespace DUBLIN_CORE_TYPES_NAMESPACE         = XMLNamespace.getNamespace("dcmitype", "http://purl.org/dc/dcmitype/");
057   public static final XMLNamespace VML_NAMESPACE                       = XMLNamespace.getNamespace("v",     "urn:schemas-microsoft-com:vml");
058   public static final XMLNamespace MAC_VML_NAMESPACE                   = XMLNamespace.getNamespace("mv",    "urn:schemas-microsoft-com:mac:vml");
059   public static final XMLNamespace XML_NAMESPACE                       = XMLNamespace.getNamespace("xml",   "");
060   public static final XMLNamespace CHART_EXTENSIONS_NAMESPACE          = XMLNamespace.getNamespace("cx",    "http://schemas.microsoft.com/office/drawing/2014/chartex");
061   public static final XMLNamespace CHART_EXTENSIONS_1_NAMESPACE        = XMLNamespace.getNamespace("cx1",   "http://schemas.microsoft.com/office/drawing/2015/9/8/chartex");
062   public static final XMLNamespace CHART_EXTENSIONS_2_NAMESPACE        = XMLNamespace.getNamespace("cx2",   "http://schemas.microsoft.com/office/drawing/2015/10/21/chartex");
063   public static final XMLNamespace CHART_EXTENSIONS_3_NAMESPACE        = XMLNamespace.getNamespace("cx3",   "http://schemas.microsoft.com/office/drawing/2016/5/9/chartex");
064   public static final XMLNamespace CHART_EXTENSIONS_4_NAMESPACE        = XMLNamespace.getNamespace("cx4",   "http://schemas.microsoft.com/office/drawing/2016/5/10/chartex");
065   public static final XMLNamespace CHART_EXTENSIONS_5_NAMESPACE        = XMLNamespace.getNamespace("cx5",   "http://schemas.microsoft.com/office/drawing/2016/5/11/chartex");
066   public static final XMLNamespace CHART_EXTENSIONS_6_NAMESPACE        = XMLNamespace.getNamespace("cx6",   "http://schemas.microsoft.com/office/drawing/2016/5/12/chartex");
067   public static final XMLNamespace CHART_EXTENSIONS_7_NAMESPACE        = XMLNamespace.getNamespace("cx7",   "http://schemas.microsoft.com/office/drawing/2016/5/13/chartex");
068   public static final XMLNamespace CHART_EXTENSIONS_8_NAMESPACE        = XMLNamespace.getNamespace("cx8",   "http://schemas.microsoft.com/office/drawing/2016/5/14/chartex");
069   public static final XMLNamespace DRAWING_INK_NAMESPACE               = XMLNamespace.getNamespace("aink",  "http://schemas.microsoft.com/office/drawing/2016/ink");
070   public static final XMLNamespace DRAWING_MODEL_3D_NAMESPACE          = XMLNamespace.getNamespace("am3d",  "http://schemas.microsoft.com/office/drawing/2017/model3d");
071
072
073
074   // Tag names
075   public static final XMLName TYPES                = new XMLName("Types",              CONTENT_TYPES_NAMESPACE);
076   public static final XMLName DEFAULT              = new XMLName("Default",            CONTENT_TYPES_NAMESPACE);
077   public static final XMLName OVERRIDE             = new XMLName("Override",           CONTENT_TYPES_NAMESPACE);
078
079   public static final XMLName CORE_PROPERTIES      = new XMLName("coreProperties",     CORE_PROP_NAMESPACE);
080   public static final XMLName DESCRIPTION          = new XMLName("description",        CORE_PROP_NAMESPACE);
081   public static final XMLName KEYWORDS             = new XMLName("keywords",           CORE_PROP_NAMESPACE);
082   public static final XMLName LAST_MODIFIED_BY     = new XMLName("lastModifiedBy",     CORE_PROP_NAMESPACE);
083   public static final XMLName REVISION             = new XMLName("revision",           CORE_PROP_NAMESPACE);
084   public static final XMLName SUBJECT              = new XMLName("subject",            DUBLIN_CORE_NAMESPACE);
085   public static final XMLName TITLE                = new XMLName("title",              DUBLIN_CORE_NAMESPACE);
086   public static final XMLName CREATOR              = new XMLName("creator",            DUBLIN_CORE_NAMESPACE);
087   public static final XMLName CREATED              = new XMLName("created",            DUBLIN_CORE_TERMS_NAMESPACE);
088   public static final XMLName MODIFIED             = new XMLName("modified",           DUBLIN_CORE_TERMS_NAMESPACE);
089
090   public static final XMLName SPACE                = new XMLName("space",              XML_NAMESPACE);
091
092   public static final XMLName RELATIONSHIP         = new XMLName("Relationship",       RELATIONSHIPS_NAMESPACE);
093   public static final XMLName RELATIONSHIPS        = new XMLName("Relationships",      RELATIONSHIPS_NAMESPACE);
094
095
096   // Attribute names
097   public static final XMLName EXTENSION_ATT        = new XMLName("Extension",          CONTENT_TYPES_NAMESPACE);
098   public static final XMLName CONTENT_TYPE_ATT     = new XMLName("ContentType",        CONTENT_TYPES_NAMESPACE);
099   public static final XMLName PART_NAME_ATT        = new XMLName("PartName",           CONTENT_TYPES_NAMESPACE);
100
101   public static final XMLName ID_ATT               = new XMLName("Id",                 RELATIONSHIPS_NAMESPACE);
102   public static final XMLName TARGET_ATT           = new XMLName("Target",             RELATIONSHIPS_NAMESPACE);
103   public static final XMLName TARGET_MODE_ATT      = new XMLName("TargetMode",         RELATIONSHIPS_NAMESPACE);
104   public static final XMLName TYPE_ATT             = new XMLName("Type",               RELATIONSHIPS_NAMESPACE);
105
106   public static final XMLName IGNORABLE_ATT        = new XMLName("Ignorable",          MARKUP_CAPABILITY_NAMESPACE);
107
108   private final static Logger LOGGER = Logger.getLogger(OfficeXML.class.getPackage().getName());
109
110   //###########################################################################
111   // PUBLIC METHODS
112   //###########################################################################
113
114   //---------------------------------------------------------------------------
115   public static Logger getLogger()
116   {
117      return LOGGER;
118   }
119
120}