*/
package org.opendaylight.yangtools.yang.data.api.schema;
-import org.opendaylight.yangtools.yang.data.api.AttributesContainer;
-import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier.NodeIdentifier;
-import org.opendaylight.yangtools.yang.data.api.Node;
+import javax.xml.transform.dom.DOMSource;
/**
- * Anyxml normalizedNode.
- *
- * <p>
- * This node contains values for anyxml as either SimpleNode or CompositeNode.
- * The concrete value depends on the current value of anyxml node.
- * </p>
- *
- * <p>
- * For yang node: anyxml foo;
- *
- * <ul>
- * <li>
- * with xml value:
- * <pre>
- * {@code <foo>justSomeString</foo>}
- * </pre>
- * this AnyXmlNode returns SimpleNode with QName{namespace=someNamespace, revision=someRevision, localName=foo} and value="justSomeString"
- * </li>
- *
- * <li>
- * but with xml value:
- * <pre>
- * {@code <foo><bar>stringInXml</bar></foo>}
- * </pre>
- * this AnyXmlNode returns CompositeNode with QName{}namespace=someNamespace, revision=someRevision, localName=foo}
- * and values [SimpleNode with QName{}namespace=someNamespace, revision=someRevision, localName=bar} and value="stringInXml"]
- * </li>
- *
- * </ul>
+ * An AnyxmlNode with data in {@link DOMSource} format.
*/
-public interface AnyXmlNode extends AttributesContainer, DataContainerChild<NodeIdentifier, Node<?>> {
-
+// FIXME: 4.0.0: YANGTOOLS-976: rename to DOMSourceAnyxmlNode
+public interface AnyXmlNode extends AnyxmlNode<DOMSource> {
@Override
- NodeIdentifier getIdentifier();
+ default Class<DOMSource> getValueObjectModel() {
+ return DOMSource.class;
+ }
/**
- * @return anyxml node value represented as SimpleNode or CompositeNode.
- * Returned node contains top level element that duplicates the anyxml node.
+ * Return value represented as a DOMSource. Returned source contains top level element
+ * that duplicates the anyxml node.
+ *
+ * @return anyxml node value represented as DOMSource.
*/
@Override
- Node<?> getValue();
+ DOMSource getValue();
}