def visitValueSetValue(self, ctx: ShExDocParser.ValueSetValueContext):
if ctx.iriRange() or ctx.literalRange() or ctx.languageRange():<EOL><INDENT>self.visitChildren(ctx)<EOL><DEDENT>else:                               <EOL><INDENT>if ctx.iriExclusion():<EOL><INDENT>vs_value = IriStemRange(Wildcard(), [])<EOL>self._iri_exclusions(vs_value, ctx.iriExclusion())<EOL><DEDENT>elif ctx.literalExclusion():<EOL><INDENT>vs_value = LiteralStemRange(Wildcard(), [])<EOL>self._literal_exclusions(vs_value, ctx.literalExclusion())<EOL><DEDENT>else:<EOL><INDENT>vs_value = LanguageStemRange(Wildcard(), [])<EOL>self._language_exclusions(vs_value, ctx.languageExclusion())<EOL><DEDENT>self.nodeconstraint.values.append(vs_value)<EOL><DEDENT>
valueSetValue: iriRange | literalRange | languageRange | 
            '.' (iriExclusion+ | literalExclusion+ | languageExclusion+)