# {py:mod}`arelle.XmlValidate` ```{py:module} arelle.XmlValidate ``` ```{autodoc2-docstring} arelle.XmlValidate :allowtitles: ``` ## Module Contents ### Classes ````{list-table} :class: autosummary longtable :align: left * - {py:obj}`XsdPattern ` - ```{autodoc2-docstring} arelle.XmlValidate.XsdPattern :summary: ``` * - {py:obj}`lxmlSchemaResolver ` - ```{autodoc2-docstring} arelle.XmlValidate.lxmlSchemaResolver :summary: ``` ```` ### Functions ````{list-table} :class: autosummary longtable :align: left * - {py:obj}`validate ` - ```{autodoc2-docstring} arelle.XmlValidate.validate :summary: ``` * - {py:obj}`validateValue ` - ```{autodoc2-docstring} arelle.XmlValidate.validateValue :summary: ``` * - {py:obj}`validateFacet ` - ```{autodoc2-docstring} arelle.XmlValidate.validateFacet :summary: ``` * - {py:obj}`validateAnyWildcard ` - ```{autodoc2-docstring} arelle.XmlValidate.validateAnyWildcard :summary: ``` * - {py:obj}`lxmlResolvingParser ` - ```{autodoc2-docstring} arelle.XmlValidate.lxmlResolvingParser :summary: ``` * - {py:obj}`lxmlSchemaValidate ` - ```{autodoc2-docstring} arelle.XmlValidate.lxmlSchemaValidate :summary: ``` ```` ### Data ````{list-table} :class: autosummary longtable :align: left * - {py:obj}`_ ` - ```{autodoc2-docstring} arelle.XmlValidate._ :summary: ``` * - {py:obj}`iNameChar ` - ```{autodoc2-docstring} arelle.XmlValidate.iNameChar :summary: ``` * - {py:obj}`cNameChar ` - ```{autodoc2-docstring} arelle.XmlValidate.cNameChar :summary: ``` * - {py:obj}`cMinusCNameChar ` - ```{autodoc2-docstring} arelle.XmlValidate.cMinusCNameChar :summary: ``` * - {py:obj}`UNVALIDATED ` - ```{autodoc2-docstring} arelle.XmlValidate.UNVALIDATED :summary: ``` * - {py:obj}`UNKNOWN ` - ```{autodoc2-docstring} arelle.XmlValidate.UNKNOWN :summary: ``` * - {py:obj}`INVALID ` - ```{autodoc2-docstring} arelle.XmlValidate.INVALID :summary: ``` * - {py:obj}`NONE ` - ```{autodoc2-docstring} arelle.XmlValidate.NONE :summary: ``` * - {py:obj}`VALID ` - ```{autodoc2-docstring} arelle.XmlValidate.VALID :summary: ``` * - {py:obj}`VALID_ID ` - ```{autodoc2-docstring} arelle.XmlValidate.VALID_ID :summary: ``` * - {py:obj}`VALID_NO_CONTENT ` - ```{autodoc2-docstring} arelle.XmlValidate.VALID_NO_CONTENT :summary: ``` * - {py:obj}`validateElementSequence ` - ```{autodoc2-docstring} arelle.XmlValidate.validateElementSequence :summary: ``` * - {py:obj}`modelGroupCompositorTitle ` - ```{autodoc2-docstring} arelle.XmlValidate.modelGroupCompositorTitle :summary: ``` * - {py:obj}`ModelInlineValueObject ` - ```{autodoc2-docstring} arelle.XmlValidate.ModelInlineValueObject :summary: ``` * - {py:obj}`ixMsgCode ` - ```{autodoc2-docstring} arelle.XmlValidate.ixMsgCode :summary: ``` * - {py:obj}`normalizeWhitespacePattern ` - ```{autodoc2-docstring} arelle.XmlValidate.normalizeWhitespacePattern :summary: ``` * - {py:obj}`collapseWhitespacePattern ` - ```{autodoc2-docstring} arelle.XmlValidate.collapseWhitespacePattern :summary: ``` * - {py:obj}`entirelyWhitespacePattern ` - ```{autodoc2-docstring} arelle.XmlValidate.entirelyWhitespacePattern :summary: ``` * - {py:obj}`languagePattern ` - ```{autodoc2-docstring} arelle.XmlValidate.languagePattern :summary: ``` * - {py:obj}`NCNamePattern ` - ```{autodoc2-docstring} arelle.XmlValidate.NCNamePattern :summary: ``` * - {py:obj}`QNamePattern ` - ```{autodoc2-docstring} arelle.XmlValidate.QNamePattern :summary: ``` * - {py:obj}`namePattern ` - ```{autodoc2-docstring} arelle.XmlValidate.namePattern :summary: ``` * - {py:obj}`NMTOKENPattern ` - ```{autodoc2-docstring} arelle.XmlValidate.NMTOKENPattern :summary: ``` * - {py:obj}`decimalPattern ` - ```{autodoc2-docstring} arelle.XmlValidate.decimalPattern :summary: ``` * - {py:obj}`integerPattern ` - ```{autodoc2-docstring} arelle.XmlValidate.integerPattern :summary: ``` * - {py:obj}`floatPattern ` - ```{autodoc2-docstring} arelle.XmlValidate.floatPattern :summary: ``` * - {py:obj}`lexicalPatterns ` - ```{autodoc2-docstring} arelle.XmlValidate.lexicalPatterns :summary: ``` * - {py:obj}`xmlSchemaPatterns ` - ```{autodoc2-docstring} arelle.XmlValidate.xmlSchemaPatterns :summary: ``` * - {py:obj}`baseXsdTypePatterns ` - ```{autodoc2-docstring} arelle.XmlValidate.baseXsdTypePatterns :summary: ``` * - {py:obj}`predefinedAttributeTypes ` - ```{autodoc2-docstring} arelle.XmlValidate.predefinedAttributeTypes :summary: ``` * - {py:obj}`xAttributesSharedEmptyDict ` - ```{autodoc2-docstring} arelle.XmlValidate.xAttributesSharedEmptyDict :summary: ``` ```` ### API ````{py:data} _ :canonical: arelle.XmlValidate._ :type: arelle.typing.TypeGetText :value: > None ```{autodoc2-docstring} arelle.XmlValidate._ ``` ```` ````{py:data} iNameChar :canonical: arelle.XmlValidate.iNameChar :value: > '[_A-Za-zÀ-ÖØ-öø-ÿĀ-˿Ͱ-ͽͿ-\u1fff\u200c-\u200d⁰-\u218fⰀ-\u2fef、-\ud7ff豈-﷏ﷰ-�]' ```{autodoc2-docstring} arelle.XmlValidate.iNameChar ``` ```` ````{py:data} cNameChar :canonical: arelle.XmlValidate.cNameChar :value: > '[_\\-\\.:·A-Za-z0-9À-ÖØ-öø-ÿĀ-˿Ͱ-ͽͿ-\u1fff\u200c-\u200d⁰-\u218fⰀ-\u2fef、-\ud7ff豈-﷏ﷰ-�̀-ͯ‿-⁀]' ```{autodoc2-docstring} arelle.XmlValidate.cNameChar ``` ```` ````{py:data} cMinusCNameChar :canonical: arelle.XmlValidate.cMinusCNameChar :value: > '[_\\-\\.·A-Za-z0-9À-ÖØ-öø-ÿĀ-˿Ͱ-ͽͿ-\u1fff\u200c-\u200d⁰-\u218fⰀ-\u2fef、-\ud7ff豈-﷏ﷰ-�̀-ͯ‿-⁀]' ```{autodoc2-docstring} arelle.XmlValidate.cMinusCNameChar ``` ```` `````{py:class} XsdPattern :canonical: arelle.XmlValidate.XsdPattern ```{autodoc2-docstring} arelle.XmlValidate.XsdPattern ``` ````{py:attribute} xsdPattern :canonical: arelle.XmlValidate.XsdPattern.xsdPattern :type: str :value: > None ```{autodoc2-docstring} arelle.XmlValidate.XsdPattern.xsdPattern ``` ```` ````{py:attribute} pyPattern :canonical: arelle.XmlValidate.XsdPattern.pyPattern :type: regex.Pattern[str] :value: > None ```{autodoc2-docstring} arelle.XmlValidate.XsdPattern.pyPattern ``` ```` ````{py:method} compile(p: str) -> arelle.XmlValidate.XsdPattern :canonical: arelle.XmlValidate.XsdPattern.compile :classmethod: ```{autodoc2-docstring} arelle.XmlValidate.XsdPattern.compile ``` ```` ````{py:method} match(string: str) -> regex.Match[str] | None :canonical: arelle.XmlValidate.XsdPattern.match ```{autodoc2-docstring} arelle.XmlValidate.XsdPattern.match ``` ```` ````{py:property} pattern :canonical: arelle.XmlValidate.XsdPattern.pattern :type: str ```{autodoc2-docstring} arelle.XmlValidate.XsdPattern.pattern ``` ```` ````{py:method} __repr__() -> str :canonical: arelle.XmlValidate.XsdPattern.__repr__ ```` ````` ````{py:data} UNVALIDATED :canonical: arelle.XmlValidate.UNVALIDATED :value: > None ```{autodoc2-docstring} arelle.XmlValidate.UNVALIDATED ``` ```` ````{py:data} UNKNOWN :canonical: arelle.XmlValidate.UNKNOWN :value: > None ```{autodoc2-docstring} arelle.XmlValidate.UNKNOWN ``` ```` ````{py:data} INVALID :canonical: arelle.XmlValidate.INVALID :value: > None ```{autodoc2-docstring} arelle.XmlValidate.INVALID ``` ```` ````{py:data} NONE :canonical: arelle.XmlValidate.NONE :value: > None ```{autodoc2-docstring} arelle.XmlValidate.NONE ``` ```` ````{py:data} VALID :canonical: arelle.XmlValidate.VALID :value: > None ```{autodoc2-docstring} arelle.XmlValidate.VALID ``` ```` ````{py:data} VALID_ID :canonical: arelle.XmlValidate.VALID_ID :value: > None ```{autodoc2-docstring} arelle.XmlValidate.VALID_ID ``` ```` ````{py:data} VALID_NO_CONTENT :canonical: arelle.XmlValidate.VALID_NO_CONTENT :value: > None ```{autodoc2-docstring} arelle.XmlValidate.VALID_NO_CONTENT ``` ```` ````{py:data} validateElementSequence :canonical: arelle.XmlValidate.validateElementSequence :type: collections.abc.Callable[..., typing.Any] | None :value: > None ```{autodoc2-docstring} arelle.XmlValidate.validateElementSequence ``` ```` ````{py:data} modelGroupCompositorTitle :canonical: arelle.XmlValidate.modelGroupCompositorTitle :type: collections.abc.Callable[[typing.Any], str] | None :value: > None ```{autodoc2-docstring} arelle.XmlValidate.modelGroupCompositorTitle ``` ```` ````{py:data} ModelInlineValueObject :canonical: arelle.XmlValidate.ModelInlineValueObject :type: type[typing.Any] | None :value: > None ```{autodoc2-docstring} arelle.XmlValidate.ModelInlineValueObject ``` ```` ````{py:data} ixMsgCode :canonical: arelle.XmlValidate.ixMsgCode :type: collections.abc.Callable[..., str] | None :value: > None ```{autodoc2-docstring} arelle.XmlValidate.ixMsgCode ``` ```` ````{py:data} normalizeWhitespacePattern :canonical: arelle.XmlValidate.normalizeWhitespacePattern :value: > 're_compile(...)' ```{autodoc2-docstring} arelle.XmlValidate.normalizeWhitespacePattern ``` ```` ````{py:data} collapseWhitespacePattern :canonical: arelle.XmlValidate.collapseWhitespacePattern :value: > 're_compile(...)' ```{autodoc2-docstring} arelle.XmlValidate.collapseWhitespacePattern ``` ```` ````{py:data} entirelyWhitespacePattern :canonical: arelle.XmlValidate.entirelyWhitespacePattern :value: > 're_compile(...)' ```{autodoc2-docstring} arelle.XmlValidate.entirelyWhitespacePattern ``` ```` ````{py:data} languagePattern :canonical: arelle.XmlValidate.languagePattern :value: > 're_compile(...)' ```{autodoc2-docstring} arelle.XmlValidate.languagePattern ``` ```` ````{py:data} NCNamePattern :canonical: arelle.XmlValidate.NCNamePattern :value: > 're_compile(...)' ```{autodoc2-docstring} arelle.XmlValidate.NCNamePattern ``` ```` ````{py:data} QNamePattern :canonical: arelle.XmlValidate.QNamePattern :value: > 're_compile(...)' ```{autodoc2-docstring} arelle.XmlValidate.QNamePattern ``` ```` ````{py:data} namePattern :canonical: arelle.XmlValidate.namePattern :value: > 're_compile(...)' ```{autodoc2-docstring} arelle.XmlValidate.namePattern ``` ```` ````{py:data} NMTOKENPattern :canonical: arelle.XmlValidate.NMTOKENPattern :value: > 're_compile(...)' ```{autodoc2-docstring} arelle.XmlValidate.NMTOKENPattern ``` ```` ````{py:data} decimalPattern :canonical: arelle.XmlValidate.decimalPattern :value: > 're_compile(...)' ```{autodoc2-docstring} arelle.XmlValidate.decimalPattern ``` ```` ````{py:data} integerPattern :canonical: arelle.XmlValidate.integerPattern :value: > 're_compile(...)' ```{autodoc2-docstring} arelle.XmlValidate.integerPattern ``` ```` ````{py:data} floatPattern :canonical: arelle.XmlValidate.floatPattern :value: > 're_compile(...)' ```{autodoc2-docstring} arelle.XmlValidate.floatPattern ``` ```` ````{py:data} lexicalPatterns :canonical: arelle.XmlValidate.lexicalPatterns :value: > None ```{autodoc2-docstring} arelle.XmlValidate.lexicalPatterns ``` ```` ````{py:data} xmlSchemaPatterns :canonical: arelle.XmlValidate.xmlSchemaPatterns :value: > None ```{autodoc2-docstring} arelle.XmlValidate.xmlSchemaPatterns ``` ```` ````{py:data} baseXsdTypePatterns :canonical: arelle.XmlValidate.baseXsdTypePatterns :value: > None ```{autodoc2-docstring} arelle.XmlValidate.baseXsdTypePatterns ``` ```` ````{py:data} predefinedAttributeTypes :canonical: arelle.XmlValidate.predefinedAttributeTypes :value: > None ```{autodoc2-docstring} arelle.XmlValidate.predefinedAttributeTypes ``` ```` ````{py:data} xAttributesSharedEmptyDict :canonical: arelle.XmlValidate.xAttributesSharedEmptyDict :type: dict[str, arelle.ModelObject.ModelAttribute] :value: > None ```{autodoc2-docstring} arelle.XmlValidate.xAttributesSharedEmptyDict ``` ```` ````{py:function} validate(modelXbrl: arelle.ModelXbrl.ModelXbrl | None, elt: arelle.ModelObject.ModelObject, recurse: bool = True, attrQname: arelle.ModelValue.QName | None = None, ixFacts: bool = False, setTargetModelXbrl: bool = False, elementDeclarationType: arelle.ModelDtsObject.ModelType | None = None) -> None :canonical: arelle.XmlValidate.validate ```{autodoc2-docstring} arelle.XmlValidate.validate ``` ```` ````{py:function} validateValue(modelXbrl: arelle.ModelXbrl.ModelXbrl | None, elt: arelle.ModelObject.ModelObject, attrTag: str | None, baseXsdType: str | None, value: str, isNillable: bool = False, isNil: bool = False, facets: dict[str, typing.Any] | None = None) -> None :canonical: arelle.XmlValidate.validateValue ```{autodoc2-docstring} arelle.XmlValidate.validateValue ``` ```` ````{py:function} validateFacet(typeElt: arelle.ModelDtsObject.ModelType, facetElt: arelle.ModelObject.ModelObject) -> arelle.ModelValue.TypeXValue | None :canonical: arelle.XmlValidate.validateFacet ```{autodoc2-docstring} arelle.XmlValidate.validateFacet ``` ```` ````{py:function} validateAnyWildcard(qnElt: arelle.ModelValue.QName, qnAttr: arelle.ModelValue.QName, attributeWildcards: list[arelle.ModelDtsObject.ModelAny]) -> bool :canonical: arelle.XmlValidate.validateAnyWildcard ```{autodoc2-docstring} arelle.XmlValidate.validateAnyWildcard ``` ```` `````{py:class} lxmlSchemaResolver(cntlr: arelle.Cntlr.Cntlr, modelXbrl: arelle.ModelXbrl.ModelXbrl | None = None) :canonical: arelle.XmlValidate.lxmlSchemaResolver Bases: {py:obj}`lxml.etree.Resolver` ```{autodoc2-docstring} arelle.XmlValidate.lxmlSchemaResolver ``` ```{rubric} Initialization ``` ```{autodoc2-docstring} arelle.XmlValidate.lxmlSchemaResolver.__init__ ``` ````{py:method} resolve(url: str | None, id: str, context: typing.Any) -> typing.Any :canonical: arelle.XmlValidate.lxmlSchemaResolver.resolve ```{autodoc2-docstring} arelle.XmlValidate.lxmlSchemaResolver.resolve ``` ```` ````` ````{py:function} lxmlResolvingParser(cntlr: arelle.Cntlr.Cntlr, modelXbrl: arelle.ModelXbrl.ModelXbrl | None = None) -> lxml.etree.XMLParser :canonical: arelle.XmlValidate.lxmlResolvingParser ```{autodoc2-docstring} arelle.XmlValidate.lxmlResolvingParser ``` ```` ````{py:function} lxmlSchemaValidate(modelDocument: arelle.ModelDocument.ModelDocument, extraSchema: str | None = None) -> None :canonical: arelle.XmlValidate.lxmlSchemaValidate ```{autodoc2-docstring} arelle.XmlValidate.lxmlSchemaValidate ``` ````