001/*
002 * Licensed to the Apache Software Foundation (ASF) under one
003 * or more contributor license agreements.  See the NOTICE file
004 * distributed with this work for additional information
005 * regarding copyright ownership.  The ASF licenses this file
006 * to you under the Apache License, Version 2.0 (the
007 * "License"); you may not use this file except in compliance
008 * with the License.  You may obtain a copy of the License at
009 *
010 *   http://www.apache.org/licenses/LICENSE-2.0
011 *
012 * Unless required by applicable law or agreed to in writing,
013 * software distributed under the License is distributed on an
014 * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
015 * KIND, either express or implied.  See the License for the
016 * specific language governing permissions and limitations
017 * under the License.
018 */
019package org.apache.maven.doxia.module.xdoc;
020
021import javax.swing.text.html.HTML.Tag;
022
023import org.apache.maven.doxia.markup.HtmlMarkup;
024
025/**
026 * List of <code>Xdoc</code> markups.
027 * <br>
028 * Xdoc uses several  {@link javax.swing.text.html.HTML.Tag} and {@link javax.swing.text.html.HTML.Attribute}
029 * as markups and custom tags.
030 *
031 * @author <a href="mailto:vincent.siveton@gmail.com">Vincent Siveton</a>
032 * @since 1.0
033 */
034@SuppressWarnings("checkstyle:interfaceistype")
035public interface XdocMarkup extends HtmlMarkup {
036    /** XDOC namespace: "http://maven.apache.org/XDOC/2.0" */
037    String XDOC_NAMESPACE = "http://maven.apache.org/XDOC/2.0";
038
039    /** XDOC system id: "https://maven.apache.org/xsd/xdoc-2.0.xsd" */
040    String XDOC_SYSTEM_ID = "https://maven.apache.org/xsd/xdoc-2.0.xsd";
041
042    // ----------------------------------------------------------------------
043    // Specific Xdoc tags
044    // ----------------------------------------------------------------------
045
046    /** Xdoc tag for <code>author</code> */
047    Tag AUTHOR_TAG = new Tag() {
048        /** {@inheritDoc} */
049        public String toString() {
050            return "author";
051        }
052    };
053
054    /** Xdoc tag for <code>date</code> */
055    Tag DATE_TAG = new Tag() {
056        /** {@inheritDoc} */
057        public String toString() {
058            return "date";
059        }
060    };
061
062    /** Xdoc tag for <code>document</code> */
063    Tag DOCUMENT_TAG = new Tag() {
064        /** {@inheritDoc} */
065        public String toString() {
066            return "document";
067        }
068    };
069
070    /** Xdoc tag for <code>macro</code> */
071    Tag MACRO_TAG = new Tag() {
072        /** {@inheritDoc} */
073        public String toString() {
074            return "macro";
075        }
076    };
077
078    /** Xdoc tag for <code>properties</code> */
079    Tag PROPERTIES_TAG = new Tag() {
080        /** {@inheritDoc} */
081        public String toString() {
082            return "properties";
083        }
084    };
085
086    /** Xdoc tag for <code>section</code> */
087    Tag SECTION_TAG = new Tag() {
088        /** {@inheritDoc} */
089        public String toString() {
090            return "section";
091        }
092    };
093
094    /** Xdoc tag for <code>source</code> */
095    Tag SOURCE_TAG = new Tag() {
096        /** {@inheritDoc} */
097        public String toString() {
098            return "source";
099        }
100    };
101
102    /** Xdoc tag for <code>subsection</code> */
103    Tag SUBSECTION_TAG = new Tag() {
104        /** {@inheritDoc} */
105        public String toString() {
106            return "subsection";
107        }
108    };
109}