/plugins/android/src/org/jetbrains/android/uipreview/layout-devices.xsd
https://bitbucket.org/nbargnesi/idea · XML Schema · 345 lines · 308 code · 37 blank · 0 comment · 0 complexity · 7294765b7384dab915148218bc7238af MD5 · raw file
- <?xml version="1.0" encoding="UTF-8"?>
- <!--
- * Copyright (C) 2009 The Android Open Source Project
- *
- * Licensed under the Eclipse Public License, Version 1.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.eclipse.org/org/documents/epl-v10.php
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- -->
- <xsd:schema
- targetNamespace="http://schemas.android.com/sdk/android/layout-devices/1"
- xmlns:xsd="http://www.w3.org/2001/XMLSchema"
- xmlns:c="http://schemas.android.com/sdk/android/layout-devices/1"
- elementFormDefault="qualified"
- attributeFormDefault="unqualified"
- version="1">
- <!-- The root element layout-devices defines a sequence of 0..n device elements. -->
- <xsd:element name="layout-devices" type="c:layoutDevicesType"/>
- <xsd:complexType name="layoutDevicesType">
- <xsd:annotation>
- <xsd:documentation xml:lang="en">
- The "layout-devices" element is the root element of this schema.
- It must contain zero or more "device" elements that each define the configurations
- available for a given device.
- These definitions are used in the Graphical Layout Editor in the
- Android Development Tools (ADT) plugin for Eclipse.
- </xsd:documentation>
- </xsd:annotation>
- <xsd:sequence>
- <!-- layout-devices defines a sequence of 0..n device elements. -->
- <xsd:element name="device" minOccurs="0" maxOccurs="unbounded">
- <xsd:annotation>
- <xsd:documentation xml:lang="en">
- A device element must contain at most one "default" element
- followed by one or more "config" elements.
- The "default" element defines all the default parameters
- inherited by the following "config" elements.
- Each "config" element can override the default values, if any.
- A "device" element also has a required "name" attribute that
- represents the user-interface name of this device.
- </xsd:documentation>
- </xsd:annotation>
- <xsd:complexType>
- <!-- device defines a choice of 0..1 default element
- and 1..n config elements. -->
- <xsd:sequence>
- <xsd:element name="default" type="c:parametersType"
- minOccurs="0" maxOccurs="1"/>
- <xsd:element name="config" type="c:configType"
- minOccurs="1" maxOccurs="unbounded"/>
- </xsd:sequence>
- <xsd:attribute name="name" type="xsd:normalizedString" use="required"/>
- </xsd:complexType>
- </xsd:element>
- </xsd:sequence>
- </xsd:complexType>
- <!-- The type of a device>default element.
- This is overridden by configType below for the device>config element.
- -->
- <xsd:complexType name="parametersType">
- <xsd:annotation>
- <xsd:documentation xml:lang="en">
- The parametersType define all the parameters that can happen either in a
- "default" element or in a named "config" element.
- Each parameter element can appear once at most.
- Parameters here are the same as those used to specify alternate Android
- resources, as documented by
- http://d.android.com/guide/topics/resources/resources-i18n.html#AlternateResources
- </xsd:documentation>
- </xsd:annotation>
- <xsd:all>
- <!-- parametersType says that 0..1 of each of these elements must be declared. -->
- <xsd:element name="country-code" minOccurs="0">
- <xsd:annotation>
- <xsd:documentation xml:lang="en">
- Specifies the configuration is for a particular Mobile Country Code.
- </xsd:documentation>
- </xsd:annotation>
- <xsd:simpleType>
- <xsd:restriction base="xsd:float">
- <xsd:minInclusive value="100"/>
- <xsd:maxInclusive value="999"/>
- </xsd:restriction>
- </xsd:simpleType>
- </xsd:element>
- <xsd:element name="network-code" minOccurs="0">
- <xsd:annotation>
- <xsd:documentation xml:lang="en">
- Specifies the configuration is for a particular Mobile Network Code.
- </xsd:documentation>
- </xsd:annotation>
- <xsd:simpleType>
- <xsd:restriction base="xsd:float">
- <xsd:minExclusive value="0"/>
- <xsd:maxExclusive value="1000"/>
- </xsd:restriction>
- </xsd:simpleType>
- </xsd:element>
- <xsd:element name="screen-size" minOccurs="0">
- <xsd:annotation>
- <xsd:documentation xml:lang="en">
- Specifies that the configuration is for a particular class of screen.
- </xsd:documentation>
- </xsd:annotation>
- <xsd:simpleType>
- <xsd:restriction base="xsd:token">
- <xsd:enumeration value="small"/>
- <xsd:enumeration value="normal"/>
- <xsd:enumeration value="large"/>
- <xsd:enumeration value="xlarge"/>
- </xsd:restriction>
- </xsd:simpleType>
- </xsd:element>
- <xsd:element name="screen-ratio" minOccurs="0">
- <xsd:annotation>
- <xsd:documentation xml:lang="en">
- Specifies that the configuration is for a taller/wider than traditional
- screen. This is based purely on the aspect ration of the screen: QVGA,
- HVGA, and VGA are notlong; WQVGA, WVGA, FWVGA are long. Note that long
- may mean either wide or tall, depending on the current orientation.
- </xsd:documentation>
- </xsd:annotation>
- <xsd:simpleType>
- <xsd:restriction base="xsd:token">
- <xsd:enumeration value="long"/>
- <xsd:enumeration value="notlong"/>
- </xsd:restriction>
- </xsd:simpleType>
- </xsd:element>
- <xsd:element name="screen-orientation" minOccurs="0">
- <xsd:annotation>
- <xsd:documentation xml:lang="en">
- Specifies that the configuration is for a screen that is tall (port) or
- wide (land).
- </xsd:documentation>
- </xsd:annotation>
- <xsd:simpleType>
- <xsd:restriction base="xsd:token">
- <xsd:enumeration value="port"/>
- <xsd:enumeration value="land"/>
- <xsd:enumeration value="square"/>
- </xsd:restriction>
- </xsd:simpleType>
- </xsd:element>
- <xsd:element name="pixel-density" minOccurs="0">
- <xsd:annotation>
- <xsd:documentation xml:lang="en">
- Specifies the screen density the configuration is defined for. The medium
- density of traditional HVGA screens (mdpi) is defined to be approximately
- 160dpi; low density (ldpi) is 120, and high density (hdpi) is 240. There
- is thus a 4:3 scaling factor between each density, so a 9x9 bitmap in ldpi
- would be 12x12 is mdpi and 16x16 in hdpi.
- The special nodpi density that can be used in resource qualifiers is not
- a valid keyword here.
- </xsd:documentation>
- </xsd:annotation>
- <xsd:simpleType>
- <xsd:restriction base="xsd:token">
- <xsd:enumeration value="ldpi"/>
- <xsd:enumeration value="mdpi"/>
- <xsd:enumeration value="tvdpi"/>
- <xsd:enumeration value="hdpi"/>
- <xsd:enumeration value="xhdpi"/>
- </xsd:restriction>
- </xsd:simpleType>
- </xsd:element>
- <xsd:element name="touch-type" minOccurs="0">
- <xsd:annotation>
- <xsd:documentation xml:lang="en">
- Specifies the touch type the configuration is defined for.
- </xsd:documentation>
- </xsd:annotation>
- <xsd:simpleType>
- <xsd:restriction base="xsd:token">
- <xsd:enumeration value="notouch"/>
- <xsd:enumeration value="stylus"/>
- <xsd:enumeration value="finger"/>
- </xsd:restriction>
- </xsd:simpleType>
- </xsd:element>
- <xsd:element name="keyboard-state" minOccurs="0">
- <xsd:annotation>
- <xsd:documentation xml:lang="en">
- If your configuration uses a soft keyboard, use the keyssoft value.
- If it doesn't and has a real keyboard, use keysexposed or keyshidden.
- </xsd:documentation>
- </xsd:annotation>
- <xsd:simpleType>
- <xsd:restriction base="xsd:token">
- <xsd:enumeration value="keysexposed"/>
- <xsd:enumeration value="keyshidden"/>
- <xsd:enumeration value="keyssoft"/>
- </xsd:restriction>
- </xsd:simpleType>
- </xsd:element>
- <xsd:element name="text-input-method" minOccurs="0">
- <xsd:annotation>
- <xsd:documentation xml:lang="en">
- Specifies the primary text input method the configuration is designed for.
- </xsd:documentation>
- </xsd:annotation>
- <xsd:simpleType>
- <xsd:restriction base="xsd:token">
- <xsd:enumeration value="nokeys"/>
- <xsd:enumeration value="qwerty"/>
- <xsd:enumeration value="12key"/>
- </xsd:restriction>
- </xsd:simpleType>
- </xsd:element>
- <xsd:element name="nav-state" minOccurs="0">
- <xsd:annotation>
- <xsd:documentation xml:lang="en">
- Specifies whether the primary non-touchscreen navigation control is
- exposed or hidden.
- </xsd:documentation>
- </xsd:annotation>
- <xsd:simpleType>
- <xsd:restriction base="xsd:token">
- <xsd:enumeration value="navexposed"/>
- <xsd:enumeration value="navhidden"/>
- </xsd:restriction>
- </xsd:simpleType>
- </xsd:element>
- <xsd:element name="nav-method" minOccurs="0">
- <xsd:annotation>
- <xsd:documentation xml:lang="en">
- Specifies the primary non-touchscreen navigation method the configuration
- is designed for.
- </xsd:documentation>
- </xsd:annotation>
- <xsd:simpleType>
- <xsd:restriction base="xsd:token">
- <xsd:enumeration value="dpad"/>
- <xsd:enumeration value="trackball"/>
- <xsd:enumeration value="wheel"/>
- <xsd:enumeration value="nonav"/>
- </xsd:restriction>
- </xsd:simpleType>
- </xsd:element>
- <xsd:element name="screen-dimension" minOccurs="0">
- <xsd:annotation>
- <xsd:documentation xml:lang="en">
- Specifies the device screen resolution, in pixels.
- </xsd:documentation>
- </xsd:annotation>
- <xsd:complexType>
- <xsd:sequence minOccurs="2" maxOccurs="2">
- <xsd:element name="size">
- <xsd:simpleType>
- <xsd:restriction base="xsd:positiveInteger"/>
- </xsd:simpleType>
- </xsd:element>
- </xsd:sequence>
- </xsd:complexType>
- </xsd:element>
- <xsd:element name="xdpi" minOccurs="0">
- <xsd:annotation>
- <xsd:documentation xml:lang="en">
- Specifies the actual density in X of the device screen.
- </xsd:documentation>
- </xsd:annotation>
- <xsd:simpleType>
- <xsd:restriction base="xsd:float">
- <xsd:minExclusive value="0"/>
- </xsd:restriction>
- </xsd:simpleType>
- </xsd:element>
- <xsd:element name="ydpi" minOccurs="0">
- <xsd:annotation>
- <xsd:documentation xml:lang="en">
- Specifies the actual density in Y of the device screen.
- </xsd:documentation>
- </xsd:annotation>
- <xsd:simpleType>
- <xsd:restriction base="xsd:float">
- <xsd:minExclusive value="0"/>
- </xsd:restriction>
- </xsd:simpleType>
- </xsd:element>
- </xsd:all>
- </xsd:complexType>
- <!-- The type definition of a device>config element.
- This type is basically all the element defined by parametersType and an extra
- required "name" attribute for the user-interface configuration name.
- -->
- <xsd:complexType name="configType">
- <xsd:annotation>
- <xsd:documentation>
- The configType defines the content of a "config" element in a "device" element.
- A "config" element can have all the parameters elements defined by
- "parameterType". It also has a required "name" attribute that indicates the
- user-interface name for this configuration.
- </xsd:documentation>
- </xsd:annotation>
- <xsd:complexContent>
- <xsd:extension base="c:parametersType">
- <xsd:attribute name="name" type="xsd:normalizedString" use="required"/>
- </xsd:extension>
- </xsd:complexContent>
- </xsd:complexType>
- </xsd:schema>