diff --git a/xbrl/instance.py b/xbrl/instance.py index 198c0b1..4f634de 100644 --- a/xbrl/instance.py +++ b/xbrl/instance.py @@ -35,7 +35,8 @@ "xbrldi": "http://xbrl.org/2006/xbrldi" } -class AbstractMember: + +class AbstractMember(abc.ABC): def __init__(self, dimension: Concept) -> None: self.dimension = dimension @@ -53,10 +54,12 @@ def to_json(self): class TypedMember(AbstractMember): """ - Representation of an explicit member in xbrl. + Representation of a typed member in xbrl. XML Example: - aapl:EuropeSegmentMember + + 2024-06-30 + """ def __init__(self, dimension: Concept, domain: List[str]) -> None: super().__init__(dimension) @@ -251,7 +254,8 @@ def json(self, **kwargs) -> dict: kwargs['dimensions']['contextId'] = self.context.xml_id kwargs['dimensions']['period'] = period for segment in self.context.segments: - kwargs['dimensions'][segment.dimension.name] = segment.member.name + if isinstance(segment, ExplicitMember): + kwargs['dimensions'][segment.dimension.name] = segment.member.name return kwargs