├── .codecov.yml
├── CHANGELOG.md
├── LICENSE
├── README.md
├── bin
└── amp
├── composer.json
├── conceptual-diagram.svg
├── include
└── compatibility-fixes.php
├── resources
└── local_fallback
│ ├── rtv
│ └── metadata
│ └── v0.css
└── src
├── Amp.php
├── Cli
├── AmpExecutable.php
├── Colors.php
├── Command.php
├── Command
│ ├── Optimize.php
│ └── Validate.php
├── Executable.php
├── LogLevel.php
├── Options.php
└── TableFormatter.php
├── CompatibilityFix.php
├── CompatibilityFix
└── MovedClasses.php
├── CssLength.php
├── DevMode.php
├── Dom
├── Document.php
├── Document
│ ├── AfterLoadFilter.php
│ ├── AfterSaveFilter.php
│ ├── BeforeLoadFilter.php
│ ├── BeforeSaveFilter.php
│ ├── Filter.php
│ ├── Filter
│ │ ├── AmpBindAttributes.php
│ │ ├── AmpEmojiAttribute.php
│ │ ├── ConvertHeadProfileToLink.php
│ │ ├── DeduplicateTag.php
│ │ ├── DetectInvalidByteSequence.php
│ │ ├── DoctypeNode.php
│ │ ├── DocumentEncoding.php
│ │ ├── HttpEquivCharset.php
│ │ ├── LibxmlCompatibility.php
│ │ ├── MustacheScriptTemplates.php
│ │ ├── NormalizeHtmlAttributes.php
│ │ ├── NormalizeHtmlEntities.php
│ │ ├── NoscriptElements.php
│ │ ├── ProtectEsiTags.php
│ │ ├── SelfClosingSVGElements.php
│ │ ├── SelfClosingTags.php
│ │ └── SvgSourceAttributeEncoding.php
│ └── Option.php
├── Element.php
├── ElementDump.php
├── LinkManager.php
├── NodeWalker.php
├── Options.php
└── UniqueIdManager.php
├── Encoding.php
├── Exception
├── AmpCliException.php
├── AmpException.php
├── Cli
│ ├── InvalidArgument.php
│ ├── InvalidColor.php
│ ├── InvalidColumnFormat.php
│ ├── InvalidCommand.php
│ ├── InvalidOption.php
│ ├── InvalidSapi.php
│ └── MissingArgument.php
├── FailedRemoteRequest.php
├── FailedToCreateLink.php
├── FailedToGetCachedResponse.php
├── FailedToGetFromRemoteUrl.php
├── FailedToParseHtml.php
├── FailedToParseUrl.php
├── FailedToRetrieveRequiredDomElement.php
├── InvalidAttributeName.php
├── InvalidByteSequence.php
├── InvalidCssRulesetName.php
├── InvalidDeclarationName.php
├── InvalidDocRulesetName.php
├── InvalidDocumentFilter.php
├── InvalidErrorCode.php
├── InvalidExtension.php
├── InvalidFormat.php
├── InvalidListName.php
├── InvalidOptionValue.php
├── InvalidSpecName.php
├── InvalidSpecRuleName.php
├── InvalidTagId.php
├── InvalidTagName.php
└── MaxCssByteCountExceeded.php
├── Extension.php
├── FakeEnum.php
├── Format.php
├── Html
├── AtRule.php
├── Attribute.php
├── LengthUnit.php
├── LowerCaseTag.php
├── Parser
│ ├── DocLocator.php
│ ├── EFlags.php
│ ├── HtmlParser.php
│ ├── HtmlSaxHandler.php
│ ├── HtmlSaxHandlerWithLocation.php
│ ├── ParsedAttribute.php
│ ├── ParsedTag.php
│ ├── ScriptTag.php
│ ├── TagNameStack.php
│ └── TagRegion.php
├── RequestDestination.php
├── Role.php
├── Tag.php
└── UpperCaseTag.php
├── Internal.php
├── Layout.php
├── Optimizer
├── Configuration.php
├── Configuration
│ ├── AmpRuntimeCssConfiguration.php
│ ├── AmpStoryCssOptimizerConfiguration.php
│ ├── AutoExtensionsConfiguration.php
│ ├── BaseTransformerConfiguration.php
│ ├── MinifyHtmlConfiguration.php
│ ├── OptimizeAmpBindConfiguration.php
│ ├── OptimizeHeroImagesConfiguration.php
│ ├── OptimizeViewportConfiguration.php
│ ├── PreloadHeroImageConfiguration.php
│ ├── RewriteAmpUrlsConfiguration.php
│ └── TransformedIdentifierConfiguration.php
├── CssRule.php
├── CssRules.php
├── DefaultConfiguration.php
├── Error.php
├── Error
│ ├── CannotAdaptDocumentForSelfHosting.php
│ ├── CannotInlineRuntimeCss.php
│ ├── CannotMinifyAmpScript.php
│ ├── CannotParseJsonData.php
│ ├── CannotPerformServerSideRendering.php
│ ├── CannotPreloadImage.php
│ ├── CannotRemoveBoilerplate.php
│ ├── DeprecatedTransformer.php
│ ├── ErrorProperties.php
│ ├── InvalidJson.php
│ ├── MissingPackage.php
│ ├── TooManyHeroImages.php
│ └── UnknownError.php
├── ErrorCollection.php
├── Exception
│ ├── AmpOptimizerException.php
│ ├── InvalidArgument.php
│ ├── InvalidConfiguration.php
│ ├── InvalidConfigurationKey.php
│ ├── InvalidConfigurationValue.php
│ ├── InvalidHtmlAttribute.php
│ ├── UnknownConfigurationClass.php
│ └── UnknownConfigurationKey.php
├── HeroImage.php
├── ImageDimensions.php
├── LocalFallback.php
├── TransformationEngine.php
├── Transformer.php
├── Transformer
│ ├── AmpBoilerplate.php
│ ├── AmpBoilerplateErrorHandler.php
│ ├── AmpRuntimeCss.php
│ ├── AmpRuntimePreloads.php
│ ├── AmpStoryCssOptimizer.php
│ ├── AutoExtensions.php
│ ├── GoogleFontsPreconnect.php
│ ├── MinifyHtml.php
│ ├── OptimizeAmpBind.php
│ ├── OptimizeHeroImages.php
│ ├── OptimizeViewport.php
│ ├── PreloadHeroImage.php
│ ├── ReorderHead.php
│ ├── RewriteAmpUrls.php
│ ├── ServerSideRendering.php
│ └── TransformedIdentifier.php
└── TransformerConfiguration.php
├── Protocol.php
├── RemoteGetRequest.php
├── RemoteRequest
├── CurlRemoteGetRequest.php
├── FallbackRemoteGetRequest.php
├── FilesystemRemoteGetRequest.php
├── RemoteGetRequestResponse.php
├── StubbedRemoteGetRequest.php
└── TemporaryFileCachedRemoteGetRequest.php
├── Response.php
├── RuntimeVersion.php
├── ScriptReleaseVersion.php
├── Str.php
├── Url.php
└── Validator
├── Context.php
├── ErrorCode.php
├── ExtensionsContext.php
├── FilePosition.php
├── Spec.php
├── Spec
├── AggregateTag.php
├── AggregateTagWithExtensionSpec.php
├── AttributeList.php
├── AttributeList
│ ├── AmpAudioCommon.php
│ ├── AmpBaseCarouselCommon.php
│ ├── AmpCarouselCommon.php
│ ├── AmpDatePickerCommonAttributes.php
│ ├── AmpDatePickerOverlayModeAttributes.php
│ ├── AmpDatePickerRangeTypeAttributes.php
│ ├── AmpDatePickerSingleTypeAttributes.php
│ ├── AmpDatePickerStaticModeAttributes.php
│ ├── AmpFacebook.php
│ ├── AmpFacebookStrict.php
│ ├── AmpInputmaskCommonAttr.php
│ ├── AmpLayoutAttrs.php
│ ├── AmpMegaphoneCommon.php
│ ├── AmpNestedMenuActions.php
│ ├── AmpStreamGalleryCommon.php
│ ├── AmpVideoCommon.php
│ ├── AmpVideoIframeCommon.php
│ ├── AmphtmlEngineAttrs.php
│ ├── AmphtmlModuleEngineAttrs.php
│ ├── AmphtmlNomoduleEngineAttrs.php
│ ├── CiteAttr.php
│ ├── ClickAttributions.php
│ ├── CommonExtensionAttrs.php
│ ├── CommonLinkAttrs.php
│ ├── ExtendedAmpGlobal.php
│ ├── FormNameAttr.php
│ ├── GlobalAttrs.php
│ ├── ImgAttrs.php
│ ├── InputCommonAttr.php
│ ├── InteractiveOptionsConfettiAttrs.php
│ ├── InteractiveOptionsImgAttrs.php
│ ├── InteractiveOptionsResultsCategoryAttrs.php
│ ├── InteractiveOptionsTextAttrs.php
│ ├── InteractiveSharedConfigsAttrs.php
│ ├── LightboxableElements.php
│ ├── MandatoryIdAttr.php
│ ├── MandatoryNameAttr.php
│ ├── MandatorySrcAmp4email.php
│ ├── MandatorySrcOrSrcset.php
│ ├── NameAttr.php
│ ├── NonceAttr.php
│ ├── OptionalSrcAmp4email.php
│ ├── PooolAccessAttrs.php
│ ├── PrivateClickMeasurementAttributes.php
│ ├── SvgConditionalProcessingAttributes.php
│ ├── SvgCoreAttributes.php
│ ├── SvgFilterPrimitiveAttributes.php
│ ├── SvgPresentationAttributes.php
│ ├── SvgStyleAttr.php
│ ├── SvgTransferFunctionAttributes.php
│ ├── SvgXlinkAttributes.php
│ ├── TrackAttrsNoSubtitles.php
│ └── TrackAttrsSubtitles.php
├── CssRuleset.php
├── CssRuleset
│ ├── Amp4ads.php
│ ├── Amp4emailDataCssStrict.php
│ ├── Amp4emailNoDataCssStrict.php
│ ├── AmpNoTransformed.php
│ └── AmpTransformed.php
├── DeclarationList.php
├── DeclarationList
│ ├── BasicDeclarations.php
│ ├── EmailSpecificDeclarations.php
│ └── SvgBasicDeclarations.php
├── DescendantTagList.php
├── DescendantTagList
│ ├── AmpMegaMenuAllowedDescendants.php
│ ├── AmpNestedMenuAllowedDescendants.php
│ ├── AmpStoryBookendAllowedDescendants.php
│ ├── AmpStoryCtaLayerAllowedDescendants.php
│ ├── AmpStoryGridLayerAllowedDescendants.php
│ ├── AmpStoryPageAttachmentAllowedDescendants.php
│ ├── AmpStoryPlayerAllowedDescendants.php
│ └── AmpStorySocialShareAllowedDescendants.php
├── DocRuleset.php
├── DocRuleset
│ └── Amp4email.php
├── Error.php
├── Error
│ ├── AmpEmailMissingStrictCssAttr.php
│ ├── AttrDisallowedByImpliedLayout.php
│ ├── AttrDisallowedBySpecifiedLayout.php
│ ├── AttrMissingRequiredExtension.php
│ ├── AttrRequiredButMissing.php
│ ├── AttrValueRequiredByLayout.php
│ ├── BaseTagMustPreceedAllUrls.php
│ ├── CdataViolatesDenylist.php
│ ├── ChildTagDoesNotSatisfyReferencePoint.php
│ ├── ChildTagDoesNotSatisfyReferencePointSingular.php
│ ├── CssExcessivelyNested.php
│ ├── CssSyntaxBadUrl.php
│ ├── CssSyntaxDisallowedAttrSelector.php
│ ├── CssSyntaxDisallowedDomain.php
│ ├── CssSyntaxDisallowedImportant.php
│ ├── CssSyntaxDisallowedKeyframeInsideKeyframe.php
│ ├── CssSyntaxDisallowedMediaFeature.php
│ ├── CssSyntaxDisallowedMediaType.php
│ ├── CssSyntaxDisallowedPropertyValue.php
│ ├── CssSyntaxDisallowedPropertyValueWithHint.php
│ ├── CssSyntaxDisallowedPseudoClass.php
│ ├── CssSyntaxDisallowedPseudoElement.php
│ ├── CssSyntaxDisallowedQualifiedRuleMustBeInsideKeyframe.php
│ ├── CssSyntaxDisallowedRelativeUrl.php
│ ├── CssSyntaxEofInPreludeOfQualifiedRule.php
│ ├── CssSyntaxErrorInPseudoSelector.php
│ ├── CssSyntaxIncompleteDeclaration.php
│ ├── CssSyntaxInvalidAtRule.php
│ ├── CssSyntaxInvalidAttrSelector.php
│ ├── CssSyntaxInvalidDeclaration.php
│ ├── CssSyntaxInvalidProperty.php
│ ├── CssSyntaxInvalidPropertyNolist.php
│ ├── CssSyntaxInvalidUrl.php
│ ├── CssSyntaxInvalidUrlProtocol.php
│ ├── CssSyntaxMalformedMediaQuery.php
│ ├── CssSyntaxMissingSelector.php
│ ├── CssSyntaxMissingUrl.php
│ ├── CssSyntaxNotASelectorStart.php
│ ├── CssSyntaxPropertyDisallowedTogetherWith.php
│ ├── CssSyntaxPropertyDisallowedWithinAtRule.php
│ ├── CssSyntaxPropertyRequiresQualification.php
│ ├── CssSyntaxQualifiedRuleHasNoDeclarations.php
│ ├── CssSyntaxStrayTrailingBackslash.php
│ ├── CssSyntaxUnparsedInputRemainsInSelector.php
│ ├── CssSyntaxUnterminatedComment.php
│ ├── CssSyntaxUnterminatedString.php
│ ├── DeprecatedAttr.php
│ ├── DeprecatedTag.php
│ ├── DevModeOnly.php
│ ├── DisallowedAmpDomain.php
│ ├── DisallowedAttr.php
│ ├── DisallowedChildTagName.php
│ ├── DisallowedDomain.php
│ ├── DisallowedFirstChildTagName.php
│ ├── DisallowedManufacturedBody.php
│ ├── DisallowedPropertyInAttrValue.php
│ ├── DisallowedRelativeUrl.php
│ ├── DisallowedScriptTag.php
│ ├── DisallowedStyleAttr.php
│ ├── DisallowedTag.php
│ ├── DisallowedTagAncestor.php
│ ├── DocumentSizeLimitExceeded.php
│ ├── DocumentTooComplex.php
│ ├── DuplicateAttribute.php
│ ├── DuplicateDimension.php
│ ├── DuplicateReferencePoint.php
│ ├── DuplicateUniqueTag.php
│ ├── DuplicateUniqueTagWarning.php
│ ├── ExtensionUnused.php
│ ├── GeneralDisallowedTag.php
│ ├── ImpliedLayoutInvalid.php
│ ├── InconsistentUnitsForWidthAndHeight.php
│ ├── IncorrectMinNumChildTags.php
│ ├── IncorrectNumChildTags.php
│ ├── IncorrectScriptReleaseVersion.php
│ ├── InlineScriptTooLong.php
│ ├── InlineStyleTooLong.php
│ ├── InvalidAttrValue.php
│ ├── InvalidDoctypeHtml.php
│ ├── InvalidExtensionPath.php
│ ├── InvalidExtensionVersion.php
│ ├── InvalidJsonCdata.php
│ ├── InvalidPropertyValueInAttrValue.php
│ ├── InvalidUrl.php
│ ├── InvalidUrlProtocol.php
│ ├── InvalidUtf8.php
│ ├── LtsScriptAfterNonLts.php
│ ├── MandatoryAnyofAttrMissing.php
│ ├── MandatoryAttrMissing.php
│ ├── MandatoryCdataMissingOrIncorrect.php
│ ├── MandatoryLastChildTag.php
│ ├── MandatoryOneofAttrMissing.php
│ ├── MandatoryPropertyMissingFromAttrValue.php
│ ├── MandatoryReferencePointMissing.php
│ ├── MandatoryTagAncestor.php
│ ├── MandatoryTagAncestorWithHint.php
│ ├── MandatoryTagMissing.php
│ ├── MissingLayoutAttributes.php
│ ├── MissingRequiredExtension.php
│ ├── MissingUrl.php
│ ├── MutuallyExclusiveAttrs.php
│ ├── NonLtsScriptAfterLts.php
│ ├── NonWhitespaceCdataEncountered.php
│ ├── SpecifiedLayoutInvalid.php
│ ├── StylesheetAndInlineStyleTooLong.php
│ ├── StylesheetTooLong.php
│ ├── TagExcludedByTag.php
│ ├── TagNotAllowedToHaveSiblings.php
│ ├── TagReferencePointConflict.php
│ ├── TagRequiredByMissing.php
│ ├── TemplateInAttrName.php
│ ├── TemplatePartialInAttrValue.php
│ ├── UnescapedTemplateInAttrValue.php
│ ├── UnknownCode.php
│ ├── ValueSetMismatch.php
│ ├── WarningExtensionDeprecatedVersion.php
│ ├── WarningExtensionUnused.php
│ ├── WarningTagRequiredByMissing.php
│ └── WrongParentTag.php
├── Identifiable.php
├── IterableSection.php
├── Iteration.php
├── Section
│ ├── AttributeLists.php
│ ├── CssRulesets.php
│ ├── DeclarationLists.php
│ ├── DescendantTagLists.php
│ ├── DocRulesets.php
│ ├── Errors.php
│ └── Tags.php
├── SpecRule.php
├── Tag.php
├── Tag
│ ├── A.php
│ ├── AAmp4email.php
│ ├── Abbr.php
│ ├── Acronym.php
│ ├── Address.php
│ ├── Amp3dGltf.php
│ ├── Amp3qPlayer.php
│ ├── Amp4adsEngineScript.php
│ ├── AmpAccessExtensionJsonScript.php
│ ├── AmpAccordion.php
│ ├── AmpAccordionSection.php
│ ├── AmpActionMacro.php
│ ├── AmpAd.php
│ ├── AmpAdCustom.php
│ ├── AmpAdExit.php
│ ├── AmpAdExitConfigurationJson.php
│ ├── AmpAdExtensionScript.php
│ ├── AmpAdWithDataEnableRefreshAttribute.php
│ ├── AmpAdWithDataMultiSizeAttribute.php
│ ├── AmpAdWithTypeCustom.php
│ ├── AmpAddthis.php
│ ├── AmpAnalytics.php
│ ├── AmpAnalyticsExtensionJsonScript.php
│ ├── AmpAnim.php
│ ├── AmpAnimAmp4email.php
│ ├── AmpAnimExtensionScriptAmp4email.php
│ ├── AmpAnimation.php
│ ├── AmpAnimationExtensionJsonScript.php
│ ├── AmpApesterMedia.php
│ ├── AmpAppBanner.php
│ ├── AmpAppBannerButtonOpenButton.php
│ ├── AmpAudio.php
│ ├── AmpAudioA4a.php
│ ├── AmpAudioSource.php
│ ├── AmpAudioTrack.php
│ ├── AmpAudioTrackKindSubtitles.php
│ ├── AmpAutoAds.php
│ ├── AmpAutocomplete.php
│ ├── AmpAutocompleteAmp4email.php
│ ├── AmpAutocompleteInput.php
│ ├── AmpAutocompleteJson.php
│ ├── AmpBaseCarousel.php
│ ├── AmpBaseCarouselLightbox.php
│ ├── AmpBaseCarouselLightboxChild.php
│ ├── AmpBaseCarouselLightboxLightboxExclude.php
│ ├── AmpBeopinion.php
│ ├── AmpBindExtensionJsonScript.php
│ ├── AmpBindMacro.php
│ ├── AmpBodymovinAnimation.php
│ ├── AmpBridPlayer.php
│ ├── AmpBrightcove.php
│ ├── AmpBysideContent.php
│ ├── AmpCallTracking.php
│ ├── AmpCarousel.php
│ ├── AmpCarouselLightbox.php
│ ├── AmpCarouselLightboxChild.php
│ ├── AmpCarouselLightboxLightboxExclude.php
│ ├── AmpConnatixPlayer.php
│ ├── AmpConsent.php
│ ├── AmpConsentExtensionJsonScript.php
│ ├── AmpConsentType.php
│ ├── AmpDailymotion.php
│ ├── AmpDateCountdown.php
│ ├── AmpDateDisplay.php
│ ├── AmpDatePickerTemplateDateTemplate.php
│ ├── AmpDatePickerTemplateInfoTemplate.php
│ ├── AmpDatePickerTypeRangeModeOverlay.php
│ ├── AmpDatePickerTypeRangeModeStatic.php
│ ├── AmpDatePickerTypeSingleModeOverlay.php
│ ├── AmpDatePickerTypeSingleModeStatic.php
│ ├── AmpDelightPlayer.php
│ ├── AmpEmbed.php
│ ├── AmpEmbedWithDataMultiSizeAttribute.php
│ ├── AmpEmbedlyCard.php
│ ├── AmpEmbedlyKey.php
│ ├── AmpExperiment.php
│ ├── AmpExperimentExtensionJsonScript.php
│ ├── AmpExperimentStoryExtensionJsonScript.php
│ ├── AmpFacebook.php
│ ├── AmpFacebook10.php
│ ├── AmpFacebookComments.php
│ ├── AmpFacebookComments10.php
│ ├── AmpFacebookLike.php
│ ├── AmpFacebookLike10.php
│ ├── AmpFacebookPage.php
│ ├── AmpFacebookPage10.php
│ ├── AmpFitText.php
│ ├── AmpFont.php
│ ├── AmpFxFlyingCarpet.php
│ ├── AmpGeo.php
│ ├── AmpGeoExtensionJsonScript.php
│ ├── AmpGfycat.php
│ ├── AmpGist.php
│ ├── AmpGoogleDocumentEmbed.php
│ ├── AmpGoogleReadAloudPlayer.php
│ ├── AmpGwdAnimation.php
│ ├── AmpHulu.php
│ ├── AmpIframe.php
│ ├── AmpIframely.php
│ ├── AmpImaVideo.php
│ ├── AmpImaVideoScriptTypeApplicationJson.php
│ ├── AmpImaVideoSource.php
│ ├── AmpImaVideoTrack.php
│ ├── AmpImaVideoTrackKindSubtitles.php
│ ├── AmpImageLightbox.php
│ ├── AmpImageSlider.php
│ ├── AmpImageSliderDivFirst.php
│ ├── AmpImageSliderDivSecond.php
│ ├── AmpImageSliderTransformed.php
│ ├── AmpImg.php
│ ├── AmpImgAmp4email.php
│ ├── AmpImgImgPlaceholderTransformed.php
│ ├── AmpImgImgTransformed.php
│ ├── AmpImgTransformed.php
│ ├── AmpImgur.php
│ ├── AmpInlineGallery.php
│ ├── AmpInlineGalleryPagination.php
│ ├── AmpInlineGalleryPaginationInset.php
│ ├── AmpInlineGalleryThumbnails.php
│ ├── AmpInstagram.php
│ ├── AmpInstallServiceworker.php
│ ├── AmpIzlesene.php
│ ├── AmpJwplayer.php
│ ├── AmpKalturaPlayer.php
│ ├── AmpLayout.php
│ ├── AmpLightbox.php
│ ├── AmpLightboxAmp4ads.php
│ ├── AmpLinkRewriter.php
│ ├── AmpLinkRewriterExtensionJsonScript.php
│ ├── AmpList.php
│ ├── AmpListAmp4email.php
│ ├── AmpListDivFetchError.php
│ ├── AmpListLoadMore.php
│ ├── AmpListLoadMoreButtonLoadMoreClickable.php
│ ├── AmpLiveList.php
│ ├── AmpLiveListItems.php
│ ├── AmpLiveListItemsItem.php
│ ├── AmpLiveListPagination.php
│ ├── AmpLiveListUpdate.php
│ ├── AmpMathml.php
│ ├── AmpMegaMenu.php
│ ├── AmpMegaMenuAmpList.php
│ ├── AmpMegaMenuAmpListTemplate.php
│ ├── AmpMegaMenuItemContent.php
│ ├── AmpMegaMenuItemHeading.php
│ ├── AmpMegaMenuNav.php
│ ├── AmpMegaMenuNavUlOl.php
│ ├── AmpMegaMenuNavUlOlLi.php
│ ├── AmpMegaphoneDataEpisode.php
│ ├── AmpMegaphoneDataPlaylist.php
│ ├── AmpMinuteMediaPlayer.php
│ ├── AmpMowplayer.php
│ ├── AmpNestedMenu.php
│ ├── AmpNextPageFooter.php
│ ├── AmpNextPageRecommendationBox.php
│ ├── AmpNextPageScriptTypeApplicationJson.php
│ ├── AmpNextPageSeparator.php
│ ├── AmpNextPageTypeAdsense.php
│ ├── AmpNextPageWithInlineConfig.php
│ ├── AmpNextPageWithSrcAttribute.php
│ ├── AmpNexxtvPlayer.php
│ ├── AmpO2Player.php
│ ├── AmpOnetapGoogle.php
│ ├── AmpOoyalaPlayer.php
│ ├── AmpOrientationObserver.php
│ ├── AmpPanZoom.php
│ ├── AmpPinterest.php
│ ├── AmpPixel.php
│ ├── AmpPlaybuzz.php
│ ├── AmpPositionObserver.php
│ ├── AmpPowrPlayer.php
│ ├── AmpReachPlayer.php
│ ├── AmpRecaptchaInput.php
│ ├── AmpRedbullPlayer.php
│ ├── AmpReddit.php
│ ├── AmpRender.php
│ ├── AmpRiddleQuiz.php
│ ├── AmpScript.php
│ ├── AmpScriptExtensionLocalScript.php
│ ├── AmpSelector.php
│ ├── AmpSelectorChild.php
│ ├── AmpSelectorOption.php
│ ├── AmpSidebar.php
│ ├── AmpSidebarAmp4email.php
│ ├── AmpSidebarNav.php
│ ├── AmpSkimlinks.php
│ ├── AmpSmartlinks.php
│ ├── AmpSocialShare.php
│ ├── AmpSoundcloud.php
│ ├── AmpSpringboardPlayer.php
│ ├── AmpState.php
│ ├── AmpStateAmp4email.php
│ ├── AmpStickyAd.php
│ ├── AmpStory.php
│ ├── AmpStory360.php
│ ├── AmpStoryAmpAudio.php
│ ├── AmpStoryAmpSidebar.php
│ ├── AmpStoryAmpStoryPageAttachmentAmpVideo.php
│ ├── AmpStoryAmpVideo.php
│ ├── AmpStoryAnimation.php
│ ├── AmpStoryAnimationJsonScript.php
│ ├── AmpStoryAutoAds.php
│ ├── AmpStoryAutoAdsConfigScript.php
│ ├── AmpStoryAutoAdsTemplate.php
│ ├── AmpStoryAutoAnalytics.php
│ ├── AmpStoryBookend.php
│ ├── AmpStoryBookendExtensionJsonScript.php
│ ├── AmpStoryCaptions.php
│ ├── AmpStoryConsent.php
│ ├── AmpStoryConsentExtensionJsonScript.php
│ ├── AmpStoryCtaLayer.php
│ ├── AmpStoryCtaLayerAnimateIn.php
│ ├── AmpStoryGridLayer.php
│ ├── AmpStoryGridLayerAnimateIn.php
│ ├── AmpStoryGridLayerDefault.php
│ ├── AmpStoryInteractiveBinaryPoll.php
│ ├── AmpStoryInteractiveImgPoll.php
│ ├── AmpStoryInteractiveImgQuiz.php
│ ├── AmpStoryInteractivePoll.php
│ ├── AmpStoryInteractiveQuiz.php
│ ├── AmpStoryInteractiveResults.php
│ ├── AmpStoryPage.php
│ ├── AmpStoryPageAttachment.php
│ ├── AmpStoryPageAttachmentHref.php
│ ├── AmpStoryPageOutlink.php
│ ├── AmpStoryPanningMedia.php
│ ├── AmpStoryPlayer.php
│ ├── AmpStoryPlayerImg.php
│ ├── AmpStoryShoppingAttachment.php
│ ├── AmpStoryShoppingConfig.php
│ ├── AmpStoryShoppingTag.php
│ ├── AmpStorySocialShare.php
│ ├── AmpStorySocialShareExtensionJsonScript.php
│ ├── AmpStorySubscriptions.php
│ ├── AmpStreamGallery.php
│ ├── AmpSubscriptionsExtensionJsonScript.php
│ ├── AmpTiktok.php
│ ├── AmpTiktokBlockquote.php
│ ├── AmpTimeago.php
│ ├── AmpTruncateText.php
│ ├── AmpTwitter.php
│ ├── AmpUserNotification.php
│ ├── AmpVideo.php
│ ├── AmpVideoIframe.php
│ ├── AmpVideoIframeTransformed.php
│ ├── AmpVideoSource.php
│ ├── AmpVideoTrack.php
│ ├── AmpVideoTrackKindSubtitles.php
│ ├── AmpVimeo.php
│ ├── AmpVine.php
│ ├── AmpViqeoPlayer.php
│ ├── AmpVk.php
│ ├── AmpWebPush.php
│ ├── AmpWebPushWidget.php
│ ├── AmpWistiaPlayer.php
│ ├── AmpWordpressEmbed.php
│ ├── AmpYotpo.php
│ ├── AmpYoutube.php
│ ├── AmphtmlEngineScript.php
│ ├── AmphtmlEngineScriptAmp4email.php
│ ├── AmphtmlEngineScriptLts.php
│ ├── AmphtmlEngineScriptLtsTransformed.php
│ ├── AmphtmlEngineScriptTransformed.php
│ ├── AmphtmlModuleEngineScript.php
│ ├── AmphtmlModuleLtsEngineScript.php
│ ├── AmphtmlNomoduleEngineScript.php
│ ├── AmphtmlNomoduleLtsEngineScript.php
│ ├── Article.php
│ ├── Aside.php
│ ├── Audio.php
│ ├── AudioSource.php
│ ├── AudioTrack.php
│ ├── AudioTrackKindSubtitles.php
│ ├── B.php
│ ├── Base.php
│ ├── Bdi.php
│ ├── Bdo.php
│ ├── Big.php
│ ├── Blockquote.php
│ ├── BlockquoteWithTiktok.php
│ ├── Body.php
│ ├── Br.php
│ ├── Button.php
│ ├── ButtonAmpNestedMenu.php
│ ├── Canvas.php
│ ├── Caption.php
│ ├── Center.php
│ ├── Circle.php
│ ├── Cite.php
│ ├── Clippath.php
│ ├── Code.php
│ ├── Col.php
│ ├── Colgroup.php
│ ├── CryptokeysJsonScript.php
│ ├── Data.php
│ ├── Datalist.php
│ ├── Dd.php
│ ├── Defs.php
│ ├── Del.php
│ ├── Desc.php
│ ├── Details.php
│ ├── Dfn.php
│ ├── Dir.php
│ ├── Div.php
│ ├── DivAmpNestedMenu.php
│ ├── Dl.php
│ ├── Dt.php
│ ├── Ellipse.php
│ ├── Em.php
│ ├── Feblend.php
│ ├── Fecolormatrix.php
│ ├── Fecomponenttransfer.php
│ ├── Fecomposite.php
│ ├── Feconvolvematrix.php
│ ├── Fediffuselighting.php
│ ├── Fedisplacementmap.php
│ ├── Fedistantlight.php
│ ├── Fedropshadow.php
│ ├── Feflood.php
│ ├── Fefunca.php
│ ├── Fefuncb.php
│ ├── Fefuncg.php
│ ├── Fefuncr.php
│ ├── Fegaussianblur.php
│ ├── Femerge.php
│ ├── Femergenode.php
│ ├── Femorphology.php
│ ├── Feoffset.php
│ ├── Fepointlight.php
│ ├── Fespecularlighting.php
│ ├── Fespotlight.php
│ ├── Fetile.php
│ ├── Feturbulence.php
│ ├── Fieldset.php
│ ├── Figcaption.php
│ ├── Figure.php
│ ├── Filter.php
│ ├── Footer.php
│ ├── FormDivSubmitError.php
│ ├── FormDivSubmitErrorTemplate.php
│ ├── FormDivSubmitSuccess.php
│ ├── FormDivSubmitSuccessTemplate.php
│ ├── FormDivSubmitting.php
│ ├── FormDivSubmittingTemplate.php
│ ├── FormDivVerifyError.php
│ ├── FormDivVerifyErrorTemplate.php
│ ├── FormMethodGet.php
│ ├── FormMethodGetAmp4email.php
│ ├── FormMethodPost.php
│ ├── FormMethodPostAmp4email.php
│ ├── G.php
│ ├── Glyph.php
│ ├── Glyphref.php
│ ├── H1.php
│ ├── H2.php
│ ├── H2AmpNestedMenu.php
│ ├── H3.php
│ ├── H3AmpNestedMenu.php
│ ├── H4.php
│ ├── H4AmpNestedMenu.php
│ ├── H5.php
│ ├── H5AmpNestedMenu.php
│ ├── H6.php
│ ├── H6AmpNestedMenu.php
│ ├── Head.php
│ ├── HeadStyleAmp4adsBoilerplate.php
│ ├── HeadStyleAmp4emailBoilerplate.php
│ ├── HeadStyleAmpBoilerplate.php
│ ├── Header.php
│ ├── HeroImage.php
│ ├── HeroImg.php
│ ├── Hgroup.php
│ ├── Hkern.php
│ ├── Hr.php
│ ├── Html.php
│ ├── HtmlDoctype.php
│ ├── HtmlDoctypeAmp4ads.php
│ ├── HtmlTransformed.php
│ ├── I.php
│ ├── IAmphtmlSizerIntrinsic.php
│ ├── IAmphtmlSizerResponsive.php
│ ├── Iframe.php
│ ├── Image.php
│ ├── ImageUsingSrcset.php
│ ├── ImgIAmphtmlIntrinsicSizer.php
│ ├── ImgIAmphtmlIntrinsicSizerAmpStoryPlayer.php
│ ├── ImgUsingSrcset.php
│ ├── Input.php
│ ├── InputMaskCustomMask.php
│ ├── InputMaskDateDdMmYyyy.php
│ ├── InputMaskDateMmDdYyyy.php
│ ├── InputMaskDateMmYy.php
│ ├── InputMaskDateYyyyMmDd.php
│ ├── InputMaskPaymentCard.php
│ ├── InputTypeFile.php
│ ├── InputTypeImage.php
│ ├── InputTypePassword.php
│ ├── Ins.php
│ ├── Kbd.php
│ ├── Label.php
│ ├── Legend.php
│ ├── Li.php
│ ├── Line.php
│ ├── Lineargradient.php
│ ├── LineargradientStop.php
│ ├── LinkItemprop.php
│ ├── LinkItempropSameas.php
│ ├── LinkProperty.php
│ ├── LinkRel.php
│ ├── LinkRelCanonical.php
│ ├── LinkRelManifest.php
│ ├── LinkRelModulepreload.php
│ ├── LinkRelPreload.php
│ ├── LinkRelStylesheetForAmpStory10Css.php
│ ├── LinkRelStylesheetForFonts.php
│ ├── Listing.php
│ ├── Main.php
│ ├── Mark.php
│ ├── Marker.php
│ ├── Mask.php
│ ├── MetaCharsetUtf8.php
│ ├── MetaHttpEquivContentLanguage.php
│ ├── MetaHttpEquivContentScriptType.php
│ ├── MetaHttpEquivContentStyleType.php
│ ├── MetaHttpEquivContentType.php
│ ├── MetaHttpEquivImagetoolbar.php
│ ├── MetaHttpEquivOriginTrial.php
│ ├── MetaHttpEquivPicsLabel.php
│ ├── MetaHttpEquivResourceType.php
│ ├── MetaHttpEquivXDnsPrefetchControl.php
│ ├── MetaHttpEquivXUaCompatible.php
│ ├── MetaNameAmp3pIframeSrc.php
│ ├── MetaNameAmp4adsId.php
│ ├── MetaNameAmp4adsVars.php
│ ├── MetaNameAmpAdDoubleclickSra.php
│ ├── MetaNameAmpAdEnableRefresh.php
│ ├── MetaNameAmpConsentBlocking.php
│ ├── MetaNameAmpCtaLandingPageType.php
│ ├── MetaNameAmpCtaType.php
│ ├── MetaNameAmpCtaUrl.php
│ ├── MetaNameAmpExperimentToken.php
│ ├── MetaNameAmpExperimentsOptIn.php
│ ├── MetaNameAmpGoogleClientidIdApi.php
│ ├── MetaNameAmpLinkVariableAllowedOrigin.php
│ ├── MetaNameAmpListLoadMore.php
│ ├── MetaNameAmpRecaptchaInput.php
│ ├── MetaNameAmpScriptSrc.php
│ ├── MetaNameAmpStoryGeneratorName.php
│ ├── MetaNameAmpStoryGeneratorVersion.php
│ ├── MetaNameAmpToAmpNavigation.php
│ ├── MetaNameAndContent.php
│ ├── MetaNameAppleItunesApp.php
│ ├── MetaNameViewport.php
│ ├── Metadata.php
│ ├── Meter.php
│ ├── Multicol.php
│ ├── Nav.php
│ ├── Nextid.php
│ ├── Nobr.php
│ ├── Noscript.php
│ ├── NoscriptEnclosureForAmpStyleTags.php
│ ├── NoscriptImg.php
│ ├── NoscriptStyleAmpBoilerplate.php
│ ├── OP.php
│ ├── Ol.php
│ ├── Optgroup.php
│ ├── Option.php
│ ├── Output.php
│ ├── P.php
│ ├── Path.php
│ ├── Pattern.php
│ ├── Picture.php
│ ├── PictureSource.php
│ ├── Polygon.php
│ ├── Polyline.php
│ ├── Pre.php
│ ├── Progress.php
│ ├── Q.php
│ ├── Radialgradient.php
│ ├── RadialgradientStop.php
│ ├── Rb.php
│ ├── Rect.php
│ ├── Rp.php
│ ├── Rt.php
│ ├── Rtc.php
│ ├── Ruby.php
│ ├── S.php
│ ├── Samp.php
│ ├── ScriptAmp3dGltf.php
│ ├── ScriptAmp3qPlayer.php
│ ├── ScriptAmpAccess.php
│ ├── ScriptAmpAccessFewcents.php
│ ├── ScriptAmpAccessLaterpay.php
│ ├── ScriptAmpAccessPoool.php
│ ├── ScriptAmpAccessScroll.php
│ ├── ScriptAmpAccordion.php
│ ├── ScriptAmpAccordion2.php
│ ├── ScriptAmpActionMacro.php
│ ├── ScriptAmpAdCustom.php
│ ├── ScriptAmpAdExit.php
│ ├── ScriptAmpAddthis.php
│ ├── ScriptAmpAnalytics.php
│ ├── ScriptAmpAnim.php
│ ├── ScriptAmpAnimation.php
│ ├── ScriptAmpApesterMedia.php
│ ├── ScriptAmpAppBanner.php
│ ├── ScriptAmpAudio.php
│ ├── ScriptAmpAutoAds.php
│ ├── ScriptAmpAutocomplete.php
│ ├── ScriptAmpBaseCarousel.php
│ ├── ScriptAmpBeopinion.php
│ ├── ScriptAmpBind.php
│ ├── ScriptAmpBodymovinAnimation.php
│ ├── ScriptAmpBridPlayer.php
│ ├── ScriptAmpBrightcove.php
│ ├── ScriptAmpBrightcove2.php
│ ├── ScriptAmpBysideContent.php
│ ├── ScriptAmpCacheUrl.php
│ ├── ScriptAmpCallTracking.php
│ ├── ScriptAmpCarousel.php
│ ├── ScriptAmpConnatixPlayer.php
│ ├── ScriptAmpConsent.php
│ ├── ScriptAmpDailymotion.php
│ ├── ScriptAmpDailymotion2.php
│ ├── ScriptAmpDateCountdown.php
│ ├── ScriptAmpDateDisplay.php
│ ├── ScriptAmpDatePicker.php
│ ├── ScriptAmpDelightPlayer.php
│ ├── ScriptAmpDynamicCssClasses.php
│ ├── ScriptAmpEmbedlyCard.php
│ ├── ScriptAmpExperiment.php
│ ├── ScriptAmpFacebook.php
│ ├── ScriptAmpFacebookComments.php
│ ├── ScriptAmpFacebookLike.php
│ ├── ScriptAmpFacebookPage.php
│ ├── ScriptAmpFitText.php
│ ├── ScriptAmpFitText2.php
│ ├── ScriptAmpFont.php
│ ├── ScriptAmpForm.php
│ ├── ScriptAmpFxCollection.php
│ ├── ScriptAmpFxFlyingCarpet.php
│ ├── ScriptAmpGeo.php
│ ├── ScriptAmpGfycat.php
│ ├── ScriptAmpGist.php
│ ├── ScriptAmpGoogleDocumentEmbed.php
│ ├── ScriptAmpGoogleReadAloudPlayer.php
│ ├── ScriptAmpGwdAnimation.php
│ ├── ScriptAmpHulu.php
│ ├── ScriptAmpIframe.php
│ ├── ScriptAmpIframe2.php
│ ├── ScriptAmpIframely.php
│ ├── ScriptAmpImaVideo.php
│ ├── ScriptAmpImageLightbox.php
│ ├── ScriptAmpImageSlider.php
│ ├── ScriptAmpImgur.php
│ ├── ScriptAmpInlineGallery.php
│ ├── ScriptAmpInputmask.php
│ ├── ScriptAmpInstagram.php
│ ├── ScriptAmpInstagram2.php
│ ├── ScriptAmpInstallServiceworker.php
│ ├── ScriptAmpIzlesene.php
│ ├── ScriptAmpJwplayer.php
│ ├── ScriptAmpKalturaPlayer.php
│ ├── ScriptAmpLightbox.php
│ ├── ScriptAmpLightbox2.php
│ ├── ScriptAmpLightboxGallery.php
│ ├── ScriptAmpLinkRewriter.php
│ ├── ScriptAmpList.php
│ ├── ScriptAmpLiveList.php
│ ├── ScriptAmpMathml.php
│ ├── ScriptAmpMathml2.php
│ ├── ScriptAmpMegaMenu.php
│ ├── ScriptAmpMegaphone.php
│ ├── ScriptAmpMinuteMediaPlayer.php
│ ├── ScriptAmpMowplayer.php
│ ├── ScriptAmpMraid.php
│ ├── ScriptAmpMustache.php
│ ├── ScriptAmpNestedMenu.php
│ ├── ScriptAmpNextPage.php
│ ├── ScriptAmpNexxtvPlayer.php
│ ├── ScriptAmpO2Player.php
│ ├── ScriptAmpOnerrorV0Js.php
│ ├── ScriptAmpOnerrorV0JsOrV0Mjs.php
│ ├── ScriptAmpOnetapGoogle.php
│ ├── ScriptAmpOoyalaPlayer.php
│ ├── ScriptAmpOrientationObserver.php
│ ├── ScriptAmpPanZoom.php
│ ├── ScriptAmpPinterest.php
│ ├── ScriptAmpPlaybuzz.php
│ ├── ScriptAmpPositionObserver.php
│ ├── ScriptAmpPowrPlayer.php
│ ├── ScriptAmpReachPlayer.php
│ ├── ScriptAmpRecaptchaInput.php
│ ├── ScriptAmpRedbullPlayer.php
│ ├── ScriptAmpReddit.php
│ ├── ScriptAmpRender.php
│ ├── ScriptAmpRiddleQuiz.php
│ ├── ScriptAmpScript.php
│ ├── ScriptAmpSelector.php
│ ├── ScriptAmpSelector2.php
│ ├── ScriptAmpSidebar.php
│ ├── ScriptAmpSidebar2.php
│ ├── ScriptAmpSkimlinks.php
│ ├── ScriptAmpSlides.php
│ ├── ScriptAmpSmartlinks.php
│ ├── ScriptAmpSocialShare.php
│ ├── ScriptAmpSocialShare2.php
│ ├── ScriptAmpSoundcloud.php
│ ├── ScriptAmpSoundcloud2.php
│ ├── ScriptAmpSpringboardPlayer.php
│ ├── ScriptAmpStickyAd.php
│ ├── ScriptAmpStory.php
│ ├── ScriptAmpStory360.php
│ ├── ScriptAmpStoryAutoAds.php
│ ├── ScriptAmpStoryAutoAnalytics.php
│ ├── ScriptAmpStoryCaptions.php
│ ├── ScriptAmpStoryDvhPolyfill.php
│ ├── ScriptAmpStoryInteractive.php
│ ├── ScriptAmpStoryPanningMedia.php
│ ├── ScriptAmpStoryPlayer.php
│ ├── ScriptAmpStoryShopping.php
│ ├── ScriptAmpStorySubscriptions.php
│ ├── ScriptAmpStreamGallery.php
│ ├── ScriptAmpSubscriptions.php
│ ├── ScriptAmpSubscriptionsGoogle.php
│ ├── ScriptAmpTiktok.php
│ ├── ScriptAmpTimeago.php
│ ├── ScriptAmpTruncateText.php
│ ├── ScriptAmpTwitter.php
│ ├── ScriptAmpTwitter2.php
│ ├── ScriptAmpUserNotification.php
│ ├── ScriptAmpVideo.php
│ ├── ScriptAmpVideo2.php
│ ├── ScriptAmpVideoDocking.php
│ ├── ScriptAmpVideoIframe.php
│ ├── ScriptAmpVideoIframe2.php
│ ├── ScriptAmpVimeo.php
│ ├── ScriptAmpVimeo2.php
│ ├── ScriptAmpVine.php
│ ├── ScriptAmpViqeoPlayer.php
│ ├── ScriptAmpVk.php
│ ├── ScriptAmpWebPush.php
│ ├── ScriptAmpWistiaPlayer.php
│ ├── ScriptAmpWordpressEmbed.php
│ ├── ScriptAmpYotpo.php
│ ├── ScriptAmpYoutube.php
│ ├── ScriptAmpYoutube2.php
│ ├── ScriptCustomElementAmpAccordionAmp4email.php
│ ├── ScriptCustomElementAmpAutocompleteAmp4email.php
│ ├── ScriptCustomElementAmpBindAmp4email.php
│ ├── ScriptCustomElementAmpCarouselAmp4email.php
│ ├── ScriptCustomElementAmpFitTextAmp4email.php
│ ├── ScriptCustomElementAmpFormAmp4email.php
│ ├── ScriptCustomElementAmpImageLightboxAmp4email.php
│ ├── ScriptCustomElementAmpLightboxAmp4ads.php
│ ├── ScriptCustomElementAmpLightboxAmp4email.php
│ ├── ScriptCustomElementAmpListAmp4email.php
│ ├── ScriptCustomElementAmpSelectorAmp4email.php
│ ├── ScriptCustomElementAmpSidebarAmp4email.php
│ ├── ScriptCustomElementAmpTimeagoAmp4email.php
│ ├── ScriptCustomTemplateAmpMustacheAmp4ads.php
│ ├── ScriptCustomTemplateAmpMustacheAmp4email.php
│ ├── ScriptIdAmpRtc.php
│ ├── ScriptTypeApplicationLdJson.php
│ ├── ScriptTypeTextPlain.php
│ ├── ScriptTypeTextPlainAmp4email.php
│ ├── Section.php
│ ├── SectionAmp4email.php
│ ├── Select.php
│ ├── Slot.php
│ ├── Small.php
│ ├── Solidcolor.php
│ ├── Spacer.php
│ ├── Span.php
│ ├── SpanAmpNestedMenu.php
│ ├── SpanSwgAmpCacheNonce.php
│ ├── StandardImage.php
│ ├── StandardImg.php
│ ├── Strike.php
│ ├── Strong.php
│ ├── StyleAmpCustom.php
│ ├── StyleAmpCustomAmp4ads.php
│ ├── StyleAmpCustomAmp4email.php
│ ├── StyleAmpCustomCssStrict.php
│ ├── StyleAmpCustomLengthCheck.php
│ ├── StyleAmpKeyframes.php
│ ├── StyleAmpNoscript.php
│ ├── StyleAmpRuntimeTransformed.php
│ ├── Sub.php
│ ├── SubscriptionsScriptCiphertext.php
│ ├── SubscriptionsSectionContentSwgAmpCacheNonce.php
│ ├── Summary.php
│ ├── Sup.php
│ ├── Svg.php
│ ├── SvgTitle.php
│ ├── Switch_.php
│ ├── Symbol.php
│ ├── Table.php
│ ├── Tbody.php
│ ├── Td.php
│ ├── Template.php
│ ├── TemplateAmp4email.php
│ ├── Text.php
│ ├── Textarea.php
│ ├── Textpath.php
│ ├── Tfoot.php
│ ├── Th.php
│ ├── Thead.php
│ ├── Time.php
│ ├── Title.php
│ ├── TitleAmp4email.php
│ ├── Tr.php
│ ├── Tref.php
│ ├── Tspan.php
│ ├── Tt.php
│ ├── U.php
│ ├── Ul.php
│ ├── Use_.php
│ ├── Var_.php
│ ├── Video.php
│ ├── VideoSource.php
│ ├── VideoTrack.php
│ ├── VideoTrackKindSubtitles.php
│ ├── View.php
│ ├── Vkern.php
│ └── Wbr.php
└── TagWithExtensionSpec.php
├── ValidateTagResult.php
├── ValidationEngine.php
├── ValidationError.php
├── ValidationErrorCollection.php
├── ValidationHandler.php
├── ValidationResult.php
├── ValidationSeverity.php
├── ValidationStatus.php
├── ValidatorRules.php
├── ValueSetProvision.php
└── ValueSetRequirement.php
/.codecov.yml:
--------------------------------------------------------------------------------
1 | codecov:
2 | token: 9ce03549-9167-4989-a3a0-4aaef39399c4
3 |
4 | coverage:
5 | status:
6 | # Patch-level coverage (how well is the PR tested)
7 | patch:
8 | default:
9 | threshold: 80%
10 |
11 | # Project-level coverage
12 | project:
13 | default:
14 | target: auto
15 | threshold: 0.1%
16 |
17 | # See https://docs.codecov.io/docs/ignoring-paths
18 | ignore:
19 | - "/bin"
20 |
21 | comment: false
22 |
23 | github_checks:
24 | annotations: false
25 |
--------------------------------------------------------------------------------
/bin/amp:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env php
2 | run();
23 |
--------------------------------------------------------------------------------
/include/compatibility-fixes.php:
--------------------------------------------------------------------------------
1 | > $compatibilityFixes
7 | */
8 | $compatibilityFixes = [
9 | CompatibilityFix\MovedClasses::class,
10 | ];
11 |
12 | foreach ($compatibilityFixes as $compatibilityFix) {
13 | $compatibilityFix::register();
14 | }
15 |
--------------------------------------------------------------------------------
/resources/local_fallback/rtv/metadata:
--------------------------------------------------------------------------------
1 | {"ampRuntimeVersion":"012409271652000","ampCssUrl":"https://cdn.ampproject.org/rtv/012409271652000/v0.css","canaryPercentage":"0.005","diversions":["002410031633000","022409271652000","032410031633000","042410081535000","052409271652000"],"ltsRuntimeVersion":"012406252034000","ltsCssUrl":"https://cdn.ampproject.org/rtv/012406252034000/v0.css"}
--------------------------------------------------------------------------------
/src/CompatibilityFix.php:
--------------------------------------------------------------------------------
1 | indexCounter)) {
30 | ++$this->indexCounter[$prefix];
31 | } else {
32 | $this->indexCounter[$prefix] = 0;
33 | }
34 | $uniqueId = (string)$this->indexCounter[$prefix];
35 | if ($prefix) {
36 | $uniqueId = "{$prefix}-{$uniqueId}";
37 | }
38 | return $uniqueId;
39 | }
40 | }
41 |
--------------------------------------------------------------------------------
/src/Exception/AmpException.php:
--------------------------------------------------------------------------------
1 | 80) {
24 | $html = Str::substring($html, 0, 77) . '...';
25 | }
26 |
27 | $message = "Failed to parse the provided HTML document ({$html}).";
28 |
29 | return new self($message);
30 | }
31 | }
32 |
--------------------------------------------------------------------------------
/src/Exception/FailedToParseUrl.php:
--------------------------------------------------------------------------------
1 | $accepted Array of acceptable values.
19 | * @param string $actual Value that was actually provided.
20 | * @return self
21 | */
22 | public static function forValue($option, $accepted, $actual)
23 | {
24 | $acceptedString = implode(', ', $accepted);
25 | $message = "The value for the option '{$option}' expected the value to be one of "
26 | . "[{$acceptedString}], got '{$actual}' instead.";
27 |
28 | return new self($message);
29 | }
30 | }
31 |
--------------------------------------------------------------------------------
/src/Exception/InvalidSpecName.php:
--------------------------------------------------------------------------------
1 | tag, but before open
tag.
28 | const IN_BODY = 5;
29 | const IN_SVG = 6;
30 |
31 | // We don't track the region after the closing body tag.
32 | }
33 |
--------------------------------------------------------------------------------
/src/Internal.php:
--------------------------------------------------------------------------------
1 | tag that was targeted.
26 | * @return self
27 | */
28 | public static function fromExceptionForScriptElement(Exception $exception, Element $script)
29 | {
30 | return new self(sprintf(self::SCRIPT_EXCEPTION_MESSAGE, $exception, new ElementDump($script)));
31 | }
32 | }
33 |
--------------------------------------------------------------------------------
/src/Optimizer/Error/InvalidJson.php:
--------------------------------------------------------------------------------
1 |
35 | */
36 | const ATTRIBUTES = [
37 | Attribute::DATE => [],
38 | Attribute::INPUT_SELECTOR => [],
39 | ];
40 | }
41 |
--------------------------------------------------------------------------------
/src/Validator/Spec/AttributeList/AmpFacebook.php:
--------------------------------------------------------------------------------
1 | $dataHref
21 | */
22 | final class AmpFacebook extends AttributeList implements Identifiable
23 | {
24 | /**
25 | * ID of the attribute list.
26 | *
27 | * @var string
28 | */
29 | const ID = 'amp-facebook';
30 |
31 | /**
32 | * Array of attributes.
33 | *
34 | * @var array
35 | */
36 | const ATTRIBUTES = [
37 | Attribute::DATA_HREF => [
38 | SpecRule::MANDATORY => true,
39 | ],
40 | ];
41 | }
42 |
--------------------------------------------------------------------------------
/src/Validator/Spec/AttributeList/NonceAttr.php:
--------------------------------------------------------------------------------
1 | > $nonce
21 | */
22 | final class NonceAttr extends AttributeList implements Identifiable
23 | {
24 | /**
25 | * ID of the attribute list.
26 | *
27 | * @var string
28 | */
29 | const ID = 'nonce-attr';
30 |
31 | /**
32 | * Array of attributes.
33 | *
34 | * @var array
35 | */
36 | const ATTRIBUTES = [
37 | Attribute::NONCE => [
38 | SpecRule::DISABLED_BY => [
39 | Attribute::AMP4EMAIL,
40 | ],
41 | ],
42 | ];
43 | }
44 |
--------------------------------------------------------------------------------
/src/Validator/Spec/AttributeList/SvgStyleAttr.php:
--------------------------------------------------------------------------------
1 | $style
21 | */
22 | final class SvgStyleAttr extends AttributeList implements Identifiable
23 | {
24 | /**
25 | * ID of the attribute list.
26 | *
27 | * @var string
28 | */
29 | const ID = 'svg-style-attr';
30 |
31 | /**
32 | * Array of attributes.
33 | *
34 | * @var array
35 | */
36 | const ATTRIBUTES = [
37 | Attribute::STYLE => [
38 | SpecRule::VALUE_DOC_SVG_CSS => true,
39 | ],
40 | ];
41 | }
42 |
--------------------------------------------------------------------------------
/src/Validator/Spec/DescendantTagList/AmpStoryBookendAllowedDescendants.php:
--------------------------------------------------------------------------------
1 |
32 | */
33 | const DESCENDANT_TAGS = [
34 | Element::SCRIPT,
35 | ];
36 | }
37 |
--------------------------------------------------------------------------------
/src/Validator/Spec/DescendantTagList/AmpStoryPlayerAllowedDescendants.php:
--------------------------------------------------------------------------------
1 |
33 | */
34 | const DESCENDANT_TAGS = [
35 | Element::A,
36 | Element::SPAN,
37 | Internal::SIZER,
38 | Element::IMG,
39 | ];
40 | }
41 |
--------------------------------------------------------------------------------
/src/Validator/Spec/DescendantTagList/AmpStorySocialShareAllowedDescendants.php:
--------------------------------------------------------------------------------
1 |
32 | */
33 | const DESCENDANT_TAGS = [
34 | Element::SCRIPT,
35 | ];
36 | }
37 |
--------------------------------------------------------------------------------
/src/Validator/Spec/Error/AmpEmailMissingStrictCssAttr.php:
--------------------------------------------------------------------------------
1 | 'Tag \'html\' marked with attribute \'amp4email\' is missing the corresponding attribute \'data-css-strict\' for enabling strict CSS validation. This may become an error in the future.',
36 | ];
37 | }
38 |
--------------------------------------------------------------------------------
/src/Validator/Spec/Error/AttrDisallowedByImpliedLayout.php:
--------------------------------------------------------------------------------
1 | 'The attribute \'%1\' in tag \'%2\' is disallowed by implied layout \'%3\'.',
37 | SpecRule::SPECIFICITY => 51,
38 | ];
39 | }
40 |
--------------------------------------------------------------------------------
/src/Validator/Spec/Error/AttrDisallowedBySpecifiedLayout.php:
--------------------------------------------------------------------------------
1 | 'The attribute \'%1\' in tag \'%2\' is disallowed by specified layout \'%3\'.',
37 | SpecRule::SPECIFICITY => 52,
38 | ];
39 | }
40 |
--------------------------------------------------------------------------------
/src/Validator/Spec/Error/AttrMissingRequiredExtension.php:
--------------------------------------------------------------------------------
1 | 'The attribute \'%1\' requires including the \'%2\' extension JavaScript.',
37 | SpecRule::SPECIFICITY => 13,
38 | ];
39 | }
40 |
--------------------------------------------------------------------------------
/src/Validator/Spec/Error/AttrRequiredButMissing.php:
--------------------------------------------------------------------------------
1 | 'The attribute \'%1\' in tag \'%2\' is missing or incorrect, but required by attribute \'%3\'.',
37 | SpecRule::SPECIFICITY => 32,
38 | ];
39 | }
40 |
--------------------------------------------------------------------------------
/src/Validator/Spec/Error/AttrValueRequiredByLayout.php:
--------------------------------------------------------------------------------
1 | 'Invalid value \'%1\' for attribute \'%2\' in tag \'%3\' - for layout \'%4\', set the attribute \'%2\' to value \'%5\'.',
37 | SpecRule::SPECIFICITY => 28,
38 | ];
39 | }
40 |
--------------------------------------------------------------------------------
/src/Validator/Spec/Error/BaseTagMustPreceedAllUrls.php:
--------------------------------------------------------------------------------
1 | 'The tag \'%1\', which contains URLs, was found earlier in the document than the BASE element.',
37 | SpecRule::SPECIFICITY => 90,
38 | ];
39 | }
40 |
--------------------------------------------------------------------------------
/src/Validator/Spec/Error/CdataViolatesDenylist.php:
--------------------------------------------------------------------------------
1 | 'The text inside tag \'%1\' contains \'%2\', which is disallowed.',
37 | SpecRule::SPECIFICITY => 2,
38 | ];
39 | }
40 |
--------------------------------------------------------------------------------
/src/Validator/Spec/Error/CssExcessivelyNested.php:
--------------------------------------------------------------------------------
1 | 'CSS excessively nested in tag \'%1\'.',
37 | SpecRule::SPECIFICITY => 125,
38 | ];
39 | }
40 |
--------------------------------------------------------------------------------
/src/Validator/Spec/Error/CssSyntaxBadUrl.php:
--------------------------------------------------------------------------------
1 | 'CSS syntax error in tag \'%1\' - bad url.',
37 | SpecRule::SPECIFICITY => 63,
38 | ];
39 | }
40 |
--------------------------------------------------------------------------------
/src/Validator/Spec/Error/CssSyntaxDisallowedAttrSelector.php:
--------------------------------------------------------------------------------
1 | 'CSS error in tag \'%1\' - disallowed attribute selector \'%2\'.',
37 | SpecRule::SPECIFICITY => 120,
38 | ];
39 | }
40 |
--------------------------------------------------------------------------------
/src/Validator/Spec/Error/CssSyntaxDisallowedDomain.php:
--------------------------------------------------------------------------------
1 | 'CSS syntax error in tag \'%1\' - invalid domain \'%2\'.',
37 | SpecRule::SPECIFICITY => 72,
38 | ];
39 | }
40 |
--------------------------------------------------------------------------------
/src/Validator/Spec/Error/CssSyntaxDisallowedImportant.php:
--------------------------------------------------------------------------------
1 | 'Usage of the !important CSS qualifier is not allowed.',
37 | SpecRule::SPECIFICITY => 123,
38 | ];
39 | }
40 |
--------------------------------------------------------------------------------
/src/Validator/Spec/Error/CssSyntaxDisallowedKeyframeInsideKeyframe.php:
--------------------------------------------------------------------------------
1 | 'CSS syntax error in tag \'%1\' - keyframe inside keyframe is not allowed.',
37 | SpecRule::SPECIFICITY => 115,
38 | ];
39 | }
40 |
--------------------------------------------------------------------------------
/src/Validator/Spec/Error/CssSyntaxDisallowedMediaFeature.php:
--------------------------------------------------------------------------------
1 | 'CSS syntax error in tag \'%1\' - disallowed media feature \'%2\'.',
37 | SpecRule::SPECIFICITY => 119,
38 | ];
39 | }
40 |
--------------------------------------------------------------------------------
/src/Validator/Spec/Error/CssSyntaxDisallowedMediaType.php:
--------------------------------------------------------------------------------
1 | 'CSS syntax error in tag \'%1\' - disallowed media type \'%2\'.',
37 | SpecRule::SPECIFICITY => 118,
38 | ];
39 | }
40 |
--------------------------------------------------------------------------------
/src/Validator/Spec/Error/CssSyntaxDisallowedPropertyValue.php:
--------------------------------------------------------------------------------
1 | 'CSS syntax error in tag \'%1\' - the property \'%2\' is set to the disallowed value \'%3\'.',
37 | SpecRule::SPECIFICITY => 85,
38 | ];
39 | }
40 |
--------------------------------------------------------------------------------
/src/Validator/Spec/Error/CssSyntaxDisallowedPseudoClass.php:
--------------------------------------------------------------------------------
1 | 'CSS error in tag \'%1\' - disallowed pseudo class \'%2\'.',
37 | SpecRule::SPECIFICITY => 121,
38 | ];
39 | }
40 |
--------------------------------------------------------------------------------
/src/Validator/Spec/Error/CssSyntaxDisallowedPseudoElement.php:
--------------------------------------------------------------------------------
1 | 'CSS error in tag \'%1\' - disallowed pseudo element \'%2\'.',
37 | SpecRule::SPECIFICITY => 122,
38 | ];
39 | }
40 |
--------------------------------------------------------------------------------
/src/Validator/Spec/Error/CssSyntaxDisallowedRelativeUrl.php:
--------------------------------------------------------------------------------
1 | 'CSS syntax error in tag \'%1\' - disallowed relative url \'%2\'.',
37 | SpecRule::SPECIFICITY => 75,
38 | ];
39 | }
40 |
--------------------------------------------------------------------------------
/src/Validator/Spec/Error/CssSyntaxEofInPreludeOfQualifiedRule.php:
--------------------------------------------------------------------------------
1 | 'CSS syntax error in tag \'%1\' - end of stylesheet encountered in prelude of a qualified rule.',
37 | SpecRule::SPECIFICITY => 64,
38 | ];
39 | }
40 |
--------------------------------------------------------------------------------
/src/Validator/Spec/Error/CssSyntaxErrorInPseudoSelector.php:
--------------------------------------------------------------------------------
1 | 'CSS syntax error in tag \'%1\' - invalid pseudo selector.',
37 | SpecRule::SPECIFICITY => 67,
38 | ];
39 | }
40 |
--------------------------------------------------------------------------------
/src/Validator/Spec/Error/CssSyntaxIncompleteDeclaration.php:
--------------------------------------------------------------------------------
1 | 'CSS syntax error in tag \'%1\' - incomplete declaration.',
37 | SpecRule::SPECIFICITY => 66,
38 | ];
39 | }
40 |
--------------------------------------------------------------------------------
/src/Validator/Spec/Error/CssSyntaxInvalidAtRule.php:
--------------------------------------------------------------------------------
1 | 'CSS syntax error in tag \'%1\' - saw invalid at rule \'@%2\'.',
37 | SpecRule::SPECIFICITY => 39,
38 | ];
39 | }
40 |
--------------------------------------------------------------------------------
/src/Validator/Spec/Error/CssSyntaxInvalidAttrSelector.php:
--------------------------------------------------------------------------------
1 | 'CSS syntax error in tag \'%1\' - invalid attribute selector.',
37 | SpecRule::SPECIFICITY => 79,
38 | ];
39 | }
40 |
--------------------------------------------------------------------------------
/src/Validator/Spec/Error/CssSyntaxInvalidDeclaration.php:
--------------------------------------------------------------------------------
1 | 'CSS syntax error in tag \'%1\' - invalid declaration.',
37 | SpecRule::SPECIFICITY => 65,
38 | ];
39 | }
40 |
--------------------------------------------------------------------------------
/src/Validator/Spec/Error/CssSyntaxInvalidProperty.php:
--------------------------------------------------------------------------------
1 | 'CSS syntax error in tag \'%1\' - invalid property \'%2\'. The only allowed properties are \'%3\'.',
37 | SpecRule::SPECIFICITY => 111,
38 | ];
39 | }
40 |
--------------------------------------------------------------------------------
/src/Validator/Spec/Error/CssSyntaxInvalidPropertyNolist.php:
--------------------------------------------------------------------------------
1 | 'CSS syntax error in tag \'%1\' - invalid property \'%2\'.',
37 | SpecRule::SPECIFICITY => 112,
38 | ];
39 | }
40 |
--------------------------------------------------------------------------------
/src/Validator/Spec/Error/CssSyntaxInvalidUrl.php:
--------------------------------------------------------------------------------
1 | 'CSS syntax error in tag \'%1\' - invalid url \'%2\'.',
37 | SpecRule::SPECIFICITY => 73,
38 | ];
39 | }
40 |
--------------------------------------------------------------------------------
/src/Validator/Spec/Error/CssSyntaxInvalidUrlProtocol.php:
--------------------------------------------------------------------------------
1 | 'CSS syntax error in tag \'%1\' - invalid url protocol \'%2:\'.',
37 | SpecRule::SPECIFICITY => 74,
38 | ];
39 | }
40 |
--------------------------------------------------------------------------------
/src/Validator/Spec/Error/CssSyntaxMalformedMediaQuery.php:
--------------------------------------------------------------------------------
1 | 'CSS syntax error in tag \'%1\' - malformed media query.',
37 | SpecRule::SPECIFICITY => 117,
38 | ];
39 | }
40 |
--------------------------------------------------------------------------------
/src/Validator/Spec/Error/CssSyntaxMissingSelector.php:
--------------------------------------------------------------------------------
1 | 'CSS syntax error in tag \'%1\' - missing selector.',
37 | SpecRule::SPECIFICITY => 68,
38 | ];
39 | }
40 |
--------------------------------------------------------------------------------
/src/Validator/Spec/Error/CssSyntaxMissingUrl.php:
--------------------------------------------------------------------------------
1 | 'CSS syntax error in tag \'%1\' - missing url.',
37 | SpecRule::SPECIFICITY => 71,
38 | ];
39 | }
40 |
--------------------------------------------------------------------------------
/src/Validator/Spec/Error/CssSyntaxNotASelectorStart.php:
--------------------------------------------------------------------------------
1 | 'CSS syntax error in tag \'%1\' - not a selector start.',
37 | SpecRule::SPECIFICITY => 69,
38 | ];
39 | }
40 |
--------------------------------------------------------------------------------
/src/Validator/Spec/Error/CssSyntaxQualifiedRuleHasNoDeclarations.php:
--------------------------------------------------------------------------------
1 | 'CSS syntax error in tag \'%1\' - qualified rule \'%2\' has no declarations.',
37 | SpecRule::SPECIFICITY => 113,
38 | ];
39 | }
40 |
--------------------------------------------------------------------------------
/src/Validator/Spec/Error/CssSyntaxStrayTrailingBackslash.php:
--------------------------------------------------------------------------------
1 | 'CSS syntax error in tag \'%1\' - stray trailing backslash.',
37 | SpecRule::SPECIFICITY => 60,
38 | ];
39 | }
40 |
--------------------------------------------------------------------------------
/src/Validator/Spec/Error/CssSyntaxUnparsedInputRemainsInSelector.php:
--------------------------------------------------------------------------------
1 | 'CSS syntax error in tag \'%1\' - unparsed input remains in selector.',
37 | SpecRule::SPECIFICITY => 70,
38 | ];
39 | }
40 |
--------------------------------------------------------------------------------
/src/Validator/Spec/Error/CssSyntaxUnterminatedComment.php:
--------------------------------------------------------------------------------
1 | 'CSS syntax error in tag \'%1\' - unterminated comment.',
37 | SpecRule::SPECIFICITY => 61,
38 | ];
39 | }
40 |
--------------------------------------------------------------------------------
/src/Validator/Spec/Error/CssSyntaxUnterminatedString.php:
--------------------------------------------------------------------------------
1 | 'CSS syntax error in tag \'%1\' - unterminated string.',
37 | SpecRule::SPECIFICITY => 62,
38 | ];
39 | }
40 |
--------------------------------------------------------------------------------
/src/Validator/Spec/Error/DeprecatedAttr.php:
--------------------------------------------------------------------------------
1 | 'The attribute \'%1\' in tag \'%2\' is deprecated - use \'%3\' instead.',
37 | SpecRule::SPECIFICITY => 104,
38 | ];
39 | }
40 |
--------------------------------------------------------------------------------
/src/Validator/Spec/Error/DeprecatedTag.php:
--------------------------------------------------------------------------------
1 | 'The tag \'%1\' is deprecated - use \'%2\' instead.',
37 | SpecRule::SPECIFICITY => 105,
38 | ];
39 | }
40 |
--------------------------------------------------------------------------------
/src/Validator/Spec/Error/DevModeOnly.php:
--------------------------------------------------------------------------------
1 | 'Tag \'html\' marked with attribute \'data-ampdevmode\'. Validator will suppress errors regarding any other tag with this attribute.',
37 | SpecRule::SPECIFICITY => 1000,
38 | ];
39 | }
40 |
--------------------------------------------------------------------------------
/src/Validator/Spec/Error/DisallowedAmpDomain.php:
--------------------------------------------------------------------------------
1 | 'The script tag includes an invalid AMP domain in the src attribute.',
37 | SpecRule::SPECIFICITY => 23,
38 | ];
39 | }
40 |
--------------------------------------------------------------------------------
/src/Validator/Spec/Error/DisallowedAttr.php:
--------------------------------------------------------------------------------
1 | 'The attribute \'%1\' may not appear in tag \'%2\'.',
37 | SpecRule::SPECIFICITY => 25,
38 | ];
39 | }
40 |
--------------------------------------------------------------------------------
/src/Validator/Spec/Error/DisallowedChildTagName.php:
--------------------------------------------------------------------------------
1 | 'Tag \'%1\' is disallowed as child of tag \'%2\'. Child tag must be one of %3.',
37 | SpecRule::SPECIFICITY => 77,
38 | ];
39 | }
40 |
--------------------------------------------------------------------------------
/src/Validator/Spec/Error/DisallowedDomain.php:
--------------------------------------------------------------------------------
1 | 'The domain \'%3\' for attribute \'%1\' in tag \'%2\' is disallowed.',
37 | SpecRule::SPECIFICITY => 56,
38 | ];
39 | }
40 |
--------------------------------------------------------------------------------
/src/Validator/Spec/Error/DisallowedFirstChildTagName.php:
--------------------------------------------------------------------------------
1 | 'Tag \'%1\' is disallowed as first child of tag \'%2\'. First child tag must be one of %3.',
37 | SpecRule::SPECIFICITY => 78,
38 | ];
39 | }
40 |
--------------------------------------------------------------------------------
/src/Validator/Spec/Error/DisallowedManufacturedBody.php:
--------------------------------------------------------------------------------
1 | 'Tag or text which is only allowed inside the body section found outside of the body section.',
37 | SpecRule::SPECIFICITY => 106,
38 | ];
39 | }
40 |
--------------------------------------------------------------------------------
/src/Validator/Spec/Error/DisallowedPropertyInAttrValue.php:
--------------------------------------------------------------------------------
1 | 'The property \'%1\' in attribute \'%2\' in tag \'%3\' is disallowed.',
37 | SpecRule::SPECIFICITY => 42,
38 | ];
39 | }
40 |
--------------------------------------------------------------------------------
/src/Validator/Spec/Error/DisallowedRelativeUrl.php:
--------------------------------------------------------------------------------
1 | 'The relative URL \'%3\' for attribute \'%1\' in tag \'%2\' is disallowed.',
37 | SpecRule::SPECIFICITY => 54,
38 | ];
39 | }
40 |
--------------------------------------------------------------------------------
/src/Validator/Spec/Error/DisallowedScriptTag.php:
--------------------------------------------------------------------------------
1 | 'Custom JavaScript is not allowed.',
37 | SpecRule::SPECIFICITY => 102,
38 | ];
39 | }
40 |
--------------------------------------------------------------------------------
/src/Validator/Spec/Error/DisallowedStyleAttr.php:
--------------------------------------------------------------------------------
1 | 'The inline \'style\' attribute is not allowed in AMP documents. Use \'style amp-custom\' tag instead.',
37 | SpecRule::SPECIFICITY => 59,
38 | ];
39 | }
40 |
--------------------------------------------------------------------------------
/src/Validator/Spec/Error/DisallowedTag.php:
--------------------------------------------------------------------------------
1 | 'The tag \'%1\' is disallowed.',
37 | SpecRule::SPECIFICITY => 24,
38 | ];
39 | }
40 |
--------------------------------------------------------------------------------
/src/Validator/Spec/Error/DisallowedTagAncestor.php:
--------------------------------------------------------------------------------
1 | 'The tag \'%1\' may not appear as a descendant of tag \'%2\'.',
37 | SpecRule::SPECIFICITY => 5,
38 | ];
39 | }
40 |
--------------------------------------------------------------------------------
/src/Validator/Spec/Error/DocumentSizeLimitExceeded.php:
--------------------------------------------------------------------------------
1 | 'Document exceeded %1 bytes limit. Actual size %2 bytes.',
37 | SpecRule::SPECIFICITY => 126,
38 | ];
39 | }
40 |
--------------------------------------------------------------------------------
/src/Validator/Spec/Error/DocumentTooComplex.php:
--------------------------------------------------------------------------------
1 | 'The document is too complex.',
37 | SpecRule::SPECIFICITY => 107,
38 | ];
39 | }
40 |
--------------------------------------------------------------------------------
/src/Validator/Spec/Error/DuplicateAttribute.php:
--------------------------------------------------------------------------------
1 | 'The tag \'%1\' contains the attribute \'%2\' repeated multiple times.',
37 | SpecRule::SPECIFICITY => 27,
38 | ];
39 | }
40 |
--------------------------------------------------------------------------------
/src/Validator/Spec/Error/DuplicateDimension.php:
--------------------------------------------------------------------------------
1 | 'Multiple image candidates with the same width or pixel density found in attribute \'%1\' in tag \'%2\'.',
37 | SpecRule::SPECIFICITY => 53,
38 | ];
39 | }
40 |
--------------------------------------------------------------------------------
/src/Validator/Spec/Error/DuplicateReferencePoint.php:
--------------------------------------------------------------------------------
1 | 'The reference point \'%1\' for \'%2\' must be unique but a duplicate was encountered.',
37 | SpecRule::SPECIFICITY => 82,
38 | ];
39 | }
40 |
--------------------------------------------------------------------------------
/src/Validator/Spec/Error/DuplicateUniqueTag.php:
--------------------------------------------------------------------------------
1 | 'The tag \'%1\' appears more than once in the document.',
37 | SpecRule::SPECIFICITY => 33,
38 | ];
39 | }
40 |
--------------------------------------------------------------------------------
/src/Validator/Spec/Error/DuplicateUniqueTagWarning.php:
--------------------------------------------------------------------------------
1 | 'The tag \'%1\' appears more than once in the document. This will soon be an error.',
37 | SpecRule::SPECIFICITY => 34,
38 | ];
39 | }
40 |
--------------------------------------------------------------------------------
/src/Validator/Spec/Error/ExtensionUnused.php:
--------------------------------------------------------------------------------
1 | 'The extension \'%1\' was found on this page, but is unused. Please remove this extension.',
37 | SpecRule::SPECIFICITY => 15,
38 | ];
39 | }
40 |
--------------------------------------------------------------------------------
/src/Validator/Spec/Error/GeneralDisallowedTag.php:
--------------------------------------------------------------------------------
1 | 'The tag \'%1\' is disallowed except in specific forms.',
37 | SpecRule::SPECIFICITY => 103,
38 | ];
39 | }
40 |
--------------------------------------------------------------------------------
/src/Validator/Spec/Error/ImpliedLayoutInvalid.php:
--------------------------------------------------------------------------------
1 | 'The implied layout \'%1\' is not supported by tag \'%2\'.',
37 | SpecRule::SPECIFICITY => 49,
38 | ];
39 | }
40 |
--------------------------------------------------------------------------------
/src/Validator/Spec/Error/IncorrectMinNumChildTags.php:
--------------------------------------------------------------------------------
1 | 'Tag \'%1\' must have a minimum of %2 child tags - saw %3 child tags.',
37 | SpecRule::SPECIFICITY => 108,
38 | ];
39 | }
40 |
--------------------------------------------------------------------------------
/src/Validator/Spec/Error/IncorrectNumChildTags.php:
--------------------------------------------------------------------------------
1 | 'Tag \'%1\' must have %2 child tags - saw %3 child tags.',
37 | SpecRule::SPECIFICITY => 76,
38 | ];
39 | }
40 |
--------------------------------------------------------------------------------
/src/Validator/Spec/Error/IncorrectScriptReleaseVersion.php:
--------------------------------------------------------------------------------
1 | 'The script version for \'%1\' is a %2 version which mismatches with the first script on the page using the %3 version.',
37 | SpecRule::SPECIFICITY => 22,
38 | ];
39 | }
40 |
--------------------------------------------------------------------------------
/src/Validator/Spec/Error/InlineScriptTooLong.php:
--------------------------------------------------------------------------------
1 | 'The inline script is %1 bytes, which exceeds the limit of %2 bytes.',
37 | SpecRule::SPECIFICITY => 38,
38 | ];
39 | }
40 |
--------------------------------------------------------------------------------
/src/Validator/Spec/Error/InlineStyleTooLong.php:
--------------------------------------------------------------------------------
1 | 'The inline style specified in tag \'%1\' is too long - it contains %2 bytes whereas the limit is %3 bytes.',
37 | SpecRule::SPECIFICITY => 37,
38 | ];
39 | }
40 |
--------------------------------------------------------------------------------
/src/Validator/Spec/Error/InvalidAttrValue.php:
--------------------------------------------------------------------------------
1 | 'The attribute \'%1\' in tag \'%2\' is set to the invalid value \'%3\'.',
37 | SpecRule::SPECIFICITY => 26,
38 | ];
39 | }
40 |
--------------------------------------------------------------------------------
/src/Validator/Spec/Error/InvalidDoctypeHtml.php:
--------------------------------------------------------------------------------
1 | 'Invalid or missing doctype declaration. Should be \'!doctype html\'.',
37 | SpecRule::SPECIFICITY => 128,
38 | ];
39 | }
40 |
--------------------------------------------------------------------------------
/src/Validator/Spec/Error/InvalidExtensionPath.php:
--------------------------------------------------------------------------------
1 | 'The extension \'%1\' has a path \'%2\' which is invalid. Please use a valid path for this extension.',
37 | SpecRule::SPECIFICITY => 19,
38 | ];
39 | }
40 |
--------------------------------------------------------------------------------
/src/Validator/Spec/Error/InvalidExtensionVersion.php:
--------------------------------------------------------------------------------
1 | 'The extension \'%1\' is referenced at version \'%2\' which is an invalid version. Please use a valid version of this extension.',
37 | SpecRule::SPECIFICITY => 18,
38 | ];
39 | }
40 |
--------------------------------------------------------------------------------
/src/Validator/Spec/Error/InvalidJsonCdata.php:
--------------------------------------------------------------------------------
1 | 'The script tag contains invalid JSON that cannot be parsed.',
37 | SpecRule::SPECIFICITY => 4,
38 | ];
39 | }
40 |
--------------------------------------------------------------------------------
/src/Validator/Spec/Error/InvalidPropertyValueInAttrValue.php:
--------------------------------------------------------------------------------
1 | 'The property \'%1\' in attribute \'%2\' in tag \'%3\' is set to \'%4\', which is invalid.',
37 | SpecRule::SPECIFICITY => 41,
38 | ];
39 | }
40 |
--------------------------------------------------------------------------------
/src/Validator/Spec/Error/InvalidUrl.php:
--------------------------------------------------------------------------------
1 | 'Malformed URL \'%3\' for attribute \'%1\' in tag \'%2\'.',
37 | SpecRule::SPECIFICITY => 58,
38 | ];
39 | }
40 |
--------------------------------------------------------------------------------
/src/Validator/Spec/Error/InvalidUrlProtocol.php:
--------------------------------------------------------------------------------
1 | 'Invalid URL protocol \'%3:\' for attribute \'%1\' in tag \'%2\'.',
37 | SpecRule::SPECIFICITY => 57,
38 | ];
39 | }
40 |
--------------------------------------------------------------------------------
/src/Validator/Spec/Error/InvalidUtf8.php:
--------------------------------------------------------------------------------
1 | 'The document contains invalid UTF8.',
37 | SpecRule::SPECIFICITY => 124,
38 | ];
39 | }
40 |
--------------------------------------------------------------------------------
/src/Validator/Spec/Error/LtsScriptAfterNonLts.php:
--------------------------------------------------------------------------------
1 | '\'%1\' must use the non-LTS version to correspond with the first script in the page, which does not use LTS.',
37 | SpecRule::SPECIFICITY => 21,
38 | ];
39 | }
40 |
--------------------------------------------------------------------------------
/src/Validator/Spec/Error/MandatoryAnyofAttrMissing.php:
--------------------------------------------------------------------------------
1 | 'The tag \'%1\' is missing a mandatory attribute - pick at least one of %2.',
37 | SpecRule::SPECIFICITY => 31,
38 | ];
39 | }
40 |
--------------------------------------------------------------------------------
/src/Validator/Spec/Error/MandatoryAttrMissing.php:
--------------------------------------------------------------------------------
1 | 'The mandatory attribute \'%1\' is missing in tag \'%2\'.',
37 | SpecRule::SPECIFICITY => 29,
38 | ];
39 | }
40 |
--------------------------------------------------------------------------------
/src/Validator/Spec/Error/MandatoryCdataMissingOrIncorrect.php:
--------------------------------------------------------------------------------
1 | 'The mandatory text inside tag \'%1\' is missing or incorrect.',
37 | SpecRule::SPECIFICITY => 1,
38 | ];
39 | }
40 |
--------------------------------------------------------------------------------
/src/Validator/Spec/Error/MandatoryLastChildTag.php:
--------------------------------------------------------------------------------
1 | 'Tag \'%1\', if present, must be the last child of tag \'%2\'.',
37 | SpecRule::SPECIFICITY => 110,
38 | ];
39 | }
40 |
--------------------------------------------------------------------------------
/src/Validator/Spec/Error/MandatoryOneofAttrMissing.php:
--------------------------------------------------------------------------------
1 | 'The tag \'%1\' is missing a mandatory attribute - pick one of %2.',
37 | SpecRule::SPECIFICITY => 30,
38 | ];
39 | }
40 |
--------------------------------------------------------------------------------
/src/Validator/Spec/Error/MandatoryPropertyMissingFromAttrValue.php:
--------------------------------------------------------------------------------
1 | 'The property \'%1\' is missing from attribute \'%2\' in tag \'%3\'.',
37 | SpecRule::SPECIFICITY => 40,
38 | ];
39 | }
40 |
--------------------------------------------------------------------------------
/src/Validator/Spec/Error/MandatoryReferencePointMissing.php:
--------------------------------------------------------------------------------
1 | 'The mandatory reference point \'%1\' for \'%2\' is missing.',
37 | SpecRule::SPECIFICITY => 81,
38 | ];
39 | }
40 |
--------------------------------------------------------------------------------
/src/Validator/Spec/Error/MandatoryTagAncestor.php:
--------------------------------------------------------------------------------
1 | 'The tag \'%1\' may only appear as a descendant of tag \'%2\'.',
37 | SpecRule::SPECIFICITY => 6,
38 | ];
39 | }
40 |
--------------------------------------------------------------------------------
/src/Validator/Spec/Error/MandatoryTagAncestorWithHint.php:
--------------------------------------------------------------------------------
1 | 'The tag \'%1\' may only appear as a descendant of tag \'%2\'. Did you mean \'%3\'?',
37 | SpecRule::SPECIFICITY => 7,
38 | ];
39 | }
40 |
--------------------------------------------------------------------------------
/src/Validator/Spec/Error/MandatoryTagMissing.php:
--------------------------------------------------------------------------------
1 | 'The mandatory tag \'%1\' is missing or incorrect.',
37 | SpecRule::SPECIFICITY => 8,
38 | ];
39 | }
40 |
--------------------------------------------------------------------------------
/src/Validator/Spec/Error/MissingLayoutAttributes.php:
--------------------------------------------------------------------------------
1 | 'Incomplete layout attributes specified for tag \'%1\'. For example, provide attributes \'width\' and \'height\'.',
37 | SpecRule::SPECIFICITY => 48,
38 | ];
39 | }
40 |
--------------------------------------------------------------------------------
/src/Validator/Spec/Error/MissingRequiredExtension.php:
--------------------------------------------------------------------------------
1 | 'The tag \'%1\' requires including the \'%2\' extension JavaScript.',
37 | SpecRule::SPECIFICITY => 12,
38 | ];
39 | }
40 |
--------------------------------------------------------------------------------
/src/Validator/Spec/Error/MissingUrl.php:
--------------------------------------------------------------------------------
1 | 'Missing URL for attribute \'%1\' in tag \'%2\'.',
37 | SpecRule::SPECIFICITY => 55,
38 | ];
39 | }
40 |
--------------------------------------------------------------------------------
/src/Validator/Spec/Error/MutuallyExclusiveAttrs.php:
--------------------------------------------------------------------------------
1 | 'Mutually exclusive attributes encountered in tag \'%1\' - pick one of %2.',
37 | SpecRule::SPECIFICITY => 43,
38 | ];
39 | }
40 |
--------------------------------------------------------------------------------
/src/Validator/Spec/Error/NonLtsScriptAfterLts.php:
--------------------------------------------------------------------------------
1 | '\'%1\' must use the LTS version to correspond with the first script in the page, which uses LTS.',
37 | SpecRule::SPECIFICITY => 20,
38 | ];
39 | }
40 |
--------------------------------------------------------------------------------
/src/Validator/Spec/Error/NonWhitespaceCdataEncountered.php:
--------------------------------------------------------------------------------
1 | 'The tag \'%1\' contains text, which is disallowed.',
37 | SpecRule::SPECIFICITY => 3,
38 | ];
39 | }
40 |
--------------------------------------------------------------------------------
/src/Validator/Spec/Error/SpecifiedLayoutInvalid.php:
--------------------------------------------------------------------------------
1 | 'The specified layout \'%1\' is not supported by tag \'%2\'.',
37 | SpecRule::SPECIFICITY => 50,
38 | ];
39 | }
40 |
--------------------------------------------------------------------------------
/src/Validator/Spec/Error/StylesheetTooLong.php:
--------------------------------------------------------------------------------
1 | 'The author stylesheet specified in tag \'%1\' is too long - document contains %2 bytes whereas the limit is %3 bytes.',
37 | SpecRule::SPECIFICITY => 35,
38 | ];
39 | }
40 |
--------------------------------------------------------------------------------
/src/Validator/Spec/Error/TagExcludedByTag.php:
--------------------------------------------------------------------------------
1 | 'The tag \'%1\' is present, but is excluded by the presence of \'%2\'.',
37 | SpecRule::SPECIFICITY => 11,
38 | ];
39 | }
40 |
--------------------------------------------------------------------------------
/src/Validator/Spec/Error/TagNotAllowedToHaveSiblings.php:
--------------------------------------------------------------------------------
1 | 'Tag \'%1\' is not allowed to have any sibling tags (\'%2\' should only have 1 child).',
37 | SpecRule::SPECIFICITY => 109,
38 | ];
39 | }
40 |
--------------------------------------------------------------------------------
/src/Validator/Spec/Error/TagReferencePointConflict.php:
--------------------------------------------------------------------------------
1 | 'The tag \'%1\' conflicts with reference point \'%2\' because both define reference points.',
37 | SpecRule::SPECIFICITY => 83,
38 | ];
39 | }
40 |
--------------------------------------------------------------------------------
/src/Validator/Spec/Error/TagRequiredByMissing.php:
--------------------------------------------------------------------------------
1 | 'The tag \'%1\' is missing or incorrect, but required by \'%2\'.',
37 | SpecRule::SPECIFICITY => 10,
38 | ];
39 | }
40 |
--------------------------------------------------------------------------------
/src/Validator/Spec/Error/TemplateInAttrName.php:
--------------------------------------------------------------------------------
1 | 'Mustache template syntax in attribute name \'%1\' in tag \'%2\'.',
37 | SpecRule::SPECIFICITY => 46,
38 | ];
39 | }
40 |
--------------------------------------------------------------------------------
/src/Validator/Spec/Error/TemplatePartialInAttrValue.php:
--------------------------------------------------------------------------------
1 | 'The attribute \'%1\' in tag \'%2\' is set to \'%3\', which contains a Mustache template partial.',
37 | SpecRule::SPECIFICITY => 45,
38 | ];
39 | }
40 |
--------------------------------------------------------------------------------
/src/Validator/Spec/Error/UnescapedTemplateInAttrValue.php:
--------------------------------------------------------------------------------
1 | 'The attribute \'%1\' in tag \'%2\' is set to \'%3\', which contains unescaped Mustache template syntax.',
37 | SpecRule::SPECIFICITY => 44,
38 | ];
39 | }
40 |
--------------------------------------------------------------------------------
/src/Validator/Spec/Error/UnknownCode.php:
--------------------------------------------------------------------------------
1 | 'Unknown error.',
37 | SpecRule::SPECIFICITY => 0,
38 | ];
39 | }
40 |
--------------------------------------------------------------------------------
/src/Validator/Spec/Error/ValueSetMismatch.php:
--------------------------------------------------------------------------------
1 | 'Attribute \'%1\' in tag \'%2\' contains a value that does not match any other tags on the page.',
37 | SpecRule::SPECIFICITY => 127,
38 | ];
39 | }
40 |
--------------------------------------------------------------------------------
/src/Validator/Spec/Error/WarningExtensionUnused.php:
--------------------------------------------------------------------------------
1 | 'The extension \'%1\' was found on this page, but is unused (no \'%2\' tag seen). This may become an error in the future.',
37 | SpecRule::SPECIFICITY => 16,
38 | ];
39 | }
40 |
--------------------------------------------------------------------------------
/src/Validator/Spec/Error/WarningTagRequiredByMissing.php:
--------------------------------------------------------------------------------
1 | 'The tag \'%1\' is missing or incorrect, but required by \'%2\'. This will soon be an error.',
37 | SpecRule::SPECIFICITY => 14,
38 | ];
39 | }
40 |
--------------------------------------------------------------------------------
/src/Validator/Spec/Error/WrongParentTag.php:
--------------------------------------------------------------------------------
1 | 'The parent tag of tag \'%1\' is \'%2\', but it can only be \'%3\'.',
37 | SpecRule::SPECIFICITY => 9,
38 | ];
39 | }
40 |
--------------------------------------------------------------------------------
/src/Validator/Spec/Identifiable.php:
--------------------------------------------------------------------------------
1 | $htmlFormat
23 | */
24 | final class Abbr extends Tag implements Identifiable
25 | {
26 | /**
27 | * ID of the tag.
28 | *
29 | * @var string
30 | */
31 | const ID = 'ABBR';
32 |
33 | /**
34 | * Array of spec rules.
35 | *
36 | * @var array
37 | */
38 | const SPEC = [
39 | SpecRule::TAG_NAME => Element::ABBR,
40 | SpecRule::HTML_FORMAT => [
41 | Format::AMP,
42 | Format::AMP4ADS,
43 | Format::AMP4EMAIL,
44 | ],
45 | ];
46 | }
47 |
--------------------------------------------------------------------------------
/src/Validator/Spec/Tag/Acronym.php:
--------------------------------------------------------------------------------
1 | $htmlFormat
23 | */
24 | final class Acronym extends Tag implements Identifiable
25 | {
26 | /**
27 | * ID of the tag.
28 | *
29 | * @var string
30 | */
31 | const ID = 'ACRONYM';
32 |
33 | /**
34 | * Array of spec rules.
35 | *
36 | * @var array
37 | */
38 | const SPEC = [
39 | SpecRule::TAG_NAME => Element::ACRONYM,
40 | SpecRule::HTML_FORMAT => [
41 | Format::AMP,
42 | ],
43 | ];
44 | }
45 |
--------------------------------------------------------------------------------
/src/Validator/Spec/Tag/B.php:
--------------------------------------------------------------------------------
1 | $htmlFormat
23 | */
24 | final class B extends Tag implements Identifiable
25 | {
26 | /**
27 | * ID of the tag.
28 | *
29 | * @var string
30 | */
31 | const ID = 'B';
32 |
33 | /**
34 | * Array of spec rules.
35 | *
36 | * @var array
37 | */
38 | const SPEC = [
39 | SpecRule::TAG_NAME => Element::B,
40 | SpecRule::HTML_FORMAT => [
41 | Format::AMP,
42 | Format::AMP4ADS,
43 | Format::AMP4EMAIL,
44 | ],
45 | ];
46 | }
47 |
--------------------------------------------------------------------------------
/src/Validator/Spec/Tag/Bdi.php:
--------------------------------------------------------------------------------
1 | $htmlFormat
23 | */
24 | final class Bdi extends Tag implements Identifiable
25 | {
26 | /**
27 | * ID of the tag.
28 | *
29 | * @var string
30 | */
31 | const ID = 'BDI';
32 |
33 | /**
34 | * Array of spec rules.
35 | *
36 | * @var array
37 | */
38 | const SPEC = [
39 | SpecRule::TAG_NAME => Element::BDI,
40 | SpecRule::HTML_FORMAT => [
41 | Format::AMP,
42 | Format::AMP4ADS,
43 | ],
44 | ];
45 | }
46 |
--------------------------------------------------------------------------------
/src/Validator/Spec/Tag/Big.php:
--------------------------------------------------------------------------------
1 | $htmlFormat
23 | */
24 | final class Big extends Tag implements Identifiable
25 | {
26 | /**
27 | * ID of the tag.
28 | *
29 | * @var string
30 | */
31 | const ID = 'BIG';
32 |
33 | /**
34 | * Array of spec rules.
35 | *
36 | * @var array
37 | */
38 | const SPEC = [
39 | SpecRule::TAG_NAME => Element::BIG,
40 | SpecRule::HTML_FORMAT => [
41 | Format::AMP,
42 | ],
43 | ];
44 | }
45 |
--------------------------------------------------------------------------------
/src/Validator/Spec/Tag/Br.php:
--------------------------------------------------------------------------------
1 | $htmlFormat
23 | */
24 | final class Br extends Tag implements Identifiable
25 | {
26 | /**
27 | * ID of the tag.
28 | *
29 | * @var string
30 | */
31 | const ID = 'BR';
32 |
33 | /**
34 | * Array of spec rules.
35 | *
36 | * @var array
37 | */
38 | const SPEC = [
39 | SpecRule::TAG_NAME => Element::BR,
40 | SpecRule::HTML_FORMAT => [
41 | Format::AMP,
42 | Format::AMP4ADS,
43 | Format::AMP4EMAIL,
44 | ],
45 | ];
46 | }
47 |
--------------------------------------------------------------------------------
/src/Validator/Spec/Tag/Center.php:
--------------------------------------------------------------------------------
1 | $htmlFormat
23 | */
24 | final class Center extends Tag implements Identifiable
25 | {
26 | /**
27 | * ID of the tag.
28 | *
29 | * @var string
30 | */
31 | const ID = 'CENTER';
32 |
33 | /**
34 | * Array of spec rules.
35 | *
36 | * @var array
37 | */
38 | const SPEC = [
39 | SpecRule::TAG_NAME => Element::CENTER,
40 | SpecRule::HTML_FORMAT => [
41 | Format::AMP,
42 | ],
43 | ];
44 | }
45 |
--------------------------------------------------------------------------------
/src/Validator/Spec/Tag/Cite.php:
--------------------------------------------------------------------------------
1 | $htmlFormat
23 | */
24 | final class Cite extends Tag implements Identifiable
25 | {
26 | /**
27 | * ID of the tag.
28 | *
29 | * @var string
30 | */
31 | const ID = 'CITE';
32 |
33 | /**
34 | * Array of spec rules.
35 | *
36 | * @var array
37 | */
38 | const SPEC = [
39 | SpecRule::TAG_NAME => Element::CITE,
40 | SpecRule::HTML_FORMAT => [
41 | Format::AMP,
42 | Format::AMP4ADS,
43 | Format::AMP4EMAIL,
44 | ],
45 | ];
46 | }
47 |
--------------------------------------------------------------------------------
/src/Validator/Spec/Tag/Code.php:
--------------------------------------------------------------------------------
1 | $htmlFormat
23 | */
24 | final class Code extends Tag implements Identifiable
25 | {
26 | /**
27 | * ID of the tag.
28 | *
29 | * @var string
30 | */
31 | const ID = 'CODE';
32 |
33 | /**
34 | * Array of spec rules.
35 | *
36 | * @var array
37 | */
38 | const SPEC = [
39 | SpecRule::TAG_NAME => Element::CODE,
40 | SpecRule::HTML_FORMAT => [
41 | Format::AMP,
42 | Format::AMP4ADS,
43 | Format::AMP4EMAIL,
44 | ],
45 | ];
46 | }
47 |
--------------------------------------------------------------------------------
/src/Validator/Spec/Tag/Data.php:
--------------------------------------------------------------------------------
1 | $htmlFormat
23 | */
24 | final class Data extends Tag implements Identifiable
25 | {
26 | /**
27 | * ID of the tag.
28 | *
29 | * @var string
30 | */
31 | const ID = 'DATA';
32 |
33 | /**
34 | * Array of spec rules.
35 | *
36 | * @var array
37 | */
38 | const SPEC = [
39 | SpecRule::TAG_NAME => Element::DATA,
40 | SpecRule::HTML_FORMAT => [
41 | Format::AMP,
42 | Format::AMP4ADS,
43 | Format::AMP4EMAIL,
44 | ],
45 | ];
46 | }
47 |
--------------------------------------------------------------------------------
/src/Validator/Spec/Tag/Dd.php:
--------------------------------------------------------------------------------
1 | $htmlFormat
23 | */
24 | final class Dd extends Tag implements Identifiable
25 | {
26 | /**
27 | * ID of the tag.
28 | *
29 | * @var string
30 | */
31 | const ID = 'DD';
32 |
33 | /**
34 | * Array of spec rules.
35 | *
36 | * @var array
37 | */
38 | const SPEC = [
39 | SpecRule::TAG_NAME => Element::DD,
40 | SpecRule::HTML_FORMAT => [
41 | Format::AMP,
42 | Format::AMP4ADS,
43 | Format::AMP4EMAIL,
44 | ],
45 | ];
46 | }
47 |
--------------------------------------------------------------------------------
/src/Validator/Spec/Tag/Dfn.php:
--------------------------------------------------------------------------------
1 | $htmlFormat
23 | */
24 | final class Dfn extends Tag implements Identifiable
25 | {
26 | /**
27 | * ID of the tag.
28 | *
29 | * @var string
30 | */
31 | const ID = 'DFN';
32 |
33 | /**
34 | * Array of spec rules.
35 | *
36 | * @var array
37 | */
38 | const SPEC = [
39 | SpecRule::TAG_NAME => Element::DFN,
40 | SpecRule::HTML_FORMAT => [
41 | Format::AMP,
42 | Format::AMP4ADS,
43 | Format::AMP4EMAIL,
44 | ],
45 | ];
46 | }
47 |
--------------------------------------------------------------------------------
/src/Validator/Spec/Tag/Dir.php:
--------------------------------------------------------------------------------
1 | $htmlFormat
23 | */
24 | final class Dir extends Tag implements Identifiable
25 | {
26 | /**
27 | * ID of the tag.
28 | *
29 | * @var string
30 | */
31 | const ID = 'DIR';
32 |
33 | /**
34 | * Array of spec rules.
35 | *
36 | * @var array
37 | */
38 | const SPEC = [
39 | SpecRule::TAG_NAME => Element::DIR,
40 | SpecRule::HTML_FORMAT => [
41 | Format::AMP,
42 | ],
43 | ];
44 | }
45 |
--------------------------------------------------------------------------------
/src/Validator/Spec/Tag/Dl.php:
--------------------------------------------------------------------------------
1 | $htmlFormat
23 | */
24 | final class Dl extends Tag implements Identifiable
25 | {
26 | /**
27 | * ID of the tag.
28 | *
29 | * @var string
30 | */
31 | const ID = 'DL';
32 |
33 | /**
34 | * Array of spec rules.
35 | *
36 | * @var array
37 | */
38 | const SPEC = [
39 | SpecRule::TAG_NAME => Element::DL,
40 | SpecRule::HTML_FORMAT => [
41 | Format::AMP,
42 | Format::AMP4ADS,
43 | Format::AMP4EMAIL,
44 | ],
45 | ];
46 | }
47 |
--------------------------------------------------------------------------------
/src/Validator/Spec/Tag/Dt.php:
--------------------------------------------------------------------------------
1 | $htmlFormat
23 | */
24 | final class Dt extends Tag implements Identifiable
25 | {
26 | /**
27 | * ID of the tag.
28 | *
29 | * @var string
30 | */
31 | const ID = 'DT';
32 |
33 | /**
34 | * Array of spec rules.
35 | *
36 | * @var array
37 | */
38 | const SPEC = [
39 | SpecRule::TAG_NAME => Element::DT,
40 | SpecRule::HTML_FORMAT => [
41 | Format::AMP,
42 | Format::AMP4ADS,
43 | Format::AMP4EMAIL,
44 | ],
45 | ];
46 | }
47 |
--------------------------------------------------------------------------------
/src/Validator/Spec/Tag/Em.php:
--------------------------------------------------------------------------------
1 | $htmlFormat
23 | */
24 | final class Em extends Tag implements Identifiable
25 | {
26 | /**
27 | * ID of the tag.
28 | *
29 | * @var string
30 | */
31 | const ID = 'EM';
32 |
33 | /**
34 | * Array of spec rules.
35 | *
36 | * @var array
37 | */
38 | const SPEC = [
39 | SpecRule::TAG_NAME => Element::EM,
40 | SpecRule::HTML_FORMAT => [
41 | Format::AMP,
42 | Format::AMP4ADS,
43 | Format::AMP4EMAIL,
44 | ],
45 | ];
46 | }
47 |
--------------------------------------------------------------------------------
/src/Validator/Spec/Tag/Hgroup.php:
--------------------------------------------------------------------------------
1 | $htmlFormat
23 | */
24 | final class Hgroup extends Tag implements Identifiable
25 | {
26 | /**
27 | * ID of the tag.
28 | *
29 | * @var string
30 | */
31 | const ID = 'HGROUP';
32 |
33 | /**
34 | * Array of spec rules.
35 | *
36 | * @var array
37 | */
38 | const SPEC = [
39 | SpecRule::TAG_NAME => Element::HGROUP,
40 | SpecRule::HTML_FORMAT => [
41 | Format::AMP,
42 | ],
43 | ];
44 | }
45 |
--------------------------------------------------------------------------------
/src/Validator/Spec/Tag/Hr.php:
--------------------------------------------------------------------------------
1 | $htmlFormat
23 | */
24 | final class Hr extends Tag implements Identifiable
25 | {
26 | /**
27 | * ID of the tag.
28 | *
29 | * @var string
30 | */
31 | const ID = 'HR';
32 |
33 | /**
34 | * Array of spec rules.
35 | *
36 | * @var array
37 | */
38 | const SPEC = [
39 | SpecRule::TAG_NAME => Element::HR,
40 | SpecRule::HTML_FORMAT => [
41 | Format::AMP,
42 | Format::AMP4ADS,
43 | Format::AMP4EMAIL,
44 | ],
45 | ];
46 | }
47 |
--------------------------------------------------------------------------------
/src/Validator/Spec/Tag/I.php:
--------------------------------------------------------------------------------
1 | $htmlFormat
23 | */
24 | final class I extends Tag implements Identifiable
25 | {
26 | /**
27 | * ID of the tag.
28 | *
29 | * @var string
30 | */
31 | const ID = 'I';
32 |
33 | /**
34 | * Array of spec rules.
35 | *
36 | * @var array
37 | */
38 | const SPEC = [
39 | SpecRule::TAG_NAME => Element::I,
40 | SpecRule::HTML_FORMAT => [
41 | Format::AMP,
42 | Format::AMP4ADS,
43 | Format::AMP4EMAIL,
44 | ],
45 | ];
46 | }
47 |
--------------------------------------------------------------------------------
/src/Validator/Spec/Tag/Kbd.php:
--------------------------------------------------------------------------------
1 | $htmlFormat
23 | */
24 | final class Kbd extends Tag implements Identifiable
25 | {
26 | /**
27 | * ID of the tag.
28 | *
29 | * @var string
30 | */
31 | const ID = 'KBD';
32 |
33 | /**
34 | * Array of spec rules.
35 | *
36 | * @var array
37 | */
38 | const SPEC = [
39 | SpecRule::TAG_NAME => Element::KBD,
40 | SpecRule::HTML_FORMAT => [
41 | Format::AMP,
42 | Format::AMP4ADS,
43 | Format::AMP4EMAIL,
44 | ],
45 | ];
46 | }
47 |
--------------------------------------------------------------------------------
/src/Validator/Spec/Tag/Listing.php:
--------------------------------------------------------------------------------
1 | $htmlFormat
23 | */
24 | final class Listing extends Tag implements Identifiable
25 | {
26 | /**
27 | * ID of the tag.
28 | *
29 | * @var string
30 | */
31 | const ID = 'LISTING';
32 |
33 | /**
34 | * Array of spec rules.
35 | *
36 | * @var array
37 | */
38 | const SPEC = [
39 | SpecRule::TAG_NAME => Element::LISTING,
40 | SpecRule::HTML_FORMAT => [
41 | Format::AMP,
42 | ],
43 | ];
44 | }
45 |
--------------------------------------------------------------------------------
/src/Validator/Spec/Tag/Multicol.php:
--------------------------------------------------------------------------------
1 | $htmlFormat
23 | */
24 | final class Multicol extends Tag implements Identifiable
25 | {
26 | /**
27 | * ID of the tag.
28 | *
29 | * @var string
30 | */
31 | const ID = 'MULTICOL';
32 |
33 | /**
34 | * Array of spec rules.
35 | *
36 | * @var array
37 | */
38 | const SPEC = [
39 | SpecRule::TAG_NAME => Element::MULTICOL,
40 | SpecRule::HTML_FORMAT => [
41 | Format::AMP,
42 | ],
43 | ];
44 | }
45 |
--------------------------------------------------------------------------------
/src/Validator/Spec/Tag/Nav.php:
--------------------------------------------------------------------------------
1 | $htmlFormat
23 | */
24 | final class Nav extends Tag implements Identifiable
25 | {
26 | /**
27 | * ID of the tag.
28 | *
29 | * @var string
30 | */
31 | const ID = 'NAV';
32 |
33 | /**
34 | * Array of spec rules.
35 | *
36 | * @var array
37 | */
38 | const SPEC = [
39 | SpecRule::TAG_NAME => Element::NAV,
40 | SpecRule::HTML_FORMAT => [
41 | Format::AMP,
42 | Format::AMP4ADS,
43 | Format::AMP4EMAIL,
44 | ],
45 | ];
46 | }
47 |
--------------------------------------------------------------------------------
/src/Validator/Spec/Tag/Nextid.php:
--------------------------------------------------------------------------------
1 | $htmlFormat
23 | */
24 | final class Nextid extends Tag implements Identifiable
25 | {
26 | /**
27 | * ID of the tag.
28 | *
29 | * @var string
30 | */
31 | const ID = 'NEXTID';
32 |
33 | /**
34 | * Array of spec rules.
35 | *
36 | * @var array
37 | */
38 | const SPEC = [
39 | SpecRule::TAG_NAME => Element::NEXTID,
40 | SpecRule::HTML_FORMAT => [
41 | Format::AMP,
42 | ],
43 | ];
44 | }
45 |
--------------------------------------------------------------------------------
/src/Validator/Spec/Tag/Nobr.php:
--------------------------------------------------------------------------------
1 | $htmlFormat
23 | */
24 | final class Nobr extends Tag implements Identifiable
25 | {
26 | /**
27 | * ID of the tag.
28 | *
29 | * @var string
30 | */
31 | const ID = 'NOBR';
32 |
33 | /**
34 | * Array of spec rules.
35 | *
36 | * @var array
37 | */
38 | const SPEC = [
39 | SpecRule::TAG_NAME => Element::NOBR,
40 | SpecRule::HTML_FORMAT => [
41 | Format::AMP,
42 | ],
43 | ];
44 | }
45 |
--------------------------------------------------------------------------------
/src/Validator/Spec/Tag/OP.php:
--------------------------------------------------------------------------------
1 | $htmlFormat
23 | */
24 | final class OP extends Tag implements Identifiable
25 | {
26 | /**
27 | * ID of the tag.
28 | *
29 | * @var string
30 | */
31 | const ID = 'O:P';
32 |
33 | /**
34 | * Array of spec rules.
35 | *
36 | * @var array
37 | */
38 | const SPEC = [
39 | SpecRule::TAG_NAME => Element::O_P,
40 | SpecRule::HTML_FORMAT => [
41 | Format::AMP,
42 | ],
43 | ];
44 | }
45 |
--------------------------------------------------------------------------------
/src/Validator/Spec/Tag/Pre.php:
--------------------------------------------------------------------------------
1 | $htmlFormat
23 | */
24 | final class Pre extends Tag implements Identifiable
25 | {
26 | /**
27 | * ID of the tag.
28 | *
29 | * @var string
30 | */
31 | const ID = 'PRE';
32 |
33 | /**
34 | * Array of spec rules.
35 | *
36 | * @var array
37 | */
38 | const SPEC = [
39 | SpecRule::TAG_NAME => Element::PRE,
40 | SpecRule::HTML_FORMAT => [
41 | Format::AMP,
42 | Format::AMP4ADS,
43 | Format::AMP4EMAIL,
44 | ],
45 | ];
46 | }
47 |
--------------------------------------------------------------------------------
/src/Validator/Spec/Tag/Rb.php:
--------------------------------------------------------------------------------
1 | $htmlFormat
23 | */
24 | final class Rb extends Tag implements Identifiable
25 | {
26 | /**
27 | * ID of the tag.
28 | *
29 | * @var string
30 | */
31 | const ID = 'RB';
32 |
33 | /**
34 | * Array of spec rules.
35 | *
36 | * @var array
37 | */
38 | const SPEC = [
39 | SpecRule::TAG_NAME => Element::RB,
40 | SpecRule::HTML_FORMAT => [
41 | Format::AMP,
42 | Format::AMP4ADS,
43 | Format::AMP4EMAIL,
44 | ],
45 | ];
46 | }
47 |
--------------------------------------------------------------------------------
/src/Validator/Spec/Tag/Rp.php:
--------------------------------------------------------------------------------
1 | $htmlFormat
23 | */
24 | final class Rp extends Tag implements Identifiable
25 | {
26 | /**
27 | * ID of the tag.
28 | *
29 | * @var string
30 | */
31 | const ID = 'RP';
32 |
33 | /**
34 | * Array of spec rules.
35 | *
36 | * @var array
37 | */
38 | const SPEC = [
39 | SpecRule::TAG_NAME => Element::RP,
40 | SpecRule::HTML_FORMAT => [
41 | Format::AMP,
42 | Format::AMP4ADS,
43 | Format::AMP4EMAIL,
44 | ],
45 | ];
46 | }
47 |
--------------------------------------------------------------------------------
/src/Validator/Spec/Tag/Rt.php:
--------------------------------------------------------------------------------
1 | $htmlFormat
23 | */
24 | final class Rt extends Tag implements Identifiable
25 | {
26 | /**
27 | * ID of the tag.
28 | *
29 | * @var string
30 | */
31 | const ID = 'RT';
32 |
33 | /**
34 | * Array of spec rules.
35 | *
36 | * @var array
37 | */
38 | const SPEC = [
39 | SpecRule::TAG_NAME => Element::RT,
40 | SpecRule::HTML_FORMAT => [
41 | Format::AMP,
42 | Format::AMP4ADS,
43 | Format::AMP4EMAIL,
44 | ],
45 | ];
46 | }
47 |
--------------------------------------------------------------------------------
/src/Validator/Spec/Tag/Rtc.php:
--------------------------------------------------------------------------------
1 | $htmlFormat
23 | */
24 | final class Rtc extends Tag implements Identifiable
25 | {
26 | /**
27 | * ID of the tag.
28 | *
29 | * @var string
30 | */
31 | const ID = 'RTC';
32 |
33 | /**
34 | * Array of spec rules.
35 | *
36 | * @var array
37 | */
38 | const SPEC = [
39 | SpecRule::TAG_NAME => Element::RTC,
40 | SpecRule::HTML_FORMAT => [
41 | Format::AMP,
42 | Format::AMP4ADS,
43 | ],
44 | ];
45 | }
46 |
--------------------------------------------------------------------------------
/src/Validator/Spec/Tag/S.php:
--------------------------------------------------------------------------------
1 | $htmlFormat
23 | */
24 | final class S extends Tag implements Identifiable
25 | {
26 | /**
27 | * ID of the tag.
28 | *
29 | * @var string
30 | */
31 | const ID = 'S';
32 |
33 | /**
34 | * Array of spec rules.
35 | *
36 | * @var array
37 | */
38 | const SPEC = [
39 | SpecRule::TAG_NAME => Element::S,
40 | SpecRule::HTML_FORMAT => [
41 | Format::AMP,
42 | Format::AMP4ADS,
43 | Format::AMP4EMAIL,
44 | ],
45 | ];
46 | }
47 |
--------------------------------------------------------------------------------
/src/Validator/Spec/Tag/Spacer.php:
--------------------------------------------------------------------------------
1 | $htmlFormat
23 | */
24 | final class Spacer extends Tag implements Identifiable
25 | {
26 | /**
27 | * ID of the tag.
28 | *
29 | * @var string
30 | */
31 | const ID = 'SPACER';
32 |
33 | /**
34 | * Array of spec rules.
35 | *
36 | * @var array
37 | */
38 | const SPEC = [
39 | SpecRule::TAG_NAME => Element::SPACER,
40 | SpecRule::HTML_FORMAT => [
41 | Format::AMP,
42 | ],
43 | ];
44 | }
45 |
--------------------------------------------------------------------------------
/src/Validator/Spec/Tag/Strike.php:
--------------------------------------------------------------------------------
1 | $htmlFormat
23 | */
24 | final class Strike extends Tag implements Identifiable
25 | {
26 | /**
27 | * ID of the tag.
28 | *
29 | * @var string
30 | */
31 | const ID = 'STRIKE';
32 |
33 | /**
34 | * Array of spec rules.
35 | *
36 | * @var array
37 | */
38 | const SPEC = [
39 | SpecRule::TAG_NAME => Element::STRIKE,
40 | SpecRule::HTML_FORMAT => [
41 | Format::AMP,
42 | ],
43 | ];
44 | }
45 |
--------------------------------------------------------------------------------
/src/Validator/Spec/Tag/Sub.php:
--------------------------------------------------------------------------------
1 | $htmlFormat
23 | */
24 | final class Sub extends Tag implements Identifiable
25 | {
26 | /**
27 | * ID of the tag.
28 | *
29 | * @var string
30 | */
31 | const ID = 'SUB';
32 |
33 | /**
34 | * Array of spec rules.
35 | *
36 | * @var array
37 | */
38 | const SPEC = [
39 | SpecRule::TAG_NAME => Element::SUB,
40 | SpecRule::HTML_FORMAT => [
41 | Format::AMP,
42 | Format::AMP4ADS,
43 | Format::AMP4EMAIL,
44 | ],
45 | ];
46 | }
47 |
--------------------------------------------------------------------------------
/src/Validator/Spec/Tag/Sup.php:
--------------------------------------------------------------------------------
1 | $htmlFormat
23 | */
24 | final class Sup extends Tag implements Identifiable
25 | {
26 | /**
27 | * ID of the tag.
28 | *
29 | * @var string
30 | */
31 | const ID = 'SUP';
32 |
33 | /**
34 | * Array of spec rules.
35 | *
36 | * @var array
37 | */
38 | const SPEC = [
39 | SpecRule::TAG_NAME => Element::SUP,
40 | SpecRule::HTML_FORMAT => [
41 | Format::AMP,
42 | Format::AMP4ADS,
43 | Format::AMP4EMAIL,
44 | ],
45 | ];
46 | }
47 |
--------------------------------------------------------------------------------
/src/Validator/Spec/Tag/Tt.php:
--------------------------------------------------------------------------------
1 | $htmlFormat
23 | */
24 | final class Tt extends Tag implements Identifiable
25 | {
26 | /**
27 | * ID of the tag.
28 | *
29 | * @var string
30 | */
31 | const ID = 'TT';
32 |
33 | /**
34 | * Array of spec rules.
35 | *
36 | * @var array
37 | */
38 | const SPEC = [
39 | SpecRule::TAG_NAME => Element::TT,
40 | SpecRule::HTML_FORMAT => [
41 | Format::AMP,
42 | ],
43 | ];
44 | }
45 |
--------------------------------------------------------------------------------
/src/Validator/Spec/Tag/U.php:
--------------------------------------------------------------------------------
1 | $htmlFormat
23 | */
24 | final class U extends Tag implements Identifiable
25 | {
26 | /**
27 | * ID of the tag.
28 | *
29 | * @var string
30 | */
31 | const ID = 'U';
32 |
33 | /**
34 | * Array of spec rules.
35 | *
36 | * @var array
37 | */
38 | const SPEC = [
39 | SpecRule::TAG_NAME => Element::U,
40 | SpecRule::HTML_FORMAT => [
41 | Format::AMP,
42 | Format::AMP4ADS,
43 | Format::AMP4EMAIL,
44 | ],
45 | ];
46 | }
47 |
--------------------------------------------------------------------------------
/src/Validator/Spec/Tag/Ul.php:
--------------------------------------------------------------------------------
1 | $htmlFormat
23 | */
24 | final class Ul extends Tag implements Identifiable
25 | {
26 | /**
27 | * ID of the tag.
28 | *
29 | * @var string
30 | */
31 | const ID = 'UL';
32 |
33 | /**
34 | * Array of spec rules.
35 | *
36 | * @var array
37 | */
38 | const SPEC = [
39 | SpecRule::TAG_NAME => Element::UL,
40 | SpecRule::HTML_FORMAT => [
41 | Format::AMP,
42 | Format::AMP4ADS,
43 | Format::AMP4EMAIL,
44 | ],
45 | ];
46 | }
47 |
--------------------------------------------------------------------------------
/src/Validator/Spec/Tag/Wbr.php:
--------------------------------------------------------------------------------
1 | $htmlFormat
23 | */
24 | final class Wbr extends Tag implements Identifiable
25 | {
26 | /**
27 | * ID of the tag.
28 | *
29 | * @var string
30 | */
31 | const ID = 'WBR';
32 |
33 | /**
34 | * Array of spec rules.
35 | *
36 | * @var array
37 | */
38 | const SPEC = [
39 | SpecRule::TAG_NAME => Element::WBR,
40 | SpecRule::HTML_FORMAT => [
41 | Format::AMP,
42 | Format::AMP4ADS,
43 | Format::AMP4EMAIL,
44 | ],
45 | ];
46 | }
47 |
--------------------------------------------------------------------------------
/src/Validator/ValueSetProvision.php:
--------------------------------------------------------------------------------
1 |