schema tree FEATURE macro for non-presence container test
diff --git a/doc/transition.dox b/doc/transition.dox
index fc15e17..26acd46 100644
--- a/doc/transition.dox
+++ b/doc/transition.dox
@@ -180,6 +180,7 @@
* - | ::lys_value_validate() | Supplement functionality to ::lyd_value_validate().
* lys_is_key() | ::lysc_is_key() | Renamed to connect with the compiled schema tree.
* - | ::lysc_is_userordered() | Added functionality to simplify the examination of generic compiled schema nodes.
+ * - | ::lysc_is_np_cont() | ^
* - | ::lysc_node_children() | ^
* - | ::lysc_node_children_full() | ^
* - | ::lysc_node_actions() | ^
diff --git a/src/tree_schema.h b/src/tree_schema.h
index 24bece7..102e198 100644
--- a/src/tree_schema.h
+++ b/src/tree_schema.h
@@ -1772,6 +1772,15 @@
((!lysc_node || !(lysc_node->nodetype & (LYS_LEAF)) || !(lysc_node->flags & LYS_KEY)) ? 0 : 1)
/**
+ * @brief Examine whether a node is a non-presence container.
+ *
+ * @param[in] lysc_node Schema node to examine.
+ * @return Boolean value whether the @p node is a NP container or not.
+ */
+#define lysc_is_np_cont(lysc_node) \
+ ((!lysc_node || !(lysc_node->nodetype & (LYS_CONTAINER)) || (lysc_node->flags & LYS_PRESENCE)) ? 0 : 1)
+
+/**
* @brief Check whether the schema node data instance existence depends on any when conditions.
* This node and any direct parent choice and case schema nodes are also examined for when conditions.
*