blob: 40e24b882ec17bfe7befded10959fea01c5dbbda [file] [log] [blame]
<!--
The contents of this file are subject to the terms of the Common Development
and Distribution License (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.html
or https://netbeans.org/cddl.txt.
When distributing Covered Code, include this CDDL Header Notice in each file
and include the License file at https://netbeans.org/cddl.txt.
If applicable, add the following below the CDDL Header, with the fields
enclosed by brackets [] replaced by your own identifying information:
"Portions Copyrighted [year] [name of copyright owner]"
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.
-->
<!--
TODO define vocabulary identification
PUBLIC ID: -//vendor//vocabulary//EN
SYSTEM ID: http://server/path/platform.dtd
--><!--
An example how to use this DTD from your XML document:
<?xml version='1.0'?>
<!DOCTYPE platform PUBLIC '-//NetBeans//DTD J2ME PlatformDefinition 1.0//EN' 'https://netbeans.org/dtds/j2me-platformdefinition-1_0.dtd'>
<platform>
...
</platform>
-->
<!---
name - identification of the platform. The platform is always referenced by the name so the name must be unique among all installed platforms within the IDE
home - base folder of the platform installation
type - platform type. Valid values are currently: UEI-1.0, UEI-1.0.1, and CUSTOM
displayname - displayed name of the platform. When not specified name is used instead
srcpath - optional list of folders, jars and zip files with platform sources
docpath - optional list of folders, jars, zip files and URLs containing platform JavaDoc
- all the paths are comma separated lists
- ${platform.home} can be used to reference the platform home directory
preverifycmd - command line used for preverification, this command line is used only when the platform type is set to CUSTOM
runcmd - command line used for emulator execution, this command line is used only when the platform type is set to CUSTOM
debugcmd - command line used for debugging, this command line is used only when the platform type is set to CUSTOM
- samples of UEI-1.0 command lines:
preverifycmd: &quot;{platformhome}{/}bin{/}preverify&quot; {classpath|-classpath &quot;{classpath}&quot;} -d &quot;{destdir}&quot; &quot;{srcdir}&quot;
runcmd: &quot;{platformhome}{/}bin{/}emulator&quot; {device|-Xdevice:&quot;{device}&quot;} {jadfile|-Xdescriptor:&quot;{jadfile}&quot;} {securitydomain|-Xdomain:{securitydomain}}
debugcmd: &quot;{platformhome}{/}bin{/}emulator&quot; {device|-Xdevice:&quot;{device}&quot;} {jadfile|-Xdescriptor:&quot;{jadfile}&quot;} {securitydomain|-Xdomain:{securitydomain}} {debug|-Xdebug -Xrunjdwp:transport={debugtransport},server={debugserver},suspend={debugsuspend},address={debugaddress}}
- format of the command lines (EMapFormat) is following:
{argument|command line part} is a condition, if argument is set to some value the command line part will be added to the command line
{argument} is a simple replacement, so for example {jadfile} will be replaced by the real path to the jad file
combination of condition and simple replacement is allowed. For example: {jadfile|-Xdescriptor:&quot;{jadfile}&quot;} means that if the jadfile argument contains /myfolder/my.jad then -Xdescriptor:"/myfolder/my.jad" will be added to the command line
- known preverifycmd arguments:
platformhome - always set - value of PlatformHome attribute
srcdir - value of SrcDir attribute
destdir - value of DestDir attribute
classpath - classpath string composed from ClassPath, ClassPathRef, nested ClassPath
/ - value of File.separator
- known runcmd and debugcmd arguments:
platformhome - always set - value of PlatformHome attribute
device - value of Device attribute
classpath - classpath string composed from ClassPath, ClassPathRef, nested ClassPath
jadfile - value of JadFile attribute
jadurl - value of JadUrl attribute
securitydomain - value of SecurityDomain attribute
debug - value of Debug attribute, this is just a switch that indicates debugging
debugaddress - value of DebugAddress attribute
debugtransport - value of DebugTransport attribute
debugserver - value of DebugServer attribute. Default: true.
debugsuspend - value of DebugSuspend attribute. Default: true.
/ - value of File.separator
-->
<!ELEMENT platform (device)+>
<!ATTLIST platform
name CDATA #REQUIRED
home CDATA #REQUIRED
type CDATA #REQUIRED
displayname CDATA #IMPLIED
srcpath CDATA #IMPLIED
docpath CDATA #IMPLIED
preverifycmd CDATA #IMPLIED
runcmd CDATA #IMPLIED
debugcmd CDATA #IMPLIED
>
<!---
name - device name is the unique identification of the device within the platform
description - optional description of the device
securitydomains - list of allowed security domains for this device
-->
<!ELEMENT device (configuration+,profile+,optional*,screen?)>
<!ATTLIST device
name CDATA #REQUIRED
description CDATA #IMPLIED
securitydomains CDATA #IMPLIED
>
<!ELEMENT screen EMPTY>
<!ATTLIST screen
width CDATA #IMPLIED
height CDATA #IMPLIED
bitDepth CDATA #IMPLIED
isColor (true|false) "true"
isTouch (true|false) "false"
>
<!---
name - configuration name will usually be CLDC
version - version number in text format. For example: 1.0
displayname - expanded name of the configuration. For example: Connected Limited Device Configuration
classpath - comma separated list of folders, jars and zip files that belong to the configuration
- don't worry about duplicate usage of the classpath elements between configuration and profile (when they are packed together) or between different devices
default - boolean specifying if this configuration is default. Valid values are true or false. Exactly one configuration must be set as default.
-->
<!ELEMENT configuration EMPTY>
<!ATTLIST configuration
name CDATA #REQUIRED
version CDATA #REQUIRED
displayname CDATA #IMPLIED
classpath CDATA #IMPLIED
default CDATA #IMPLIED
>
<!---
name - profile name will usually be MIDP
version - version number in text format. For example 1.0
dependencies - list of configuration dependencies
displayname - expanded name of the profile. For example: Mobile Information Device Profile
classpath - comma separated list of folders, jars and zip files that belong to the profile
- don't worry about duplicate usage of the classpath elements between configuration and profile (when they are packed together) or between different devices
default - boolean specifying if this profile is default. Valid values are true or false. Exactly one profile must be set as default.
-->
<!ELEMENT profile EMPTY>
<!ATTLIST profile
name CDATA #REQUIRED
version CDATA #REQUIRED
dependencies CDATA #IMPLIED
displayname CDATA #IMPLIED
classpath CDATA #IMPLIED
default CDATA #IMPLIED
>
<!--- name - optional API name, for example MMAPI
version - version number in text format, for example 1.0
dependencies - list of dependencies on configurations, profiles, or other optional APIs of the same device
displayname - expanded name of the optional API. For example: Mobile Media API
classpath - comma separated list of folders, jars and zip files that belong to the optional API
- class path elements of the optional APIs should not be listed on classpath of the configuration, profile or other optional API of the same device
default - boolean identification specifying if this optional API is enabled by default. Valid values are true or false. Any number of optional APIs may be enabled by default
-->
<!ELEMENT optional EMPTY>
<!ATTLIST optional
name CDATA #REQUIRED
version CDATA #REQUIRED
dependencies CDATA #IMPLIED
displayname CDATA #IMPLIED
classpath CDATA #IMPLIED
default CDATA #IMPLIED
>