- private static Optional<DataSchemaNode> findChildSchemaNode(final DataNodeContainer parent, final QName child) {
- DataSchemaNode potential = parent.getDataChildByName(child);
- if (potential == null) {
- final Iterable<ChoiceSchemaNode> choices = FluentIterable.from(parent.getChildNodes()).filter(ChoiceSchemaNode.class);
- potential = findChoice(choices, child);
+ private static final class AnyXmlNormalization extends AbstractOpaqueNormalization {
+ AnyXmlNormalization(final AnyxmlSchemaNode schema) {
+ super(schema);
+ }
+
+ @Override
+ NormalizedNode create(final PathArgument first, final Iterator<PathArgument> others,
+ final Optional<NormalizedNode> deepestChild) {
+ final NormalizedNodeBuilder<NodeIdentifier, DOMSource, DOMSourceAnyxmlNode> builder =
+ Builders.anyXmlBuilder()
+ .withNodeIdentifier(getIdentifier());
+ if (deepestChild.isPresent()) {
+ final NormalizedNode child = deepestChild.get();
+ checkState(child instanceof DOMSourceAnyxmlNode, "Invalid child %s", child);
+ builder.withValue(((DOMSourceAnyxmlNode) child).body());
+ }
+
+ return builder.build();