forked from MapComplete/MapComplete
		
	Add 'and' and 'or' to docs
This commit is contained in:
		
							parent
							
								
									2731c64856
								
							
						
					
					
						commit
						b1f902fc94
					
				
					 1 changed files with 26 additions and 3 deletions
				
			
		|  | @ -6,6 +6,12 @@ This document gives an overview of what every expression means and how it behave | |||
| 
 | ||||
| If the schema-files note a type `string | AndOrTagConfigJson`, you can use one of these values. | ||||
| 
 | ||||
| In some cases, not every type of tags-filter can be used. For example,  _rendering_ an option with a regex is | ||||
| fine (`"if": "brand~[Bb]randname", "then":" The brand is Brandname"`); but this regex can not be used to write a value | ||||
| into the database. The theme loader will however refuse to work with such inconsistencies and notify you of this while | ||||
| you are building your theme. | ||||
| 
 | ||||
| 
 | ||||
| Strict equality | ||||
| --------------- | ||||
| 
 | ||||
|  | @ -53,7 +59,8 @@ special circumstances (e.g. `surface_area=42 m2` or `length=100 feet`), this wil | |||
| values (`surface=422` or if a length in meters is compared to). However, this can be partially alleviated by using ' | ||||
| Units' to rewrite to a default format. | ||||
| 
 | ||||
| Dates can be compared with the same expression: `somekey<2022-06-22` will match if `somekey` is a date and is smaller then 22nd june '22. | ||||
| Dates can be compared with the same expression: `somekey<2022-06-22` will match if `somekey` is a date and is smaller | ||||
| then 22nd june '22. | ||||
| 
 | ||||
| Regex equals | ||||
| ------------ | ||||
|  | @ -61,8 +68,8 @@ Regex equals | |||
| A tag can also be tested against a regex with `key~regex`. Note that this regex __must match__ the entire value. If the | ||||
| value is allowed to appear anywhere as substring, use `key~.*regex.*` | ||||
| 
 | ||||
| Regexes will match the newline character with `.` too - the `s`-flag is enabled by default. | ||||
| To enable case invariant matching, use `key~i~regex` | ||||
| Regexes will match the newline character with `.` too - the `s`-flag is enabled by default. To enable case invariant | ||||
| matching, use `key~i~regex` | ||||
| 
 | ||||
| Equivalently, `key!~regex` can be used if you _don't_ want to match the regex in order to appear. | ||||
| 
 | ||||
|  | @ -101,3 +108,19 @@ To mitigate this, use: | |||
| 
 | ||||
| One can use `key!:=prefix-{other_key}-postfix` as well, to match if `key` is _not_ the same | ||||
| as `prefix-{other_key}-postfix` (with `other_key` substituted by the value) | ||||
| 
 | ||||
| ## Logical operators | ||||
| 
 | ||||
| One can combine multiple tags by using `and` or `or`, e.g.: | ||||
| 
 | ||||
| ```json | ||||
| { | ||||
|   "osmTags": { | ||||
|     "or": [ | ||||
|       "amenity=school", | ||||
|       "amenity=kindergarten" | ||||
|     ] | ||||
|   } | ||||
| } | ||||
| ``` | ||||
| 
 | ||||
|  |  | |||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue