array(
array(
'attr_spec_list' => array(
'[href]' => array(),
'border' => array(),
'download' => array(),
'href' => array(
'blacklisted_value_regex' => '__amp_source_origin',
'allow_empty' => true,
'allow_relative' => true,
'allowed_protocol' => array(
'bbmi',
'fb-messenger',
'ftp',
'http',
'https',
'intent',
'line',
'mailto',
'skype',
'sms',
'snapchat',
'tel',
'tg',
'threema',
'twitter',
'viber',
'whatsapp',
),
),
'hreflang' => array(),
'media' => array(),
'name' => array(),
'rel' => array(
'blacklisted_value_regex' => '(^|\\s)(components|dns-prefetch|import|manifest|preconnect|prefetch|preload|prerender|serviceworker|stylesheet|subresource|)(\\s|$)',
),
'role' => array(),
'tabindex' => array(),
'target' => array(
'value_regex' => '(_blank|_self|_top)',
),
'type' => array(
'value_casei' => 'text/html',
),
),
'tag_spec' => array(
'html_format' => array(
'amp',
'amp4ads',
),
'spec_url' => 'https://www.ampproject.org/docs/reference/spec#links',
),
),
),
'abbr' => array(
array(
'attr_spec_list' => array(),
'tag_spec' => array(),
),
),
'acronym' => array(
array(
'attr_spec_list' => array(),
'tag_spec' => array(
'html_format' => array(
'amp',
),
),
),
),
'address' => array(
array(
'attr_spec_list' => array(),
'tag_spec' => array(),
),
),
'amp-3q-player' => array(
array(
'attr_spec_list' => array(
'autoplay' => array(
'value' => '',
),
'data-id' => array(
'mandatory' => true,
),
'media' => array(),
'noloading' => array(
'value' => '',
),
),
'tag_spec' => array(
'html_format' => array(
'amp',
),
),
),
),
'amp-accordion' => array(
array(
'attr_spec_list' => array(
'disable-session-states' => array(
'value' => '',
),
),
'tag_spec' => array(
'spec_url' => 'https://www.ampproject.org/docs/reference/components/amp-accordion',
),
),
),
'amp-ad' => array(
array(
'attr_spec_list' => array(
'alt' => array(),
'json' => array(),
'media' => array(),
'noloading' => array(
'value' => '',
),
'src' => array(
'blacklisted_value_regex' => '__amp_source_origin',
'allow_relative' => true,
'allowed_protocol' => array(
'https',
),
),
'type' => array(
'mandatory' => true,
),
),
'tag_spec' => array(
'disallowed_ancestor' => array(
'amp-app-banner',
),
'html_format' => array(
'amp',
),
'spec_url' => 'https://www.ampproject.org/docs/reference/components/amp-ad',
),
),
array(
'attr_spec_list' => array(
'alt' => array(),
'data-multi-size' => array(
'mandatory' => true,
),
'json' => array(),
'media' => array(),
'noloading' => array(
'value' => '',
),
'src' => array(
'blacklisted_value_regex' => '__amp_source_origin',
'allow_relative' => true,
'allowed_protocol' => array(
'https',
),
),
'type' => array(
'mandatory' => true,
),
),
'tag_spec' => array(
'disallowed_ancestor' => array(
'amp-app-banner',
'amp-carousel',
'amp-fx-flying-carpet',
'amp-lightbox',
'amp-sticky-ad',
),
'html_format' => array(
'amp',
),
'spec_name' => 'amp-ad with data-multi-size attribute',
'spec_url' => 'https://www.ampproject.org/docs/reference/components/amp-ad',
),
),
),
'amp-ad-exit' => array(
array(
'attr_spec_list' => array(
'id' => array(
'mandatory' => true,
),
'media' => array(),
'noloading' => array(
'value' => '',
),
),
'tag_spec' => array(
'html_format' => array(
'amp4ads',
),
'spec_url' => 'https://www.ampproject.org/docs/reference/components/amp-ad-exit',
),
),
),
'amp-analytics' => array(
array(
'attr_spec_list' => array(
'config' => array(
'blacklisted_value_regex' => '__amp_source_origin',
'allow_empty' => true,
'allow_relative' => true,
'allowed_protocol' => array(
'https',
),
),
'type' => array(),
),
'tag_spec' => array(
'html_format' => array(
'amp',
'amp4ads',
),
'spec_url' => 'https://www.ampproject.org/docs/reference/components/amp-analytics',
),
),
),
'amp-anim' => array(
array(
'attr_spec_list' => array(
'alt' => array(),
'attribution' => array(),
'controls' => array(),
'media' => array(),
'noloading' => array(
'value' => '',
),
'src' => array(
'alternative_names' => array(
'srcset',
),
'blacklisted_value_regex' => '__amp_source_origin',
'mandatory' => true,
'allow_relative' => true,
'allowed_protocol' => array(
'data',
'http',
'https',
),
),
),
'tag_spec' => array(
'html_format' => array(
'amp',
'amp4ads',
),
'spec_url' => 'https://www.ampproject.org/docs/reference/components/amp-anim',
),
),
),
'amp-animation' => array(
array(
'attr_spec_list' => array(
'media' => array(),
'noloading' => array(
'value' => '',
),
'trigger' => array(
'value' => 'visibility',
),
),
'tag_spec' => array(
'html_format' => array(
'amp',
'amp4ads',
),
),
),
),
'amp-apester-media' => array(
array(
'attr_spec_list' => array(
'data-apester-channel-token' => array(
'value_regex' => '[0-9a-za-z]+',
),
'data-apester-media-id' => array(
'value_regex' => '[0-9a-za-z]+',
),
'media' => array(),
'noloading' => array(
'value' => '',
),
),
'tag_spec' => array(
'html_format' => array(
'amp',
),
'spec_url' => 'https://www.ampproject.org/docs/reference/components/amp-apester-media',
),
),
),
'amp-app-banner' => array(
array(
'attr_spec_list' => array(
'id' => array(
'mandatory' => true,
),
'media' => array(),
'noloading' => array(
'value' => '',
),
),
'tag_spec' => array(
'html_format' => array(
'amp',
),
'mandatory_parent' => 'body',
'spec_url' => 'https://www.ampproject.org/docs/reference/components/amp-app-banner',
'unique' => true,
),
),
),
'amp-audio' => array(
array(
'attr_spec_list' => array(
'album' => array(),
'artist' => array(),
'artwork' => array(),
'autoplay' => array(
'value' => '',
),
'controls' => array(),
'controlslist' => array(),
'loop' => array(
'value' => '',
),
'media' => array(),
'muted' => array(
'value' => '',
),
'noloading' => array(
'value' => '',
),
'src' => array(
'blacklisted_value_regex' => '__amp_source_origin',
'allow_relative' => true,
'allowed_protocol' => array(
'https',
),
),
),
'tag_spec' => array(
'disallowed_ancestor' => array(
'amp-story',
),
'html_format' => array(
'amp',
),
'spec_url' => 'https://www.ampproject.org/docs/reference/components/amp-audio',
),
),
array(
'attr_spec_list' => array(
'album' => array(),
'artist' => array(),
'artwork' => array(),
'autoplay' => array(
'mandatory' => true,
'value' => '',
),
'controls' => array(),
'controlslist' => array(),
'loop' => array(
'value' => '',
),
'media' => array(),
'muted' => array(
'value' => '',
),
'noloading' => array(
'value' => '',
),
'src' => array(
'blacklisted_value_regex' => '__amp_source_origin',
'allow_relative' => true,
'allowed_protocol' => array(
'https',
),
),
),
'tag_spec' => array(
'html_format' => array(
'amp',
),
'mandatory_ancestor' => 'amp-story',
'spec_name' => 'amp-story >> amp-audio',
'spec_url' => 'https://www.ampproject.org/docs/reference/components/amp-audio',
),
),
array(
'attr_spec_list' => array(
'album' => array(),
'artist' => array(),
'artwork' => array(),
'controls' => array(),
'controlslist' => array(),
'loop' => array(
'value' => '',
),
'media' => array(),
'muted' => array(
'value' => '',
),
'noloading' => array(
'value' => '',
),
'src' => array(
'blacklisted_value_regex' => '__amp_source_origin',
'allow_relative' => true,
'allowed_protocol' => array(
'https',
),
),
),
'tag_spec' => array(
'html_format' => array(
'amp4ads',
),
'spec_name' => 'amp-audio (a4a)',
'spec_url' => 'https://www.ampproject.org/docs/reference/components/amp-audio',
),
),
),
'amp-auto-ads' => array(
array(
'attr_spec_list' => array(
'media' => array(),
'noloading' => array(
'value' => '',
),
'type' => array(
'mandatory' => true,
),
),
'tag_spec' => array(
'html_format' => array(
'amp',
),
'mandatory_parent' => 'body',
'spec_url' => 'https://www.ampproject.org/docs/reference/components/amp-auto-ads',
),
),
),
'amp-brid-player' => array(
array(
'attr_spec_list' => array(
'autoplay' => array(),
'data-outstream' => array(
'value_regex' => '[0-9]+',
),
'data-partner' => array(
'mandatory' => true,
'value_regex' => '[0-9]+',
),
'data-player' => array(
'mandatory' => true,
'value_regex' => '[0-9]+',
),
'data-playlist' => array(
'value_regex' => '[0-9]+',
),
'data-video' => array(
'value_regex' => '[0-9]+',
),
'media' => array(),
'noloading' => array(
'value' => '',
),
),
'tag_spec' => array(
'html_format' => array(
'amp',
),
'spec_url' => 'https://www.ampproject.org/docs/reference/components/amp-brid-player',
),
),
),
'amp-brightcove' => array(
array(
'attr_spec_list' => array(
'[data-account]' => array(),
'[data-embed]' => array(),
'[data-player-id]' => array(),
'[data-player]' => array(),
'[data-playlist-id]' => array(),
'[data-video-id]' => array(),
'data-account' => array(
'mandatory' => true,
),
'media' => array(),
'noloading' => array(
'value' => '',
),
),
'tag_spec' => array(
'html_format' => array(
'amp',
),
'spec_url' => 'https://www.ampproject.org/docs/reference/components/amp-brightcove',
),
),
),
'amp-call-tracking' => array(
array(
'attr_spec_list' => array(
'config' => array(
'blacklisted_value_regex' => '__amp_source_origin',
'mandatory' => true,
'allow_relative' => false,
'allowed_protocol' => array(
'https',
),
),
'media' => array(),
'noloading' => array(
'value' => '',
),
),
'tag_spec' => array(
'html_format' => array(
'amp',
),
'spec_url' => 'https://www.ampproject.org/docs/reference/components/amp-call-tracking',
),
),
),
'amp-carousel' => array(
array(
'attr_spec_list' => array(
'[slide]' => array(),
'arrows' => array(
'value' => '',
),
'autoplay' => array(
'value' => '',
),
'controls' => array(),
'delay' => array(
'value_regex' => '[0-9]+',
),
'dots' => array(
'value' => '',
),
'loop' => array(
'value' => '',
),
'media' => array(),
'noloading' => array(
'value' => '',
),
'type' => array(
'value_regex' => 'slides|carousel',
),
),
'tag_spec' => array(
'spec_url' => 'https://www.ampproject.org/docs/reference/components/amp-carousel',
),
),
),
'amp-dailymotion' => array(
array(
'attr_spec_list' => array(
'autoplay' => array(),
'data-endscreen-enable' => array(
'value_regex' => 'true|false',
),
'data-info' => array(
'value_regex' => 'true|false',
),
'data-mute' => array(
'value_regex' => 'true|false',
),
'data-sharing-enable' => array(
'value_regex' => 'true|false',
),
'data-start' => array(
'value_regex' => '[0-9]+',
),
'data-ui-highlight' => array(
'value_regex_casei' => '([0-9a-f]{3}){1,2}',
),
'data-ui-logo' => array(
'value_regex' => 'true|false',
),
'data-videoid' => array(
'mandatory' => true,
'value_regex_casei' => '[a-z0-9]+',
),
'media' => array(),
'noloading' => array(
'value' => '',
),
),
'tag_spec' => array(
'html_format' => array(
'amp',
),
'spec_url' => 'https://www.ampproject.org/docs/reference/components/amp-dailymotion',
),
),
),
'amp-embed' => array(
array(
'attr_spec_list' => array(
'alt' => array(),
'json' => array(),
'media' => array(),
'noloading' => array(
'value' => '',
),
'src' => array(
'blacklisted_value_regex' => '__amp_source_origin',
'allow_relative' => true,
'allowed_protocol' => array(
'https',
),
),
'type' => array(
'mandatory' => true,
),
),
'tag_spec' => array(
'disallowed_ancestor' => array(
'amp-app-banner',
),
'html_format' => array(
'amp',
),
'spec_url' => 'https://www.ampproject.org/docs/reference/components/amp-ad',
),
),
array(
'attr_spec_list' => array(
'alt' => array(),
'data-multi-size' => array(
'mandatory' => true,
'value' => '',
),
'json' => array(),
'media' => array(),
'noloading' => array(
'value' => '',
),
'src' => array(
'blacklisted_value_regex' => '__amp_source_origin',
'allow_relative' => true,
'allowed_protocol' => array(
'https',
),
),
'type' => array(
'mandatory' => true,
),
),
'tag_spec' => array(
'disallowed_ancestor' => array(
'amp-app-banner',
'amp-carousel',
'amp-fx-flying-carpet',
'amp-lightbox',
'amp-sticky-ad',
),
'html_format' => array(
'amp',
),
'spec_name' => 'amp-embed with data-multi-size attribute',
'spec_url' => 'https://www.ampproject.org/docs/reference/components/amp-ad',
),
),
),
'amp-experiment' => array(
array(
'attr_spec_list' => array(),
'tag_spec' => array(
'html_format' => array(
'amp',
),
'spec_url' => 'https://www.ampproject.org/docs/reference/components/amp-experiment',
'unique' => true,
),
),
),
'amp-facebook' => array(
array(
'attr_spec_list' => array(
'data-href' => array(
'mandatory' => true,
),
'media' => array(),
'noloading' => array(
'value' => '',
),
),
'tag_spec' => array(
'html_format' => array(
'amp',
),
),
),
),
'amp-facebook-comments' => array(
array(
'attr_spec_list' => array(
'data-href' => array(
'mandatory' => true,
),
'media' => array(),
'noloading' => array(
'value' => '',
),
),
'tag_spec' => array(
'html_format' => array(
'amp',
),
),
),
),
'amp-facebook-like' => array(
array(
'attr_spec_list' => array(
'data-href' => array(
'mandatory' => true,
'allow_relative' => false,
'allowed_protocol' => array(
'http',
'https',
),
),
'media' => array(),
'noloading' => array(
'value' => '',
),
),
'tag_spec' => array(
'html_format' => array(
'amp',
),
),
),
),
'amp-fit-text' => array(
array(
'attr_spec_list' => array(
'max-font-size' => array(),
'media' => array(),
'min-font-size' => array(),
'noloading' => array(
'value' => '',
),
),
'tag_spec' => array(),
),
),
'amp-font' => array(
array(
'attr_spec_list' => array(
'font-family' => array(
'mandatory' => true,
),
'font-style' => array(),
'font-variant' => array(),
'font-weight' => array(),
'media' => array(),
'noloading' => array(
'value' => '',
),
'on-error-add-class' => array(),
'on-error-remove-class' => array(),
'on-load-add-class' => array(),
'on-load-remove-class' => array(),
'timeout' => array(
'value_regex' => '[0-9]+',
),
),
'tag_spec' => array(
'html_format' => array(
'amp',
'amp4ads',
),
),
),
),
'amp-fx-flying-carpet' => array(
array(
'attr_spec_list' => array(
'height' => array(
'mandatory' => true,
),
'media' => array(),
'noloading' => array(
'value' => '',
),
),
'tag_spec' => array(
'html_format' => array(
'amp',
),
),
),
),
'amp-gfycat' => array(
array(
'attr_spec_list' => array(
'data-gfyid' => array(
'mandatory' => true,
),
'media' => array(),
'noautoplay' => array(
'value' => '',
),
'noloading' => array(
'value' => '',
),
),
'tag_spec' => array(
'html_format' => array(
'amp',
),
'spec_url' => 'https://www.ampproject.org/docs/reference/components/amp-gfycat',
),
),
),
'amp-gist' => array(
array(
'attr_spec_list' => array(
'data-gistid' => array(
'mandatory' => true,
),
'media' => array(),
'noloading' => array(
'value' => '',
),
),
'tag_spec' => array(
'html_format' => array(
'amp',
),
'spec_url' => 'https://www.ampproject.org/docs/reference/components/amp-gist',
),
),
),
'amp-gwd-animation' => array(
array(
'attr_spec_list' => array(
'media' => array(),
'noloading' => array(
'value' => '',
),
'timeline-event-prefix' => array(
'value' => '',
),
),
'tag_spec' => array(
'html_format' => array(
'amp4ads',
),
),
),
),
'amp-hulu' => array(
array(
'attr_spec_list' => array(
'data-eid' => array(
'mandatory' => true,
),
'media' => array(),
'noloading' => array(
'value' => '',
),
),
'tag_spec' => array(
'html_format' => array(
'amp',
),
'spec_url' => 'https://www.ampproject.org/docs/reference/components/amp-hulu',
),
),
),
'amp-iframe' => array(
array(
'attr_spec_list' => array(
'[src]' => array(),
'allow' => array(
'value_regex' => 'geolocation|fullscreen|payment|transparency',
),
'allowfullscreen' => array(
'value' => '',
),
'allowpaymentrequest' => array(
'value' => '',
),
'allowtransparency' => array(
'value' => '',
),
'frameborder' => array(
'value_regex' => '0|1',
),
'media' => array(),
'noloading' => array(
'value' => '',
),
'referrerpolicy' => array(),
'resizable' => array(
'value' => '',
),
'sandbox' => array(),
'scrolling' => array(
'value_regex' => 'auto|yes|no',
),
'src' => array(
'blacklisted_value_regex' => '__amp_source_origin',
'allow_relative' => true,
'allowed_protocol' => array(
'data',
'https',
),
),
'srcdoc' => array(),
),
'tag_spec' => array(
'html_format' => array(
'amp',
),
),
),
),
'amp-ima-video' => array(
array(
'attr_spec_list' => array(
'data-src' => array(
'blacklisted_value_regex' => '__amp_source_origin',
'allow_relative' => true,
'allowed_protocol' => array(
'https',
),
),
'data-tag' => array(
'mandatory' => true,
'allow_relative' => true,
'allowed_protocol' => array(
'https',
),
),
'media' => array(),
'noloading' => array(
'value' => '',
),
),
'tag_spec' => array(
'html_format' => array(
'amp',
),
'spec_url' => 'https://www.ampproject.org/docs/reference/components/amp-ima-video',
),
),
),
'amp-image-lightbox' => array(
array(
'attr_spec_list' => array(
'controls' => array(),
'media' => array(),
'noloading' => array(
'value' => '',
),
),
'tag_spec' => array(
'html_format' => array(
'amp',
),
),
),
),
'amp-img' => array(
array(
'attr_spec_list' => array(
'[alt]' => array(),
'[attribution]' => array(),
'[src]' => array(),
'[srcset]' => array(),
'alt' => array(),
'attribution' => array(),
'media' => array(),
'noloading' => array(
'value' => '',
),
'placeholder' => array(),
'src' => array(
'alternative_names' => array(
'srcset',
),
'blacklisted_value_regex' => '__amp_source_origin',
'mandatory' => true,
'allow_relative' => true,
'allowed_protocol' => array(
'data',
'http',
'https',
),
),
),
'tag_spec' => array(
'html_format' => array(
'amp',
'amp4ads',
),
'spec_url' => 'https://www.ampproject.org/docs/reference/components/amp-img',
),
),
),
'amp-imgur' => array(
array(
'attr_spec_list' => array(
'data-imgur-id' => array(
'mandatory' => true,
),
'media' => array(),
'noloading' => array(
'value' => '',
),
),
'tag_spec' => array(
'html_format' => array(
'amp',
),
),
),
),
'amp-instagram' => array(
array(
'attr_spec_list' => array(
'alt' => array(),
'data-shortcode' => array(
'mandatory' => true,
),
'media' => array(),
'noloading' => array(
'value' => '',
),
),
'tag_spec' => array(
'html_format' => array(
'amp',
),
),
),
),
'amp-install-serviceworker' => array(
array(
'attr_spec_list' => array(
'data-iframe-src' => array(
'blacklisted_value_regex' => '__amp_source_origin',
'allow_relative' => true,
'allowed_protocol' => array(
'https',
),
),
'src' => array(
'blacklisted_value_regex' => '__amp_source_origin',
'mandatory' => true,
'allow_relative' => true,
'allowed_protocol' => array(
'https',
),
),
),
'tag_spec' => array(
'html_format' => array(
'amp',
),
),
),
),
'amp-izlesene' => array(
array(
'attr_spec_list' => array(
'data-videoid' => array(
'mandatory' => true,
'value_regex' => '[0-9]+',
),
'media' => array(),
'noloading' => array(
'value' => '',
),
),
'tag_spec' => array(
'html_format' => array(
'amp',
),
),
),
),
'amp-jwplayer' => array(
array(
'attr_spec_list' => array(
'data-media-id' => array(
'value_regex_casei' => '[0-9a-z]{8}',
),
'data-player-id' => array(
'mandatory' => true,
'value_regex_casei' => '[0-9a-z]{8}',
),
'data-playlist-id' => array(
'value_regex_casei' => '[0-9a-z]{8}',
),
),
'tag_spec' => array(
'html_format' => array(
'amp',
),
),
),
),
'amp-kaltura-player' => array(
array(
'attr_spec_list' => array(
'data-partner' => array(
'mandatory' => true,
),
'media' => array(),
'noloading' => array(
'value' => '',
),
),
'tag_spec' => array(
'html_format' => array(
'amp',
),
),
),
),
'amp-layout' => array(
array(
'attr_spec_list' => array(
'media' => array(),
'noloading' => array(
'value' => '',
),
),
'tag_spec' => array(
'html_format' => array(
'amp',
'amp4ads',
),
'spec_url' => 'https://www.ampproject.org/docs/reference/components/amp-layout',
),
),
),
'amp-lightbox' => array(
array(
'attr_spec_list' => array(
'controls' => array(),
'from' => array(),
'media' => array(),
'noloading' => array(
'value' => '',
),
'scrollable' => array(),
),
'tag_spec' => array(
'html_format' => array(
'amp',
),
),
),
),
'amp-list' => array(
array(
'attr_spec_list' => array(
'[src]' => array(),
'[state]' => array(),
'credentials' => array(),
'items' => array(),
'max-items' => array(),
'media' => array(),
'noloading' => array(
'value' => '',
),
'single-item' => array(),
'src' => array(
'blacklisted_value_regex' => '__amp_source_origin',
'mandatory' => true,
'allow_relative' => true,
'allowed_protocol' => array(
'https',
),
),
'template' => array(),
),
'tag_spec' => array(
'html_format' => array(
'amp',
),
),
),
),
'amp-live-list' => array(
array(
'attr_spec_list' => array(
'data-max-items-per-page' => array(
'mandatory' => true,
'value_regex' => '\\d+',
),
'data-poll-interval' => array(
'value_regex' => '\\d{5,}',
),
'disabled' => array(
'value' => '',
),
'id' => array(
'mandatory' => true,
),
),
'tag_spec' => array(
'html_format' => array(
'amp',
),
),
),
),
'amp-nexxtv-player' => array(
array(
'attr_spec_list' => array(
'data-client' => array(
'mandatory' => true,
),
'data-mediaid' => array(
'mandatory' => true,
'value_regex' => '[^=/?:]+',
),
'data-mode' => array(
'value_regex' => 'api|static',
),
'data-origin' => array(
'allow_empty' => true,
'allowed_protocol' => array(
'http',
'https',
),
),
'data-seek-to' => array(),
'data-streamtype' => array(
'value_regex' => 'album|audio|live|playlist|playlist-marked|video',
),
'media' => array(),
'noloading' => array(
'value' => '',
),
),
'tag_spec' => array(
'html_format' => array(
'amp',
),
),
),
),
'amp-o2-player' => array(
array(
'attr_spec_list' => array(
'data-bcid' => array(
'mandatory' => true,
),
'data-pid' => array(
'mandatory' => true,
),
'media' => array(),
'noloading' => array(
'value' => '',
),
),
'tag_spec' => array(
'html_format' => array(
'amp',
),
),
),
),
'amp-ooyala-player' => array(
array(
'attr_spec_list' => array(
'data-embedcode' => array(
'mandatory' => true,
),
'data-pcode' => array(
'mandatory' => true,
),
'data-playerid' => array(
'mandatory' => true,
),
'media' => array(),
'noloading' => array(
'value' => '',
),
),
'tag_spec' => array(
'html_format' => array(
'amp',
),
),
),
),
'amp-pinterest' => array(
array(
'attr_spec_list' => array(
'data-do' => array(
'mandatory' => true,
),
'media' => array(),
'noloading' => array(
'value' => '',
),
),
'tag_spec' => array(
'html_format' => array(
'amp',
),
'spec_url' => 'https://www.ampproject.org/docs/reference/components/amp-pinterest',
),
),
),
'amp-pixel' => array(
array(
'attr_spec_list' => array(
'media' => array(),
'noloading' => array(
'value' => '',
),
'referrerpolicy' => array(
'value' => 'no-referrer',
),
'src' => array(
'blacklisted_value_regex' => '__amp_source_origin',
'mandatory' => true,
'allow_empty' => true,
'allow_relative' => true,
'allowed_protocol' => array(
'https',
),
),
),
'tag_spec' => array(
'html_format' => array(
'amp',
'amp4ads',
),
'spec_url' => 'https://www.ampproject.org/docs/reference/components/amp-pixel',
),
),
),
'amp-playbuzz' => array(
array(
'attr_spec_list' => array(
'data-comments' => array(
'value_regex_casei' => '(false|true)',
),
'data-item' => array(),
'data-item-info' => array(
'value_regex_casei' => '(false|true)',
),
'data-share-buttons' => array(
'value_regex_casei' => '(false|true)',
),
'media' => array(),
'noloading' => array(
'value' => '',
),
'src' => array(),
),
'tag_spec' => array(
'html_format' => array(
'amp',
),
),
),
),
'amp-position-observer' => array(
array(
'attr_spec_list' => array(
'intersection-ratios' => array(
'value_regex' => '^([0]*?\\.\\d*$|1$|0$)|([0]*?\\.\\d*|1|0)\\s{1}([0]*?\\.\\d*$|1$|0$)',
),
'media' => array(),
'noloading' => array(
'value' => '',
),
'target' => array(),
'viewport-margins' => array(
'value_regex' => '^(\\d+$|\\d+px$|\\d+vh$)|((\\d+|\\d+px|\\d+vh)\\s{1}(\\d+$|\\d+px$|\\d+vh$))',
),
),
'tag_spec' => array(
'html_format' => array(
'amp',
'amp4ads',
),
),
),
),
'amp-reach-player' => array(
array(
'attr_spec_list' => array(
'data-embed-id' => array(
'mandatory' => true,
'value_regex' => '[0-9a-z-]+',
),
'media' => array(),
'noloading' => array(
'value' => '',
),
),
'tag_spec' => array(
'html_format' => array(
'amp',
),
),
),
),
'amp-reddit' => array(
array(
'attr_spec_list' => array(
'data-embedlive' => array(
'value_regex_casei' => '(false|true)',
),
'data-embedparent' => array(
'value_regex_casei' => '(false|true)',
),
'data-embedtype' => array(
'mandatory' => true,
'value_regex_casei' => '(comment|post)',
),
'data-src' => array(
'mandatory' => true,
),
'media' => array(),
'noloading' => array(
'value' => '',
),
),
'tag_spec' => array(
'html_format' => array(
'amp',
),
),
),
),
'amp-selector' => array(
array(
'attr_spec_list' => array(
'[selected]' => array(),
'disabled' => array(
'value' => '',
),
'form' => array(),
'keyboard-select-mode' => array(
'value_regex_casei' => 'focus|none|select',
),
'media' => array(),
'multiple' => array(
'value' => '',
),
'name' => array(
'blacklisted_value_regex' => '(^|\\s)(__amp_\\s*|__count__|__definegetter__|__definesetter__|__lookupgetter__|__lookupsetter__|__nosuchmethod__|__parent__|__proto__|__amp_\\s*|\\$p|\\$proxy|acceptcharset|addeventlistener|appendchild|assignedslot|attachshadow|baseuri|checkvalidity|childelementcount|childnodes|classlist|classname|clientheight|clientleft|clienttop|clientwidth|comparedocumentposition|computedname|computedrole|contenteditable|createshadowroot|enqueaction|firstchild|firstelementchild|getanimations|getattribute|getattributens|getattributenode|getattributenodens|getboundingclientrect|getclientrects|getdestinationinsertionpoints|getelementsbyclassname|getelementsbytagname|getelementsbytagnamens|getrootnode|hasattribute|hasattributens|hasattributes|haschildnodes|haspointercapture|innerhtml|innertext|inputmode|insertadjacentelement|insertadjacenthtml|insertadjacenttext|iscontenteditable|isdefaultnamespace|isequalnode|issamenode|lastchild|lastelementchild|lookupnamespaceuri|namespaceuri|nextelementsibling|nextsibling|nodename|nodetype|nodevalue|offsetheight|offsetleft|offsetparent|offsettop|offsetwidth|outerhtml|outertext|ownerdocument|parentelement|parentnode|previouselementsibling|previoussibling|queryselector|queryselectorall|releasepointercapture|removeattribute|removeattributens|removeattributenode|removechild|removeeventlistener|replacechild|reportvalidity|requestpointerlock|scrollheight|scrollintoview|scrollintoviewifneeded|scrollleft|scrollwidth|setattribute|setattributens|setattributenode|setattributenodens|setpointercapture|shadowroot|stylemap|tabindex|tagname|textcontent|tostring|valueof|(webkit|ms|moz|o)dropzone|(webkit|moz|ms|o)matchesselector|(webkit|moz|ms|o)requestfullscreen|(webkit|moz|ms|o)requestfullscreen)(\\s|$)',
),
'noloading' => array(
'value' => '',
),
),
'tag_spec' => array(
'disallowed_ancestor' => array(
'amp-selector',
),
'html_format' => array(
'amp',
),
),
),
),
'amp-sidebar' => array(
array(
'attr_spec_list' => array(
'media' => array(),
'noloading' => array(
'value' => '',
),
'side' => array(
'value_regex' => '(left|right)',
),
),
'tag_spec' => array(
'html_format' => array(
'amp',
),
'mandatory_parent' => 'body',
),
),
),
'amp-social-share' => array(
array(
'attr_spec_list' => array(
'data-share-endpoint' => array(
'blacklisted_value_regex' => '__amp_source_origin',
'allow_relative' => false,
'allowed_protocol' => array(
'bbmi',
'fb-messenger',
'ftp',
'http',
'https',
'intent',
'line',
'mailto',
'skype',
'sms',
'snapchat',
'tel',
'tg',
'threema',
'viber',
'whatsapp',
),
),
'media' => array(),
'noloading' => array(
'value' => '',
),
'type' => array(
'mandatory' => true,
),
),
'tag_spec' => array(
'html_format' => array(
'amp',
'amp4ads',
),
),
),
),
'amp-soundcloud' => array(
array(
'attr_spec_list' => array(
'data-color' => array(
'value_regex_casei' => '([0-9a-f]{3}){1,2}',
),
'data-playlistid' => array(
'value_regex' => '[0-9]+',
),
'data-secret-token' => array(
'value_regex' => '[a-za-z0-9_-]+',
),
'data-trackid' => array(
'value_regex' => '[0-9]+',
),
'data-visual' => array(
'value_regex' => 'true|false',
),
'media' => array(),
'noloading' => array(
'value' => '',
),
),
'tag_spec' => array(
'html_format' => array(
'amp',
),
),
),
),
'amp-springboard-player' => array(
array(
'attr_spec_list' => array(
'data-content-id' => array(
'mandatory' => true,
),
'data-domain' => array(
'mandatory' => true,
),
'data-items' => array(
'mandatory' => true,
),
'data-mode' => array(
'mandatory' => true,
'value_regex_casei' => 'playlist|video',
),
'data-player-id' => array(
'mandatory' => true,
'value_regex_casei' => '[a-z0-9]+',
),
'data-site-id' => array(
'mandatory' => true,
'value_regex' => '[0-9]+',
),
'media' => array(),
'noloading' => array(
'value' => '',
),
),
'tag_spec' => array(
'html_format' => array(
'amp',
),
),
),
),
'amp-state' => array(
array(
'attr_spec_list' => array(
'[src]' => array(),
'credentials' => array(),
'id' => array(
'mandatory' => true,
),
'src' => array(
'blacklisted_value_regex' => '__amp_source_origin',
'allow_relative' => true,
'allowed_protocol' => array(
'https',
),
),
),
'tag_spec' => array(
'html_format' => array(
'amp',
),
'spec_name' => 'amp-state',
'spec_url' => 'https://www.ampproject.org/docs/reference/components/amp-bind',
),
),
),
'amp-sticky-ad' => array(
array(
'attr_spec_list' => array(
'media' => array(),
'noloading' => array(
'value' => '',
),
),
'tag_spec' => array(
'disallowed_ancestor' => array(
'amp-app-banner',
),
'html_format' => array(
'amp',
),
'unique' => true,
),
),
),
'amp-story' => array(
array(
'attr_spec_list' => array(
'background-audio' => array(
'allowed_protocol' => array(
'http',
'https',
),
),
'bookend-config-src' => array(
'allowed_protocol' => array(
'http',
'https',
),
),
'standalone' => array(
'mandatory' => true,
'value' => '',
),
),
'tag_spec' => array(
'html_format' => array(
'amp',
),
'mandatory_parent' => 'body',
),
),
),
'amp-story-grid-layer' => array(
array(
'attr_spec_list' => array(
'template' => array(
'mandatory' => true,
'value_regex' => '(fill|horizontal|vertical|thirds)',
),
),
'tag_spec' => array(
'html_format' => array(
'amp',
),
'mandatory_ancestor' => 'amp-story-page',
),
),
),
'amp-story-page' => array(
array(
'attr_spec_list' => array(
'auto-advance-after' => array(),
'background-audio' => array(
'allowed_protocol' => array(
'http',
'https',
),
),
'id' => array(
'mandatory' => true,
),
),
'tag_spec' => array(
'html_format' => array(
'amp',
),
'mandatory_parent' => 'amp-story',
),
),
),
'amp-timeago' => array(
array(
'attr_spec_list' => array(
'cutoff' => array(
'value_regex' => '\\d+',
),
'datetime' => array(
'mandatory' => true,
'value_regex' => '\\d{4}-[01]\\d-[0-3]\\dt[0-2]\\d:[0-5]\\d(:[0-5]\\d(\\.\\d+)?)?(z|[+-][0-1][0-9]:[0-5][0-9])',
),
'locale' => array(),
'media' => array(),
'noloading' => array(
'value' => '',
),
),
'tag_spec' => array(
'html_format' => array(
'amp',
),
'spec_url' => 'https://www.ampproject.org/docs/reference/components/amp-timeago',
),
),
),
'amp-twitter' => array(
array(
'attr_spec_list' => array(
'data-tweetid' => array(
'mandatory' => true,
),
'media' => array(),
'noloading' => array(
'value' => '',
),
),
'tag_spec' => array(
'html_format' => array(
'amp',
),
),
),
),
'amp-user-notification' => array(
array(
'attr_spec_list' => array(
'data-dismiss-href' => array(
'allow_empty' => false,
'allow_relative' => false,
'allowed_protocol' => array(
'https',
),
),
'data-show-if-href' => array(
'allow_empty' => false,
'allow_relative' => false,
'allowed_protocol' => array(
'https',
),
),
'enctype' => array(
'value' => 'application/x-www-form-urlencoded',
),
'media' => array(),
'noloading' => array(
'value' => '',
),
),
'tag_spec' => array(
'html_format' => array(
'amp',
),
),
),
),
'amp-video' => array(
array(
'attr_spec_list' => array(
'[album]' => array(),
'[alt]' => array(),
'[artist]' => array(),
'[artwork]' => array(),
'[attribution]' => array(),
'[controls]' => array(),
'[controlslist]' => array(),
'[loop]' => array(),
'[poster]' => array(),
'[preload]' => array(),
'[src]' => array(),
'[title]' => array(),
'album' => array(),
'alt' => array(),
'artist' => array(),
'artwork' => array(),
'attribution' => array(),
'autoplay' => array(
'value' => '',
),
'controls' => array(
'value' => '',
),
'controlslist' => array(),
'crossorigin' => array(),
'disableremoteplayback' => array(
'value' => '',
),
'loop' => array(
'value' => '',
),
'media' => array(),
'muted' => array(
'value' => '',
),
'noloading' => array(
'value' => '',
),
'placeholder' => array(),
'poster' => array(),
'preload' => array(
'value_regex' => '(none|metadata|auto|)',
),
'src' => array(
'blacklisted_value_regex' => '__amp_source_origin',
'allow_relative' => true,
'allowed_protocol' => array(
'https',
),
),
),
'tag_spec' => array(
'disallowed_ancestor' => array(
'amp-story',
),
'html_format' => array(
'amp',
'amp4ads',
),
'spec_url' => 'https://www.ampproject.org/docs/reference/components/amp-video',
),
),
array(
'attr_spec_list' => array(
'[album]' => array(),
'[alt]' => array(),
'[artist]' => array(),
'[artwork]' => array(),
'[attribution]' => array(),
'[controls]' => array(),
'[controlslist]' => array(),
'[loop]' => array(),
'[poster]' => array(),
'[preload]' => array(),
'[src]' => array(),
'[title]' => array(),
'album' => array(),
'alt' => array(),
'artist' => array(),
'artwork' => array(),
'attribution' => array(),
'autoplay' => array(
'value' => '',
),
'controls' => array(
'value' => '',
),
'controlslist' => array(),
'crossorigin' => array(),
'disableremoteplayback' => array(
'value' => '',
),
'loop' => array(
'value' => '',
),
'media' => array(),
'muted' => array(
'value' => '',
),
'noloading' => array(
'value' => '',
),
'placeholder' => array(),
'poster' => array(
'mandatory' => true,
),
'preload' => array(
'value_regex' => '(none|metadata|auto|)',
),
'src' => array(
'blacklisted_value_regex' => '__amp_source_origin',
'allow_relative' => true,
'allowed_protocol' => array(
'https',
),
),
),
'tag_spec' => array(
'html_format' => array(
'amp',
'amp4ads',
),
'mandatory_ancestor' => 'amp-story',
'spec_name' => 'amp-story >> amp-video',
'spec_url' => 'https://www.ampproject.org/docs/reference/components/amp-video',
),
),
),
'amp-vimeo' => array(
array(
'attr_spec_list' => array(
'data-videoid' => array(
'mandatory' => true,
'value_regex' => '[0-9]+',
),
'media' => array(),
'noloading' => array(
'value' => '',
),
),
'tag_spec' => array(
'html_format' => array(
'amp',
),
),
),
),
'amp-vine' => array(
array(
'attr_spec_list' => array(
'data-vineid' => array(
'mandatory' => true,
),
'media' => array(),
'noloading' => array(
'value' => '',
),
),
'tag_spec' => array(
'html_format' => array(
'amp',
),
),
),
),
'amp-vk' => array(
array(
'attr_spec_list' => array(
'data-embedtype' => array(
'mandatory' => true,
),
'media' => array(),
'noloading' => array(
'value' => '',
),
),
'tag_spec' => array(
'html_format' => array(
'amp',
),
),
),
),
'amp-web-push' => array(
array(
'attr_spec_list' => array(
'helper-iframe-url' => array(
'mandatory' => true,
'allow_relative' => false,
'allowed_protocol' => array(
'https',
),
),
'id' => array(
'mandatory' => true,
'value_regex' => 'amp-web-push',
),
'media' => array(),
'noloading' => array(
'value' => '',
),
'permission-dialog-url' => array(
'mandatory' => true,
'allow_relative' => false,
'allowed_protocol' => array(
'https',
),
),
'service-worker-url' => array(
'mandatory' => true,
'allow_relative' => false,
'allowed_protocol' => array(
'https',
),
),
),
'tag_spec' => array(
'html_format' => array(
'amp',
),
'spec_url' => 'https://www.ampproject.org/docs/reference/components/amp-web-push',
),
),
),
'amp-web-push-widget' => array(
array(
'attr_spec_list' => array(
'media' => array(),
'noloading' => array(
'value' => '',
),
'visibility' => array(
'mandatory' => true,
'value_regex' => '(blocked|subscribed|unsubscribed)',
),
),
'tag_spec' => array(
'html_format' => array(
'amp',
),
'spec_url' => 'https://www.ampproject.org/docs/reference/components/amp-web-push',
),
),
),
'amp-youtube' => array(
array(
'attr_spec_list' => array(
'[data-videoid]' => array(),
'autoplay' => array(),
'credentials' => array(
'value_regex_casei' => '(include|omit)',
),
'data-videoid' => array(
'mandatory' => true,
'value_regex' => '[^=/?:]+',
),
'media' => array(),
'noloading' => array(
'value' => '',
),
),
'tag_spec' => array(),
),
),
'article' => array(
array(
'attr_spec_list' => array(),
'tag_spec' => array(),
),
),
'aside' => array(
array(
'attr_spec_list' => array(),
'tag_spec' => array(),
),
),
'audio' => array(
array(
'attr_spec_list' => array(
'autoplay' => array(),
'controls' => array(),
'loop' => array(),
'muted' => array(),
'preload' => array(),
'src' => array(
'blacklisted_value_regex' => '__amp_source_origin',
'allow_relative' => false,
'allowed_protocol' => array(
'data',
'https',
),
),
),
'tag_spec' => array(
'html_format' => array(
'amp',
),
'mandatory_ancestor' => 'noscript',
'mandatory_ancestor_suggested_alternative' => 'amp-audio',
'spec_url' => 'https://www.ampproject.org/docs/reference/components/amp-audio',
),
),
),
'b' => array(
array(
'attr_spec_list' => array(),
'tag_spec' => array(),
),
),
'bdi' => array(
array(
'attr_spec_list' => array(),
'tag_spec' => array(),
),
),
'bdo' => array(
array(
'attr_spec_list' => array(
'dir' => array(),
),
'tag_spec' => array(),
),
),
'big' => array(
array(
'attr_spec_list' => array(),
'tag_spec' => array(
'html_format' => array(
'amp',
),
),
),
),
'blockquote' => array(
array(
'attr_spec_list' => array(
'align' => array(),
'cite' => array(
'blacklisted_value_regex' => '__amp_source_origin',
'allow_empty' => true,
'allow_relative' => true,
'allowed_protocol' => array(
'http',
'https',
),
),
),
'tag_spec' => array(),
),
),
'body' => array(
array(
'attr_spec_list' => array(),
'tag_spec' => array(
'mandatory' => true,
'mandatory_parent' => 'html',
'spec_url' => 'https://www.ampproject.org/docs/reference/spec#required-markup',
'unique' => true,
),
),
),
'br' => array(
array(
'attr_spec_list' => array(),
'tag_spec' => array(),
),
),
'button' => array(
array(
'attr_spec_list' => array(
'[disabled]' => array(),
'[type]' => array(),
'[value]' => array(),
'disabled' => array(
'value' => '',
),
'name' => array(
'blacklisted_value_regex' => '(^|\\s)(__amp_\\s*|__count__|__definegetter__|__definesetter__|__lookupgetter__|__lookupsetter__|__nosuchmethod__|__parent__|__proto__|__amp_\\s*|\\$p|\\$proxy|acceptcharset|addeventlistener|appendchild|assignedslot|attachshadow|baseuri|checkvalidity|childelementcount|childnodes|classlist|classname|clientheight|clientleft|clienttop|clientwidth|comparedocumentposition|computedname|computedrole|contenteditable|createshadowroot|enqueaction|firstchild|firstelementchild|getanimations|getattribute|getattributens|getattributenode|getattributenodens|getboundingclientrect|getclientrects|getdestinationinsertionpoints|getelementsbyclassname|getelementsbytagname|getelementsbytagnamens|getrootnode|hasattribute|hasattributens|hasattributes|haschildnodes|haspointercapture|innerhtml|innertext|inputmode|insertadjacentelement|insertadjacenthtml|insertadjacenttext|iscontenteditable|isdefaultnamespace|isequalnode|issamenode|lastchild|lastelementchild|lookupnamespaceuri|namespaceuri|nextelementsibling|nextsibling|nodename|nodetype|nodevalue|offsetheight|offsetleft|offsetparent|offsettop|offsetwidth|outerhtml|outertext|ownerdocument|parentelement|parentnode|previouselementsibling|previoussibling|queryselector|queryselectorall|releasepointercapture|removeattribute|removeattributens|removeattributenode|removechild|removeeventlistener|replacechild|reportvalidity|requestpointerlock|scrollheight|scrollintoview|scrollintoviewifneeded|scrollleft|scrollwidth|setattribute|setattributens|setattributenode|setattributenodens|setpointercapture|shadowroot|stylemap|tabindex|tagname|textcontent|tostring|valueof|(webkit|ms|moz|o)dropzone|(webkit|moz|ms|o)matchesselector|(webkit|moz|ms|o)requestfullscreen|(webkit|moz|ms|o)requestfullscreen)(\\s|$)',
),
'role' => array(),
'tabindex' => array(),
'type' => array(),
'value' => array(),
),
'tag_spec' => array(),
),
array(
'attr_spec_list' => array(
'name' => array(
'blacklisted_value_regex' => '(^|\\s)(__amp_\\s*|__count__|__definegetter__|__definesetter__|__lookupgetter__|__lookupsetter__|__nosuchmethod__|__parent__|__proto__|__amp_\\s*|\\$p|\\$proxy|acceptcharset|addeventlistener|appendchild|assignedslot|attachshadow|baseuri|checkvalidity|childelementcount|childnodes|classlist|classname|clientheight|clientleft|clienttop|clientwidth|comparedocumentposition|computedname|computedrole|contenteditable|createshadowroot|enqueaction|firstchild|firstelementchild|getanimations|getattribute|getattributens|getattributenode|getattributenodens|getboundingclientrect|getclientrects|getdestinationinsertionpoints|getelementsbyclassname|getelementsbytagname|getelementsbytagnamens|getrootnode|hasattribute|hasattributens|hasattributes|haschildnodes|haspointercapture|innerhtml|innertext|inputmode|insertadjacentelement|insertadjacenthtml|insertadjacenttext|iscontenteditable|isdefaultnamespace|isequalnode|issamenode|lastchild|lastelementchild|lookupnamespaceuri|namespaceuri|nextelementsibling|nextsibling|nodename|nodetype|nodevalue|offsetheight|offsetleft|offsetparent|offsettop|offsetwidth|outerhtml|outertext|ownerdocument|parentelement|parentnode|previouselementsibling|previoussibling|queryselector|queryselectorall|releasepointercapture|removeattribute|removeattributens|removeattributenode|removechild|removeeventlistener|replacechild|reportvalidity|requestpointerlock|scrollheight|scrollintoview|scrollintoviewifneeded|scrollleft|scrollwidth|setattribute|setattributens|setattributenode|setattributenodens|setpointercapture|shadowroot|stylemap|tabindex|tagname|textcontent|tostring|valueof|(webkit|ms|moz|o)dropzone|(webkit|moz|ms|o)matchesselector|(webkit|moz|ms|o)requestfullscreen|(webkit|moz|ms|o)requestfullscreen)(\\s|$)',
),
'open-button' => array(
'value' => '',
),
'role' => array(),
'tabindex' => array(),
'type' => array(),
'value' => array(),
),
'tag_spec' => array(
'html_format' => array(
'amp',
'amp4ads',
),
'mandatory_ancestor' => 'amp-app-banner',
'spec_name' => 'amp-app-banner button[open-button]',
),
),
),
'caption' => array(
array(
'attr_spec_list' => array(),
'tag_spec' => array(),
),
),
'center' => array(
array(
'attr_spec_list' => array(),
'tag_spec' => array(
'html_format' => array(
'amp',
),
),
),
),
'circle' => array(
array(
'attr_spec_list' => array(
'alignment-baseline' => array(),
'baseline-shift' => array(),
'clip' => array(),
'clip-path' => array(),
'clip-rule' => array(),
'color' => array(),
'color-interpolation' => array(),
'color-interpolation-filters' => array(),
'color-profile' => array(),
'color-rendering' => array(),
'cursor' => array(),
'cx' => array(),
'cy' => array(),
'direction' => array(),
'display' => array(),
'dominant-baseline' => array(),
'enable-background' => array(),
'externalresourcesrequired' => array(),
'fill' => array(),
'fill-opacity' => array(),
'fill-rule' => array(),
'filter' => array(),
'flood-color' => array(),
'flood-opacity' => array(),
'font-family' => array(),
'font-size' => array(),
'font-size-adjust' => array(),
'font-stretch' => array(),
'font-style' => array(),
'font-variant' => array(),
'font-weight' => array(),
'glyph-orientation-horizontal' => array(),
'glyph-orientation-vertical' => array(),
'image-rendering' => array(),
'kerning' => array(),
'letter-spacing' => array(),
'lighting-color' => array(),
'marker-end' => array(),
'marker-mid' => array(),
'marker-start' => array(),
'mask' => array(),
'opacity' => array(),
'overflow' => array(),
'pointer-events' => array(),
'r' => array(),
'requiredextensions' => array(),
'requiredfeatures' => array(),
'shape-rendering' => array(),
'sketch:type' => array(),
'stop-color' => array(),
'stop-opacity' => array(),
'stroke' => array(),
'stroke-dasharray' => array(),
'stroke-dashoffset' => array(),
'stroke-linecap' => array(),
'stroke-linejoin' => array(),
'stroke-miterlimit' => array(),
'stroke-opacity' => array(),
'stroke-width' => array(),
'style' => array(
'blacklisted_value_regex' => '!important',
),
'systemlanguage' => array(),
'text-anchor' => array(),
'text-decoration' => array(),
'text-rendering' => array(),
'transform' => array(),
'unicode-bidi' => array(),
'vector-effect' => array(),
'visibility' => array(),
'word-spacing' => array(),
'writing-mode' => array(),
'xml:lang' => array(),
'xml:space' => array(),
'xmlns' => array(),
'xmlns:xlink' => array(),
),
'tag_spec' => array(
'html_format' => array(
'amp',
'amp4ads',
),
'mandatory_ancestor' => 'svg',
'spec_url' => 'https://www.ampproject.org/docs/reference/spec#svg',
),
),
),
'cite' => array(
array(
'attr_spec_list' => array(),
'tag_spec' => array(),
),
),
'clippath' => array(
array(
'attr_spec_list' => array(
'alignment-baseline' => array(),
'baseline-shift' => array(),
'clip' => array(),
'clip-path' => array(),
'clip-rule' => array(),
'clippathunits' => array(),
'color' => array(),
'color-interpolation' => array(),
'color-interpolation-filters' => array(),
'color-profile' => array(),
'color-rendering' => array(),
'cursor' => array(),
'direction' => array(),
'display' => array(),
'dominant-baseline' => array(),
'enable-background' => array(),
'externalresourcesrequired' => array(),
'fill' => array(),
'fill-opacity' => array(),
'fill-rule' => array(),
'filter' => array(),
'flood-color' => array(),
'flood-opacity' => array(),
'font-family' => array(),
'font-size' => array(),
'font-size-adjust' => array(),
'font-stretch' => array(),
'font-style' => array(),
'font-variant' => array(),
'font-weight' => array(),
'glyph-orientation-horizontal' => array(),
'glyph-orientation-vertical' => array(),
'image-rendering' => array(),
'kerning' => array(),
'letter-spacing' => array(),
'lighting-color' => array(),
'marker-end' => array(),
'marker-mid' => array(),
'marker-start' => array(),
'mask' => array(),
'opacity' => array(),
'overflow' => array(),
'pointer-events' => array(),
'requiredextensions' => array(),
'requiredfeatures' => array(),
'shape-rendering' => array(),
'stop-color' => array(),
'stop-opacity' => array(),
'stroke' => array(),
'stroke-dasharray' => array(),
'stroke-dashoffset' => array(),
'stroke-linecap' => array(),
'stroke-linejoin' => array(),
'stroke-miterlimit' => array(),
'stroke-opacity' => array(),
'stroke-width' => array(),
'style' => array(
'blacklisted_value_regex' => '!important',
),
'systemlanguage' => array(),
'text-anchor' => array(),
'text-decoration' => array(),
'text-rendering' => array(),
'transform' => array(),
'unicode-bidi' => array(),
'vector-effect' => array(),
'visibility' => array(),
'word-spacing' => array(),
'writing-mode' => array(),
'xml:lang' => array(),
'xml:space' => array(),
'xmlns' => array(),
'xmlns:xlink' => array(),
),
'tag_spec' => array(
'html_format' => array(
'amp',
'amp4ads',
),
'mandatory_ancestor' => 'svg',
'spec_url' => 'https://www.ampproject.org/docs/reference/spec#svg',
),
),
),
'code' => array(
array(
'attr_spec_list' => array(),
'tag_spec' => array(),
),
),
'col' => array(
array(
'attr_spec_list' => array(
'span' => array(),
),
'tag_spec' => array(),
),
),
'colgroup' => array(
array(
'attr_spec_list' => array(
'span' => array(),
),
'tag_spec' => array(),
),
),
'data' => array(
array(
'attr_spec_list' => array(),
'tag_spec' => array(),
),
),
'datalist' => array(
array(
'attr_spec_list' => array(),
'tag_spec' => array(
'spec_url' => 'https://www.ampproject.org/docs/reference/components/amp-form',
),
),
),
'dd' => array(
array(
'attr_spec_list' => array(),
'tag_spec' => array(),
),
),
'defs' => array(
array(
'attr_spec_list' => array(
'alignment-baseline' => array(),
'baseline-shift' => array(),
'clip' => array(),
'clip-path' => array(),
'clip-rule' => array(),
'color' => array(),
'color-interpolation' => array(),
'color-interpolation-filters' => array(),
'color-profile' => array(),
'color-rendering' => array(),
'cursor' => array(),
'direction' => array(),
'display' => array(),
'dominant-baseline' => array(),
'enable-background' => array(),
'externalresourcesrequired' => array(),
'fill' => array(),
'fill-opacity' => array(),
'fill-rule' => array(),
'filter' => array(),
'flood-color' => array(),
'flood-opacity' => array(),
'font-family' => array(),
'font-size' => array(),
'font-size-adjust' => array(),
'font-stretch' => array(),
'font-style' => array(),
'font-variant' => array(),
'font-weight' => array(),
'glyph-orientation-horizontal' => array(),
'glyph-orientation-vertical' => array(),
'image-rendering' => array(),
'kerning' => array(),
'letter-spacing' => array(),
'lighting-color' => array(),
'marker-end' => array(),
'marker-mid' => array(),
'marker-start' => array(),
'mask' => array(),
'opacity' => array(),
'overflow' => array(),
'pointer-events' => array(),
'requiredextensions' => array(),
'requiredfeatures' => array(),
'shape-rendering' => array(),
'stop-color' => array(),
'stop-opacity' => array(),
'stroke' => array(),
'stroke-dasharray' => array(),
'stroke-dashoffset' => array(),
'stroke-linecap' => array(),
'stroke-linejoin' => array(),
'stroke-miterlimit' => array(),
'stroke-opacity' => array(),
'stroke-width' => array(),
'style' => array(
'blacklisted_value_regex' => '!important',
),
'systemlanguage' => array(),
'text-anchor' => array(),
'text-decoration' => array(),
'text-rendering' => array(),
'transform' => array(),
'unicode-bidi' => array(),
'vector-effect' => array(),
'visibility' => array(),
'word-spacing' => array(),
'writing-mode' => array(),
'xml:lang' => array(),
'xml:space' => array(),
'xmlns' => array(),
'xmlns:xlink' => array(),
),
'tag_spec' => array(
'html_format' => array(
'amp',
'amp4ads',
),
'mandatory_ancestor' => 'svg',
'spec_url' => 'https://www.ampproject.org/docs/reference/spec#svg',
),
),
),
'del' => array(
array(
'attr_spec_list' => array(
'cite' => array(
'blacklisted_value_regex' => '__amp_source_origin',
'allow_empty' => true,
'allow_relative' => true,
'allowed_protocol' => array(
'http',
'https',
),
),
'datetime' => array(),
),
'tag_spec' => array(),
),
),
'desc' => array(
array(
'attr_spec_list' => array(
'style' => array(
'blacklisted_value_regex' => '!important',
),
'xml:lang' => array(),
'xml:space' => array(),
'xmlns' => array(),
'xmlns:xlink' => array(),
),
'tag_spec' => array(
'html_format' => array(
'amp',
'amp4ads',
),
'mandatory_ancestor' => 'svg',
'spec_url' => 'https://www.ampproject.org/docs/reference/spec#svg',
),
),
),
'dfn' => array(
array(
'attr_spec_list' => array(),
'tag_spec' => array(),
),
),
'dir' => array(
array(
'attr_spec_list' => array(),
'tag_spec' => array(
'html_format' => array(
'amp',
),
),
),
),
'div' => array(
array(
'attr_spec_list' => array(
'align' => array(),
),
'tag_spec' => array(),
),
array(
'attr_spec_list' => array(
'align' => array(),
'submitting' => array(
'mandatory' => true,
),
),
'tag_spec' => array(
'mandatory_parent' => 'form',
'spec_name' => 'form > div [submitting]',
),
),
array(
'attr_spec_list' => array(
'align' => array(),
'submit-success' => array(
'mandatory' => true,
),
),
'tag_spec' => array(
'mandatory_parent' => 'form',
'spec_name' => 'form > div [submit-success]',
),
),
array(
'attr_spec_list' => array(
'align' => array(),
'submit-error' => array(
'mandatory' => true,
),
),
'tag_spec' => array(
'mandatory_parent' => 'form',
'spec_name' => 'form > div [submit-error]',
),
),
),
'dl' => array(
array(
'attr_spec_list' => array(),
'tag_spec' => array(),
),
),
'dt' => array(
array(
'attr_spec_list' => array(),
'tag_spec' => array(),
),
),
'ellipse' => array(
array(
'attr_spec_list' => array(
'alignment-baseline' => array(),
'baseline-shift' => array(),
'clip' => array(),
'clip-path' => array(),
'clip-rule' => array(),
'color' => array(),
'color-interpolation' => array(),
'color-interpolation-filters' => array(),
'color-profile' => array(),
'color-rendering' => array(),
'cursor' => array(),
'cx' => array(),
'cy' => array(),
'direction' => array(),
'display' => array(),
'dominant-baseline' => array(),
'enable-background' => array(),
'externalresourcesrequired' => array(),
'fill' => array(),
'fill-opacity' => array(),
'fill-rule' => array(),
'filter' => array(),
'flood-color' => array(),
'flood-opacity' => array(),
'font-family' => array(),
'font-size' => array(),
'font-size-adjust' => array(),
'font-stretch' => array(),
'font-style' => array(),
'font-variant' => array(),
'font-weight' => array(),
'glyph-orientation-horizontal' => array(),
'glyph-orientation-vertical' => array(),
'image-rendering' => array(),
'kerning' => array(),
'letter-spacing' => array(),
'lighting-color' => array(),
'marker-end' => array(),
'marker-mid' => array(),
'marker-start' => array(),
'mask' => array(),
'opacity' => array(),
'overflow' => array(),
'pointer-events' => array(),
'requiredextensions' => array(),
'requiredfeatures' => array(),
'rx' => array(),
'ry' => array(),
'shape-rendering' => array(),
'sketch:type' => array(),
'stop-color' => array(),
'stop-opacity' => array(),
'stroke' => array(),
'stroke-dasharray' => array(),
'stroke-dashoffset' => array(),
'stroke-linecap' => array(),
'stroke-linejoin' => array(),
'stroke-miterlimit' => array(),
'stroke-opacity' => array(),
'stroke-width' => array(),
'style' => array(
'blacklisted_value_regex' => '!important',
),
'systemlanguage' => array(),
'text-anchor' => array(),
'text-decoration' => array(),
'text-rendering' => array(),
'transform' => array(),
'unicode-bidi' => array(),
'vector-effect' => array(),
'visibility' => array(),
'word-spacing' => array(),
'writing-mode' => array(),
'xml:lang' => array(),
'xml:space' => array(),
'xmlns' => array(),
'xmlns:xlink' => array(),
),
'tag_spec' => array(
'html_format' => array(
'amp',
'amp4ads',
),
'mandatory_ancestor' => 'svg',
'spec_url' => 'https://www.ampproject.org/docs/reference/spec#svg',
),
),
),
'em' => array(
array(
'attr_spec_list' => array(),
'tag_spec' => array(),
),
),
'fecolormatrix' => array(
array(
'attr_spec_list' => array(
'alignment-baseline' => array(),
'baseline-shift' => array(),
'clip' => array(),
'clip-path' => array(),
'clip-rule' => array(),
'color' => array(),
'color-interpolation' => array(),
'color-interpolation-filters' => array(),
'color-profile' => array(),
'color-rendering' => array(),
'cursor' => array(),
'direction' => array(),
'display' => array(),
'dominant-baseline' => array(),
'enable-background' => array(),
'fill' => array(),
'fill-opacity' => array(),
'fill-rule' => array(),
'filter' => array(),
'flood-color' => array(),
'flood-opacity' => array(),
'font-family' => array(),
'font-size' => array(),
'font-size-adjust' => array(),
'font-stretch' => array(),
'font-style' => array(),
'font-variant' => array(),
'font-weight' => array(),
'glyph-orientation-horizontal' => array(),
'glyph-orientation-vertical' => array(),
'height' => array(),
'image-rendering' => array(),
'in' => array(),
'kerning' => array(),
'letter-spacing' => array(),
'lighting-color' => array(),
'marker-end' => array(),
'marker-mid' => array(),
'marker-start' => array(),
'mask' => array(),
'opacity' => array(),
'overflow' => array(),
'pointer-events' => array(),
'result' => array(),
'shape-rendering' => array(),
'stop-color' => array(),
'stop-opacity' => array(),
'stroke' => array(),
'stroke-dasharray' => array(),
'stroke-dashoffset' => array(),
'stroke-linecap' => array(),
'stroke-linejoin' => array(),
'stroke-miterlimit' => array(),
'stroke-opacity' => array(),
'stroke-width' => array(),
'style' => array(
'blacklisted_value_regex' => '!important',
),
'text-anchor' => array(),
'text-decoration' => array(),
'text-rendering' => array(),
'type' => array(),
'unicode-bidi' => array(),
'values' => array(),
'vector-effect' => array(),
'visibility' => array(),
'width' => array(),
'word-spacing' => array(),
'writing-mode' => array(),
'x' => array(),
'xml:lang' => array(),
'xml:space' => array(),
'xmlns' => array(),
'xmlns:xlink' => array(),
'y' => array(),
),
'tag_spec' => array(
'html_format' => array(
'amp',
'amp4ads',
),
'mandatory_ancestor' => 'svg',
'spec_url' => 'https://www.ampproject.org/docs/reference/spec#svg',
),
),
),
'fecomposite' => array(
array(
'attr_spec_list' => array(
'alignment-baseline' => array(),
'baseline-shift' => array(),
'clip' => array(),
'clip-path' => array(),
'clip-rule' => array(),
'color' => array(),
'color-interpolation' => array(),
'color-interpolation-filters' => array(),
'color-profile' => array(),
'color-rendering' => array(),
'cursor' => array(),
'direction' => array(),
'display' => array(),
'dominant-baseline' => array(),
'enable-background' => array(),
'fill' => array(),
'fill-opacity' => array(),
'fill-rule' => array(),
'filter' => array(),
'flood-color' => array(),
'flood-opacity' => array(),
'font-family' => array(),
'font-size' => array(),
'font-size-adjust' => array(),
'font-stretch' => array(),
'font-style' => array(),
'font-variant' => array(),
'font-weight' => array(),
'glyph-orientation-horizontal' => array(),
'glyph-orientation-vertical' => array(),
'height' => array(),
'image-rendering' => array(),
'in' => array(),
'in2' => array(),
'k1' => array(),
'k2' => array(),
'k3' => array(),
'k4' => array(),
'kerning' => array(),
'letter-spacing' => array(),
'lighting-color' => array(),
'marker-end' => array(),
'marker-mid' => array(),
'marker-start' => array(),
'mask' => array(),
'opacity' => array(),
'operator' => array(),
'overflow' => array(),
'pointer-events' => array(),
'result' => array(),
'shape-rendering' => array(),
'stop-color' => array(),
'stop-opacity' => array(),
'stroke' => array(),
'stroke-dasharray' => array(),
'stroke-dashoffset' => array(),
'stroke-linecap' => array(),
'stroke-linejoin' => array(),
'stroke-miterlimit' => array(),
'stroke-opacity' => array(),
'stroke-width' => array(),
'style' => array(
'blacklisted_value_regex' => '!important',
),
'text-anchor' => array(),
'text-decoration' => array(),
'text-rendering' => array(),
'unicode-bidi' => array(),
'vector-effect' => array(),
'visibility' => array(),
'width' => array(),
'word-spacing' => array(),
'writing-mode' => array(),
'x' => array(),
'xml:lang' => array(),
'xml:space' => array(),
'xmlns' => array(),
'xmlns:xlink' => array(),
'y' => array(),
),
'tag_spec' => array(
'html_format' => array(
'amp',
'amp4ads',
),
'mandatory_ancestor' => 'svg',
'spec_url' => 'https://www.ampproject.org/docs/reference/spec#svg',
),
),
),
'feflood' => array(
array(
'attr_spec_list' => array(
'alignment-baseline' => array(),
'baseline-shift' => array(),
'clip' => array(),
'clip-path' => array(),
'clip-rule' => array(),
'color' => array(),
'color-interpolation' => array(),
'color-interpolation-filters' => array(),
'color-profile' => array(),
'color-rendering' => array(),
'cursor' => array(),
'direction' => array(),
'display' => array(),
'dominant-baseline' => array(),
'enable-background' => array(),
'fill' => array(),
'fill-opacity' => array(),
'fill-rule' => array(),
'filter' => array(),
'flood-color' => array(),
'flood-opacity' => array(),
'font-family' => array(),
'font-size' => array(),
'font-size-adjust' => array(),
'font-stretch' => array(),
'font-style' => array(),
'font-variant' => array(),
'font-weight' => array(),
'glyph-orientation-horizontal' => array(),
'glyph-orientation-vertical' => array(),
'height' => array(),
'image-rendering' => array(),
'kerning' => array(),
'letter-spacing' => array(),
'lighting-color' => array(),
'marker-end' => array(),
'marker-mid' => array(),
'marker-start' => array(),
'mask' => array(),
'opacity' => array(),
'overflow' => array(),
'pointer-events' => array(),
'result' => array(),
'shape-rendering' => array(),
'stop-color' => array(),
'stop-opacity' => array(),
'stroke' => array(),
'stroke-dasharray' => array(),
'stroke-dashoffset' => array(),
'stroke-linecap' => array(),
'stroke-linejoin' => array(),
'stroke-miterlimit' => array(),
'stroke-opacity' => array(),
'stroke-width' => array(),
'style' => array(
'blacklisted_value_regex' => '!important',
),
'text-anchor' => array(),
'text-decoration' => array(),
'text-rendering' => array(),
'unicode-bidi' => array(),
'vector-effect' => array(),
'visibility' => array(),
'width' => array(),
'word-spacing' => array(),
'writing-mode' => array(),
'x' => array(),
'xml:lang' => array(),
'xml:space' => array(),
'xmlns' => array(),
'xmlns:xlink' => array(),
'y' => array(),
),
'tag_spec' => array(
'html_format' => array(
'amp',
'amp4ads',
),
'mandatory_ancestor' => 'svg',
'spec_url' => 'https://www.ampproject.org/docs/reference/spec#svg',
),
),
),
'fegaussianblur' => array(
array(
'attr_spec_list' => array(
'alignment-baseline' => array(),
'baseline-shift' => array(),
'clip' => array(),
'clip-path' => array(),
'clip-rule' => array(),
'color' => array(),
'color-interpolation' => array(),
'color-interpolation-filters' => array(),
'color-profile' => array(),
'color-rendering' => array(),
'cursor' => array(),
'direction' => array(),
'display' => array(),
'dominant-baseline' => array(),
'edgemode' => array(),
'enable-background' => array(),
'fill' => array(),
'fill-opacity' => array(),
'fill-rule' => array(),
'filter' => array(),
'flood-color' => array(),
'flood-opacity' => array(),
'font-family' => array(),
'font-size' => array(),
'font-size-adjust' => array(),
'font-stretch' => array(),
'font-style' => array(),
'font-variant' => array(),
'font-weight' => array(),
'glyph-orientation-horizontal' => array(),
'glyph-orientation-vertical' => array(),
'height' => array(),
'image-rendering' => array(),
'in' => array(),
'kerning' => array(),
'letter-spacing' => array(),
'lighting-color' => array(),
'marker-end' => array(),
'marker-mid' => array(),
'marker-start' => array(),
'mask' => array(),
'opacity' => array(),
'overflow' => array(),
'pointer-events' => array(),
'result' => array(),
'shape-rendering' => array(),
'stddeviation' => array(),
'stop-color' => array(),
'stop-opacity' => array(),
'stroke' => array(),
'stroke-dasharray' => array(),
'stroke-dashoffset' => array(),
'stroke-linecap' => array(),
'stroke-linejoin' => array(),
'stroke-miterlimit' => array(),
'stroke-opacity' => array(),
'stroke-width' => array(),
'style' => array(
'blacklisted_value_regex' => '!important',
),
'text-anchor' => array(),
'text-decoration' => array(),
'text-rendering' => array(),
'unicode-bidi' => array(),
'vector-effect' => array(),
'visibility' => array(),
'width' => array(),
'word-spacing' => array(),
'writing-mode' => array(),
'x' => array(),
'xml:lang' => array(),
'xml:space' => array(),
'xmlns' => array(),
'xmlns:xlink' => array(),
'y' => array(),
),
'tag_spec' => array(
'html_format' => array(
'amp',
'amp4ads',
),
'mandatory_ancestor' => 'svg',
'spec_url' => 'https://www.ampproject.org/docs/reference/spec#svg',
),
),
),
'femerge' => array(
array(
'attr_spec_list' => array(
'alignment-baseline' => array(),
'baseline-shift' => array(),
'clip' => array(),
'clip-path' => array(),
'clip-rule' => array(),
'color' => array(),
'color-interpolation' => array(),
'color-interpolation-filters' => array(),
'color-profile' => array(),
'color-rendering' => array(),
'cursor' => array(),
'direction' => array(),
'display' => array(),
'dominant-baseline' => array(),
'enable-background' => array(),
'fill' => array(),
'fill-opacity' => array(),
'fill-rule' => array(),
'filter' => array(),
'flood-color' => array(),
'flood-opacity' => array(),
'font-family' => array(),
'font-size' => array(),
'font-size-adjust' => array(),
'font-stretch' => array(),
'font-style' => array(),
'font-variant' => array(),
'font-weight' => array(),
'glyph-orientation-horizontal' => array(),
'glyph-orientation-vertical' => array(),
'height' => array(),
'image-rendering' => array(),
'kerning' => array(),
'letter-spacing' => array(),
'lighting-color' => array(),
'marker-end' => array(),
'marker-mid' => array(),
'marker-start' => array(),
'mask' => array(),
'opacity' => array(),
'overflow' => array(),
'pointer-events' => array(),
'result' => array(),
'shape-rendering' => array(),
'stop-color' => array(),
'stop-opacity' => array(),
'stroke' => array(),
'stroke-dasharray' => array(),
'stroke-dashoffset' => array(),
'stroke-linecap' => array(),
'stroke-linejoin' => array(),
'stroke-miterlimit' => array(),
'stroke-opacity' => array(),
'stroke-width' => array(),
'style' => array(
'blacklisted_value_regex' => '!important',
),
'text-anchor' => array(),
'text-decoration' => array(),
'text-rendering' => array(),
'unicode-bidi' => array(),
'vector-effect' => array(),
'visibility' => array(),
'width' => array(),
'word-spacing' => array(),
'writing-mode' => array(),
'x' => array(),
'xml:lang' => array(),
'xml:space' => array(),
'xmlns' => array(),
'xmlns:xlink' => array(),
'y' => array(),
),
'tag_spec' => array(
'html_format' => array(
'amp',
'amp4ads',
),
'mandatory_ancestor' => 'svg',
'spec_url' => 'https://www.ampproject.org/docs/reference/spec#svg',
),
),
),
'femergenode' => array(
array(
'attr_spec_list' => array(
'in' => array(),
'style' => array(
'blacklisted_value_regex' => '!important',
),
'xml:lang' => array(),
'xml:space' => array(),
'xmlns' => array(),
'xmlns:xlink' => array(),
),
'tag_spec' => array(
'html_format' => array(
'amp',
'amp4ads',
),
'mandatory_ancestor' => 'svg',
'spec_url' => 'https://www.ampproject.org/docs/reference/spec#svg',
),
),
),
'feoffset' => array(
array(
'attr_spec_list' => array(
'alignment-baseline' => array(),
'baseline-shift' => array(),
'clip' => array(),
'clip-path' => array(),
'clip-rule' => array(),
'color' => array(),
'color-interpolation' => array(),
'color-interpolation-filters' => array(),
'color-profile' => array(),
'color-rendering' => array(),
'cursor' => array(),
'direction' => array(),
'display' => array(),
'dominant-baseline' => array(),
'dx' => array(),
'dy' => array(),
'enable-background' => array(),
'fill' => array(),
'fill-opacity' => array(),
'fill-rule' => array(),
'filter' => array(),
'flood-color' => array(),
'flood-opacity' => array(),
'font-family' => array(),
'font-size' => array(),
'font-size-adjust' => array(),
'font-stretch' => array(),
'font-style' => array(),
'font-variant' => array(),
'font-weight' => array(),
'glyph-orientation-horizontal' => array(),
'glyph-orientation-vertical' => array(),
'height' => array(),
'image-rendering' => array(),
'in' => array(),
'kerning' => array(),
'letter-spacing' => array(),
'lighting-color' => array(),
'marker-end' => array(),
'marker-mid' => array(),
'marker-start' => array(),
'mask' => array(),
'opacity' => array(),
'overflow' => array(),
'pointer-events' => array(),
'result' => array(),
'shape-rendering' => array(),
'stop-color' => array(),
'stop-opacity' => array(),
'stroke' => array(),
'stroke-dasharray' => array(),
'stroke-dashoffset' => array(),
'stroke-linecap' => array(),
'stroke-linejoin' => array(),
'stroke-miterlimit' => array(),
'stroke-opacity' => array(),
'stroke-width' => array(),
'style' => array(
'blacklisted_value_regex' => '!important',
),
'text-anchor' => array(),
'text-decoration' => array(),
'text-rendering' => array(),
'unicode-bidi' => array(),
'vector-effect' => array(),
'visibility' => array(),
'width' => array(),
'word-spacing' => array(),
'writing-mode' => array(),
'x' => array(),
'xml:lang' => array(),
'xml:space' => array(),
'xmlns' => array(),
'xmlns:xlink' => array(),
'y' => array(),
),
'tag_spec' => array(
'html_format' => array(
'amp',
'amp4ads',
),
'mandatory_ancestor' => 'svg',
'spec_url' => 'https://www.ampproject.org/docs/reference/spec#svg',
),
),
),
'fieldset' => array(
array(
'attr_spec_list' => array(
'[disabled]' => array(),
'disabled' => array(),
'name' => array(
'blacklisted_value_regex' => '(^|\\s)(__amp_\\s*|__count__|__definegetter__|__definesetter__|__lookupgetter__|__lookupsetter__|__nosuchmethod__|__parent__|__proto__|__amp_\\s*|\\$p|\\$proxy|acceptcharset|addeventlistener|appendchild|assignedslot|attachshadow|baseuri|checkvalidity|childelementcount|childnodes|classlist|classname|clientheight|clientleft|clienttop|clientwidth|comparedocumentposition|computedname|computedrole|contenteditable|createshadowroot|enqueaction|firstchild|firstelementchild|getanimations|getattribute|getattributens|getattributenode|getattributenodens|getboundingclientrect|getclientrects|getdestinationinsertionpoints|getelementsbyclassname|getelementsbytagname|getelementsbytagnamens|getrootnode|hasattribute|hasattributens|hasattributes|haschildnodes|haspointercapture|innerhtml|innertext|inputmode|insertadjacentelement|insertadjacenthtml|insertadjacenttext|iscontenteditable|isdefaultnamespace|isequalnode|issamenode|lastchild|lastelementchild|lookupnamespaceuri|namespaceuri|nextelementsibling|nextsibling|nodename|nodetype|nodevalue|offsetheight|offsetleft|offsetparent|offsettop|offsetwidth|outerhtml|outertext|ownerdocument|parentelement|parentnode|previouselementsibling|previoussibling|queryselector|queryselectorall|releasepointercapture|removeattribute|removeattributens|removeattributenode|removechild|removeeventlistener|replacechild|reportvalidity|requestpointerlock|scrollheight|scrollintoview|scrollintoviewifneeded|scrollleft|scrollwidth|setattribute|setattributens|setattributenode|setattributenodens|setpointercapture|shadowroot|stylemap|tabindex|tagname|textcontent|tostring|valueof|(webkit|ms|moz|o)dropzone|(webkit|moz|ms|o)matchesselector|(webkit|moz|ms|o)requestfullscreen|(webkit|moz|ms|o)requestfullscreen)(\\s|$)',
),
),
'tag_spec' => array(),
),
),
'figcaption' => array(
array(
'attr_spec_list' => array(),
'tag_spec' => array(),
),
),
'figure' => array(
array(
'attr_spec_list' => array(),
'tag_spec' => array(),
),
),
'filter' => array(
array(
'attr_spec_list' => array(
'alignment-baseline' => array(),
'baseline-shift' => array(),
'clip' => array(),
'clip-path' => array(),
'clip-rule' => array(),
'color' => array(),
'color-interpolation' => array(),
'color-interpolation-filters' => array(),
'color-profile' => array(),
'color-rendering' => array(),
'cursor' => array(),
'direction' => array(),
'display' => array(),
'dominant-baseline' => array(),
'enable-background' => array(),
'externalresourcesrequired' => array(),
'fill' => array(),
'fill-opacity' => array(),
'fill-rule' => array(),
'filter' => array(),
'filterres' => array(),
'filterunits' => array(),
'flood-color' => array(),
'flood-opacity' => array(),
'font-family' => array(),
'font-size' => array(),
'font-size-adjust' => array(),
'font-stretch' => array(),
'font-style' => array(),
'font-variant' => array(),
'font-weight' => array(),
'glyph-orientation-horizontal' => array(),
'glyph-orientation-vertical' => array(),
'height' => array(),
'image-rendering' => array(),
'kerning' => array(),
'letter-spacing' => array(),
'lighting-color' => array(),
'marker-end' => array(),
'marker-mid' => array(),
'marker-start' => array(),
'mask' => array(),
'opacity' => array(),
'overflow' => array(),
'pointer-events' => array(),
'primitiveunits' => array(),
'shape-rendering' => array(),
'stop-color' => array(),
'stop-opacity' => array(),
'stroke' => array(),
'stroke-dasharray' => array(),
'stroke-dashoffset' => array(),
'stroke-linecap' => array(),
'stroke-linejoin' => array(),
'stroke-miterlimit' => array(),
'stroke-opacity' => array(),
'stroke-width' => array(),
'style' => array(
'blacklisted_value_regex' => '!important',
),
'text-anchor' => array(),
'text-decoration' => array(),
'text-rendering' => array(),
'unicode-bidi' => array(),
'vector-effect' => array(),
'visibility' => array(),
'width' => array(),
'word-spacing' => array(),
'writing-mode' => array(),
'x' => array(),
'xlink:actuate' => array(),
'xlink:arcrole' => array(),
'xlink:href' => array(
'alternative_names' => array(
'href',
),
'allow_empty' => false,
'allow_relative' => true,
'allowed_protocol' => array(
'http',
'https',
),
),
'xlink:role' => array(),
'xlink:show' => array(),
'xlink:title' => array(),
'xlink:type' => array(),
'xml:lang' => array(),
'xml:space' => array(),
'xmlns' => array(),
'xmlns:xlink' => array(),
'y' => array(),
),
'tag_spec' => array(
'html_format' => array(
'amp',
'amp4ads',
),
'mandatory_ancestor' => 'svg',
'spec_url' => 'https://www.ampproject.org/docs/reference/spec#svg',
),
),
),
'footer' => array(
array(
'attr_spec_list' => array(),
'tag_spec' => array(),
),
),
'foreignobject' => array(
array(
'attr_spec_list' => array(
'alignment-baseline' => array(),
'baseline-shift' => array(),
'clip' => array(),
'clip-path' => array(),
'clip-rule' => array(),
'color' => array(),
'color-interpolation' => array(),
'color-interpolation-filters' => array(),
'color-profile' => array(),
'color-rendering' => array(),
'cursor' => array(),
'direction' => array(),
'display' => array(),
'dominant-baseline' => array(),
'enable-background' => array(),
'externalresourcesrequired' => array(),
'fill' => array(),
'fill-opacity' => array(),
'fill-rule' => array(),
'filter' => array(),
'flood-color' => array(),
'flood-opacity' => array(),
'font-family' => array(),
'font-size' => array(),
'font-size-adjust' => array(),
'font-stretch' => array(),
'font-style' => array(),
'font-variant' => array(),
'font-weight' => array(),
'glyph-orientation-horizontal' => array(),
'glyph-orientation-vertical' => array(),
'height' => array(),
'image-rendering' => array(),
'kerning' => array(),
'letter-spacing' => array(),
'lighting-color' => array(),
'marker-end' => array(),
'marker-mid' => array(),
'marker-start' => array(),
'mask' => array(),
'opacity' => array(),
'overflow' => array(),
'pointer-events' => array(),
'requiredextensions' => array(),
'requiredfeatures' => array(),
'shape-rendering' => array(),
'stop-color' => array(),
'stop-opacity' => array(),
'stroke' => array(),
'stroke-dasharray' => array(),
'stroke-dashoffset' => array(),
'stroke-linecap' => array(),
'stroke-linejoin' => array(),
'stroke-miterlimit' => array(),
'stroke-opacity' => array(),
'stroke-width' => array(),
'style' => array(
'blacklisted_value_regex' => '!important',
),
'systemlanguage' => array(),
'text-anchor' => array(),
'text-decoration' => array(),
'text-rendering' => array(),
'transform' => array(),
'unicode-bidi' => array(),
'vector-effect' => array(),
'visibility' => array(),
'width' => array(),
'word-spacing' => array(),
'writing-mode' => array(),
'x' => array(),
'xml:lang' => array(),
'xml:space' => array(),
'xmlns' => array(),
'xmlns:xlink' => array(),
'y' => array(),
),
'tag_spec' => array(
'html_format' => array(
'amp',
'amp4ads',
),
'mandatory_ancestor' => 'svg',
'spec_url' => 'https://www.ampproject.org/docs/reference/spec#svg',
),
),
),
'form' => array(
array(
'attr_spec_list' => array(
'accept' => array(),
'accept-charset' => array(),
'action' => array(
'blacklisted_value_regex' => '__amp_source_origin',
'mandatory' => true,
'allow_relative' => true,
'allowed_protocol' => array(
'https',
),
),
'action-xhr' => array(
'blacklisted_value_regex' => '__amp_source_origin',
'allow_relative' => true,
'allowed_protocol' => array(
'https',
),
),
'autocomplete' => array(),
'custom-validation-reporting' => array(
'value_regex' => '(show-first-on-submit|show-all-on-submit|as-you-go|interact-and-submit)',
),
'enctype' => array(),
'method' => array(
'value_casei' => 'get',
),
'name' => array(),
'novalidate' => array(),
'target' => array(
'mandatory' => true,
'value_regex_casei' => '(_blank|_top)',
),
'verify-xhr' => array(
'blacklisted_value_regex' => '__amp_source_origin',
'allow_relative' => true,
'allowed_protocol' => array(
'https',
),
),
),
'tag_spec' => array(
'disallowed_ancestor' => array(
'amp-app-banner',
),
'html_format' => array(
'amp',
'amp4ads',
),
'spec_name' => 'form [method=get]',
),
),
array(
'attr_spec_list' => array(
'accept' => array(),
'accept-charset' => array(),
'action-xhr' => array(
'blacklisted_value_regex' => '__amp_source_origin',
'mandatory' => true,
'allow_relative' => true,
'allowed_protocol' => array(
'https',
),
),
'autocomplete' => array(),
'custom-validation-reporting' => array(
'value_regex' => '(show-first-on-submit|show-all-on-submit|as-you-go)',
),
'enctype' => array(),
'method' => array(
'mandatory' => true,
'value_casei' => 'post',
),
'name' => array(),
'novalidate' => array(),
'target' => array(
'mandatory' => true,
'value_regex_casei' => '(_blank|_top)',
),
'verify-xhr' => array(
'blacklisted_value_regex' => '__amp_source_origin',
'allow_relative' => true,
'allowed_protocol' => array(
'https',
),
),
),
'tag_spec' => array(
'disallowed_ancestor' => array(
'amp-app-banner',
),
'html_format' => array(
'amp',
'amp4ads',
),
'spec_name' => 'form [method=post]',
),
),
),
'g' => array(
array(
'attr_spec_list' => array(
'alignment-baseline' => array(),
'baseline-shift' => array(),
'clip' => array(),
'clip-path' => array(),
'clip-rule' => array(),
'color' => array(),
'color-interpolation' => array(),
'color-interpolation-filters' => array(),
'color-profile' => array(),
'color-rendering' => array(),
'cursor' => array(),
'direction' => array(),
'display' => array(),
'dominant-baseline' => array(),
'enable-background' => array(),
'externalresourcesrequired' => array(),
'fill' => array(),
'fill-opacity' => array(),
'fill-rule' => array(),
'filter' => array(),
'flood-color' => array(),
'flood-opacity' => array(),
'font-family' => array(),
'font-size' => array(),
'font-size-adjust' => array(),
'font-stretch' => array(),
'font-style' => array(),
'font-variant' => array(),
'font-weight' => array(),
'glyph-orientation-horizontal' => array(),
'glyph-orientation-vertical' => array(),
'image-rendering' => array(),
'kerning' => array(),
'letter-spacing' => array(),
'lighting-color' => array(),
'marker-end' => array(),
'marker-mid' => array(),
'marker-start' => array(),
'mask' => array(),
'opacity' => array(),
'overflow' => array(),
'pointer-events' => array(),
'requiredextensions' => array(),
'requiredfeatures' => array(),
'shape-rendering' => array(),
'stop-color' => array(),
'stop-opacity' => array(),
'stroke' => array(),
'stroke-dasharray' => array(),
'stroke-dashoffset' => array(),
'stroke-linecap' => array(),
'stroke-linejoin' => array(),
'stroke-miterlimit' => array(),
'stroke-opacity' => array(),
'stroke-width' => array(),
'style' => array(
'blacklisted_value_regex' => '!important',
),
'systemlanguage' => array(),
'text-anchor' => array(),
'text-decoration' => array(),
'text-rendering' => array(),
'transform' => array(),
'unicode-bidi' => array(),
'vector-effect' => array(),
'visibility' => array(),
'word-spacing' => array(),
'writing-mode' => array(),
'xml:lang' => array(),
'xml:space' => array(),
'xmlns' => array(),
'xmlns:xlink' => array(),
),
'tag_spec' => array(
'html_format' => array(
'amp',
'amp4ads',
),
'mandatory_ancestor' => 'svg',
'spec_url' => 'https://www.ampproject.org/docs/reference/spec#svg',
),
),
),
'glyph' => array(
array(
'attr_spec_list' => array(
'alignment-baseline' => array(),
'arabic-form' => array(),
'baseline-shift' => array(),
'clip' => array(),
'clip-path' => array(),
'clip-rule' => array(),
'color' => array(),
'color-interpolation' => array(),
'color-interpolation-filters' => array(),
'color-profile' => array(),
'color-rendering' => array(),
'cursor' => array(),
'd' => array(),
'direction' => array(),
'display' => array(),
'dominant-baseline' => array(),
'enable-background' => array(),
'fill' => array(),
'fill-opacity' => array(),
'fill-rule' => array(),
'filter' => array(),
'flood-color' => array(),
'flood-opacity' => array(),
'font-family' => array(),
'font-size' => array(),
'font-size-adjust' => array(),
'font-stretch' => array(),
'font-style' => array(),
'font-variant' => array(),
'font-weight' => array(),
'glyph-name' => array(),
'glyph-orientation-horizontal' => array(),
'glyph-orientation-vertical' => array(),
'horiz-adv-x' => array(),
'image-rendering' => array(),
'kerning' => array(),
'letter-spacing' => array(),
'lighting-color' => array(),
'marker-end' => array(),
'marker-mid' => array(),
'marker-start' => array(),
'mask' => array(),
'opacity' => array(),
'orientation' => array(),
'overflow' => array(),
'pointer-events' => array(),
'shape-rendering' => array(),
'stop-color' => array(),
'stop-opacity' => array(),
'stroke' => array(),
'stroke-dasharray' => array(),
'stroke-dashoffset' => array(),
'stroke-linecap' => array(),
'stroke-linejoin' => array(),
'stroke-miterlimit' => array(),
'stroke-opacity' => array(),
'stroke-width' => array(),
'style' => array(
'blacklisted_value_regex' => '!important',
),
'text-anchor' => array(),
'text-decoration' => array(),
'text-rendering' => array(),
'unicode' => array(),
'unicode-bidi' => array(),
'vector-effect' => array(),
'vert-adv-y' => array(),
'vert-origin-x' => array(),
'vert-origin-y' => array(),
'visibility' => array(),
'word-spacing' => array(),
'writing-mode' => array(),
'xml:lang' => array(),
'xml:space' => array(),
'xmlns' => array(),
'xmlns:xlink' => array(),
),
'tag_spec' => array(
'html_format' => array(
'amp',
'amp4ads',
),
'mandatory_ancestor' => 'svg',
'spec_url' => 'https://www.ampproject.org/docs/reference/spec#svg',
),
),
),
'glyphref' => array(
array(
'attr_spec_list' => array(
'alignment-baseline' => array(),
'baseline-shift' => array(),
'clip' => array(),
'clip-path' => array(),
'clip-rule' => array(),
'color' => array(),
'color-interpolation' => array(),
'color-interpolation-filters' => array(),
'color-profile' => array(),
'color-rendering' => array(),
'cursor' => array(),
'direction' => array(),
'display' => array(),
'dominant-baseline' => array(),
'dx' => array(),
'dy' => array(),
'enable-background' => array(),
'fill' => array(),
'fill-opacity' => array(),
'fill-rule' => array(),
'filter' => array(),
'flood-color' => array(),
'flood-opacity' => array(),
'font-family' => array(),
'font-size' => array(),
'font-size-adjust' => array(),
'font-stretch' => array(),
'font-style' => array(),
'font-variant' => array(),
'font-weight' => array(),
'format' => array(),
'glyph-orientation-horizontal' => array(),
'glyph-orientation-vertical' => array(),
'glyphref' => array(),
'image-rendering' => array(),
'kerning' => array(),
'letter-spacing' => array(),
'lighting-color' => array(),
'marker-end' => array(),
'marker-mid' => array(),
'marker-start' => array(),
'mask' => array(),
'opacity' => array(),
'overflow' => array(),
'pointer-events' => array(),
'shape-rendering' => array(),
'stop-color' => array(),
'stop-opacity' => array(),
'stroke' => array(),
'stroke-dasharray' => array(),
'stroke-dashoffset' => array(),
'stroke-linecap' => array(),
'stroke-linejoin' => array(),
'stroke-miterlimit' => array(),
'stroke-opacity' => array(),
'stroke-width' => array(),
'style' => array(
'blacklisted_value_regex' => '!important',
),
'text-anchor' => array(),
'text-decoration' => array(),
'text-rendering' => array(),
'unicode-bidi' => array(),
'vector-effect' => array(),
'visibility' => array(),
'word-spacing' => array(),
'writing-mode' => array(),
'x' => array(),
'xlink:actuate' => array(),
'xlink:arcrole' => array(),
'xlink:href' => array(
'alternative_names' => array(
'href',
),
'allow_empty' => false,
'allow_relative' => true,
'allowed_protocol' => array(
'http',
'https',
),
),
'xlink:role' => array(),
'xlink:show' => array(),
'xlink:title' => array(),
'xlink:type' => array(),
'xml:lang' => array(),
'xml:space' => array(),
'xmlns' => array(),
'xmlns:xlink' => array(),
'y' => array(),
),
'tag_spec' => array(
'html_format' => array(
'amp',
'amp4ads',
),
'mandatory_ancestor' => 'svg',
'spec_url' => 'https://www.ampproject.org/docs/reference/spec#svg',
),
),
),
'h1' => array(
array(
'attr_spec_list' => array(
'align' => array(),
),
'tag_spec' => array(),
),
),
'h2' => array(
array(
'attr_spec_list' => array(
'align' => array(),
),
'tag_spec' => array(),
),
),
'h3' => array(
array(
'attr_spec_list' => array(
'align' => array(),
),
'tag_spec' => array(),
),
),
'h4' => array(
array(
'attr_spec_list' => array(
'align' => array(),
),
'tag_spec' => array(),
),
),
'h5' => array(
array(
'attr_spec_list' => array(
'align' => array(),
),
'tag_spec' => array(),
),
),
'h6' => array(
array(
'attr_spec_list' => array(
'align' => array(),
),
'tag_spec' => array(),
),
),
'header' => array(
array(
'attr_spec_list' => array(),
'tag_spec' => array(),
),
),
'hgroup' => array(
array(
'attr_spec_list' => array(),
'tag_spec' => array(
'html_format' => array(
'amp',
),
),
),
),
'hkern' => array(
array(
'attr_spec_list' => array(
'g1' => array(),
'g2' => array(),
'k' => array(),
'style' => array(
'blacklisted_value_regex' => '!important',
),
'u1' => array(),
'u2' => array(),
'xml:lang' => array(),
'xml:space' => array(),
'xmlns' => array(),
'xmlns:xlink' => array(),
),
'tag_spec' => array(
'html_format' => array(
'amp',
'amp4ads',
),
'mandatory_ancestor' => 'svg',
'spec_url' => 'https://www.ampproject.org/docs/reference/spec#svg',
),
),
),
'hr' => array(
array(
'attr_spec_list' => array(),
'tag_spec' => array(),
),
),
'i' => array(
array(
'attr_spec_list' => array(),
'tag_spec' => array(),
),
),
'iframe' => array(
array(
'attr_spec_list' => array(
'frameborder' => array(
'value_regex' => '0|1',
),
'height' => array(),
'name' => array(),
'referrerpolicy' => array(),
'resizable' => array(
'value' => '',
),
'sandbox' => array(),
'scrolling' => array(
'value_regex' => 'auto|yes|no',
),
'src' => array(
'blacklisted_value_regex' => '__amp_source_origin',
'allow_relative' => false,
'allowed_protocol' => array(
'data',
'https',
),
),
'srcdoc' => array(),
'width' => array(),
),
'tag_spec' => array(
'html_format' => array(
'amp',
),
'mandatory_ancestor' => 'noscript',
'mandatory_ancestor_suggested_alternative' => 'amp-iframe',
'spec_url' => 'https://www.ampproject.org/docs/reference/components/amp-iframe',
),
),
),
'image' => array(
array(
'attr_spec_list' => array(
'alignment-baseline' => array(),
'baseline-shift' => array(),
'clip' => array(),
'clip-path' => array(),
'clip-rule' => array(),
'color' => array(),
'color-interpolation' => array(),
'color-interpolation-filters' => array(),
'color-profile' => array(),
'color-rendering' => array(),
'cursor' => array(),
'direction' => array(),
'display' => array(),
'dominant-baseline' => array(),
'enable-background' => array(),
'externalresourcesrequired' => array(),
'fill' => array(),
'fill-opacity' => array(),
'fill-rule' => array(),
'filter' => array(),
'flood-color' => array(),
'flood-opacity' => array(),
'font-family' => array(),
'font-size' => array(),
'font-size-adjust' => array(),
'font-stretch' => array(),
'font-style' => array(),
'font-variant' => array(),
'font-weight' => array(),
'glyph-orientation-horizontal' => array(),
'glyph-orientation-vertical' => array(),
'height' => array(),
'image-rendering' => array(),
'kerning' => array(),
'letter-spacing' => array(),
'lighting-color' => array(),
'marker-end' => array(),
'marker-mid' => array(),
'marker-start' => array(),
'mask' => array(),
'opacity' => array(),
'overflow' => array(),
'pointer-events' => array(),
'preserveaspectratio' => array(),
'requiredextensions' => array(),
'requiredfeatures' => array(),
'shape-rendering' => array(),
'stop-color' => array(),
'stop-opacity' => array(),
'stroke' => array(),
'stroke-dasharray' => array(),
'stroke-dashoffset' => array(),
'stroke-linecap' => array(),
'stroke-linejoin' => array(),
'stroke-miterlimit' => array(),
'stroke-opacity' => array(),
'stroke-width' => array(),
'style' => array(
'blacklisted_value_regex' => '!important',
),
'systemlanguage' => array(),
'text-anchor' => array(),
'text-decoration' => array(),
'text-rendering' => array(),
'transform' => array(),
'unicode-bidi' => array(),
'vector-effect' => array(),
'visibility' => array(),
'width' => array(),
'word-spacing' => array(),
'writing-mode' => array(),
'x' => array(),
'xlink:actuate' => array(),
'xlink:arcrole' => array(),
'xlink:href' => array(
'alternative_names' => array(
'href',
),
'blacklisted_value_regex' => '(^|\\s)data:image\\/svg\\+xml',
'allow_empty' => false,
'allow_relative' => true,
'allowed_protocol' => array(
'data',
'http',
'https',
),
),
'xlink:role' => array(),
'xlink:show' => array(),
'xlink:title' => array(),
'xlink:type' => array(),
'xml:lang' => array(),
'xml:space' => array(),
'xmlns' => array(),
'xmlns:xlink' => array(),
'y' => array(),
),
'tag_spec' => array(
'html_format' => array(
'amp',
'amp4ads',
),
'mandatory_ancestor' => 'svg',
'spec_url' => 'https://www.ampproject.org/docs/reference/spec#svg',
),
),
),
'img' => array(
array(
'attr_spec_list' => array(
'alt' => array(),
'border' => array(),
'height' => array(),
'ismap' => array(),
'longdesc' => array(
'blacklisted_value_regex' => '__amp_source_origin',
'allow_relative' => true,
'allowed_protocol' => array(
'http',
'https',
),
),
'src' => array(
'alternative_names' => array(
'srcset',
),
'blacklisted_value_regex' => '__amp_source_origin',
'mandatory' => true,
'allow_relative' => true,
'allowed_protocol' => array(
'data',
'https',
),
),
'width' => array(),
),
'tag_spec' => array(
'html_format' => array(
'amp',
),
'mandatory_ancestor' => 'noscript',
'mandatory_ancestor_suggested_alternative' => 'amp-img',
'spec_url' => 'https://www.ampproject.org/docs/reference/components/amp-img',
),
),
),
'input' => array(
array(
'attr_spec_list' => array(
'[accept]' => array(),
'[accesskey]' => array(),
'[autocomplete]' => array(),
'[checked]' => array(),
'[disabled]' => array(),
'[height]' => array(),
'[inputmode]' => array(),
'[max]' => array(),
'[maxlength]' => array(),
'[min]' => array(),
'[minlength]' => array(),
'[multiple]' => array(),
'[pattern]' => array(),
'[placeholder]' => array(),
'[readonly]' => array(),
'[required]' => array(),
'[selectiondirection]' => array(),
'[size]' => array(),
'[spellcheck]' => array(),
'[step]' => array(),
'[type]' => array(),
'[value]' => array(),
'[width]' => array(),
'accept' => array(),
'accesskey' => array(),
'autocomplete' => array(),
'autofocus' => array(),
'checked' => array(),
'disabled' => array(),
'height' => array(),
'inputmode' => array(),
'list' => array(),
'max' => array(),
'maxlength' => array(),
'min' => array(),
'minlength' => array(),
'multiple' => array(),
'name' => array(
'blacklisted_value_regex' => '(^|\\s)(__amp_\\s*|__count__|__definegetter__|__definesetter__|__lookupgetter__|__lookupsetter__|__nosuchmethod__|__parent__|__proto__|__amp_\\s*|\\$p|\\$proxy|acceptcharset|addeventlistener|appendchild|assignedslot|attachshadow|baseuri|checkvalidity|childelementcount|childnodes|classlist|classname|clientheight|clientleft|clienttop|clientwidth|comparedocumentposition|computedname|computedrole|contenteditable|createshadowroot|enqueaction|firstchild|firstelementchild|getanimations|getattribute|getattributens|getattributenode|getattributenodens|getboundingclientrect|getclientrects|getdestinationinsertionpoints|getelementsbyclassname|getelementsbytagname|getelementsbytagnamens|getrootnode|hasattribute|hasattributens|hasattributes|haschildnodes|haspointercapture|innerhtml|innertext|inputmode|insertadjacentelement|insertadjacenthtml|insertadjacenttext|iscontenteditable|isdefaultnamespace|isequalnode|issamenode|lastchild|lastelementchild|lookupnamespaceuri|namespaceuri|nextelementsibling|nextsibling|nodename|nodetype|nodevalue|offsetheight|offsetleft|offsetparent|offsettop|offsetwidth|outerhtml|outertext|ownerdocument|parentelement|parentnode|previouselementsibling|previoussibling|queryselector|queryselectorall|releasepointercapture|removeattribute|removeattributens|removeattributenode|removechild|removeeventlistener|replacechild|reportvalidity|requestpointerlock|scrollheight|scrollintoview|scrollintoviewifneeded|scrollleft|scrollwidth|setattribute|setattributens|setattributenode|setattributenodens|setpointercapture|shadowroot|stylemap|tabindex|tagname|textcontent|tostring|valueof|(webkit|ms|moz|o)dropzone|(webkit|moz|ms|o)matchesselector|(webkit|moz|ms|o)requestfullscreen|(webkit|moz|ms|o)requestfullscreen)(\\s|$)',
),
'pattern' => array(),
'placeholder' => array(),
'readonly' => array(),
'required' => array(),
'selectiondirection' => array(),
'size' => array(),
'spellcheck' => array(),
'step' => array(),
'tabindex' => array(),
'type' => array(
'blacklisted_value_regex' => '(^|\\s)(button|file|image|password|)(\\s|$)',
),
'value' => array(),
'width' => array(),
),
'tag_spec' => array(
'spec_url' => 'https://www.ampproject.org/docs/reference/components/amp-form',
),
),
),
'ins' => array(
array(
'attr_spec_list' => array(
'cite' => array(
'blacklisted_value_regex' => '__amp_source_origin',
'allow_empty' => true,
'allow_relative' => true,
'allowed_protocol' => array(
'http',
'https',
),
),
'datetime' => array(),
),
'tag_spec' => array(),
),
),
'kbd' => array(
array(
'attr_spec_list' => array(),
'tag_spec' => array(),
),
),
'label' => array(
array(
'attr_spec_list' => array(
'for' => array(),
),
'tag_spec' => array(
'spec_url' => 'https://www.ampproject.org/docs/reference/components/amp-form',
),
),
),
'legend' => array(
array(
'attr_spec_list' => array(),
'tag_spec' => array(),
),
),
'li' => array(
array(
'attr_spec_list' => array(
'value' => array(
'value_regex' => '[0-9]*',
),
),
'tag_spec' => array(),
),
),
'line' => array(
array(
'attr_spec_list' => array(
'alignment-baseline' => array(),
'baseline-shift' => array(),
'clip' => array(),
'clip-path' => array(),
'clip-rule' => array(),
'color' => array(),
'color-interpolation' => array(),
'color-interpolation-filters' => array(),
'color-profile' => array(),
'color-rendering' => array(),
'cursor' => array(),
'direction' => array(),
'display' => array(),
'dominant-baseline' => array(),
'enable-background' => array(),
'externalresourcesrequired' => array(),
'fill' => array(),
'fill-opacity' => array(),
'fill-rule' => array(),
'filter' => array(),
'flood-color' => array(),
'flood-opacity' => array(),
'font-family' => array(),
'font-size' => array(),
'font-size-adjust' => array(),
'font-stretch' => array(),
'font-style' => array(),
'font-variant' => array(),
'font-weight' => array(),
'glyph-orientation-horizontal' => array(),
'glyph-orientation-vertical' => array(),
'image-rendering' => array(),
'kerning' => array(),
'letter-spacing' => array(),
'lighting-color' => array(),
'marker-end' => array(),
'marker-mid' => array(),
'marker-start' => array(),
'mask' => array(),
'opacity' => array(),
'overflow' => array(),
'pointer-events' => array(),
'requiredextensions' => array(),
'requiredfeatures' => array(),
'shape-rendering' => array(),
'sketch:type' => array(),
'stop-color' => array(),
'stop-opacity' => array(),
'stroke' => array(),
'stroke-dasharray' => array(),
'stroke-dashoffset' => array(),
'stroke-linecap' => array(),
'stroke-linejoin' => array(),
'stroke-miterlimit' => array(),
'stroke-opacity' => array(),
'stroke-width' => array(),
'style' => array(
'blacklisted_value_regex' => '!important',
),
'systemlanguage' => array(),
'text-anchor' => array(),
'text-decoration' => array(),
'text-rendering' => array(),
'transform' => array(),
'unicode-bidi' => array(),
'vector-effect' => array(),
'visibility' => array(),
'word-spacing' => array(),
'writing-mode' => array(),
'x1' => array(),
'x2' => array(),
'xml:lang' => array(),
'xml:space' => array(),
'xmlns' => array(),
'xmlns:xlink' => array(),
'y1' => array(),
'y2' => array(),
),
'tag_spec' => array(
'html_format' => array(
'amp',
'amp4ads',
),
'mandatory_ancestor' => 'svg',
'spec_url' => 'https://www.ampproject.org/docs/reference/spec#svg',
),
),
),
'lineargradient' => array(
array(
'attr_spec_list' => array(
'alignment-baseline' => array(),
'baseline-shift' => array(),
'clip' => array(),
'clip-path' => array(),
'clip-rule' => array(),
'color' => array(),
'color-interpolation' => array(),
'color-interpolation-filters' => array(),
'color-profile' => array(),
'color-rendering' => array(),
'cursor' => array(),
'direction' => array(),
'display' => array(),
'dominant-baseline' => array(),
'enable-background' => array(),
'externalresourcesrequired' => array(),
'fill' => array(),
'fill-opacity' => array(),
'fill-rule' => array(),
'filter' => array(),
'flood-color' => array(),
'flood-opacity' => array(),
'font-family' => array(),
'font-size' => array(),
'font-size-adjust' => array(),
'font-stretch' => array(),
'font-style' => array(),
'font-variant' => array(),
'font-weight' => array(),
'glyph-orientation-horizontal' => array(),
'glyph-orientation-vertical' => array(),
'gradienttransform' => array(),
'gradientunits' => array(),
'image-rendering' => array(),
'kerning' => array(),
'letter-spacing' => array(),
'lighting-color' => array(),
'marker-end' => array(),
'marker-mid' => array(),
'marker-start' => array(),
'mask' => array(),
'opacity' => array(),
'overflow' => array(),
'pointer-events' => array(),
'shape-rendering' => array(),
'spreadmethod' => array(),
'stop-color' => array(),
'stop-opacity' => array(),
'stroke' => array(),
'stroke-dasharray' => array(),
'stroke-dashoffset' => array(),
'stroke-linecap' => array(),
'stroke-linejoin' => array(),
'stroke-miterlimit' => array(),
'stroke-opacity' => array(),
'stroke-width' => array(),
'style' => array(
'blacklisted_value_regex' => '!important',
),
'text-anchor' => array(),
'text-decoration' => array(),
'text-rendering' => array(),
'unicode-bidi' => array(),
'vector-effect' => array(),
'visibility' => array(),
'word-spacing' => array(),
'writing-mode' => array(),
'x1' => array(),
'x2' => array(),
'xlink:actuate' => array(),
'xlink:arcrole' => array(),
'xlink:href' => array(
'alternative_names' => array(
'href',
),
'allow_empty' => false,
'allow_relative' => true,
'allowed_protocol' => array(
'http',
'https',
),
),
'xlink:role' => array(),
'xlink:show' => array(),
'xlink:title' => array(),
'xlink:type' => array(),
'xml:lang' => array(),
'xml:space' => array(),
'xmlns' => array(),
'xmlns:xlink' => array(),
'y1' => array(),
'y2' => array(),
),
'tag_spec' => array(
'html_format' => array(
'amp',
'amp4ads',
),
'mandatory_ancestor' => 'svg',
'spec_url' => 'https://www.ampproject.org/docs/reference/spec#svg',
),
),
),
'link' => array(
array(
'attr_spec_list' => array(
'charset' => array(
'value_casei' => 'utf-8',
),
'color' => array(),
'href' => array(),
'hreflang' => array(),
'media' => array(),
'rel' => array(
'blacklisted_value_regex' => '(^|\\s)(canonical|components|import|manifest|serviceworker|stylesheet|subresource|)(\\s|$)',
'mandatory' => true,
),
'sizes' => array(),
'target' => array(),
'type' => array(),
),
'tag_spec' => array(
'disallowed_ancestor' => array(
'template',
),
'html_format' => array(
'amp',
'amp4ads',
),
'spec_name' => 'link rel=',
'spec_url' => 'https://www.ampproject.org/docs/reference/spec#html-tags',
),
),
array(
'attr_spec_list' => array(
'charset' => array(
'value_casei' => 'utf-8',
),
'color' => array(),
'href' => array(
'mandatory' => true,
),
'hreflang' => array(),
'itemprop' => array(
'mandatory' => true,
'value_casei' => 'sameas',
),
'media' => array(),
'sizes' => array(),
'target' => array(),
'type' => array(),
),
'tag_spec' => array(
'html_format' => array(
'amp',
'amp4ads',
),
'spec_name' => 'link itemprop=sameas',
'spec_url' => 'https://www.ampproject.org/docs/reference/spec#html-tags',
),
),
array(
'attr_spec_list' => array(
'charset' => array(
'value_casei' => 'utf-8',
),
'color' => array(),
'href' => array(
'mandatory' => true,
),
'hreflang' => array(),
'itemprop' => array(
'mandatory' => true,
),
'media' => array(),
'sizes' => array(),
'target' => array(),
'type' => array(),
),
'tag_spec' => array(
'html_format' => array(
'amp',
'amp4ads',
),
'spec_name' => 'link itemprop=',
'spec_url' => 'https://www.ampproject.org/docs/reference/spec#html-tags',
),
),
array(
'attr_spec_list' => array(
'charset' => array(
'value_casei' => 'utf-8',
),
'color' => array(),
'href' => array(
'mandatory' => true,
),
'hreflang' => array(),
'media' => array(),
'property' => array(
'mandatory' => true,
),
'sizes' => array(),
'target' => array(),
'type' => array(),
),
'tag_spec' => array(
'html_format' => array(
'amp',
'amp4ads',
),
'spec_name' => 'link property=',
'spec_url' => 'https://www.ampproject.org/docs/reference/spec#html-tags',
),
),
),
'listing' => array(
array(
'attr_spec_list' => array(),
'tag_spec' => array(
'html_format' => array(
'amp',
),
),
),
),
'main' => array(
array(
'attr_spec_list' => array(),
'tag_spec' => array(),
),
),
'mark' => array(
array(
'attr_spec_list' => array(),
'tag_spec' => array(),
),
),
'marker' => array(
array(
'attr_spec_list' => array(
'alignment-baseline' => array(),
'baseline-shift' => array(),
'clip' => array(),
'clip-path' => array(),
'clip-rule' => array(),
'color' => array(),
'color-interpolation' => array(),
'color-interpolation-filters' => array(),
'color-profile' => array(),
'color-rendering' => array(),
'cursor' => array(),
'direction' => array(),
'display' => array(),
'dominant-baseline' => array(),
'enable-background' => array(),
'externalresourcesrequired' => array(),
'fill' => array(),
'fill-opacity' => array(),
'fill-rule' => array(),
'filter' => array(),
'flood-color' => array(),
'flood-opacity' => array(),
'font-family' => array(),
'font-size' => array(),
'font-size-adjust' => array(),
'font-stretch' => array(),
'font-style' => array(),
'font-variant' => array(),
'font-weight' => array(),
'glyph-orientation-horizontal' => array(),
'glyph-orientation-vertical' => array(),
'image-rendering' => array(),
'kerning' => array(),
'letter-spacing' => array(),
'lighting-color' => array(),
'marker-end' => array(),
'marker-mid' => array(),
'marker-start' => array(),
'markerheight' => array(),
'markerunits' => array(),
'markerwidth' => array(),
'mask' => array(),
'opacity' => array(),
'orient' => array(),
'overflow' => array(),
'pointer-events' => array(),
'preserveaspectratio' => array(),
'refx' => array(),
'refy' => array(),
'shape-rendering' => array(),
'stop-color' => array(),
'stop-opacity' => array(),
'stroke' => array(),
'stroke-dasharray' => array(),
'stroke-dashoffset' => array(),
'stroke-linecap' => array(),
'stroke-linejoin' => array(),
'stroke-miterlimit' => array(),
'stroke-opacity' => array(),
'stroke-width' => array(),
'style' => array(
'blacklisted_value_regex' => '!important',
),
'text-anchor' => array(),
'text-decoration' => array(),
'text-rendering' => array(),
'transform' => array(),
'unicode-bidi' => array(),
'vector-effect' => array(),
'viewbox' => array(),
'visibility' => array(),
'word-spacing' => array(),
'writing-mode' => array(),
'xml:lang' => array(),
'xml:space' => array(),
'xmlns' => array(),
'xmlns:xlink' => array(),
),
'tag_spec' => array(
'html_format' => array(
'amp',
'amp4ads',
),
'mandatory_ancestor' => 'svg',
'spec_url' => 'https://www.ampproject.org/docs/reference/spec#svg',
),
),
),
'mask' => array(
array(
'attr_spec_list' => array(
'alignment-baseline' => array(),
'baseline-shift' => array(),
'clip' => array(),
'clip-path' => array(),
'clip-rule' => array(),
'color' => array(),
'color-interpolation' => array(),
'color-interpolation-filters' => array(),
'color-profile' => array(),
'color-rendering' => array(),
'cursor' => array(),
'direction' => array(),
'display' => array(),
'dominant-baseline' => array(),
'enable-background' => array(),
'externalresourcesrequired' => array(),
'fill' => array(),
'fill-opacity' => array(),
'fill-rule' => array(),
'filter' => array(),
'flood-color' => array(),
'flood-opacity' => array(),
'font-family' => array(),
'font-size' => array(),
'font-size-adjust' => array(),
'font-stretch' => array(),
'font-style' => array(),
'font-variant' => array(),
'font-weight' => array(),
'glyph-orientation-horizontal' => array(),
'glyph-orientation-vertical' => array(),
'height' => array(),
'image-rendering' => array(),
'kerning' => array(),
'letter-spacing' => array(),
'lighting-color' => array(),
'marker-end' => array(),
'marker-mid' => array(),
'marker-start' => array(),
'mask' => array(),
'maskcontentunits' => array(),
'maskunits' => array(),
'opacity' => array(),
'overflow' => array(),
'pointer-events' => array(),
'requiredextensions' => array(),
'requiredfeatures' => array(),
'shape-rendering' => array(),
'stop-color' => array(),
'stop-opacity' => array(),
'stroke' => array(),
'stroke-dasharray' => array(),
'stroke-dashoffset' => array(),
'stroke-linecap' => array(),
'stroke-linejoin' => array(),
'stroke-miterlimit' => array(),
'stroke-opacity' => array(),
'stroke-width' => array(),
'style' => array(
'blacklisted_value_regex' => '!important',
),
'systemlanguage' => array(),
'text-anchor' => array(),
'text-decoration' => array(),
'text-rendering' => array(),
'unicode-bidi' => array(),
'vector-effect' => array(),
'visibility' => array(),
'width' => array(),
'word-spacing' => array(),
'writing-mode' => array(),
'x' => array(),
'xml:lang' => array(),
'xml:space' => array(),
'xmlns' => array(),
'xmlns:xlink' => array(),
'y' => array(),
),
'tag_spec' => array(
'html_format' => array(
'amp',
'amp4ads',
),
'mandatory_ancestor' => 'svg',
'spec_url' => 'https://www.ampproject.org/docs/reference/spec#svg',
),
),
),
'meta' => array(
array(
'attr_spec_list' => array(
'content' => array(
'mandatory' => true,
'chrome' => array(
'value',
),
'ie' => array(
'value',
),
),
'http-equiv' => array(
'mandatory' => true,
'value_casei' => 'x-ua-compatible',
),
),
'tag_spec' => array(
'html_format' => array(
'amp',
'amp4ads',
),
'mandatory_ancestor' => 'head',
'spec_name' => 'meta http-equiv=x-ua-compatible',
'spec_url' => 'https://www.ampproject.org/docs/reference/spec#html-tags',
),
),
array(
'attr_spec_list' => array(
'content' => array(),
'itemprop' => array(),
'name' => array(
'blacklisted_value_regex' => '(^|\\s)(amp-.*|amp4ads-.*|apple-itunes-app|content-disposition|revisit-after|viewport)(\\s|$)',
),
'property' => array(),
),
'tag_spec' => array(
'html_format' => array(
'amp',
'amp4ads',
),
'spec_name' => 'meta name= and content=',
),
),
array(
'attr_spec_list' => array(
'content' => array(
'mandatory' => true,
'value_casei' => 'text/html; charset=utf-8',
),
'http-equiv' => array(
'mandatory' => true,
'value_casei' => 'content-type',
),
),
'tag_spec' => array(
'html_format' => array(
'amp',
'amp4ads',
),
'mandatory_ancestor' => 'head',
'spec_name' => 'meta http-equiv=content-type',
'spec_url' => 'https://www.ampproject.org/docs/reference/spec#html-tags',
),
),
array(
'attr_spec_list' => array(
'content' => array(
'mandatory' => true,
),
'http-equiv' => array(
'mandatory' => true,
'value_casei' => 'content-language',
),
),
'tag_spec' => array(
'html_format' => array(
'amp',
'amp4ads',
),
'mandatory_ancestor' => 'head',
'spec_name' => 'meta http-equiv=content-language',
'spec_url' => 'https://www.ampproject.org/docs/reference/spec#html-tags',
),
),
array(
'attr_spec_list' => array(
'content' => array(
'mandatory' => true,
),
'http-equiv' => array(
'mandatory' => true,
'value_casei' => 'pics-label',
),
),
'tag_spec' => array(
'html_format' => array(
'amp',
'amp4ads',
),
'mandatory_ancestor' => 'head',
'spec_name' => 'meta http-equiv=pics-label',
'spec_url' => 'https://www.ampproject.org/docs/reference/spec#html-tags',
),
),
array(
'attr_spec_list' => array(
'content' => array(
'mandatory' => true,
),
'http-equiv' => array(
'mandatory' => true,
'value_casei' => 'imagetoolbar',
),
),
'tag_spec' => array(
'html_format' => array(
'amp',
'amp4ads',
),
'mandatory_ancestor' => 'head',
'spec_name' => 'meta http-equiv=imagetoolbar',
'spec_url' => 'https://www.ampproject.org/docs/reference/spec#html-tags',
),
),
array(
'attr_spec_list' => array(
'content' => array(
'mandatory' => true,
'value_casei' => 'text/css',
),
'http-equiv' => array(
'mandatory' => true,
'value_casei' => 'content-style-type',
),
),
'tag_spec' => array(
'html_format' => array(
'amp',
'amp4ads',
),
'mandatory_ancestor' => 'head',
'spec_name' => 'meta http-equiv=content-style-type',
'spec_url' => 'https://www.ampproject.org/docs/reference/spec#html-tags',
),
),
array(
'attr_spec_list' => array(
'content' => array(
'mandatory' => true,
'value_casei' => 'text/javascript',
),
'http-equiv' => array(
'mandatory' => true,
'value_casei' => 'content-script-type',
),
),
'tag_spec' => array(
'html_format' => array(
'amp',
'amp4ads',
),
'mandatory_ancestor' => 'head',
'spec_name' => 'meta http-equiv=content-script-type',
'spec_url' => 'https://www.ampproject.org/docs/reference/spec#html-tags',
),
),
array(
'attr_spec_list' => array(
'content' => array(
'mandatory' => true,
),
'http-equiv' => array(
'mandatory' => true,
'value_casei' => 'origin-trial',
),
),
'tag_spec' => array(
'html_format' => array(
'amp',
'amp4ads',
),
'mandatory_ancestor' => 'head',
'spec_name' => 'meta http-equiv=origin-trial',
'spec_url' => 'https://www.ampproject.org/docs/reference/spec#html-tags',
),
),
array(
'attr_spec_list' => array(
'content' => array(
'mandatory' => true,
),
'http-equiv' => array(
'mandatory' => true,
'value_casei' => 'resource-type',
),
),
'tag_spec' => array(
'html_format' => array(
'amp',
'amp4ads',
),
'mandatory_ancestor' => 'head',
'spec_name' => 'meta http-equiv=resource-type',
'spec_url' => 'https://www.ampproject.org/docs/reference/spec#html-tags',
),
),
),
'metadata' => array(
array(
'attr_spec_list' => array(
'style' => array(
'blacklisted_value_regex' => '!important',
),
'xml:lang' => array(),
'xml:space' => array(),
'xmlns' => array(),
'xmlns:xlink' => array(),
),
'tag_spec' => array(
'html_format' => array(
'amp',
'amp4ads',
),
'mandatory_ancestor' => 'svg',
'spec_url' => 'https://www.ampproject.org/docs/reference/spec#svg',
),
),
),
'meter' => array(
array(
'attr_spec_list' => array(
'high' => array(),
'low' => array(),
'max' => array(),
'min' => array(),
'optimum' => array(),
'value' => array(),
),
'tag_spec' => array(),
),
),
'multicol' => array(
array(
'attr_spec_list' => array(),
'tag_spec' => array(
'html_format' => array(
'amp',
),
),
),
),
'nav' => array(
array(
'attr_spec_list' => array(),
'tag_spec' => array(),
),
array(
'attr_spec_list' => array(
'toolbar' => array(
'mandatory' => true,
),
'toolbar-target' => array(
'mandatory' => true,
),
),
'tag_spec' => array(
'html_format' => array(
'amp',
),
'mandatory_parent' => 'amp-sidebar',
'spec_name' => 'amp-sidebar > nav',
),
),
),
'nextid' => array(
array(
'attr_spec_list' => array(),
'tag_spec' => array(
'html_format' => array(
'amp',
),
),
),
),
'nobr' => array(
array(
'attr_spec_list' => array(),
'tag_spec' => array(
'html_format' => array(
'amp',
),
),
),
),
'noscript' => array(
array(
'attr_spec_list' => array(),
'tag_spec' => array(
'disallowed_ancestor' => array(
'noscript',
),
'html_format' => array(
'amp',
),
'mandatory_ancestor' => 'body',
),
),
),
'o:p' => array(
array(
'attr_spec_list' => array(),
'tag_spec' => array(
'html_format' => array(
'amp',
),
),
),
),
'ol' => array(
array(
'attr_spec_list' => array(
'reversed' => array(
'value' => '',
),
'start' => array(
'value_regex' => '[0-9]*',
),
'type' => array(
'value_regex' => '[1aaii]',
),
),
'tag_spec' => array(),
),
),
'optgroup' => array(
array(
'attr_spec_list' => array(
'[disabled]' => array(),
'[label]' => array(),
'disabled' => array(),
'label' => array(),
),
'tag_spec' => array(
'mandatory_parent' => 'select',
'spec_url' => 'https://www.ampproject.org/docs/reference/components/amp-form',
),
),
),
'option' => array(
array(
'attr_spec_list' => array(
'[disabled]' => array(),
'[label]' => array(),
'[selected]' => array(),
'[value]' => array(),
'disabled' => array(),
'label' => array(),
'selected' => array(),
'value' => array(),
),
'tag_spec' => array(
'spec_url' => 'https://www.ampproject.org/docs/reference/components/amp-form',
),
),
),
'output' => array(
array(
'attr_spec_list' => array(
'for' => array(),
'form' => array(),
'name' => array(
'blacklisted_value_regex' => '(^|\\s)(__amp_\\s*|__count__|__definegetter__|__definesetter__|__lookupgetter__|__lookupsetter__|__nosuchmethod__|__parent__|__proto__|__amp_\\s*|\\$p|\\$proxy|acceptcharset|addeventlistener|appendchild|assignedslot|attachshadow|baseuri|checkvalidity|childelementcount|childnodes|classlist|classname|clientheight|clientleft|clienttop|clientwidth|comparedocumentposition|computedname|computedrole|contenteditable|createshadowroot|enqueaction|firstchild|firstelementchild|getanimations|getattribute|getattributens|getattributenode|getattributenodens|getboundingclientrect|getclientrects|getdestinationinsertionpoints|getelementsbyclassname|getelementsbytagname|getelementsbytagnamens|getrootnode|hasattribute|hasattributens|hasattributes|haschildnodes|haspointercapture|innerhtml|innertext|inputmode|insertadjacentelement|insertadjacenthtml|insertadjacenttext|iscontenteditable|isdefaultnamespace|isequalnode|issamenode|lastchild|lastelementchild|lookupnamespaceuri|namespaceuri|nextelementsibling|nextsibling|nodename|nodetype|nodevalue|offsetheight|offsetleft|offsetparent|offsettop|offsetwidth|outerhtml|outertext|ownerdocument|parentelement|parentnode|previouselementsibling|previoussibling|queryselector|queryselectorall|releasepointercapture|removeattribute|removeattributens|removeattributenode|removechild|removeeventlistener|replacechild|reportvalidity|requestpointerlock|scrollheight|scrollintoview|scrollintoviewifneeded|scrollleft|scrollwidth|setattribute|setattributens|setattributenode|setattributenodens|setpointercapture|shadowroot|stylemap|tabindex|tagname|textcontent|tostring|valueof|(webkit|ms|moz|o)dropzone|(webkit|moz|ms|o)matchesselector|(webkit|moz|ms|o)requestfullscreen|(webkit|moz|ms|o)requestfullscreen)(\\s|$)',
),
),
'tag_spec' => array(),
),
),
'p' => array(
array(
'attr_spec_list' => array(
'align' => array(),
),
'tag_spec' => array(),
),
),
'path' => array(
array(
'attr_spec_list' => array(
'alignment-baseline' => array(),
'baseline-shift' => array(),
'clip' => array(),
'clip-path' => array(),
'clip-rule' => array(),
'color' => array(),
'color-interpolation' => array(),
'color-interpolation-filters' => array(),
'color-profile' => array(),
'color-rendering' => array(),
'cursor' => array(),
'd' => array(),
'direction' => array(),
'display' => array(),
'dominant-baseline' => array(),
'enable-background' => array(),
'externalresourcesrequired' => array(),
'fill' => array(),
'fill-opacity' => array(),
'fill-rule' => array(),
'filter' => array(),
'flood-color' => array(),
'flood-opacity' => array(),
'font-family' => array(),
'font-size' => array(),
'font-size-adjust' => array(),
'font-stretch' => array(),
'font-style' => array(),
'font-variant' => array(),
'font-weight' => array(),
'glyph-orientation-horizontal' => array(),
'glyph-orientation-vertical' => array(),
'image-rendering' => array(),
'kerning' => array(),
'letter-spacing' => array(),
'lighting-color' => array(),
'marker-end' => array(),
'marker-mid' => array(),
'marker-start' => array(),
'mask' => array(),
'opacity' => array(),
'overflow' => array(),
'pathlength' => array(),
'pointer-events' => array(),
'requiredextensions' => array(),
'requiredfeatures' => array(),
'shape-rendering' => array(),
'sketch:type' => array(),
'stop-color' => array(),
'stop-opacity' => array(),
'stroke' => array(),
'stroke-dasharray' => array(),
'stroke-dashoffset' => array(),
'stroke-linecap' => array(),
'stroke-linejoin' => array(),
'stroke-miterlimit' => array(),
'stroke-opacity' => array(),
'stroke-width' => array(),
'style' => array(
'blacklisted_value_regex' => '!important',
),
'systemlanguage' => array(),
'text-anchor' => array(),
'text-decoration' => array(),
'text-rendering' => array(),
'transform' => array(),
'unicode-bidi' => array(),
'vector-effect' => array(),
'visibility' => array(),
'word-spacing' => array(),
'writing-mode' => array(),
'xml:lang' => array(),
'xml:space' => array(),
'xmlns' => array(),
'xmlns:xlink' => array(),
),
'tag_spec' => array(
'html_format' => array(
'amp',
'amp4ads',
),
'mandatory_ancestor' => 'svg',
'spec_url' => 'https://www.ampproject.org/docs/reference/spec#svg',
),
),
),
'pattern' => array(
array(
'attr_spec_list' => array(
'alignment-baseline' => array(),
'baseline-shift' => array(),
'clip' => array(),
'clip-path' => array(),
'clip-rule' => array(),
'color' => array(),
'color-interpolation' => array(),
'color-interpolation-filters' => array(),
'color-profile' => array(),
'color-rendering' => array(),
'cursor' => array(),
'direction' => array(),
'display' => array(),
'dominant-baseline' => array(),
'enable-background' => array(),
'externalresourcesrequired' => array(),
'fill' => array(),
'fill-opacity' => array(),
'fill-rule' => array(),
'filter' => array(),
'flood-color' => array(),
'flood-opacity' => array(),
'font-family' => array(),
'font-size' => array(),
'font-size-adjust' => array(),
'font-stretch' => array(),
'font-style' => array(),
'font-variant' => array(),
'font-weight' => array(),
'glyph-orientation-horizontal' => array(),
'glyph-orientation-vertical' => array(),
'height' => array(),
'image-rendering' => array(),
'kerning' => array(),
'letter-spacing' => array(),
'lighting-color' => array(),
'marker-end' => array(),
'marker-mid' => array(),
'marker-start' => array(),
'mask' => array(),
'opacity' => array(),
'overflow' => array(),
'patterncontentunits' => array(),
'patterntransform' => array(),
'patternunits' => array(),
'pointer-events' => array(),
'preserveaspectratio' => array(),
'requiredextensions' => array(),
'requiredfeatures' => array(),
'shape-rendering' => array(),
'stop-color' => array(),
'stop-opacity' => array(),
'stroke' => array(),
'stroke-dasharray' => array(),
'stroke-dashoffset' => array(),
'stroke-linecap' => array(),
'stroke-linejoin' => array(),
'stroke-miterlimit' => array(),
'stroke-opacity' => array(),
'stroke-width' => array(),
'style' => array(
'blacklisted_value_regex' => '!important',
),
'systemlanguage' => array(),
'text-anchor' => array(),
'text-decoration' => array(),
'text-rendering' => array(),
'unicode-bidi' => array(),
'vector-effect' => array(),
'viewbox' => array(),
'visibility' => array(),
'width' => array(),
'word-spacing' => array(),
'writing-mode' => array(),
'x' => array(),
'xlink:actuate' => array(),
'xlink:arcrole' => array(),
'xlink:href' => array(
'alternative_names' => array(
'href',
),
'allow_empty' => false,
'allow_relative' => true,
'allowed_protocol' => array(
'http',
'https',
),
),
'xlink:role' => array(),
'xlink:show' => array(),
'xlink:title' => array(),
'xlink:type' => array(),
'xml:lang' => array(),
'xml:space' => array(),
'xmlns' => array(),
'xmlns:xlink' => array(),
'y' => array(),
),
'tag_spec' => array(
'html_format' => array(
'amp',
'amp4ads',
),
'mandatory_ancestor' => 'svg',
'spec_url' => 'https://www.ampproject.org/docs/reference/spec#svg',
),
),
),
'polygon' => array(
array(
'attr_spec_list' => array(
'alignment-baseline' => array(),
'baseline-shift' => array(),
'clip' => array(),
'clip-path' => array(),
'clip-rule' => array(),
'color' => array(),
'color-interpolation' => array(),
'color-interpolation-filters' => array(),
'color-profile' => array(),
'color-rendering' => array(),
'cursor' => array(),
'direction' => array(),
'display' => array(),
'dominant-baseline' => array(),
'enable-background' => array(),
'externalresourcesrequired' => array(),
'fill' => array(),
'fill-opacity' => array(),
'fill-rule' => array(),
'filter' => array(),
'flood-color' => array(),
'flood-opacity' => array(),
'font-family' => array(),
'font-size' => array(),
'font-size-adjust' => array(),
'font-stretch' => array(),
'font-style' => array(),
'font-variant' => array(),
'font-weight' => array(),
'glyph-orientation-horizontal' => array(),
'glyph-orientation-vertical' => array(),
'image-rendering' => array(),
'kerning' => array(),
'letter-spacing' => array(),
'lighting-color' => array(),
'marker-end' => array(),
'marker-mid' => array(),
'marker-start' => array(),
'mask' => array(),
'opacity' => array(),
'overflow' => array(),
'pointer-events' => array(),
'points' => array(),
'requiredextensions' => array(),
'requiredfeatures' => array(),
'shape-rendering' => array(),
'sketch:type' => array(),
'stop-color' => array(),
'stop-opacity' => array(),
'stroke' => array(),
'stroke-dasharray' => array(),
'stroke-dashoffset' => array(),
'stroke-linecap' => array(),
'stroke-linejoin' => array(),
'stroke-miterlimit' => array(),
'stroke-opacity' => array(),
'stroke-width' => array(),
'style' => array(
'blacklisted_value_regex' => '!important',
),
'systemlanguage' => array(),
'text-anchor' => array(),
'text-decoration' => array(),
'text-rendering' => array(),
'transform' => array(),
'unicode-bidi' => array(),
'vector-effect' => array(),
'visibility' => array(),
'word-spacing' => array(),
'writing-mode' => array(),
'xml:lang' => array(),
'xml:space' => array(),
'xmlns' => array(),
'xmlns:xlink' => array(),
),
'tag_spec' => array(
'html_format' => array(
'amp',
'amp4ads',
),
'mandatory_ancestor' => 'svg',
'spec_url' => 'https://www.ampproject.org/docs/reference/spec#svg',
),
),
),
'polyline' => array(
array(
'attr_spec_list' => array(
'alignment-baseline' => array(),
'baseline-shift' => array(),
'clip' => array(),
'clip-path' => array(),
'clip-rule' => array(),
'color' => array(),
'color-interpolation' => array(),
'color-interpolation-filters' => array(),
'color-profile' => array(),
'color-rendering' => array(),
'cursor' => array(),
'direction' => array(),
'display' => array(),
'dominant-baseline' => array(),
'enable-background' => array(),
'externalresourcesrequired' => array(),
'fill' => array(),
'fill-opacity' => array(),
'fill-rule' => array(),
'filter' => array(),
'flood-color' => array(),
'flood-opacity' => array(),
'font-family' => array(),
'font-size' => array(),
'font-size-adjust' => array(),
'font-stretch' => array(),
'font-style' => array(),
'font-variant' => array(),
'font-weight' => array(),
'glyph-orientation-horizontal' => array(),
'glyph-orientation-vertical' => array(),
'image-rendering' => array(),
'kerning' => array(),
'letter-spacing' => array(),
'lighting-color' => array(),
'marker-end' => array(),
'marker-mid' => array(),
'marker-start' => array(),
'mask' => array(),
'opacity' => array(),
'overflow' => array(),
'pointer-events' => array(),
'points' => array(),
'requiredextensions' => array(),
'requiredfeatures' => array(),
'shape-rendering' => array(),
'sketch:type' => array(),
'stop-color' => array(),
'stop-opacity' => array(),
'stroke' => array(),
'stroke-dasharray' => array(),
'stroke-dashoffset' => array(),
'stroke-linecap' => array(),
'stroke-linejoin' => array(),
'stroke-miterlimit' => array(),
'stroke-opacity' => array(),
'stroke-width' => array(),
'style' => array(
'blacklisted_value_regex' => '!important',
),
'systemlanguage' => array(),
'text-anchor' => array(),
'text-decoration' => array(),
'text-rendering' => array(),
'transform' => array(),
'unicode-bidi' => array(),
'vector-effect' => array(),
'visibility' => array(),
'word-spacing' => array(),
'writing-mode' => array(),
'xml:lang' => array(),
'xml:space' => array(),
'xmlns' => array(),
'xmlns:xlink' => array(),
),
'tag_spec' => array(
'html_format' => array(
'amp',
'amp4ads',
),
'mandatory_ancestor' => 'svg',
'spec_url' => 'https://www.ampproject.org/docs/reference/spec#svg',
),
),
),
'pre' => array(
array(
'attr_spec_list' => array(),
'tag_spec' => array(),
),
),
'progress' => array(
array(
'attr_spec_list' => array(
'max' => array(),
'value' => array(),
),
'tag_spec' => array(),
),
),
'q' => array(
array(
'attr_spec_list' => array(
'cite' => array(
'blacklisted_value_regex' => '__amp_source_origin',
'allow_empty' => true,
'allow_relative' => true,
'allowed_protocol' => array(
'http',
'https',
),
),
),
'tag_spec' => array(),
),
),
'radialgradient' => array(
array(
'attr_spec_list' => array(
'alignment-baseline' => array(),
'baseline-shift' => array(),
'clip' => array(),
'clip-path' => array(),
'clip-rule' => array(),
'color' => array(),
'color-interpolation' => array(),
'color-interpolation-filters' => array(),
'color-profile' => array(),
'color-rendering' => array(),
'cursor' => array(),
'cx' => array(),
'cy' => array(),
'direction' => array(),
'display' => array(),
'dominant-baseline' => array(),
'enable-background' => array(),
'externalresourcesrequired' => array(),
'fill' => array(),
'fill-opacity' => array(),
'fill-rule' => array(),
'filter' => array(),
'flood-color' => array(),
'flood-opacity' => array(),
'font-family' => array(),
'font-size' => array(),
'font-size-adjust' => array(),
'font-stretch' => array(),
'font-style' => array(),
'font-variant' => array(),
'font-weight' => array(),
'fr' => array(),
'fx' => array(),
'fy' => array(),
'glyph-orientation-horizontal' => array(),
'glyph-orientation-vertical' => array(),
'gradienttransform' => array(),
'gradientunits' => array(),
'image-rendering' => array(),
'kerning' => array(),
'letter-spacing' => array(),
'lighting-color' => array(),
'marker-end' => array(),
'marker-mid' => array(),
'marker-start' => array(),
'mask' => array(),
'opacity' => array(),
'overflow' => array(),
'pointer-events' => array(),
'r' => array(),
'shape-rendering' => array(),
'spreadmethod' => array(),
'stop-color' => array(),
'stop-opacity' => array(),
'stroke' => array(),
'stroke-dasharray' => array(),
'stroke-dashoffset' => array(),
'stroke-linecap' => array(),
'stroke-linejoin' => array(),
'stroke-miterlimit' => array(),
'stroke-opacity' => array(),
'stroke-width' => array(),
'style' => array(
'blacklisted_value_regex' => '!important',
),
'text-anchor' => array(),
'text-decoration' => array(),
'text-rendering' => array(),
'unicode-bidi' => array(),
'vector-effect' => array(),
'visibility' => array(),
'word-spacing' => array(),
'writing-mode' => array(),
'xlink:actuate' => array(),
'xlink:arcrole' => array(),
'xlink:href' => array(
'alternative_names' => array(
'href',
),
'allow_empty' => false,
'allow_relative' => true,
'allowed_protocol' => array(
'http',
'https',
),
),
'xlink:role' => array(),
'xlink:show' => array(),
'xlink:title' => array(),
'xlink:type' => array(),
'xml:lang' => array(),
'xml:space' => array(),
'xmlns' => array(),
'xmlns:xlink' => array(),
),
'tag_spec' => array(
'html_format' => array(
'amp',
'amp4ads',
),
'mandatory_ancestor' => 'svg',
'spec_url' => 'https://www.ampproject.org/docs/reference/spec#svg',
),
),
),
'rb' => array(
array(
'attr_spec_list' => array(),
'tag_spec' => array(),
),
),
'rect' => array(
array(
'attr_spec_list' => array(
'alignment-baseline' => array(),
'baseline-shift' => array(),
'clip' => array(),
'clip-path' => array(),
'clip-rule' => array(),
'color' => array(),
'color-interpolation' => array(),
'color-interpolation-filters' => array(),
'color-profile' => array(),
'color-rendering' => array(),
'cursor' => array(),
'direction' => array(),
'display' => array(),
'dominant-baseline' => array(),
'enable-background' => array(),
'externalresourcesrequired' => array(),
'fill' => array(),
'fill-opacity' => array(),
'fill-rule' => array(),
'filter' => array(),
'flood-color' => array(),
'flood-opacity' => array(),
'font-family' => array(),
'font-size' => array(),
'font-size-adjust' => array(),
'font-stretch' => array(),
'font-style' => array(),
'font-variant' => array(),
'font-weight' => array(),
'glyph-orientation-horizontal' => array(),
'glyph-orientation-vertical' => array(),
'height' => array(),
'image-rendering' => array(),
'kerning' => array(),
'letter-spacing' => array(),
'lighting-color' => array(),
'marker-end' => array(),
'marker-mid' => array(),
'marker-start' => array(),
'mask' => array(),
'opacity' => array(),
'overflow' => array(),
'pointer-events' => array(),
'requiredextensions' => array(),
'requiredfeatures' => array(),
'rx' => array(),
'ry' => array(),
'shape-rendering' => array(),
'sketch:type' => array(),
'stop-color' => array(),
'stop-opacity' => array(),
'stroke' => array(),
'stroke-dasharray' => array(),
'stroke-dashoffset' => array(),
'stroke-linecap' => array(),
'stroke-linejoin' => array(),
'stroke-miterlimit' => array(),
'stroke-opacity' => array(),
'stroke-width' => array(),
'style' => array(
'blacklisted_value_regex' => '!important',
),
'systemlanguage' => array(),
'text-anchor' => array(),
'text-decoration' => array(),
'text-rendering' => array(),
'transform' => array(),
'unicode-bidi' => array(),
'vector-effect' => array(),
'visibility' => array(),
'width' => array(),
'word-spacing' => array(),
'writing-mode' => array(),
'x' => array(),
'xml:lang' => array(),
'xml:space' => array(),
'xmlns' => array(),
'xmlns:xlink' => array(),
'y' => array(),
),
'tag_spec' => array(
'html_format' => array(
'amp',
'amp4ads',
),
'mandatory_ancestor' => 'svg',
'spec_url' => 'https://www.ampproject.org/docs/reference/spec#svg',
),
),
),
'rp' => array(
array(
'attr_spec_list' => array(),
'tag_spec' => array(),
),
),
'rt' => array(
array(
'attr_spec_list' => array(),
'tag_spec' => array(),
),
),
'rtc' => array(
array(
'attr_spec_list' => array(),
'tag_spec' => array(),
),
),
'ruby' => array(
array(
'attr_spec_list' => array(),
'tag_spec' => array(),
),
),
's' => array(
array(
'attr_spec_list' => array(),
'tag_spec' => array(),
),
),
'samp' => array(
array(
'attr_spec_list' => array(),
'tag_spec' => array(),
),
),
'script' => array(
array(
'attr_spec_list' => array(
'nonce' => array(),
'type' => array(
'mandatory' => true,
'value_casei' => 'application/ld+json',
),
),
'tag_spec' => array(
'spec_name' => 'script type=application/ld+json',
),
),
array(
'attr_spec_list' => array(
'type' => array(
'mandatory' => true,
'value_casei' => 'application/json',
),
),
'tag_spec' => array(
'html_format' => array(
'amp',
),
'mandatory_parent' => 'amp-ima-video',
'spec_name' => 'amp-ima-video > script[type=application/json]',
),
),
array(
'attr_spec_list' => array(
'nonce' => array(),
'type' => array(
'mandatory' => true,
'value' => 'application/json',
),
),
'tag_spec' => array(
'html_format' => array(
'amp4ads',
),
'mandatory_parent' => 'amp-ad-exit',
'spec_name' => 'amp-ad-exit configuration json',
'spec_url' => 'https://www.ampproject.org/docs/reference/components/amp-ad-exit',
),
),
array(
'attr_spec_list' => array(
'nonce' => array(),
'type' => array(
'mandatory' => true,
'value_casei' => 'application/json',
),
),
'tag_spec' => array(
'html_format' => array(
'amp',
'amp4ads',
),
'mandatory_parent' => 'amp-analytics',
'spec_name' => 'amp-analytics extension .json script',
'spec_url' => 'https://www.ampproject.org/docs/reference/components/amp-analytics',
),
),
array(
'attr_spec_list' => array(
'nonce' => array(),
'type' => array(
'mandatory' => true,
'value_casei' => 'application/json',
),
),
'tag_spec' => array(
'mandatory_parent' => 'amp-animation',
'spec_name' => 'amp-animation extension .json script',
),
),
array(
'attr_spec_list' => array(
'nonce' => array(),
'type' => array(
'mandatory' => true,
'value_casei' => 'application/json',
),
),
'tag_spec' => array(
'html_format' => array(
'amp',
),
'mandatory_parent' => 'amp-state',
'spec_name' => 'amp-bind extension .json script',
'spec_url' => 'https://www.ampproject.org/docs/reference/components/amp-bind',
),
),
array(
'attr_spec_list' => array(
'nonce' => array(),
'type' => array(
'mandatory' => true,
'value_casei' => 'application/json',
),
),
'tag_spec' => array(
'html_format' => array(
'amp',
),
'mandatory_parent' => 'amp-experiment',
'spec_name' => 'amp-experiment extension .json script',
'spec_url' => 'https://www.ampproject.org/docs/reference/components/amp-experiment',
),
),
),
'section' => array(
array(
'attr_spec_list' => array(),
'tag_spec' => array(
'disallowed_ancestor' => array(
'amp-accordion',
),
),
),
array(
'attr_spec_list' => array(
'expanded' => array(
'value' => '',
),
),
'tag_spec' => array(
'mandatory_parent' => 'amp-accordion',
'spec_name' => 'amp-accordion > section',
),
),
),
'select' => array(
array(
'attr_spec_list' => array(
'[autofocus]' => array(),
'[disabled]' => array(),
'[multiple]' => array(),
'[required]' => array(),
'[size]' => array(),
'autofocus' => array(),
'disabled' => array(),
'multiple' => array(),
'name' => array(
'blacklisted_value_regex' => '(^|\\s)(__amp_\\s*|__count__|__definegetter__|__definesetter__|__lookupgetter__|__lookupsetter__|__nosuchmethod__|__parent__|__proto__|__amp_\\s*|\\$p|\\$proxy|acceptcharset|addeventlistener|appendchild|assignedslot|attachshadow|baseuri|checkvalidity|childelementcount|childnodes|classlist|classname|clientheight|clientleft|clienttop|clientwidth|comparedocumentposition|computedname|computedrole|contenteditable|createshadowroot|enqueaction|firstchild|firstelementchild|getanimations|getattribute|getattributens|getattributenode|getattributenodens|getboundingclientrect|getclientrects|getdestinationinsertionpoints|getelementsbyclassname|getelementsbytagname|getelementsbytagnamens|getrootnode|hasattribute|hasattributens|hasattributes|haschildnodes|haspointercapture|innerhtml|innertext|inputmode|insertadjacentelement|insertadjacenthtml|insertadjacenttext|iscontenteditable|isdefaultnamespace|isequalnode|issamenode|lastchild|lastelementchild|lookupnamespaceuri|namespaceuri|nextelementsibling|nextsibling|nodename|nodetype|nodevalue|offsetheight|offsetleft|offsetparent|offsettop|offsetwidth|outerhtml|outertext|ownerdocument|parentelement|parentnode|previouselementsibling|previoussibling|queryselector|queryselectorall|releasepointercapture|removeattribute|removeattributens|removeattributenode|removechild|removeeventlistener|replacechild|reportvalidity|requestpointerlock|scrollheight|scrollintoview|scrollintoviewifneeded|scrollleft|scrollwidth|setattribute|setattributens|setattributenode|setattributenodens|setpointercapture|shadowroot|stylemap|tabindex|tagname|textcontent|tostring|valueof|(webkit|ms|moz|o)dropzone|(webkit|moz|ms|o)matchesselector|(webkit|moz|ms|o)requestfullscreen|(webkit|moz|ms|o)requestfullscreen)(\\s|$)',
),
'required' => array(),
'size' => array(),
),
'tag_spec' => array(
'spec_url' => 'https://www.ampproject.org/docs/reference/components/amp-form',
),
),
),
'slot' => array(
array(
'attr_spec_list' => array(
'name' => array(),
),
'tag_spec' => array(
'html_format' => array(
'amp',
),
),
),
),
'small' => array(
array(
'attr_spec_list' => array(),
'tag_spec' => array(),
),
),
'solidcolor' => array(
array(
'attr_spec_list' => array(
'alignment-baseline' => array(),
'baseline-shift' => array(),
'clip' => array(),
'clip-path' => array(),
'clip-rule' => array(),
'color' => array(),
'color-interpolation' => array(),
'color-interpolation-filters' => array(),
'color-profile' => array(),
'color-rendering' => array(),
'cursor' => array(),
'direction' => array(),
'display' => array(),
'dominant-baseline' => array(),
'enable-background' => array(),
'fill' => array(),
'fill-opacity' => array(),
'fill-rule' => array(),
'filter' => array(),
'flood-color' => array(),
'flood-opacity' => array(),
'font-family' => array(),
'font-size' => array(),
'font-size-adjust' => array(),
'font-stretch' => array(),
'font-style' => array(),
'font-variant' => array(),
'font-weight' => array(),
'glyph-orientation-horizontal' => array(),
'glyph-orientation-vertical' => array(),
'image-rendering' => array(),
'kerning' => array(),
'letter-spacing' => array(),
'lighting-color' => array(),
'marker-end' => array(),
'marker-mid' => array(),
'marker-start' => array(),
'mask' => array(),
'opacity' => array(),
'overflow' => array(),
'pointer-events' => array(),
'shape-rendering' => array(),
'solid-color' => array(),
'solid-opacity' => array(),
'stop-color' => array(),
'stop-opacity' => array(),
'stroke' => array(),
'stroke-dasharray' => array(),
'stroke-dashoffset' => array(),
'stroke-linecap' => array(),
'stroke-linejoin' => array(),
'stroke-miterlimit' => array(),
'stroke-opacity' => array(),
'stroke-width' => array(),
'style' => array(
'blacklisted_value_regex' => '!important',
),
'text-anchor' => array(),
'text-decoration' => array(),
'text-rendering' => array(),
'unicode-bidi' => array(),
'vector-effect' => array(),
'visibility' => array(),
'word-spacing' => array(),
'writing-mode' => array(),
'xml:lang' => array(),
'xml:space' => array(),
'xmlns' => array(),
'xmlns:xlink' => array(),
),
'tag_spec' => array(
'html_format' => array(
'amp',
'amp4ads',
),
'mandatory_ancestor' => 'svg',
'spec_url' => 'https://www.ampproject.org/docs/reference/spec#svg',
),
),
),
'source' => array(
array(
'attr_spec_list' => array(
'[src]' => array(),
'[type]' => array(),
'media' => array(),
'src' => array(
'blacklisted_value_regex' => '__amp_source_origin',
'allow_relative' => true,
'allowed_protocol' => array(
'https',
),
),
'type' => array(),
),
'tag_spec' => array(
'html_format' => array(
'amp',
'amp4ads',
),
'mandatory_parent' => 'amp-video',
'spec_name' => 'amp-video > source',
'spec_url' => 'https://www.ampproject.org/docs/reference/components/amp-video',
),
),
array(
'attr_spec_list' => array(
'[src]' => array(),
'[type]' => array(),
'media' => array(),
'src' => array(
'blacklisted_value_regex' => '__amp_source_origin',
'allow_relative' => true,
'allowed_protocol' => array(
'https',
),
),
'type' => array(),
),
'tag_spec' => array(
'html_format' => array(
'amp',
'amp4ads',
),
'mandatory_parent' => 'amp-audio',
'spec_name' => 'amp-audio > source',
'spec_url' => 'https://www.ampproject.org/docs/reference/components/amp-audio',
),
),
array(
'attr_spec_list' => array(
'media' => array(),
'src' => array(
'blacklisted_value_regex' => '__amp_source_origin',
'mandatory' => true,
'allow_relative' => true,
'allowed_protocol' => array(
'https',
),
),
'type' => array(
'mandatory' => true,
),
),
'tag_spec' => array(
'html_format' => array(
'amp',
'amp4ads',
),
'mandatory_parent' => 'audio',
'spec_name' => 'audio > source',
'spec_url' => 'https://www.ampproject.org/docs/reference/components/amp-audio',
),
),
array(
'attr_spec_list' => array(
'media' => array(),
'src' => array(
'blacklisted_value_regex' => '__amp_source_origin',
'mandatory' => true,
'allow_relative' => true,
'allowed_protocol' => array(
'https',
),
),
'type' => array(
'mandatory' => true,
),
),
'tag_spec' => array(
'html_format' => array(
'amp',
'amp4ads',
),
'mandatory_parent' => 'video',
'spec_name' => 'video > source',
'spec_url' => 'https://www.ampproject.org/docs/reference/components/amp-video',
),
),
array(
'attr_spec_list' => array(
'[src]' => array(),
'[type]' => array(),
'media' => array(),
'src' => array(
'blacklisted_value_regex' => '__amp_source_origin',
'allow_relative' => true,
'allowed_protocol' => array(
'https',
),
),
'type' => array(),
),
'tag_spec' => array(
'html_format' => array(
'amp',
'amp4ads',
),
'mandatory_parent' => 'amp-ima-video',
'spec_name' => 'amp-ima-video > source',
),
),
),
'spacer' => array(
array(
'attr_spec_list' => array(),
'tag_spec' => array(
'html_format' => array(
'amp',
),
),
),
),
'span' => array(
array(
'attr_spec_list' => array(),
'tag_spec' => array(),
),
),
'stop' => array(
array(
'attr_spec_list' => array(
'offset' => array(),
'stop-color' => array(),
'stop-opacity' => array(),
'style' => array(
'blacklisted_value_regex' => '!important',
),
),
'tag_spec' => array(
'html_format' => array(
'amp',
'amp4ads',
),
'mandatory_ancestor' => 'lineargradient',
'spec_name' => 'lineargradient > stop',
'spec_url' => 'https://www.ampproject.org/docs/reference/spec#svg',
),
),
array(
'attr_spec_list' => array(
'offset' => array(),
'stop-color' => array(),
'stop-opacity' => array(),
'style' => array(
'blacklisted_value_regex' => '!important',
),
),
'tag_spec' => array(
'html_format' => array(
'amp',
'amp4ads',
),
'mandatory_ancestor' => 'radialgradient',
'spec_name' => 'radialgradient > stop',
'spec_url' => 'https://www.ampproject.org/docs/reference/spec#svg',
),
),
),
'strike' => array(
array(
'attr_spec_list' => array(),
'tag_spec' => array(
'html_format' => array(
'amp',
),
),
),
),
'strong' => array(
array(
'attr_spec_list' => array(),
'tag_spec' => array(),
),
),
'style' => array(
array(
'attr_spec_list' => array(
'amp-boilerplate' => array(
'mandatory' => true,
'value' => '',
),
'nonce' => array(),
),
'tag_spec' => array(
'html_format' => array(
'amp',
),
'mandatory_alternatives' => 'noscript > style[amp-boilerplate]',
'mandatory_ancestor' => 'head',
'mandatory_parent' => 'noscript',
'spec_name' => 'noscript > style[amp-boilerplate]',
'spec_url' => 'https://github.com/ampproject/amphtml/blob/master/spec/amp-boilerplate.md',
'unique' => true,
),
),
array(
'attr_spec_list' => array(
'amp-keyframes' => array(
'mandatory' => true,
'value' => '',
),
),
'tag_spec' => array(
'html_format' => array(
'amp',
'amp4ads',
),
'mandatory_parent' => 'body',
'spec_name' => 'style[amp-keyframes]',
'unique' => true,
),
),
),
'sub' => array(
array(
'attr_spec_list' => array(),
'tag_spec' => array(),
),
),
'sup' => array(
array(
'attr_spec_list' => array(),
'tag_spec' => array(),
),
),
'svg' => array(
array(
'attr_spec_list' => array(
'alignment-baseline' => array(),
'baseline-shift' => array(),
'clip' => array(),
'clip-path' => array(),
'clip-rule' => array(),
'color' => array(),
'color-interpolation' => array(),
'color-interpolation-filters' => array(),
'color-profile' => array(),
'color-rendering' => array(),
'contentscripttype' => array(),
'contentstyletype' => array(),
'cursor' => array(),
'direction' => array(),
'display' => array(),
'dominant-baseline' => array(),
'enable-background' => array(),
'externalresourcesrequired' => array(),
'fill' => array(),
'fill-opacity' => array(),
'fill-rule' => array(),
'filter' => array(),
'flood-color' => array(),
'flood-opacity' => array(),
'font-family' => array(),
'font-size' => array(),
'font-size-adjust' => array(),
'font-stretch' => array(),
'font-style' => array(),
'font-variant' => array(),
'font-weight' => array(),
'glyph-orientation-horizontal' => array(),
'glyph-orientation-vertical' => array(),
'height' => array(),
'image-rendering' => array(),
'kerning' => array(),
'letter-spacing' => array(),
'lighting-color' => array(),
'marker-end' => array(),
'marker-mid' => array(),
'marker-start' => array(),
'mask' => array(),
'opacity' => array(),
'overflow' => array(),
'pointer-events' => array(),
'preserveaspectratio' => array(),
'requiredextensions' => array(),
'requiredfeatures' => array(),
'shape-rendering' => array(),
'stop-color' => array(),
'stop-opacity' => array(),
'stroke' => array(),
'stroke-dasharray' => array(),
'stroke-dashoffset' => array(),
'stroke-linecap' => array(),
'stroke-linejoin' => array(),
'stroke-miterlimit' => array(),
'stroke-opacity' => array(),
'stroke-width' => array(),
'systemlanguage' => array(),
'text-anchor' => array(),
'text-decoration' => array(),
'text-rendering' => array(),
'unicode-bidi' => array(),
'vector-effect' => array(),
'version' => array(
'value_regex' => '(1.0|1.1)',
),
'viewbox' => array(),
'visibility' => array(),
'width' => array(),
'word-spacing' => array(),
'writing-mode' => array(),
'x' => array(),
'xml:lang' => array(),
'xml:space' => array(),
'xmlns' => array(),
'xmlns:xlink' => array(),
'y' => array(),
'zoomandpan' => array(),
),
'tag_spec' => array(
'html_format' => array(
'amp',
'amp4ads',
),
'spec_url' => 'https://www.ampproject.org/docs/reference/spec#svg',
),
),
),
'switch' => array(
array(
'attr_spec_list' => array(
'alignment-baseline' => array(),
'baseline-shift' => array(),
'clip' => array(),
'clip-path' => array(),
'clip-rule' => array(),
'color' => array(),
'color-interpolation' => array(),
'color-interpolation-filters' => array(),
'color-profile' => array(),
'color-rendering' => array(),
'cursor' => array(),
'direction' => array(),
'display' => array(),
'dominant-baseline' => array(),
'enable-background' => array(),
'fill' => array(),
'fill-opacity' => array(),
'fill-rule' => array(),
'filter' => array(),
'flood-color' => array(),
'flood-opacity' => array(),
'font-family' => array(),
'font-size' => array(),
'font-size-adjust' => array(),
'font-stretch' => array(),
'font-style' => array(),
'font-variant' => array(),
'font-weight' => array(),
'glyph-orientation-horizontal' => array(),
'glyph-orientation-vertical' => array(),
'image-rendering' => array(),
'kerning' => array(),
'letter-spacing' => array(),
'lighting-color' => array(),
'marker-end' => array(),
'marker-mid' => array(),
'marker-start' => array(),
'mask' => array(),
'opacity' => array(),
'overflow' => array(),
'pointer-events' => array(),
'requiredextensions' => array(),
'requiredfeatures' => array(),
'shape-rendering' => array(),
'stop-color' => array(),
'stop-opacity' => array(),
'stroke' => array(),
'stroke-dasharray' => array(),
'stroke-dashoffset' => array(),
'stroke-linecap' => array(),
'stroke-linejoin' => array(),
'stroke-miterlimit' => array(),
'stroke-opacity' => array(),
'stroke-width' => array(),
'style' => array(
'blacklisted_value_regex' => '!important',
),
'systemlanguage' => array(),
'text-anchor' => array(),
'text-decoration' => array(),
'text-rendering' => array(),
'unicode-bidi' => array(),
'vector-effect' => array(),
'visibility' => array(),
'word-spacing' => array(),
'writing-mode' => array(),
'xml:lang' => array(),
'xml:space' => array(),
'xmlns' => array(),
'xmlns:xlink' => array(),
),
'tag_spec' => array(
'html_format' => array(
'amp',
'amp4ads',
),
'mandatory_ancestor' => 'svg',
'spec_url' => 'https://www.ampproject.org/docs/reference/spec#svg',
),
),
),
'symbol' => array(
array(
'attr_spec_list' => array(
'alignment-baseline' => array(),
'baseline-shift' => array(),
'clip' => array(),
'clip-path' => array(),
'clip-rule' => array(),
'color' => array(),
'color-interpolation' => array(),
'color-interpolation-filters' => array(),
'color-profile' => array(),
'color-rendering' => array(),
'cursor' => array(),
'direction' => array(),
'display' => array(),
'dominant-baseline' => array(),
'enable-background' => array(),
'externalresourcesrequired' => array(),
'fill' => array(),
'fill-opacity' => array(),
'fill-rule' => array(),
'filter' => array(),
'flood-color' => array(),
'flood-opacity' => array(),
'font-family' => array(),
'font-size' => array(),
'font-size-adjust' => array(),
'font-stretch' => array(),
'font-style' => array(),
'font-variant' => array(),
'font-weight' => array(),
'glyph-orientation-horizontal' => array(),
'glyph-orientation-vertical' => array(),
'image-rendering' => array(),
'kerning' => array(),
'letter-spacing' => array(),
'lighting-color' => array(),
'marker-end' => array(),
'marker-mid' => array(),
'marker-start' => array(),
'mask' => array(),
'opacity' => array(),
'overflow' => array(),
'pointer-events' => array(),
'preserveaspectratio' => array(),
'shape-rendering' => array(),
'stop-color' => array(),
'stop-opacity' => array(),
'stroke' => array(),
'stroke-dasharray' => array(),
'stroke-dashoffset' => array(),
'stroke-linecap' => array(),
'stroke-linejoin' => array(),
'stroke-miterlimit' => array(),
'stroke-opacity' => array(),
'stroke-width' => array(),
'style' => array(
'blacklisted_value_regex' => '!important',
),
'text-anchor' => array(),
'text-decoration' => array(),
'text-rendering' => array(),
'unicode-bidi' => array(),
'vector-effect' => array(),
'viewbox' => array(),
'visibility' => array(),
'word-spacing' => array(),
'writing-mode' => array(),
'xml:lang' => array(),
'xml:space' => array(),
'xmlns' => array(),
'xmlns:xlink' => array(),
),
'tag_spec' => array(
'html_format' => array(
'amp',
'amp4ads',
),
'mandatory_ancestor' => 'svg',
'spec_url' => 'https://www.ampproject.org/docs/reference/spec#svg',
),
),
),
'table' => array(
array(
'attr_spec_list' => array(
'align' => array(),
'bgcolor' => array(),
'border' => array(
'value_regex' => '0|1',
),
'cellpadding' => array(),
'cellspacing' => array(),
'sortable' => array(),
'width' => array(),
),
'tag_spec' => array(),
),
),
'tbody' => array(
array(
'attr_spec_list' => array(),
'tag_spec' => array(),
),
),
'td' => array(
array(
'attr_spec_list' => array(
'align' => array(),
'bgcolor' => array(),
'colspan' => array(),
'headers' => array(),
'height' => array(),
'rowspan' => array(),
'valign' => array(),
'width' => array(),
),
'tag_spec' => array(),
),
),
'template' => array(
array(
'attr_spec_list' => array(
'type' => array(
'mandatory' => true,
'value' => 'amp-mustache',
),
),
'tag_spec' => array(
'disallowed_ancestor' => array(
'template',
),
),
),
),
'text' => array(
array(
'attr_spec_list' => array(
'alignment-baseline' => array(),
'baseline-shift' => array(),
'clip' => array(),
'clip-path' => array(),
'clip-rule' => array(),
'color' => array(),
'color-interpolation' => array(),
'color-interpolation-filters' => array(),
'color-profile' => array(),
'color-rendering' => array(),
'cursor' => array(),
'direction' => array(),
'display' => array(),
'dominant-baseline' => array(),
'dx' => array(),
'dy' => array(),
'enable-background' => array(),
'externalresourcesrequired' => array(),
'fill' => array(),
'fill-opacity' => array(),
'fill-rule' => array(),
'filter' => array(),
'flood-color' => array(),
'flood-opacity' => array(),
'font-family' => array(),
'font-size' => array(),
'font-size-adjust' => array(),
'font-stretch' => array(),
'font-style' => array(),
'font-variant' => array(),
'font-weight' => array(),
'glyph-orientation-horizontal' => array(),
'glyph-orientation-vertical' => array(),
'image-rendering' => array(),
'kerning' => array(),
'lengthadjust' => array(),
'letter-spacing' => array(),
'lighting-color' => array(),
'marker-end' => array(),
'marker-mid' => array(),
'marker-start' => array(),
'mask' => array(),
'opacity' => array(),
'overflow' => array(),
'pointer-events' => array(),
'requiredextensions' => array(),
'requiredfeatures' => array(),
'rotate' => array(),
'shape-rendering' => array(),
'stop-color' => array(),
'stop-opacity' => array(),
'stroke' => array(),
'stroke-dasharray' => array(),
'stroke-dashoffset' => array(),
'stroke-linecap' => array(),
'stroke-linejoin' => array(),
'stroke-miterlimit' => array(),
'stroke-opacity' => array(),
'stroke-width' => array(),
'style' => array(
'blacklisted_value_regex' => '!important',
),
'systemlanguage' => array(),
'text-anchor' => array(),
'text-decoration' => array(),
'text-rendering' => array(),
'textlength' => array(),
'transform' => array(),
'unicode-bidi' => array(),
'vector-effect' => array(),
'visibility' => array(),
'word-spacing' => array(),
'writing-mode' => array(),
'x' => array(),
'xml:lang' => array(),
'xml:space' => array(),
'xmlns' => array(),
'xmlns:xlink' => array(),
'y' => array(),
),
'tag_spec' => array(
'html_format' => array(
'amp',
'amp4ads',
),
'mandatory_ancestor' => 'svg',
'spec_url' => 'https://www.ampproject.org/docs/reference/spec#svg',
),
),
),
'textarea' => array(
array(
'attr_spec_list' => array(
'[autocomplete]' => array(),
'[autofocus]' => array(),
'[cols]' => array(),
'[disabled]' => array(),
'[maxlength]' => array(),
'[minlength]' => array(),
'[placeholder]' => array(),
'[readonly]' => array(),
'[required]' => array(),
'[rows]' => array(),
'[selectiondirection]' => array(),
'[selectionend]' => array(),
'[selectionstart]' => array(),
'[spellcheck]' => array(),
'[wrap]' => array(),
'autocomplete' => array(),
'autofocus' => array(),
'cols' => array(),
'disabled' => array(),
'maxlength' => array(),
'minlength' => array(),
'name' => array(
'blacklisted_value_regex' => '(^|\\s)(__amp_\\s*|__count__|__definegetter__|__definesetter__|__lookupgetter__|__lookupsetter__|__nosuchmethod__|__parent__|__proto__|__amp_\\s*|\\$p|\\$proxy|acceptcharset|addeventlistener|appendchild|assignedslot|attachshadow|baseuri|checkvalidity|childelementcount|childnodes|classlist|classname|clientheight|clientleft|clienttop|clientwidth|comparedocumentposition|computedname|computedrole|contenteditable|createshadowroot|enqueaction|firstchild|firstelementchild|getanimations|getattribute|getattributens|getattributenode|getattributenodens|getboundingclientrect|getclientrects|getdestinationinsertionpoints|getelementsbyclassname|getelementsbytagname|getelementsbytagnamens|getrootnode|hasattribute|hasattributens|hasattributes|haschildnodes|haspointercapture|innerhtml|innertext|inputmode|insertadjacentelement|insertadjacenthtml|insertadjacenttext|iscontenteditable|isdefaultnamespace|isequalnode|issamenode|lastchild|lastelementchild|lookupnamespaceuri|namespaceuri|nextelementsibling|nextsibling|nodename|nodetype|nodevalue|offsetheight|offsetleft|offsetparent|offsettop|offsetwidth|outerhtml|outertext|ownerdocument|parentelement|parentnode|previouselementsibling|previoussibling|queryselector|queryselectorall|releasepointercapture|removeattribute|removeattributens|removeattributenode|removechild|removeeventlistener|replacechild|reportvalidity|requestpointerlock|scrollheight|scrollintoview|scrollintoviewifneeded|scrollleft|scrollwidth|setattribute|setattributens|setattributenode|setattributenodens|setpointercapture|shadowroot|stylemap|tabindex|tagname|textcontent|tostring|valueof|(webkit|ms|moz|o)dropzone|(webkit|moz|ms|o)matchesselector|(webkit|moz|ms|o)requestfullscreen|(webkit|moz|ms|o)requestfullscreen)(\\s|$)',
),
'placeholder' => array(),
'readonly' => array(),
'required' => array(),
'rows' => array(),
'selectiondirection' => array(),
'selectionend' => array(),
'selectionstart' => array(),
'spellcheck' => array(),
'wrap' => array(),
),
'tag_spec' => array(
'spec_url' => 'https://www.ampproject.org/docs/reference/components/amp-form',
),
),
),
'textpath' => array(
array(
'attr_spec_list' => array(
'alignment-baseline' => array(),
'baseline-shift' => array(),
'clip' => array(),
'clip-path' => array(),
'clip-rule' => array(),
'color' => array(),
'color-interpolation' => array(),
'color-interpolation-filters' => array(),
'color-profile' => array(),
'color-rendering' => array(),
'cursor' => array(),
'direction' => array(),
'display' => array(),
'dominant-baseline' => array(),
'enable-background' => array(),
'externalresourcesrequired' => array(),
'fill' => array(),
'fill-opacity' => array(),
'fill-rule' => array(),
'filter' => array(),
'flood-color' => array(),
'flood-opacity' => array(),
'font-family' => array(),
'font-size' => array(),
'font-size-adjust' => array(),
'font-stretch' => array(),
'font-style' => array(),
'font-variant' => array(),
'font-weight' => array(),
'glyph-orientation-horizontal' => array(),
'glyph-orientation-vertical' => array(),
'image-rendering' => array(),
'kerning' => array(),
'letter-spacing' => array(),
'lighting-color' => array(),
'marker-end' => array(),
'marker-mid' => array(),
'marker-start' => array(),
'mask' => array(),
'method' => array(),
'opacity' => array(),
'overflow' => array(),
'pointer-events' => array(),
'requiredextensions' => array(),
'requiredfeatures' => array(),
'shape-rendering' => array(),
'spacing' => array(),
'startoffset' => array(),
'stop-color' => array(),
'stop-opacity' => array(),
'stroke' => array(),
'stroke-dasharray' => array(),
'stroke-dashoffset' => array(),
'stroke-linecap' => array(),
'stroke-linejoin' => array(),
'stroke-miterlimit' => array(),
'stroke-opacity' => array(),
'stroke-width' => array(),
'style' => array(
'blacklisted_value_regex' => '!important',
),
'systemlanguage' => array(),
'text-anchor' => array(),
'text-decoration' => array(),
'text-rendering' => array(),
'unicode-bidi' => array(),
'vector-effect' => array(),
'visibility' => array(),
'word-spacing' => array(),
'writing-mode' => array(),
'xlink:actuate' => array(),
'xlink:arcrole' => array(),
'xlink:href' => array(
'alternative_names' => array(
'href',
),
'allow_empty' => false,
'allow_relative' => true,
'allowed_protocol' => array(
'http',
'https',
),
),
'xlink:role' => array(),
'xlink:show' => array(),
'xlink:title' => array(),
'xlink:type' => array(),
'xml:lang' => array(),
'xml:space' => array(),
'xmlns' => array(),
'xmlns:xlink' => array(),
),
'tag_spec' => array(
'html_format' => array(
'amp',
'amp4ads',
),
'mandatory_ancestor' => 'svg',
'spec_url' => 'https://www.ampproject.org/docs/reference/spec#svg',
),
),
),
'tfoot' => array(
array(
'attr_spec_list' => array(),
'tag_spec' => array(),
),
),
'th' => array(
array(
'attr_spec_list' => array(
'abbr' => array(),
'align' => array(),
'bgcolor' => array(),
'colspan' => array(),
'headers' => array(),
'height' => array(),
'rowspan' => array(),
'scope' => array(),
'sorted' => array(),
'valign' => array(),
'width' => array(),
),
'tag_spec' => array(),
),
),
'thead' => array(
array(
'attr_spec_list' => array(),
'tag_spec' => array(),
),
),
'time' => array(
array(
'attr_spec_list' => array(
'datetime' => array(),
),
'tag_spec' => array(),
),
),
'title' => array(
array(
'attr_spec_list' => array(),
'tag_spec' => array(
'spec_name' => 'title',
),
),
array(
'attr_spec_list' => array(
'style' => array(
'blacklisted_value_regex' => '!important',
),
'xml:lang' => array(),
'xml:space' => array(),
'xmlns' => array(),
'xmlns:xlink' => array(),
),
'tag_spec' => array(
'html_format' => array(
'amp',
'amp4ads',
),
'mandatory_ancestor' => 'svg',
'spec_name' => 'svg title',
'spec_url' => 'https://www.ampproject.org/docs/reference/spec#svg',
),
),
),
'tr' => array(
array(
'attr_spec_list' => array(
'align' => array(),
'bgcolor' => array(),
'height' => array(),
'valign' => array(),
),
'tag_spec' => array(),
),
),
'track' => array(
array(
'attr_spec_list' => array(
'default' => array(
'value' => '',
),
'kind' => array(
'value_regex' => '(captions|descriptions|chapters|metadata)',
),
'label' => array(),
'src' => array(
'blacklisted_value_regex' => '__amp_source_origin',
'mandatory' => true,
'allow_relative' => false,
'allowed_protocol' => array(
'https',
),
),
'srclang' => array(),
),
'tag_spec' => array(
'html_format' => array(
'amp',
'amp4ads',
),
'mandatory_parent' => 'audio',
'spec_name' => 'audio > track',
),
),
array(
'attr_spec_list' => array(
'default' => array(
'value' => '',
),
'kind' => array(
'mandatory' => true,
'value_casei' => 'subtitles',
),
'label' => array(),
'src' => array(
'blacklisted_value_regex' => '__amp_source_origin',
'mandatory' => true,
'allow_relative' => false,
'allowed_protocol' => array(
'https',
),
),
'srclang' => array(
'mandatory' => true,
),
),
'tag_spec' => array(
'html_format' => array(
'amp',
'amp4ads',
),
'mandatory_parent' => 'audio',
'spec_name' => 'audio > track[kind=subtitles]',
),
),
array(
'attr_spec_list' => array(
'default' => array(
'value' => '',
),
'kind' => array(
'value_regex' => '(captions|descriptions|chapters|metadata)',
),
'label' => array(),
'src' => array(
'blacklisted_value_regex' => '__amp_source_origin',
'mandatory' => true,
'allow_relative' => false,
'allowed_protocol' => array(
'https',
),
),
'srclang' => array(),
),
'tag_spec' => array(
'html_format' => array(
'amp',
'amp4ads',
),
'mandatory_parent' => 'video',
'spec_name' => 'video > track',
),
),
array(
'attr_spec_list' => array(
'default' => array(
'value' => '',
),
'kind' => array(
'mandatory' => true,
'value_casei' => 'subtitles',
),
'label' => array(),
'src' => array(
'blacklisted_value_regex' => '__amp_source_origin',
'mandatory' => true,
'allow_relative' => false,
'allowed_protocol' => array(
'https',
),
),
'srclang' => array(
'mandatory' => true,
),
),
'tag_spec' => array(
'html_format' => array(
'amp',
'amp4ads',
),
'mandatory_parent' => 'video',
'spec_name' => 'video > track[kind=subtitles]',
),
),
array(
'attr_spec_list' => array(
'[label]' => array(),
'[src]' => array(),
'[srclang]' => array(),
'default' => array(
'value' => '',
),
'kind' => array(
'value_regex' => '(captions|descriptions|chapters|metadata)',
),
'label' => array(),
'src' => array(
'blacklisted_value_regex' => '__amp_source_origin',
'mandatory' => true,
'allow_relative' => false,
'allowed_protocol' => array(
'https',
),
),
'srclang' => array(),
),
'tag_spec' => array(
'html_format' => array(
'amp',
'amp4ads',
),
'mandatory_parent' => 'amp-audio',
'spec_name' => 'amp-audio > track',
),
),
array(
'attr_spec_list' => array(
'[label]' => array(),
'[src]' => array(),
'[srclang]' => array(),
'default' => array(
'value' => '',
),
'kind' => array(
'mandatory' => true,
'value_casei' => 'subtitles',
),
'label' => array(),
'src' => array(
'blacklisted_value_regex' => '__amp_source_origin',
'mandatory' => true,
'allow_relative' => false,
'allowed_protocol' => array(
'https',
),
),
'srclang' => array(
'mandatory' => true,
),
),
'tag_spec' => array(
'html_format' => array(
'amp',
'amp4ads',
),
'mandatory_parent' => 'amp-audio',
'spec_name' => 'amp-audio > track[kind=subtitles]',
),
),
array(
'attr_spec_list' => array(
'[label]' => array(),
'[src]' => array(),
'[srclang]' => array(),
'default' => array(
'value' => '',
),
'kind' => array(
'value_regex' => '(captions|descriptions|chapters|metadata)',
),
'label' => array(),
'src' => array(
'blacklisted_value_regex' => '__amp_source_origin',
'mandatory' => true,
'allow_relative' => false,
'allowed_protocol' => array(
'https',
),
),
'srclang' => array(),
),
'tag_spec' => array(
'html_format' => array(
'amp',
'amp4ads',
),
'mandatory_parent' => 'amp-video',
'spec_name' => 'amp-video > track',
),
),
array(
'attr_spec_list' => array(
'[label]' => array(),
'[src]' => array(),
'[srclang]' => array(),
'default' => array(
'value' => '',
),
'kind' => array(
'mandatory' => true,
'value_casei' => 'subtitles',
),
'label' => array(),
'src' => array(
'blacklisted_value_regex' => '__amp_source_origin',
'mandatory' => true,
'allow_relative' => false,
'allowed_protocol' => array(
'https',
),
),
'srclang' => array(
'mandatory' => true,
),
),
'tag_spec' => array(
'html_format' => array(
'amp',
'amp4ads',
),
'mandatory_parent' => 'amp-video',
'spec_name' => 'amp-video > track[kind=subtitles]',
),
),
array(
'attr_spec_list' => array(
'[label]' => array(),
'[src]' => array(),
'[srclang]' => array(),
'default' => array(
'value' => '',
),
'kind' => array(
'mandatory' => true,
'value_casei' => 'subtitles',
),
'label' => array(),
'src' => array(
'blacklisted_value_regex' => '__amp_source_origin',
'mandatory' => true,
'allow_relative' => false,
'allowed_protocol' => array(
'https',
),
),
'srclang' => array(
'mandatory' => true,
),
),
'tag_spec' => array(
'html_format' => array(
'amp',
'amp4ads',
),
'mandatory_parent' => 'amp-ima-video',
'spec_name' => 'amp-ima-video > track[kind=subtitles]',
'spec_url' => 'https://www.ampproject.org/docs/reference/components/amp-ima-video',
),
),
),
'tref' => array(
array(
'attr_spec_list' => array(
'alignment-baseline' => array(),
'baseline-shift' => array(),
'clip' => array(),
'clip-path' => array(),
'clip-rule' => array(),
'color' => array(),
'color-interpolation' => array(),
'color-interpolation-filters' => array(),
'color-profile' => array(),
'color-rendering' => array(),
'cursor' => array(),
'direction' => array(),
'display' => array(),
'dominant-baseline' => array(),
'enable-background' => array(),
'externalresourcesrequired' => array(),
'fill' => array(),
'fill-opacity' => array(),
'fill-rule' => array(),
'filter' => array(),
'flood-color' => array(),
'flood-opacity' => array(),
'font-family' => array(),
'font-size' => array(),
'font-size-adjust' => array(),
'font-stretch' => array(),
'font-style' => array(),
'font-variant' => array(),
'font-weight' => array(),
'glyph-orientation-horizontal' => array(),
'glyph-orientation-vertical' => array(),
'image-rendering' => array(),
'kerning' => array(),
'letter-spacing' => array(),
'lighting-color' => array(),
'marker-end' => array(),
'marker-mid' => array(),
'marker-start' => array(),
'mask' => array(),
'opacity' => array(),
'overflow' => array(),
'pointer-events' => array(),
'requiredextensions' => array(),
'requiredfeatures' => array(),
'shape-rendering' => array(),
'stop-color' => array(),
'stop-opacity' => array(),
'stroke' => array(),
'stroke-dasharray' => array(),
'stroke-dashoffset' => array(),
'stroke-linecap' => array(),
'stroke-linejoin' => array(),
'stroke-miterlimit' => array(),
'stroke-opacity' => array(),
'stroke-width' => array(),
'style' => array(
'blacklisted_value_regex' => '!important',
),
'systemlanguage' => array(),
'text-anchor' => array(),
'text-decoration' => array(),
'text-rendering' => array(),
'unicode-bidi' => array(),
'vector-effect' => array(),
'visibility' => array(),
'word-spacing' => array(),
'writing-mode' => array(),
'xlink:actuate' => array(),
'xlink:arcrole' => array(),
'xlink:href' => array(
'alternative_names' => array(
'href',
),
'allow_empty' => false,
'allow_relative' => true,
'allowed_protocol' => array(
'http',
'https',
),
),
'xlink:role' => array(),
'xlink:show' => array(),
'xlink:title' => array(),
'xlink:type' => array(),
'xml:lang' => array(),
'xml:space' => array(),
'xmlns' => array(),
'xmlns:xlink' => array(),
),
'tag_spec' => array(
'html_format' => array(
'amp',
'amp4ads',
),
'mandatory_ancestor' => 'svg',
'spec_url' => 'https://www.ampproject.org/docs/reference/spec#svg',
),
),
),
'tspan' => array(
array(
'attr_spec_list' => array(
'alignment-baseline' => array(),
'baseline-shift' => array(),
'clip' => array(),
'clip-path' => array(),
'clip-rule' => array(),
'color' => array(),
'color-interpolation' => array(),
'color-interpolation-filters' => array(),
'color-profile' => array(),
'color-rendering' => array(),
'cursor' => array(),
'direction' => array(),
'display' => array(),
'dominant-baseline' => array(),
'dx' => array(),
'dy' => array(),
'enable-background' => array(),
'externalresourcesrequired' => array(),
'fill' => array(),
'fill-opacity' => array(),
'fill-rule' => array(),
'filter' => array(),
'flood-color' => array(),
'flood-opacity' => array(),
'font-family' => array(),
'font-size' => array(),
'font-size-adjust' => array(),
'font-stretch' => array(),
'font-style' => array(),
'font-variant' => array(),
'font-weight' => array(),
'glyph-orientation-horizontal' => array(),
'glyph-orientation-vertical' => array(),
'image-rendering' => array(),
'kerning' => array(),
'lengthadjust' => array(),
'letter-spacing' => array(),
'lighting-color' => array(),
'marker-end' => array(),
'marker-mid' => array(),
'marker-start' => array(),
'mask' => array(),
'opacity' => array(),
'overflow' => array(),
'pointer-events' => array(),
'requiredextensions' => array(),
'requiredfeatures' => array(),
'rotate' => array(),
'shape-rendering' => array(),
'stop-color' => array(),
'stop-opacity' => array(),
'stroke' => array(),
'stroke-dasharray' => array(),
'stroke-dashoffset' => array(),
'stroke-linecap' => array(),
'stroke-linejoin' => array(),
'stroke-miterlimit' => array(),
'stroke-opacity' => array(),
'stroke-width' => array(),
'style' => array(
'blacklisted_value_regex' => '!important',
),
'systemlanguage' => array(),
'text-anchor' => array(),
'text-decoration' => array(),
'text-rendering' => array(),
'textlength' => array(),
'unicode-bidi' => array(),
'vector-effect' => array(),
'visibility' => array(),
'word-spacing' => array(),
'writing-mode' => array(),
'x' => array(),
'xml:lang' => array(),
'xml:space' => array(),
'xmlns' => array(),
'xmlns:xlink' => array(),
'y' => array(),
),
'tag_spec' => array(
'html_format' => array(
'amp',
'amp4ads',
),
'mandatory_ancestor' => 'svg',
'spec_url' => 'https://www.ampproject.org/docs/reference/spec#svg',
),
),
),
'tt' => array(
array(
'attr_spec_list' => array(),
'tag_spec' => array(
'html_format' => array(
'amp',
),
),
),
),
'u' => array(
array(
'attr_spec_list' => array(),
'tag_spec' => array(),
),
),
'ul' => array(
array(
'attr_spec_list' => array(),
'tag_spec' => array(),
),
),
'use' => array(
array(
'attr_spec_list' => array(
'alignment-baseline' => array(),
'baseline-shift' => array(),
'clip' => array(),
'clip-path' => array(),
'clip-rule' => array(),
'color' => array(),
'color-interpolation' => array(),
'color-interpolation-filters' => array(),
'color-profile' => array(),
'color-rendering' => array(),
'cursor' => array(),
'direction' => array(),
'display' => array(),
'dominant-baseline' => array(),
'enable-background' => array(),
'externalresourcesrequired' => array(),
'fill' => array(),
'fill-opacity' => array(),
'fill-rule' => array(),
'filter' => array(),
'flood-color' => array(),
'flood-opacity' => array(),
'font-family' => array(),
'font-size' => array(),
'font-size-adjust' => array(),
'font-stretch' => array(),
'font-style' => array(),
'font-variant' => array(),
'font-weight' => array(),
'glyph-orientation-horizontal' => array(),
'glyph-orientation-vertical' => array(),
'height' => array(),
'image-rendering' => array(),
'kerning' => array(),
'letter-spacing' => array(),
'lighting-color' => array(),
'marker-end' => array(),
'marker-mid' => array(),
'marker-start' => array(),
'mask' => array(),
'opacity' => array(),
'overflow' => array(),
'pointer-events' => array(),
'requiredextensions' => array(),
'requiredfeatures' => array(),
'shape-rendering' => array(),
'stop-color' => array(),
'stop-opacity' => array(),
'stroke' => array(),
'stroke-dasharray' => array(),
'stroke-dashoffset' => array(),
'stroke-linecap' => array(),
'stroke-linejoin' => array(),
'stroke-miterlimit' => array(),
'stroke-opacity' => array(),
'stroke-width' => array(),
'style' => array(
'blacklisted_value_regex' => '!important',
),
'systemlanguage' => array(),
'text-anchor' => array(),
'text-decoration' => array(),
'text-rendering' => array(),
'transform' => array(),
'unicode-bidi' => array(),
'vector-effect' => array(),
'visibility' => array(),
'width' => array(),
'word-spacing' => array(),
'writing-mode' => array(),
'x' => array(),
'xlink:actuate' => array(),
'xlink:arcrole' => array(),
'xlink:href' => array(
'alternative_names' => array(
'href',
),
'allow_empty' => false,
'allow_relative' => true,
'allowed_protocol' => array(
'http',
'https',
),
),
'xlink:role' => array(),
'xlink:show' => array(),
'xlink:title' => array(),
'xlink:type' => array(),
'xml:lang' => array(),
'xml:space' => array(),
'xmlns' => array(),
'xmlns:xlink' => array(),
'y' => array(),
),
'tag_spec' => array(
'html_format' => array(
'amp',
'amp4ads',
),
'mandatory_ancestor' => 'svg',
'spec_url' => 'https://www.ampproject.org/docs/reference/spec#svg',
),
),
),
'var' => array(
array(
'attr_spec_list' => array(),
'tag_spec' => array(),
),
),
'video' => array(
array(
'attr_spec_list' => array(
'autoplay' => array(),
'controls' => array(),
'height' => array(),
'loop' => array(),
'muted' => array(),
'playsinline' => array(),
'poster' => array(),
'preload' => array(),
'src' => array(
'blacklisted_value_regex' => '__amp_source_origin',
'allow_relative' => false,
'allowed_protocol' => array(
'data',
'https',
),
),
'width' => array(),
),
'tag_spec' => array(
'html_format' => array(
'amp',
),
'mandatory_ancestor' => 'noscript',
'mandatory_ancestor_suggested_alternative' => 'amp-video',
'spec_url' => 'https://www.ampproject.org/docs/reference/components/amp-video',
),
),
),
'view' => array(
array(
'attr_spec_list' => array(
'externalresourcesrequired' => array(),
'preserveaspectratio' => array(),
'style' => array(
'blacklisted_value_regex' => '!important',
),
'viewbox' => array(),
'viewtarget' => array(),
'xml:lang' => array(),
'xml:space' => array(),
'xmlns' => array(),
'xmlns:xlink' => array(),
'zoomandpan' => array(),
),
'tag_spec' => array(
'html_format' => array(
'amp',
'amp4ads',
),
'mandatory_ancestor' => 'svg',
'spec_url' => 'https://www.ampproject.org/docs/reference/spec#svg',
),
),
),
'vkern' => array(
array(
'attr_spec_list' => array(
'g1' => array(),
'g2' => array(),
'k' => array(),
'style' => array(
'blacklisted_value_regex' => '!important',
),
'u1' => array(),
'u2' => array(),
'xml:lang' => array(),
'xml:space' => array(),
'xmlns' => array(),
'xmlns:xlink' => array(),
),
'tag_spec' => array(
'html_format' => array(
'amp',
'amp4ads',
),
'mandatory_ancestor' => 'svg',
'spec_url' => 'https://www.ampproject.org/docs/reference/spec#svg',
),
),
),
'wbr' => array(
array(
'attr_spec_list' => array(),
'tag_spec' => array(),
),
),
'xmp' => array(
array(
'attr_spec_list' => array(),
'tag_spec' => array(
'html_format' => array(
'amp',
),
),
),
),
);
private static $layout_allowed_attrs = array(
'[height]' => array(),
'[width]' => array(),
'height' => array(),
'heights' => array(),
'layout' => array(),
'sizes' => array(),
'width' => array(),
);
private static $globally_allowed_attrs = array(
'[aria-activedescendant]' => array(),
'[aria-atomic]' => array(),
'[aria-autocomplete]' => array(),
'[aria-busy]' => array(),
'[aria-checked]' => array(),
'[aria-controls]' => array(),
'[aria-describedby]' => array(),
'[aria-disabled]' => array(),
'[aria-dropeffect]' => array(),
'[aria-expanded]' => array(),
'[aria-flowto]' => array(),
'[aria-grabbed]' => array(),
'[aria-haspopup]' => array(),
'[aria-hidden]' => array(),
'[aria-invalid]' => array(),
'[aria-label]' => array(),
'[aria-labelledby]' => array(),
'[aria-level]' => array(),
'[aria-live]' => array(),
'[aria-multiline]' => array(),
'[aria-multiselectable]' => array(),
'[aria-orientation]' => array(),
'[aria-owns]' => array(),
'[aria-posinset]' => array(),
'[aria-pressed]' => array(),
'[aria-readonly]' => array(),
'[aria-relevant]' => array(),
'[aria-required]' => array(),
'[aria-selected]' => array(),
'[aria-setsize]' => array(),
'[aria-sort]' => array(),
'[aria-valuemax]' => array(),
'[aria-valuemin]' => array(),
'[aria-valuenow]' => array(),
'[aria-valuetext]' => array(),
'[class]' => array(),
'[hidden]' => array(),
'[text]' => array(),
'about' => array(),
'accesskey' => array(),
'amp-access' => array(),
'amp-access-behavior' => array(),
'amp-access-hide' => array(),
'amp-access-id' => array(),
'amp-access-loader' => array(),
'amp-access-loading' => array(),
'amp-access-off' => array(),
'amp-access-on' => array(),
'amp-access-show' => array(),
'amp-access-style' => array(),
'amp-access-template' => array(),
'aria-activedescendant' => array(),
'aria-atomic' => array(),
'aria-autocomplete' => array(),
'aria-busy' => array(),
'aria-checked' => array(),
'aria-controls' => array(),
'aria-current' => array(),
'aria-describedby' => array(),
'aria-disabled' => array(),
'aria-dropeffect' => array(),
'aria-expanded' => array(),
'aria-flowto' => array(),
'aria-grabbed' => array(),
'aria-haspopup' => array(),
'aria-hidden' => array(),
'aria-invalid' => array(),
'aria-label' => array(),
'aria-labelledby' => array(),
'aria-level' => array(),
'aria-live' => array(),
'aria-multiline' => array(),
'aria-multiselectable' => array(),
'aria-orientation' => array(),
'aria-owns' => array(),
'aria-posinset' => array(),
'aria-pressed' => array(),
'aria-readonly' => array(),
'aria-relevant' => array(),
'aria-required' => array(),
'aria-selected' => array(),
'aria-setsize' => array(),
'aria-sort' => array(),
'aria-valuemax' => array(),
'aria-valuemin' => array(),
'aria-valuenow' => array(),
'aria-valuetext' => array(),
'class' => array(
'blacklisted_value_regex' => '(^|\\w)i-amphtml-',
),
'content' => array(),
'datatype' => array(),
'dir' => array(),
'draggable' => array(),
'fallback' => array(
'value' => '',
),
'hidden' => array(
'value' => '',
),
'i-amp-access-id' => array(),
'id' => array(
'blacklisted_value_regex' => '(^|\\s)(__amp_\\s*|__count__|__definegetter__|__definesetter__|__lookupgetter__|__lookupsetter__|__nosuchmethod__|__parent__|__proto__|__amp_\\s*|\\$p|\\$proxy|acceptcharset|addeventlistener|appendchild|assignedslot|attachshadow|amp|baseuri|checkvalidity|childelementcount|childnodes|classlist|classname|clientheight|clientleft|clienttop|clientwidth|comparedocumentposition|computedname|computedrole|contenteditable|createshadowroot|enqueaction|firstchild|firstelementchild|getanimations|getattribute|getattributens|getattributenode|getattributenodens|getboundingclientrect|getclientrects|getdestinationinsertionpoints|getelementsbyclassname|getelementsbytagname|getelementsbytagnamens|getrootnode|hasattribute|hasattributens|hasattributes|haschildnodes|haspointercapture|i-amphtml-\\s*|innerhtml|innertext|inputmode|insertadjacentelement|insertadjacenthtml|insertadjacenttext|iscontenteditable|isdefaultnamespace|isequalnode|issamenode|lastchild|lastelementchild|lookupnamespaceuri|namespaceuri|nextelementsibling|nextsibling|nodename|nodetype|nodevalue|offsetheight|offsetleft|offsetparent|offsettop|offsetwidth|outerhtml|outertext|ownerdocument|parentelement|parentnode|previouselementsibling|previoussibling|queryselector|queryselectorall|releasepointercapture|removeattribute|removeattributens|removeattributenode|removechild|removeeventlistener|replacechild|reportvalidity|requestpointerlock|scrollheight|scrollintoview|scrollintoviewifneeded|scrollleft|scrollwidth|setattribute|setattributens|setattributenode|setattributenodens|setpointercapture|shadowroot|stylemap|tabindex|tagname|textcontent|tostring|valueof|(webkit|ms|moz|o)dropzone|(webkit|moz|ms|o)matchesselector|(webkit|moz|ms|o)requestfullscreen|(webkit|moz|ms|o)requestfullscreen)(\\s|$)',
),
'inlist' => array(),
'itemid' => array(),
'itemprop' => array(),
'itemref' => array(),
'itemscope' => array(),
'itemtype' => array(),
'lang' => array(),
'lightbox' => array(),
'on' => array(),
'overflow' => array(),
'placeholder' => array(
'value' => '',
),
'prefix' => array(),
'property' => array(),
'rel' => array(
'blacklisted_value_regex' => '(^|\\s)(canonical|components|dns-prefetch|import|manifest|preconnect|preload|prerender|serviceworker|stylesheet|subresource)(\\s|$)',
),
'resource' => array(),
'rev' => array(),
'role' => array(),
'tabindex' => array(),
'title' => array(),
'translate' => array(),
'typeof' => array(),
'validation-for' => array(),
'visible-when-invalid' => array(
'value_regex' => '(badinput|customerror|patternmismatch|rangeoverflow|rangeunderflow|stepmismatch|toolong|typemismatch|valuemissing)',
),
'vocab' => array(),
);
public static function get_allowed_tags() {
return self::$allowed_tags;
}
public static function get_allowed_attributes() {
return self::$globally_allowed_attrs;
}
public static function get_layout_attributes() {
return self::$layout_allowed_attrs;
}
}
?>