- extension = (ExtensionEffectiveStatementImpl) extensionInit.buildEffective();
- nodeType = extension.getQName();
-
- if (argument() == null || argument().isEmpty()) {
- qName = extension.getQName();
- } else {
- qName = QName.create(Utils.qNameFromArgument(ctx, ctx.getStatementArgument()).getModule(), argument());
- }
- }
-
- path = Utils.getSchemaPath(ctx);
- nodeParameter = argument();
-
- // TODO init other fields (see Bug1412Test)
-
- for (final EffectiveStatement<?, ?> effectiveStatement : effectiveSubstatements()) {
- if (effectiveStatement instanceof DescriptionEffectiveStatementImpl) {
- description = ((DescriptionEffectiveStatementImpl) effectiveStatement).argument();
- }
- if (effectiveStatement instanceof ReferenceEffectiveStatementImpl) {
- reference = ((ReferenceEffectiveStatementImpl) effectiveStatement).argument();
- }
- if (effectiveStatement instanceof UnknownEffectiveStatementImpl) {
- unknownNodes.add((UnknownEffectiveStatementImpl) effectiveStatement);
+ QName maybeQNameArgumentInit = null;
+ try {
+ maybeQNameArgumentInit = StmtContextUtils.qnameFromArgument(ctx, argument());
+ } catch (IllegalArgumentException e) {
+ maybeQNameArgumentInit = getNodeType();