From 8bd6845c711831befbe2a32dd8d758bce7d1ae63 Mon Sep 17 00:00:00 2001 From: Malvoz <26493779+Malvoz@users.noreply.github.com> Date: Thu, 4 Nov 2021 15:30:15 +0100 Subject: [PATCH 1/3] Define element categories: Metadata, Feature, Extent --- spec/index.html | 395 ++++++++++++++++++++++++++++++------------------ 1 file changed, 246 insertions(+), 149 deletions(-) diff --git a/spec/index.html b/spec/index.html index b74740f..23eff7a 100644 --- a/spec/index.html +++ b/spec/index.html @@ -43,7 +43,10 @@ edDraftURI: "https://maps4html.org/MapML/spec/", copyrightStart: "2015", github: "https://github.com/Maps4HTML/MapML/", - xref: "web-platform", + xref: { + specs: ["cssom-1"], + profile: "web-platform", + }, pluralize: true, localBiblio: { "Web-Map-Custom-Element": { @@ -186,6 +189,9 @@ :root dl.def dd + dt { margin-top: 0.75em; } + :root .toc > li li li li { + font-size: inherit; + } :root code, :root .hljs-deletion, :root .hljs-name, @@ -703,9 +709,14 @@
<layer>
elementmap
element.src
attribute is present: Nothing.
- If no src
attribute is present:
- Metadata content describing nested Map Markup Language content.src
attribute is present: Nothing.src
attribute is present:
+ Extent content,
+ Feature content,
+ Metadata content,
+ optional tile
element.
+ src
— Address of the resource.<head>
elementmapml
element.title
element and no more than one is a base
element.title
element and no more than one is a base
element.<head>
elementmeta
elements.
+ title
,
+ base
,
+ meta
,
+ link
,
+ style
.
+ <title>
elementhead
element.<title>
element<base>
element
head
element.<base>
element<meta>
elementhead
element.<meta>
element<link>
elementhref
attribute): as a child of the head
or body
element.tref
attribute): as a child of the extent
element.@rel
values<style>
elementmedia
— Applicable media.title
attribute has special semantics on this element: CSS style sheet set name.+ [Exposed=Window] + interface HTMLStyleElement : HTMLElement { + [HTMLConstructor] constructor(); + + [CEReactions] attribute DOMString media; + + // also has obsolete members + }; + HTMLStyleElement includes LinkStyle; ++
<body>
element<body>
elementmapml
element.tile
element.
+ <body>
elementThe body
element represents the content of the document.
extent
,
+ input
,
+ datalist
,
+ label
,
+ select
,
+ option
.
+ <extent>
elementbody
element.<extent>
element
<input>
elementextent
element.input
@axis
values<datalist>
elementextent
element, associated to an input
element via that element's list
attribute.
@@ -2449,7 +2530,7 @@ <datalist>
eleme
<label>
elementextent
element.
@@ -2508,7 +2589,7 @@ <label>
element<select>
elementextent
element.
@@ -2571,7 +2652,7 @@ <select>
element
<option>
elementselect
element or the datalist
element.
@@ -2628,144 +2709,26 @@ <option>
element
<tile>
elementbody
element.row
— An integer (a Y axis value / the tile size) in the range of the tile coordinate reference system.col
— An integer (a X axis value / the tile size) in the domain of the tile coordinate reference system.src
— A URL from which the tile may be obtained.type
— A hint about the MIME type of the resource obtainable at the src
URL.Implicit ARIA semantics | -ARIA roles, states and properties which MAY be used | -
---|---|
- No corresponding role
- |
-
- No |
-
- [Exposed=Window] - interface HTMLTileElement : HTMLElement { - [HTMLConstructor] constructor(); - - attribute long row; - attribute long col; - attribute DOMString src; - attribute DOMString type; - }; --
- The tile
element is a type of feature which is associated with a tiled coordinate reference system that subdivides or 'tiles' 2D space in a recursively repeating grid pattern, where the origin of both the tiled
- coordinate reference system and the grid at all zoom levels is defined in coordinates of an underlying projected coordinate reference system.
-
- A defining characteristic of tiled coordinate reference systems is that they rely on integer grid row/col coordinates and zoom values. The use of these values in URLs can yield highly cacheable resources, which can lead to - high-performance map services. -
-
- The "zoom" value is a global integer property of a MapML document whose coordinate system is defined by this specification. All MapML documents have a defined zoom value. The "zoom" value is equal to the
- zoom@value
child of the extent
element. Hence the zoom value is not a direct attribute of the tile
element.
-
- The main example of such a tiled coordinate reference system is OSMTILE
, although others exist.
-
<image>
elementfeature
element, which has a sibling bbox
element.src
— Address of the hyperlink.type
— A hint as to the MIME type of the resource.Implicit ARIA semantics | -ARIA roles, states and properties which MAY be used | -
---|---|
- No corresponding role
- |
-
- No |
-
- [Exposed=Window] - interface HTMLImageElement : HTMLElement { - [HTMLConstructor] constructor(); - }; -+
feature
,
+ featurecaption
,
+ properties
,
+ geometry
,
+ coordinates
,
+ image
.
<feature>
elementbody
element.<feature>
element
<featurecaption>
elementfeature
element containing no other featurecaption
elements.<featurecaption><
The <properties>
element
- Categories:
- - Feature data.
+ - Feature content.
- Contexts in which this element can be used:
- A child of the
feature
element.
- Content model:
@@ -2948,7 +2911,7 @@ The <properties>
e
The <geometry>
element
- Categories:
- - Feature data.
+ - Feature content.
- Contexts in which this element can be used:
- Child of the
feature
element.
- Content model:
@@ -3089,7 +3052,7 @@ The <geometry>
eleme
The <coordinates>
element
- Categories:
- - Feature data.
+ - Feature content.
- Contexts in which this element can be used:
- A descendant of the
geometry
element, as the coordinate data which defines a feature geometry.
- Content model:
@@ -3152,6 +3115,140 @@ The <coordinates>
multipolygon
element, the descendant coordinates
elements must follow additional constraints.
<image>
elementfeature
element, which has a sibling bbox
element.src
— Address of the hyperlink.type
— A hint as to the MIME type of the resource.Implicit ARIA semantics | +ARIA roles, states and properties which MAY be used | +
---|---|
+ No corresponding role
+ |
+
+ No |
+
+ [Exposed=Window] + interface HTMLImageElement : HTMLElement { + [HTMLConstructor] constructor(); + }; ++
<tile>
elementbody
element.row
— An integer (a Y axis value / the tile size) in the range of the tile coordinate reference system.col
— An integer (a X axis value / the tile size) in the domain of the tile coordinate reference system.src
— A URL from which the tile may be obtained.type
— A hint about the MIME type of the resource obtainable at the src
URL.Implicit ARIA semantics | +ARIA roles, states and properties which MAY be used | +
---|---|
+ No corresponding role
+ |
+
+ No |
+
+ [Exposed=Window] + interface HTMLTileElement : HTMLElement { + [HTMLConstructor] constructor(); + + attribute long row; + attribute long col; + attribute DOMString src; + attribute DOMString type; + }; ++
+ The tile
element is a type of feature which is associated with a tiled coordinate reference system that subdivides or 'tiles' 2D space in a recursively repeating grid pattern, where the origin of both the tiled
+ coordinate reference system and the grid at all zoom levels is defined in coordinates of an underlying projected coordinate reference system.
+
+ A defining characteristic of tiled coordinate reference systems is that they rely on integer grid row/col coordinates and zoom values. The use of these values in URLs can yield highly cacheable resources, which can lead to + high-performance map services. +
+
+ The "zoom" value is a global integer property of a MapML document whose coordinate system is defined by this specification. All MapML documents have a defined zoom value. The "zoom" value is equal to the
+ zoom@value
child of the extent
element. Hence the zoom value is not a direct attribute of the tile
element.
+
+ The main example of such a tiled coordinate reference system is OSMTILE
, although others exist.
+
<layer>
elementsrc
attribute is present: Nothing.
src
attribute is present:
- Extent content,
- Feature content,
Metadata content,
+ optional extent
element,
+ optional feature
element,
optional tile
element.
<body>
elementmapml
element.extent
element,
+ optional feature
element,
optional tile
element.
<body>
elementThe body
element represents the content of the document.
extent
,
- input
,
- datalist
,
- label
,
- select
,
- option
.
- <extent>
elementbody
element.input
and one or more link
elements with their rel
attribute in either the "tile
", "image
" or "features
" state, and zero or one
link
element with its rel
attribute in the "query
" state.
@@ -2126,8 +2114,21 @@ <extent>
element
The extent
element is a map-associated affordance, which contains input and link elements, whose job it is to serialize location event properties that can be submitted to a server for processing.
The units
attribute indicates the parent TCRS that location events shall be generated for, and serialized as requested by the extent
's contents.
input
,
+ datalist
,
+ label
,
+ select
,
+ option
.
+ <input>
element<option>
element
feature
,
- featurecaption
,
- properties
,
- geometry
,
- coordinates
,
- image
.
- <feature>
elementbody
element.featurecaption
element,
- optional geometry
element,
- optional properties
element,
- optional image
element.zoom
— the 'native' zoom level of the feature geometry.<feature>
element
A feature
element represents a map feature.
featurecaption
,
+ properties
,
+ geometry
,
+ coordinates
,
+ image
.
+ <featurecaption>
elementHTMLExtentControlsCollection
attribute, per #212LinkStyle
interface reference, per #212legendLinks
attribute and interface definition and reference, per #212