<?xml version="1.0" encoding="UTF-8"?>
<!--
DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.

Copyright 1997-2007 Sun Microsystems, Inc. All rights reserved.


The contents of this file are subject to the terms of either the GNU
General Public License Version 2 only ("GPL") or the Common
Development and Distribution License("CDDL") (collectively, the
"License"). You may not use this file except in compliance with the
License. You can obtain a copy of the License at
https://netbeans.org/cddl-gplv2.html
or nbbuild/licenses/CDDL-GPL-2-CP. See the License for the
specific language governing permissions and limitations under the
License.  When distributing the software, include this License Header
Notice in each file and include the License file at
nbbuild/licenses/CDDL-GPL-2-CP.  Sun designates this
particular file as subject to the "Classpath" exception as provided
by Sun in the GPL Version 2 section of the License file that
accompanied this code. If applicable, add the following below the
License Header, with the fields enclosed by brackets [] replaced by
your own identifying information:
"Portions Copyrighted [year] [name of copyright owner]"

Contributor(s):

The Original Software is NetBeans. The Initial Developer of the Original
Software is Sun Microsystems, Inc. Portions Copyright 1997-2006 Sun
Microsystems, Inc. All Rights Reserved.

If you wish your version of this file to be governed by only the CDDL
or only the GPL Version 2, indicate your decision by adding
"[Contributor] elects to include this software in this distribution
under the [CDDL or GPL Version 2] license." If you do not indicate a
single choice of license, a recipient has the option to distribute
your version of this file under either the CDDL, the GPL Version 2 or
to extend the choice of license to its licensees as provided above.
However, if you add GPL Version 2 code and therefore, elected the GPL
Version 2 license, then the option applies only if the new code is
made subject to such option by the copyright holder.
-->

<!--
    Created on : November 30, 2007, 2:58 PM
    Author     : vstejskal
    Description:
        The vocabulary for an editor macros settings file.

    PUBLIC ID  : -//NetBeans//DTD Editor Macros settings 1.1//EN
    SYSTEM ID  : https://netbeans.org/dtds/EditorMacros-1_1.dtd
-->



<!ELEMENT editor-macros ( macro )* >
<!ATTLIST macros>

<!--
    name:          (String, required) The name of this macro.
    descriptionId: (String) A resource bundle key with description text for
                   this macro. Modules are encouraged to use this
                   instead of <description/> element to make their macros
                   localizable.
    remove:        When 'true' this macro will be removed and all its
                   optional attributes and elements will be ignored.
-->
<!ELEMENT macro ( code?, description?, shortcut? ) >
<!ATTLIST macro
          name              CDATA #REQUIRED
          descriptionId     CDATA #IMPLIED
          remove            ( true | false ) "false"
          xml:space         ( default | preserve ) "default"
>

<!--
    Contains the actual code of this macro. It should be raw text enclosed in
    <![CDATA[ ]]> section. No character translation is done when loading the code text.
-->
<!ELEMENT code ( #PCDATA ) >
<!ATTLIST code>

<!--
    Contains macro's description in form of raw text enclosed in
    <![CDATA[ ]]> section. This is designed for users custom macros or
    when they change description provided by a module. Modules should use
    'descriptionId' attribute instead.
-->
<!ELEMENT description ( #PCDATA ) >
<!ATTLIST description>

<!--
    Defines keystrokes bound to the macro so that it can easily be played
    from the editor.
-->
<!ELEMENT shortcut EMPTY>
<!ATTLIST shortcut
          keystrokes CDATA #REQUIRED
>
