- public static Collection<SchemaNodeIdentifier.Relative> transformKeysStringToKeyNodes(
- final StmtContext<?, ?, ?> ctx, final String value) {
- final List<String> keyTokens = SPACE_SPLITTER.splitToList(value);
-
- // to detect if key contains duplicates
- if (new HashSet<>(keyTokens).size() < keyTokens.size()) {
- // FIXME: report all duplicate keys
- throw new SourceException(ctx.getStatementSourceReference(), "Duplicate value in list key: %s", value);
- }
-
- final Set<SchemaNodeIdentifier.Relative> keyNodes = new HashSet<>();
- for (final String keyToken : keyTokens) {
- keyNodes.add(SchemaNodeIdentifier.SAME.createChild(StmtContextUtils.qnameFromArgument(ctx, keyToken)));
- }
-
- return keyNodes;
- }
-