# {py:mod}`arelle.ModelValue` ```{py:module} arelle.ModelValue ``` ```{autodoc2-docstring} arelle.ModelValue :allowtitles: ``` ## Module Contents ### Classes ````{list-table} :class: autosummary longtable :align: left * - {py:obj}`QName ` - ```{autodoc2-docstring} arelle.ModelValue.QName :summary: ``` * - {py:obj}`AnyURI ` - * - {py:obj}`DateTime ` - * - {py:obj}`YearMonthDuration ` - ```{autodoc2-docstring} arelle.ModelValue.YearMonthDuration :summary: ``` * - {py:obj}`DayTimeDuration ` - * - {py:obj}`YearMonthDayTimeDuration ` - ```{autodoc2-docstring} arelle.ModelValue.YearMonthDayTimeDuration :summary: ``` * - {py:obj}`Time ` - * - {py:obj}`gYearMonth ` - ```{autodoc2-docstring} arelle.ModelValue.gYearMonth :summary: ``` * - {py:obj}`gMonthDay ` - ```{autodoc2-docstring} arelle.ModelValue.gMonthDay :summary: ``` * - {py:obj}`gYear ` - ```{autodoc2-docstring} arelle.ModelValue.gYear :summary: ``` * - {py:obj}`gMonth ` - ```{autodoc2-docstring} arelle.ModelValue.gMonth :summary: ``` * - {py:obj}`gDay ` - ```{autodoc2-docstring} arelle.ModelValue.gDay :summary: ``` * - {py:obj}`IsoDuration ` - ```{autodoc2-docstring} arelle.ModelValue.IsoDuration :summary: ``` * - {py:obj}`InvalidValue ` - ```` ### Functions ````{list-table} :class: autosummary longtable :align: left * - {py:obj}`qname ` - ```{autodoc2-docstring} arelle.ModelValue.qname :summary: ``` * - {py:obj}`qnameHref ` - ```{autodoc2-docstring} arelle.ModelValue.qnameHref :summary: ``` * - {py:obj}`qnameNsLocalName ` - ```{autodoc2-docstring} arelle.ModelValue.qnameNsLocalName :summary: ``` * - {py:obj}`qnameClarkName ` - ```{autodoc2-docstring} arelle.ModelValue.qnameClarkName :summary: ``` * - {py:obj}`qnameEltPfxName ` - ```{autodoc2-docstring} arelle.ModelValue.qnameEltPfxName :summary: ``` * - {py:obj}`qnameFromNsmap ` - ```{autodoc2-docstring} arelle.ModelValue.qnameFromNsmap :summary: ``` * - {py:obj}`anyURI ` - ```{autodoc2-docstring} arelle.ModelValue.anyURI :summary: ``` * - {py:obj}`tzinfo ` - ```{autodoc2-docstring} arelle.ModelValue.tzinfo :summary: ``` * - {py:obj}`tzinfoStr ` - ```{autodoc2-docstring} arelle.ModelValue.tzinfoStr :summary: ``` * - {py:obj}`dateTime ` - ```{autodoc2-docstring} arelle.ModelValue.dateTime :summary: ``` * - {py:obj}`lastDayOfMonth ` - ```{autodoc2-docstring} arelle.ModelValue.lastDayOfMonth :summary: ``` * - {py:obj}`dateUnionEqual ` - ```{autodoc2-docstring} arelle.ModelValue.dateUnionEqual :summary: ``` * - {py:obj}`dateunionDate ` - ```{autodoc2-docstring} arelle.ModelValue.dateunionDate :summary: ``` * - {py:obj}`yearMonthDuration ` - ```{autodoc2-docstring} arelle.ModelValue.yearMonthDuration :summary: ``` * - {py:obj}`dayTimeDuration ` - ```{autodoc2-docstring} arelle.ModelValue.dayTimeDuration :summary: ``` * - {py:obj}`yearMonthDayTimeDuration ` - ```{autodoc2-docstring} arelle.ModelValue.yearMonthDayTimeDuration :summary: ``` * - {py:obj}`time ` - ```{autodoc2-docstring} arelle.ModelValue.time :summary: ``` * - {py:obj}`isoDuration ` - ```{autodoc2-docstring} arelle.ModelValue.isoDuration :summary: ``` ```` ### Data ````{list-table} :class: autosummary longtable :align: left * - {py:obj}`datetimePattern ` - ```{autodoc2-docstring} arelle.ModelValue.datetimePattern :summary: ``` * - {py:obj}`timePattern ` - ```{autodoc2-docstring} arelle.ModelValue.timePattern :summary: ``` * - {py:obj}`durationPattern ` - ```{autodoc2-docstring} arelle.ModelValue.durationPattern :summary: ``` * - {py:obj}`DATE ` - ```{autodoc2-docstring} arelle.ModelValue.DATE :summary: ``` * - {py:obj}`DATETIME ` - ```{autodoc2-docstring} arelle.ModelValue.DATETIME :summary: ``` * - {py:obj}`DATEUNION ` - ```{autodoc2-docstring} arelle.ModelValue.DATEUNION :summary: ``` * - {py:obj}`isoDurationPattern ` - ```{autodoc2-docstring} arelle.ModelValue.isoDurationPattern :summary: ``` * - {py:obj}`DAYSPERMONTH ` - ```{autodoc2-docstring} arelle.ModelValue.DAYSPERMONTH :summary: ``` * - {py:obj}`INVALIDixVALUE ` - ```{autodoc2-docstring} arelle.ModelValue.INVALIDixVALUE :summary: ``` * - {py:obj}`TypeSValue ` - ```{autodoc2-docstring} arelle.ModelValue.TypeSValue :summary: ``` * - {py:obj}`TypeXValue ` - ```{autodoc2-docstring} arelle.ModelValue.TypeXValue :summary: ``` ```` ### API ````{py:function} qname(value: arelle.ModelObject.ModelObject | str | QName | typing.Any | None, name: str | QName | arelle.ModelObject.ModelObject | dict[str, str] | dict[str | None, str] | None = None, noPrefixIsNoNamespace: bool = False, castException: Exception | type[Exception] | None = None, prefixException: Exception | type[Exception] | None = None) -> QName | None :canonical: arelle.ModelValue.qname ```{autodoc2-docstring} arelle.ModelValue.qname ``` ```` ````{py:function} qnameHref(href: str) -> QName :canonical: arelle.ModelValue.qnameHref ```{autodoc2-docstring} arelle.ModelValue.qnameHref ``` ```` ````{py:function} qnameNsLocalName(namespaceURI: str | None, localName: str) -> QName :canonical: arelle.ModelValue.qnameNsLocalName ```{autodoc2-docstring} arelle.ModelValue.qnameNsLocalName ``` ```` ````{py:function} qnameClarkName(clarkname: str) -> QName :canonical: arelle.ModelValue.qnameClarkName ```{autodoc2-docstring} arelle.ModelValue.qnameClarkName ``` ```` ````{py:function} qnameEltPfxName(element: arelle.ModelDtsObject.ModelConcept | arelle.ModelDtsObject.ModelAttribute | arelle.ModelFormulaObject.ModelCustomFunctionSignature | arelle.ModelDtsObject.ModelType | arelle.ModelInstanceObject.ModelInlineFact | arelle.ModelObject.ModelObject, prefixedName: str, prefixException: Exception | type[Exception] | None = None) -> QName | None :canonical: arelle.ModelValue.qnameEltPfxName ```{autodoc2-docstring} arelle.ModelValue.qnameEltPfxName ``` ```` ````{py:function} qnameFromNsmap(nsmap: collections.abc.Mapping[str | None, str], prefixedName: str, prefixException: Exception | type[Exception] | None = None) -> QName | None :canonical: arelle.ModelValue.qnameFromNsmap ```{autodoc2-docstring} arelle.ModelValue.qnameFromNsmap ``` ```` `````{py:class} QName(prefix: str | None, namespaceURI: str | None, localName: str) :canonical: arelle.ModelValue.QName ```{autodoc2-docstring} arelle.ModelValue.QName ``` ```{rubric} Initialization ``` ```{autodoc2-docstring} arelle.ModelValue.QName.__init__ ``` ````{py:property} clarkNotation :canonical: arelle.ModelValue.QName.clarkNotation :type: str ```{autodoc2-docstring} arelle.ModelValue.QName.clarkNotation ``` ```` ````{py:property} expandedName :canonical: arelle.ModelValue.QName.expandedName :type: str ```{autodoc2-docstring} arelle.ModelValue.QName.expandedName ``` ```` ````` ````{py:function} anyURI(value: str, castException: Exception | None = None) -> AnyURI | None :canonical: arelle.ModelValue.anyURI ```{autodoc2-docstring} arelle.ModelValue.anyURI ``` ```` `````{py:class} AnyURI() :canonical: arelle.ModelValue.AnyURI Bases: {py:obj}`str` ````{py:method} capitalize() :canonical: arelle.ModelValue.AnyURI.capitalize ```` ````{py:method} casefold() :canonical: arelle.ModelValue.AnyURI.casefold ```` ````{py:method} center() :canonical: arelle.ModelValue.AnyURI.center ```` ````{py:method} count() :canonical: arelle.ModelValue.AnyURI.count ```` ````{py:method} encode() :canonical: arelle.ModelValue.AnyURI.encode ```` ````{py:method} endswith() :canonical: arelle.ModelValue.AnyURI.endswith ```` ````{py:method} expandtabs() :canonical: arelle.ModelValue.AnyURI.expandtabs ```` ````{py:method} find() :canonical: arelle.ModelValue.AnyURI.find ```` ````{py:method} format() :canonical: arelle.ModelValue.AnyURI.format ```` ````{py:method} format_map() :canonical: arelle.ModelValue.AnyURI.format_map ```` ````{py:method} index() :canonical: arelle.ModelValue.AnyURI.index ```` ````{py:method} isalnum() :canonical: arelle.ModelValue.AnyURI.isalnum ```` ````{py:method} isalpha() :canonical: arelle.ModelValue.AnyURI.isalpha ```` ````{py:method} isascii() :canonical: arelle.ModelValue.AnyURI.isascii ```` ````{py:method} isdecimal() :canonical: arelle.ModelValue.AnyURI.isdecimal ```` ````{py:method} isdigit() :canonical: arelle.ModelValue.AnyURI.isdigit ```` ````{py:method} isidentifier() :canonical: arelle.ModelValue.AnyURI.isidentifier ```` ````{py:method} islower() :canonical: arelle.ModelValue.AnyURI.islower ```` ````{py:method} isnumeric() :canonical: arelle.ModelValue.AnyURI.isnumeric ```` ````{py:method} isprintable() :canonical: arelle.ModelValue.AnyURI.isprintable ```` ````{py:method} isspace() :canonical: arelle.ModelValue.AnyURI.isspace ```` ````{py:method} istitle() :canonical: arelle.ModelValue.AnyURI.istitle ```` ````{py:method} isupper() :canonical: arelle.ModelValue.AnyURI.isupper ```` ````{py:method} join() :canonical: arelle.ModelValue.AnyURI.join ```` ````{py:method} ljust() :canonical: arelle.ModelValue.AnyURI.ljust ```` ````{py:method} lower() :canonical: arelle.ModelValue.AnyURI.lower ```` ````{py:method} lstrip() :canonical: arelle.ModelValue.AnyURI.lstrip ```` ````{py:method} partition() :canonical: arelle.ModelValue.AnyURI.partition ```` ````{py:method} removeprefix() :canonical: arelle.ModelValue.AnyURI.removeprefix ```` ````{py:method} removesuffix() :canonical: arelle.ModelValue.AnyURI.removesuffix ```` ````{py:method} replace() :canonical: arelle.ModelValue.AnyURI.replace ```` ````{py:method} rfind() :canonical: arelle.ModelValue.AnyURI.rfind ```` ````{py:method} rindex() :canonical: arelle.ModelValue.AnyURI.rindex ```` ````{py:method} rjust() :canonical: arelle.ModelValue.AnyURI.rjust ```` ````{py:method} rpartition() :canonical: arelle.ModelValue.AnyURI.rpartition ```` ````{py:method} rsplit() :canonical: arelle.ModelValue.AnyURI.rsplit ```` ````{py:method} rstrip() :canonical: arelle.ModelValue.AnyURI.rstrip ```` ````{py:method} split() :canonical: arelle.ModelValue.AnyURI.split ```` ````{py:method} splitlines() :canonical: arelle.ModelValue.AnyURI.splitlines ```` ````{py:method} startswith() :canonical: arelle.ModelValue.AnyURI.startswith ```` ````{py:method} strip() :canonical: arelle.ModelValue.AnyURI.strip ```` ````{py:method} swapcase() :canonical: arelle.ModelValue.AnyURI.swapcase ```` ````{py:method} title() :canonical: arelle.ModelValue.AnyURI.title ```` ````{py:method} translate() :canonical: arelle.ModelValue.AnyURI.translate ```` ````{py:method} upper() :canonical: arelle.ModelValue.AnyURI.upper ```` ````{py:method} zfill() :canonical: arelle.ModelValue.AnyURI.zfill ```` ````` ````{py:data} datetimePattern :canonical: arelle.ModelValue.datetimePattern :value: > 'compile(...)' ```{autodoc2-docstring} arelle.ModelValue.datetimePattern ``` ```` ````{py:data} timePattern :canonical: arelle.ModelValue.timePattern :value: > 'compile(...)' ```{autodoc2-docstring} arelle.ModelValue.timePattern ``` ```` ````{py:data} durationPattern :canonical: arelle.ModelValue.durationPattern :value: > 'compile(...)' ```{autodoc2-docstring} arelle.ModelValue.durationPattern ``` ```` ````{py:data} DATE :canonical: arelle.ModelValue.DATE :value: > 1 ```{autodoc2-docstring} arelle.ModelValue.DATE ``` ```` ````{py:data} DATETIME :canonical: arelle.ModelValue.DATETIME :value: > 2 ```{autodoc2-docstring} arelle.ModelValue.DATETIME ``` ```` ````{py:data} DATEUNION :canonical: arelle.ModelValue.DATEUNION :value: > 3 ```{autodoc2-docstring} arelle.ModelValue.DATEUNION ``` ```` ````{py:function} tzinfo(tz: str | None) -> datetime.timezone | None :canonical: arelle.ModelValue.tzinfo ```{autodoc2-docstring} arelle.ModelValue.tzinfo ``` ```` ````{py:function} tzinfoStr(dt: datetime.datetime | datetime.date) -> str :canonical: arelle.ModelValue.tzinfoStr ```{autodoc2-docstring} arelle.ModelValue.tzinfoStr ``` ```` ````{py:function} dateTime(value: str | arelle.ModelObject.ModelObject | DateTime | datetime.datetime | datetime.date | None, time: typing.Any = None, addOneDay: bool = False, type: int | None = None, castException: arelle.ModelValue.dateTime.type[Exception] | None = None) -> DateTime | None :canonical: arelle.ModelValue.dateTime ```{autodoc2-docstring} arelle.ModelValue.dateTime ``` ```` ````{py:function} lastDayOfMonth(year: int, month: int) -> int :canonical: arelle.ModelValue.lastDayOfMonth ```{autodoc2-docstring} arelle.ModelValue.lastDayOfMonth ``` ```` `````{py:class} DateTime :canonical: arelle.ModelValue.DateTime Bases: {py:obj}`datetime.datetime` ````{py:attribute} dateOnly :canonical: arelle.ModelValue.DateTime.dateOnly :type: bool :value: > None ```{autodoc2-docstring} arelle.ModelValue.DateTime.dateOnly ``` ```` ````{py:method} addYearMonthDuration(other: arelle.ModelValue.YearMonthDuration, sign: int) -> arelle.ModelValue.DateTime :canonical: arelle.ModelValue.DateTime.addYearMonthDuration ```{autodoc2-docstring} arelle.ModelValue.DateTime.addYearMonthDuration ``` ```` ````{py:property} hour :canonical: arelle.ModelValue.DateTime.hour ```` ````{py:property} minute :canonical: arelle.ModelValue.DateTime.minute ```` ````{py:property} second :canonical: arelle.ModelValue.DateTime.second ```` ````{py:property} microsecond :canonical: arelle.ModelValue.DateTime.microsecond ```` ````{py:property} tzinfo :canonical: arelle.ModelValue.DateTime.tzinfo ```` ````{py:property} fold :canonical: arelle.ModelValue.DateTime.fold ```` ````{py:method} fromtimestamp(timestamp, tz=None) :canonical: arelle.ModelValue.DateTime.fromtimestamp :classmethod: ```` ````{py:method} utcfromtimestamp(t) :canonical: arelle.ModelValue.DateTime.utcfromtimestamp :classmethod: ```` ````{py:method} now(tz=None) :canonical: arelle.ModelValue.DateTime.now :classmethod: ```` ````{py:method} utcnow() :canonical: arelle.ModelValue.DateTime.utcnow :classmethod: ```` ````{py:method} combine(date, time, tzinfo=True) :canonical: arelle.ModelValue.DateTime.combine :classmethod: ```` ````{py:method} fromisoformat(date_string) :canonical: arelle.ModelValue.DateTime.fromisoformat :classmethod: ```` ````{py:method} timetuple() :canonical: arelle.ModelValue.DateTime.timetuple ```` ````{py:method} timestamp() :canonical: arelle.ModelValue.DateTime.timestamp ```` ````{py:method} utctimetuple() :canonical: arelle.ModelValue.DateTime.utctimetuple ```` ````{py:method} date() :canonical: arelle.ModelValue.DateTime.date ```` ````{py:method} time() :canonical: arelle.ModelValue.DateTime.time ```` ````{py:method} timetz() :canonical: arelle.ModelValue.DateTime.timetz ```` ````{py:method} replace(year=None, month=None, day=None, hour=None, minute=None, second=None, microsecond=None, tzinfo=True, *, fold=None) :canonical: arelle.ModelValue.DateTime.replace ```` ````{py:method} astimezone(tz=None) :canonical: arelle.ModelValue.DateTime.astimezone ```` ````{py:method} ctime() :canonical: arelle.ModelValue.DateTime.ctime ```` ````{py:method} isoformat(sep='T', timespec='auto') :canonical: arelle.ModelValue.DateTime.isoformat ```` ````{py:method} strptime(date_string, format) :canonical: arelle.ModelValue.DateTime.strptime :classmethod: ```` ````{py:method} utcoffset() :canonical: arelle.ModelValue.DateTime.utcoffset ```` ````{py:method} tzname() :canonical: arelle.ModelValue.DateTime.tzname ```` ````{py:method} dst() :canonical: arelle.ModelValue.DateTime.dst ```` ````{py:method} today() :canonical: arelle.ModelValue.DateTime.today :classmethod: ```` ````{py:method} fromordinal(n) :canonical: arelle.ModelValue.DateTime.fromordinal :classmethod: ```` ````{py:method} fromisocalendar(year, week, day) :canonical: arelle.ModelValue.DateTime.fromisocalendar :classmethod: ```` ````{py:method} strftime(format) :canonical: arelle.ModelValue.DateTime.strftime ```` ````{py:property} year :canonical: arelle.ModelValue.DateTime.year ```` ````{py:property} month :canonical: arelle.ModelValue.DateTime.month ```` ````{py:property} day :canonical: arelle.ModelValue.DateTime.day ```` ````{py:method} toordinal() :canonical: arelle.ModelValue.DateTime.toordinal ```` ````{py:method} weekday() :canonical: arelle.ModelValue.DateTime.weekday ```` ````{py:method} isoweekday() :canonical: arelle.ModelValue.DateTime.isoweekday ```` ````{py:method} isocalendar() :canonical: arelle.ModelValue.DateTime.isocalendar ```` ````` ````{py:function} dateUnionEqual(dateUnion1: arelle.ModelValue.DateTime | datetime.date, dateUnion2: arelle.ModelValue.DateTime | datetime.date, instantEndDate: bool = False) -> bool :canonical: arelle.ModelValue.dateUnionEqual ```{autodoc2-docstring} arelle.ModelValue.dateUnionEqual ``` ```` ````{py:function} dateunionDate(datetimeValue: datetime.date, subtractOneDay: bool = False) -> datetime.date :canonical: arelle.ModelValue.dateunionDate ```{autodoc2-docstring} arelle.ModelValue.dateunionDate ``` ```` ````{py:function} yearMonthDuration(value: str) -> YearMonthDuration :canonical: arelle.ModelValue.yearMonthDuration ```{autodoc2-docstring} arelle.ModelValue.yearMonthDuration ``` ```` ````{py:class} YearMonthDuration(years: int, months: int) :canonical: arelle.ModelValue.YearMonthDuration ```{autodoc2-docstring} arelle.ModelValue.YearMonthDuration ``` ```{rubric} Initialization ``` ```{autodoc2-docstring} arelle.ModelValue.YearMonthDuration.__init__ ``` ```` ````{py:function} dayTimeDuration(value: Time | datetime.timedelta | str) -> DayTimeDuration :canonical: arelle.ModelValue.dayTimeDuration ```{autodoc2-docstring} arelle.ModelValue.dayTimeDuration ``` ```` `````{py:class} DayTimeDuration :canonical: arelle.ModelValue.DayTimeDuration Bases: {py:obj}`datetime.timedelta` ````{py:method} dayHrsMinsSecs() -> tuple[int, int, int, int] :canonical: arelle.ModelValue.DayTimeDuration.dayHrsMinsSecs ```{autodoc2-docstring} arelle.ModelValue.DayTimeDuration.dayHrsMinsSecs ``` ```` ````{py:method} total_seconds() :canonical: arelle.ModelValue.DayTimeDuration.total_seconds ```` ````{py:property} days :canonical: arelle.ModelValue.DayTimeDuration.days ```` ````{py:property} seconds :canonical: arelle.ModelValue.DayTimeDuration.seconds ```` ````{py:property} microseconds :canonical: arelle.ModelValue.DayTimeDuration.microseconds ```` ````` ````{py:function} yearMonthDayTimeDuration(value: datetime.datetime | str, value2: datetime.datetime | None = None) -> YearMonthDayTimeDuration :canonical: arelle.ModelValue.yearMonthDayTimeDuration ```{autodoc2-docstring} arelle.ModelValue.yearMonthDayTimeDuration ``` ```` ````{py:class} YearMonthDayTimeDuration(years: int, months: int, days: int | None = None, hours: int | None = None, minutes: int | None = None, seconds: int | None = None) :canonical: arelle.ModelValue.YearMonthDayTimeDuration ```{autodoc2-docstring} arelle.ModelValue.YearMonthDayTimeDuration ``` ```{rubric} Initialization ``` ```{autodoc2-docstring} arelle.ModelValue.YearMonthDayTimeDuration.__init__ ``` ```` ````{py:function} time(value: str | arelle.ModelObject.ModelObject | datetime.time | datetime.datetime | typing.Any | None, castException: type[Exception] | None = None) -> Time | None :canonical: arelle.ModelValue.time ```{autodoc2-docstring} arelle.ModelValue.time ``` ```` `````{py:class} Time :canonical: arelle.ModelValue.Time Bases: {py:obj}`datetime.time` ````{py:attribute} hour24 :canonical: arelle.ModelValue.Time.hour24 :type: bool :value: > None ```{autodoc2-docstring} arelle.ModelValue.Time.hour24 ``` ```` ````{py:method} strptime(date_string, format) :canonical: arelle.ModelValue.Time.strptime :classmethod: ```` ````{py:property} hour :canonical: arelle.ModelValue.Time.hour ```` ````{py:property} minute :canonical: arelle.ModelValue.Time.minute ```` ````{py:property} second :canonical: arelle.ModelValue.Time.second ```` ````{py:property} microsecond :canonical: arelle.ModelValue.Time.microsecond ```` ````{py:property} tzinfo :canonical: arelle.ModelValue.Time.tzinfo ```` ````{py:property} fold :canonical: arelle.ModelValue.Time.fold ```` ````{py:method} isoformat(timespec='auto') :canonical: arelle.ModelValue.Time.isoformat ```` ````{py:method} fromisoformat(time_string) :canonical: arelle.ModelValue.Time.fromisoformat :classmethod: ```` ````{py:method} strftime(format) :canonical: arelle.ModelValue.Time.strftime ```` ````{py:method} utcoffset() :canonical: arelle.ModelValue.Time.utcoffset ```` ````{py:method} tzname() :canonical: arelle.ModelValue.Time.tzname ```` ````{py:method} dst() :canonical: arelle.ModelValue.Time.dst ```` ````{py:method} replace(hour=None, minute=None, second=None, microsecond=None, tzinfo=True, *, fold=None) :canonical: arelle.ModelValue.Time.replace ```` ````` ````{py:class} gYearMonth(year: int | str, month: int | str) :canonical: arelle.ModelValue.gYearMonth ```{autodoc2-docstring} arelle.ModelValue.gYearMonth ``` ```{rubric} Initialization ``` ```{autodoc2-docstring} arelle.ModelValue.gYearMonth.__init__ ``` ```` ````{py:class} gMonthDay(month: int | str, day: int | str) :canonical: arelle.ModelValue.gMonthDay ```{autodoc2-docstring} arelle.ModelValue.gMonthDay ``` ```{rubric} Initialization ``` ```{autodoc2-docstring} arelle.ModelValue.gMonthDay.__init__ ``` ```` ````{py:class} gYear(year: int | str) :canonical: arelle.ModelValue.gYear ```{autodoc2-docstring} arelle.ModelValue.gYear ``` ```{rubric} Initialization ``` ```{autodoc2-docstring} arelle.ModelValue.gYear.__init__ ``` ```` ````{py:class} gMonth(month: int | str) :canonical: arelle.ModelValue.gMonth ```{autodoc2-docstring} arelle.ModelValue.gMonth ``` ```{rubric} Initialization ``` ```{autodoc2-docstring} arelle.ModelValue.gMonth.__init__ ``` ```` ````{py:class} gDay(day: int | str) :canonical: arelle.ModelValue.gDay ```{autodoc2-docstring} arelle.ModelValue.gDay ``` ```{rubric} Initialization ``` ```{autodoc2-docstring} arelle.ModelValue.gDay.__init__ ``` ```` ````{py:data} isoDurationPattern :canonical: arelle.ModelValue.isoDurationPattern :value: > 'compile(...)' ```{autodoc2-docstring} arelle.ModelValue.isoDurationPattern ``` ```` ````{py:function} isoDuration(value: str) -> IsoDuration :canonical: arelle.ModelValue.isoDuration ```{autodoc2-docstring} arelle.ModelValue.isoDuration ``` ```` ````{py:data} DAYSPERMONTH :canonical: arelle.ModelValue.DAYSPERMONTH :value: > 'Decimal(...)' ```{autodoc2-docstring} arelle.ModelValue.DAYSPERMONTH ``` ```` `````{py:class} IsoDuration(days: float = 0, seconds: float = 0, microseconds: float = 0, milliseconds: float = 0, minutes: float = 0, hours: float = 0, weeks: float = 0, months: decimal.Decimal = Decimal(0), years: decimal.Decimal = Decimal(0), negate: bool = False, sourceValue: str | None = None) :canonical: arelle.ModelValue.IsoDuration Bases: {py:obj}`isodate.Duration` ```{autodoc2-docstring} arelle.ModelValue.IsoDuration ``` ```{rubric} Initialization ``` ```{autodoc2-docstring} arelle.ModelValue.IsoDuration.__init__ ``` ````{py:attribute} years :canonical: arelle.ModelValue.IsoDuration.years :type: decimal.Decimal :value: > None ```{autodoc2-docstring} arelle.ModelValue.IsoDuration.years ``` ```` ````{py:attribute} months :canonical: arelle.ModelValue.IsoDuration.months :type: decimal.Decimal :value: > None ```{autodoc2-docstring} arelle.ModelValue.IsoDuration.months ``` ```` ````{py:attribute} tdelta :canonical: arelle.ModelValue.IsoDuration.tdelta :type: datetime.timedelta :value: > None ```{autodoc2-docstring} arelle.ModelValue.IsoDuration.tdelta ``` ```` ````{py:method} viewText(labelrole: str | None = None, lang: str | None = None) -> str :canonical: arelle.ModelValue.IsoDuration.viewText ```{autodoc2-docstring} arelle.ModelValue.IsoDuration.viewText ``` ```` ````` `````{py:class} InvalidValue() :canonical: arelle.ModelValue.InvalidValue Bases: {py:obj}`str` ````{py:method} capitalize() :canonical: arelle.ModelValue.InvalidValue.capitalize ```` ````{py:method} casefold() :canonical: arelle.ModelValue.InvalidValue.casefold ```` ````{py:method} center() :canonical: arelle.ModelValue.InvalidValue.center ```` ````{py:method} count() :canonical: arelle.ModelValue.InvalidValue.count ```` ````{py:method} encode() :canonical: arelle.ModelValue.InvalidValue.encode ```` ````{py:method} endswith() :canonical: arelle.ModelValue.InvalidValue.endswith ```` ````{py:method} expandtabs() :canonical: arelle.ModelValue.InvalidValue.expandtabs ```` ````{py:method} find() :canonical: arelle.ModelValue.InvalidValue.find ```` ````{py:method} format() :canonical: arelle.ModelValue.InvalidValue.format ```` ````{py:method} format_map() :canonical: arelle.ModelValue.InvalidValue.format_map ```` ````{py:method} index() :canonical: arelle.ModelValue.InvalidValue.index ```` ````{py:method} isalnum() :canonical: arelle.ModelValue.InvalidValue.isalnum ```` ````{py:method} isalpha() :canonical: arelle.ModelValue.InvalidValue.isalpha ```` ````{py:method} isascii() :canonical: arelle.ModelValue.InvalidValue.isascii ```` ````{py:method} isdecimal() :canonical: arelle.ModelValue.InvalidValue.isdecimal ```` ````{py:method} isdigit() :canonical: arelle.ModelValue.InvalidValue.isdigit ```` ````{py:method} isidentifier() :canonical: arelle.ModelValue.InvalidValue.isidentifier ```` ````{py:method} islower() :canonical: arelle.ModelValue.InvalidValue.islower ```` ````{py:method} isnumeric() :canonical: arelle.ModelValue.InvalidValue.isnumeric ```` ````{py:method} isprintable() :canonical: arelle.ModelValue.InvalidValue.isprintable ```` ````{py:method} isspace() :canonical: arelle.ModelValue.InvalidValue.isspace ```` ````{py:method} istitle() :canonical: arelle.ModelValue.InvalidValue.istitle ```` ````{py:method} isupper() :canonical: arelle.ModelValue.InvalidValue.isupper ```` ````{py:method} join() :canonical: arelle.ModelValue.InvalidValue.join ```` ````{py:method} ljust() :canonical: arelle.ModelValue.InvalidValue.ljust ```` ````{py:method} lower() :canonical: arelle.ModelValue.InvalidValue.lower ```` ````{py:method} lstrip() :canonical: arelle.ModelValue.InvalidValue.lstrip ```` ````{py:method} partition() :canonical: arelle.ModelValue.InvalidValue.partition ```` ````{py:method} removeprefix() :canonical: arelle.ModelValue.InvalidValue.removeprefix ```` ````{py:method} removesuffix() :canonical: arelle.ModelValue.InvalidValue.removesuffix ```` ````{py:method} replace() :canonical: arelle.ModelValue.InvalidValue.replace ```` ````{py:method} rfind() :canonical: arelle.ModelValue.InvalidValue.rfind ```` ````{py:method} rindex() :canonical: arelle.ModelValue.InvalidValue.rindex ```` ````{py:method} rjust() :canonical: arelle.ModelValue.InvalidValue.rjust ```` ````{py:method} rpartition() :canonical: arelle.ModelValue.InvalidValue.rpartition ```` ````{py:method} rsplit() :canonical: arelle.ModelValue.InvalidValue.rsplit ```` ````{py:method} rstrip() :canonical: arelle.ModelValue.InvalidValue.rstrip ```` ````{py:method} split() :canonical: arelle.ModelValue.InvalidValue.split ```` ````{py:method} splitlines() :canonical: arelle.ModelValue.InvalidValue.splitlines ```` ````{py:method} startswith() :canonical: arelle.ModelValue.InvalidValue.startswith ```` ````{py:method} strip() :canonical: arelle.ModelValue.InvalidValue.strip ```` ````{py:method} swapcase() :canonical: arelle.ModelValue.InvalidValue.swapcase ```` ````{py:method} title() :canonical: arelle.ModelValue.InvalidValue.title ```` ````{py:method} translate() :canonical: arelle.ModelValue.InvalidValue.translate ```` ````{py:method} upper() :canonical: arelle.ModelValue.InvalidValue.upper ```` ````{py:method} zfill() :canonical: arelle.ModelValue.InvalidValue.zfill ```` ````` ````{py:data} INVALIDixVALUE :canonical: arelle.ModelValue.INVALIDixVALUE :value: > 'InvalidValue(...)' ```{autodoc2-docstring} arelle.ModelValue.INVALIDixVALUE ``` ```` ````{py:data} TypeSValue :canonical: arelle.ModelValue.TypeSValue :value: > None ```{autodoc2-docstring} arelle.ModelValue.TypeSValue ``` ```` ````{py:data} TypeXValue :canonical: arelle.ModelValue.TypeXValue :value: > None ```{autodoc2-docstring} arelle.ModelValue.TypeXValue ``` ````