Index: trunk/data/gpx-drawing-extensions-1.0.xsd
===================================================================
--- trunk/data/gpx-drawing-extensions-1.0.xsd	(revision 15496)
+++ trunk/data/gpx-drawing-extensions-1.0.xsd	(revision 15496)
@@ -0,0 +1,103 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<schema targetNamespace="https://josm.openstreetmap.de/gpx-drawing-extensions-1.0"
+    elementFormDefault="qualified"
+    xmlns="http://www.w3.org/2001/XMLSchema"
+    xmlns:xsd="http://www.w3.org/2001/XMLSchema"
+    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+    xmlns:gpxd="https://josm.openstreetmap.de/gpx-drawing-extensions-1.0"
+    xsi:schemaLocation="https://josm.openstreetmap.de/gpx-drawing-extensions-1.0 https://josm.openstreetmap.de/gpx-drawing-extensions-1.0.xsd">
+
+    <xsd:annotation>
+        <xsd:documentation>
+            This schema defines drawing extensions for the GPX 1.1 schema (http://www.topografix.com/GPX/1/1/gpx.xsd).
+            Elements in this schema should be used as child elements of the "extensions" element defined by the GPX schema.
+        </xsd:documentation>
+    </xsd:annotation>
+    
+    <!-- Elements -->
+
+    <xsd:element name="color" type="gpxd:hexColor_type">
+        <xsd:annotation>
+            <xsd:documentation>
+                The color of the element, i.e. #RRGGBB or #RRGGBBAA.
+                Note that applications should apply possible alpha values to the lines and opacity to the whole track. This means that overlapping parts of the
+                track with alpha values will look more intense than individual lines, whereas the opacity affects the whole track including overlapping parts.
+            </xsd:documentation>
+        </xsd:annotation>
+    </xsd:element>
+    
+    <xsd:element name="opacity" type="gpxd:opacity_type">
+        <xsd:annotation>
+            <xsd:documentation>
+                The opacity of the element between 0.00 and 1.00.
+            </xsd:documentation>
+        </xsd:annotation>
+    </xsd:element>
+    
+    <xsd:element name="width" type="xsd:positiveInteger">
+        <xsd:annotation>
+            <xsd:documentation>
+                The width of the line in pixels, applications may use a width relative to this value if required.
+            </xsd:documentation>
+        </xsd:annotation>
+    </xsd:element>
+    
+    <xsd:element name="dashPattern" type="gpxd:dashPattern_type">
+        <xsd:annotation>
+            <xsd:documentation>
+                The dash pattern of the line, see gpxd:dashPattern_type. Should always be relative to the width.
+            </xsd:documentation>
+        </xsd:annotation>
+    </xsd:element>
+    
+    <!-- Types -->
+
+    <xsd:simpleType name="hexColor_type">
+        <xsd:annotation>
+            <xsd:documentation>
+                The hexColor_type must be a # followed by a 6 or 8-digit hex representation of the color (with or without the alpha value).            
+            </xsd:documentation>
+        </xsd:annotation>
+        <xsd:restriction base="xsd:string">
+            <xsd:pattern value="\#([a-fA-F0-9]{6}|[a-fA-F0-9]{8})" />
+            <xsd:whiteSpace value="collapse" />
+        </xsd:restriction>
+    </xsd:simpleType>
+
+    <xsd:simpleType name="opacity_type">
+        <xsd:annotation>
+            <xsd:documentation>
+                The opacity_type must be a decimal value between 0 and 1.
+            </xsd:documentation>
+        </xsd:annotation>
+        <xsd:restriction base="xsd:decimal">
+            <xsd:minInclusive value="0" />
+            <xsd:maxInclusive value="1" />
+        </xsd:restriction>
+    </xsd:simpleType>
+    
+    <xsd:simpleType name="dashPattern_type">
+        <xsd:annotation>
+            <xsd:documentation>
+                The dashPattern_type can be 
+                    - a representation of the pattern as y-n-y-n-... with y being the relative length of the line that is
+                      visible and n being the relative length of the line that is hidden to create a dashed / dotted line.
+                      Has to have an even number of segments (at least two) and can contain multi-digit numbers.
+                    - one of the following predefined values:
+                      none, dash-long, dash-medium, dash-short, dot-sparse, dot-normal, dot-dense, dash-dot, dash-dot-dot
+            </xsd:documentation>
+        </xsd:annotation>
+        <xsd:restriction base="xsd:string">               <!-- use string based pattern instead of enum because both pattern and enums are allowed -->
+            <xsd:pattern value="\d+\-\d+(\-\d+\-\d+)*" /> <!-- pattern, see documentation above -->
+            <xsd:pattern value="none" />                  <!-- 1-0, default value/line -->
+            <xsd:pattern value="dash-long" />             <!-- 6-2 -->
+            <xsd:pattern value="dash-medium" />           <!-- 4-4 -->
+            <xsd:pattern value="dash-short" />            <!-- 2-6 -->
+            <xsd:pattern value="dot-sparse" />            <!-- 1-4 -->
+            <xsd:pattern value="dot-normal" />            <!-- 1-2 -->
+            <xsd:pattern value="dot-dense" />             <!-- 1-1 -->
+            <xsd:pattern value="dash-dot" />              <!-- 4-2-1-2 -->
+            <xsd:pattern value="dash-dot-dot" />          <!-- 4-2-1-2-1-2 -->            
+        </xsd:restriction>
+    </xsd:simpleType>
+</schema>
Index: trunk/data/gpx-extensions-1.1.xsd
===================================================================
--- trunk/data/gpx-extensions-1.1.xsd	(revision 15496)
+++ trunk/data/gpx-extensions-1.1.xsd	(revision 15496)
@@ -0,0 +1,38 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<schema targetNamespace="http://josm.openstreetmap.de/gpx-extensions-1.1"
+    elementFormDefault="qualified"
+    xmlns="http://www.w3.org/2001/XMLSchema"
+    xmlns:xsd="http://www.w3.org/2001/XMLSchema"
+    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+    xmlns:josm="http://josm.openstreetmap.de/gpx-extensions-1.1"
+    xsi:schemaLocation="http://josm.openstreetmap.de/gpx-extensions-1.1 http://josm.openstreetmap.de/gpx-extensions-1.1.xsd">
+    
+    <!-- true, if gpx data has been downloaded from the osm server -->
+    <!-- it this case, JOSM improves the rendering of clouds of anonymous TrackPoints -->
+    <element name="from-server" type="boolean"/>
+    
+    <!-- the following properties are only set for marker layer export -->
+    <element name="offset" type="decimal"/>
+    <element name="sync-offset" type="decimal"/>
+    <element name="text" type="string" />
+    
+    <xsd:element name="layerPreferences" type="josm:preferences_type">
+        <xsd:annotation>
+            <xsd:documentation>
+                The layerPreferences contain the preferences that can be set for the layer, e.g. in the "Customize track drawing" dialog in JOSM.
+            </xsd:documentation>
+        </xsd:annotation>
+    </xsd:element>
+
+    <xsd:complexType name="preferences_type">
+        <xsd:sequence>
+            <xsd:element name="entry" type="josm:entry_type" minOccurs="0" />
+        </xsd:sequence>
+    </xsd:complexType>
+
+    <xsd:complexType name="entry_type">
+        <xsd:attribute name="key" type="xsd:string" use="required" />
+        <xsd:attribute name="value" type="xsd:string" use="required" />
+    </xsd:complexType>
+
+</schema>
Index: trunk/data/validator/deprecated.mapcss
===================================================================
--- trunk/data/validator/deprecated.mapcss	(revision 15494)
+++ trunk/data/validator/deprecated.mapcss	(revision 15496)
@@ -662,6 +662,7 @@
   assertMatch: "way roof:color=red roof:colour=green";
 }
-  /* further more universal checks, no autofix */
-*[/:color/][!building:color][!roof:color] {
+/* further more universal checks, no autofix */
+/* gpxd:color has another warning in unnecessary.mapcss */ 
+*[/:color/][!building:color][!roof:color][!gpxd:color] {
   throwWarning: tr("{0} is deprecated", "{0.key}");
   suggestAlternative: ":colour";
Index: trunk/data/validator/unnecessary.mapcss
===================================================================
--- trunk/data/validator/unnecessary.mapcss	(revision 15494)
+++ trunk/data/validator/unnecessary.mapcss	(revision 15496)
@@ -168,9 +168,10 @@
 
 /* #2760 */
-*[/^gpx:/] {
+*[/^(gpx|gpxx|gpxd):/] {
   throwWarning: tr("{0} should not be uploaded", "{0.key}");
   group: tr("unnecessary tag");
   fixRemove: "{0.key}";
   assertMatch: "node gpx:time=2018-01-01T12:00:00Z";
+  assertMatch: "node gpxd:color=#FF0000";
   assertNoMatch: "node source=gpx:foo";
 }
