@Nonnull
  public PSLet readLetFromXML (@Nonnull final IMicroElement eLet) {
    """
	Read a &lt;let&gt; element
	
	@param eLet
	The source micro element. Never <code>null</code>.
	@return The created domain object. May not be <code>null</code>.
    """
    final PSLet ret = new PSLet ();

    eLet.forAllAttributes ( (sNS, sAttrName, sVal) -> {
      final String sAttrValue = _getAttributeValue (sVal);
      if (sAttrName.equals (CSchematronXML.ATTR_NAME))
        ret.setName (sAttrValue);
      else
        if (sAttrName.equals (CSchematronXML.ATTR_VALUE))
          ret.setValue (sAttrValue);
        else
          _warn (ret, "Unsupported attribute '" + sAttrName + "'='" + sAttrValue + "'");
    });

    eLet.forAllChildElements (eLetChild -> {
      if (CSchematron.NAMESPACE_SCHEMATRON.equals (eLetChild.getNamespaceURI ()))
      {
        _warn (ret, "Unsupported Schematron element '" + eLetChild.getLocalName () + "'");
      }
      else
        _warn (ret, "Unsupported namespace URI '" + eLetChild.getNamespaceURI () + "'");
    });
    return ret;
  }
@Nonnull
  public PSLet readLetFromXML (@Nonnull final IMicroElement eLet)
  {
    final PSLet ret = new PSLet ();

    eLet.forAllAttributes ( (sNS, sAttrName, sVal) -> {
      final String sAttrValue = _getAttributeValue (sVal);
      if (sAttrName.equals (CSchematronXML.ATTR_NAME))
        ret.setName (sAttrValue);
      else
        if (sAttrName.equals (CSchematronXML.ATTR_VALUE))
          ret.setValue (sAttrValue);
        else
          _warn (ret, "Unsupported attribute '" + sAttrName + "'='" + sAttrValue + "'");
    });

    eLet.forAllChildElements (eLetChild -> {
      if (CSchematron.NAMESPACE_SCHEMATRON.equals (eLetChild.getNamespaceURI ()))
      {
        _warn (ret, "Unsupported Schematron element '" + eLetChild.getLocalName () + "'");
      }
      else
        _warn (ret, "Unsupported namespace URI '" + eLetChild.getNamespaceURI () + "'");
    });
    return ret;
  }
@ Nonnull public PSLet readLetFromXML ( @ Nonnull final IMicroElement eLet ) { final PSLet ret = new PSLet ( ) ; eLet . forAllAttributes ( ( sNS , sAttrName , sVal ) -> { final String sAttrValue = _getAttributeValue ( sVal ) ; if ( sAttrName . equals ( CSchematronXML . ATTR_NAME ) ) ret . setName ( sAttrValue ) ; else if ( sAttrName . equals ( CSchematronXML . ATTR_VALUE ) ) ret . setValue ( sAttrValue ) ; else _warn ( ret , "Unsupported attribute '" + sAttrName + "'='" + sAttrValue + "'" ) ; } ) ; eLet . forAllChildElements ( eLetChild -> { if ( CSchematron . NAMESPACE_SCHEMATRON . equals ( eLetChild . getNamespaceURI ( ) ) ) { _warn ( ret , "Unsupported Schematron element '" + eLetChild . getLocalName ( ) + "'" ) ; } else _warn ( ret , "Unsupported namespace URI '" + eLetChild . getNamespaceURI ( ) + "'" ) ; } ) ; return ret ; }
Read a &lt;let&gt; element

@param eLet
The source micro element. Never <code>null</code>.
@return The created domain object. May not be <code>null</code>.
Read a &lt ; let&gt ; element