<?xml version="1.0" encoding="utf-8"?>
<?xml-stylesheet href="../../../design/description.xslt" type="text/xsl"?>
<node lang="en" type="DynamicNode.Lib.Basic.NPortExtender" assembly="NLibDefault" xmlns="http://dynamicnodes.mastersign.de/description">
  <caption>Port Extender</caption>
  <group>Basics</group>
  <description>Represents a fork, which can e.g. be used for super in ports.</description>
  <inPorts>
    <port name="in">
      <type>TElement</type>
      <description>
        Takes incoming tokens and passes them to the out port <c>out</c>.
      </description>
    </port>
  </inPorts>
  <outPorts>
    <port name="out">
      <type>&lt;TElement&gt;</type>
      <description>
        Passes the tokens from the in port <c>in</c>.
      </description>
    </port>
  </outPorts>
  <helpText>
    <xhtml>
      <p>
        This node extends an in port. This is useful if a super port of a module is required
        which incoming values should be distributed to more than one in port. In this situation
        a port extender node can be used and its in port is declared as super port.
      </p>
      <p>
        This node type is similar to the node type <a href="DynamicNode.Lib.Basic.Place.xml">Place</a>
        but the compatibility of the ports is working the other way around:
        The compatibility of the in port <code>in</code> is derived from the connection of
        the out port <code>out</code>. The node can only work properly if the
        compatibility of the in port can derived <strong>uniquely</strong> from the 
        outgoing connections of the out port.
      </p>
    </xhtml>
  </helpText>
  <customArea>
    If the compatibility for the in port can not determined uniquely by the connections
    of the out port, the node displays a red colored rectangle as a warning sign. Otherwise
    it displays a neutral colored rectangle.
  </customArea>
</node>