code: @Nonnull
    public PSInclude readIncludeFromXML (@Nonnull final IMicroElement eInclude)
    {
      final PSInclude ret = new PSInclude ();
  
      eInclude.forAllAttributes ( (sNS, sAttrName, sVal) -> {
        final String sAttrValue = _getAttributeValue (sVal);
        if (sAttrName.equals (CSchematronXML.ATTR_HREF))
          ret.setHref (sAttrValue);
        else
          _warn (ret, "Unsupported attribute '" + sAttrName + "'='" + sAttrValue + "'");
      });
  
      eInclude.forAllChildElements (eValueOfChild -> {
        if (CSchematron.NAMESPACE_SCHEMATRON.equals (eValueOfChild.getNamespaceURI ()))
        {
          _warn (ret, "Unsupported Schematron element '" + eValueOfChild.getLocalName () + "'");
        }
        else
          _warn (ret, "Unsupported namespace URI '" + eValueOfChild.getNamespaceURI () + "'");
      });
      return ret;
    }
docs: Read an &lt;include&gt; element
  
  @param eInclude
  The source micro element. Never <code>null</code>.
  @return The created domain object. May not be <code>null</code>.