@Nonnull
  public PSValueOf readValueOfFromXML (@Nonnull final IMicroElement eValueOf) {
    """
	Read a &lt;value-of&gt; element
	
	@param eValueOf
	The source micro element. Never <code>null</code>.
	@return The created domain object. May not be <code>null</code>.
    """
    final PSValueOf ret = new PSValueOf ();

    eValueOf.forAllAttributes ( (sNS, sAttrName, sVal) -> {
      final String sAttrValue = _getAttributeValue (sVal);
      if (sAttrName.equals (CSchematronXML.ATTR_SELECT))
        ret.setSelect (sAttrValue);
      else
        ret.addForeignAttribute (sAttrName, sAttrValue);
    });

    eValueOf.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;
  }
@Nonnull
  public PSValueOf readValueOfFromXML (@Nonnull final IMicroElement eValueOf)
  {
    final PSValueOf ret = new PSValueOf ();

    eValueOf.forAllAttributes ( (sNS, sAttrName, sVal) -> {
      final String sAttrValue = _getAttributeValue (sVal);
      if (sAttrName.equals (CSchematronXML.ATTR_SELECT))
        ret.setSelect (sAttrValue);
      else
        ret.addForeignAttribute (sAttrName, sAttrValue);
    });

    eValueOf.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;
  }
@ Nonnull public PSValueOf readValueOfFromXML ( @ Nonnull final IMicroElement eValueOf ) { final PSValueOf ret = new PSValueOf ( ) ; eValueOf . forAllAttributes ( ( sNS , sAttrName , sVal ) -> { final String sAttrValue = _getAttributeValue ( sVal ) ; if ( sAttrName . equals ( CSchematronXML . ATTR_SELECT ) ) ret . setSelect ( sAttrValue ) ; else ret . addForeignAttribute ( sAttrName , sAttrValue ) ; } ) ; eValueOf . 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 ; }
Read a &lt;value-of&gt; element

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