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; } } ?>