タイプAPI
タイプAPIは、属性などのルールに指定できる型情報を定義していたり、評価するAPIを提供しています。
例えば、invalid-attr
ルールのallowAttrs
やdisallowAttrs
オプションで使用されています。
{
"invalid-attr": {
"options": {
"allowAttrs": [
{
"name": "any-attr-name",
"value": {
"type": "Boolean"
}
}
]
}
}
}
Markuplintは、以下のいずれかの方法で属性の種類を管理しています。
タイプの種類
識別子
識別子 | 主に使用されている箇所 | 仕様 | サポート |
---|---|---|---|
Any | いくつかの属性 | ✅ | |
NoEmptyAny | いくつかの属性 | ✅ | |
OneLineAny | いくつかの属性 | ✅ | |
Zero | いくつかの属性 | ✅ | |
Number | いくつかの属性 | ✅ | |
Uint | いくつかの属性 | ✅ | |
XMLName | svg|[attributeName] 他 | XML | ✅ |
DOMID | id 属性ほか | WHATWG | ✅ |
FunctionBody | Event handler属性s | 🚧 | |
Pattern | input[pattern] | WHATWG | ✅ |
DateTime | time[datetime] ほか | WHATWG | ✅ |
TabIndex | tabindex 属性 | WHATWG | ✅ |
BCP47 | lang 属性ほか | RFC | ✅ |
URL | いくつかの属性 | WHATWG | ✅ |
AbsoluteURL | itemtype 属性(リストとして) | WHATWG | ✅ |
HashName | img[usemap] | WHATWG | ✅ |
OneCodePointChar | accesskey 属性(リストとして) | WHATWG | ✅ |
CustomElementName | is 属性 | WHATWG | ✅ |
BrowsingContextName | 代わりにNavigableTargetName を使ってください | 廃止 | ✅ |
BrowsingContextNameOrKeyword | 代わりにNavigableTargetNameOrKeyword を使ってください | 廃止 | ✅ |
NavigableTargetName | iframe[name] ほか | WHATWG | ✅ |
NavigableTargetNameOrKeyword | a[target] ほか | WHATWG | ✅ |
HTTPSchemaURL | a[ping] ほか(リストとして) | WHATWG | ✅ |
MIMEType | embed[type] ほか | WHATWG | ✅ |
ItemProp | itemprop 属性(リストとして) | WHATWG | ✅ |
Srcset | img[srcset] ほか | WHATWG | ✅ |
SourceSizeList | img[sizes] ほか | WHATWG | ✅ |
IconSize | link[sizes] (リストとして) | WHATWG | ✅ |
AutoComplete | input[autocomplete] ほか | WHATWG | ✅ |
Accept | input[accept] | WHATWG | ✅ |
SerializedPermissionsPolicy | iframe[allow] | W3C | ✅ |
<css-declaration-list> | style 属性 | CSS | ✅ |
<class-list> | class 属性 | SVG | ✅ |
<svg-font-size> | SVGがいくつかの属性 | CSS | 🚧 |
<svg-font-size-adjust> | SVGがいくつかの属性 | CSS | 🚧 |
<'color-profile'> | SVGがいくつかの属性 | SVG | 🚧 |
<'color-rendering'> | SVGがいくつかの属性 | SVG | 🚧 |
<'enable-background'> | SVGがいくつかの属性 | SVG | 🚧 |
<list-of-svg-feature-string> | SVGがいくつかの属性 | SVG | 🚧 |
<animatable-value> | SVGがいくつかの属性 | SVG | 🚧 |
<begin-value-list> | SVGがいくつかの属性 | SVG | 🚧 |
<end-value-list> | SVGがいくつかの属性 | SVG | 🚧 |
<list-of-value> | SVGがいくつかの属性 | SVG | 🚧 |
<clock-value> | SVGがいくつかの属性 | SMIL | 🚧 |
<color-matrix> | SVGがいくつかの属性 | W3C | ✅ |
<dasharray> | SVGがいくつかの属性 | SVG | ✅ |
<key-points> | SVGがいくつかの属性 | SVG | ✅ |
<key-splines> | SVGがいくつかの属性 | SVG | ✅ |
<key-times> | SVGがいくつかの属性 | SVG | ✅ |
<system-language> | SVGがいくつかの属性 | SVG | ✅ |
<origin> | SVGがいくつかの属性 | SMIL | ✅ |
<svg-path> | SVGがいくつかの属性 | SVG | 🚧 |
<points> | SVGがいくつかの属性 | SVG | ✅ |
<preserve-aspect-ratio> | SVGがいくつかの属性 | SVG | ✅ |
<view-box> | SVGがいくつかの属性 | SVG | ✅ |
<rotate> | SVGがいくつかの属性 | SVG | ✅ |
<text-coordinate> | SVGがいくつかの属性 | SVG | ✅ |
<list-of-lengths> | SVGがいくつかの属性 | ✅ | |
<list-of-numbers> | SVGがいくつかの属性 | ✅ | |
<list-of-percentages> | SVGがいくつかの属性 | ✅ | |
<number-optional-number> | SVGがいくつかの属性 | ✅ |
また、**CSSTree**が定義している型を使用できます。
注意
識別子は、文字列のまま指定する必要があります。
例えば、<'color-profile'>
の場合、以下のように指定する必要があります。
{
"type": "<'color-profile'>"
}
<
、>
や'
も必要です。
リスト型
- トークンのタイプ(識別子)を指定します
- 区切り文字を
space
またはcomma
で指定します - 任意に、一意性を必要とするかどうかを指定します
- 任意に、順序付け可能かどうかを指定します
- 任意に、大文字・小文字を区別するか指定します
- 任意に、空白を問題にしないかどうかを指定します
- 任意に、項目の範囲を指定します
{
"type": {
"token": "URL",
"separator": "space",
"allowEmpty": true,
"ordered": true,
"unique": true,
"caseInsensitive": true
}
}