arc

<p>The arc element describes an SBGN arc between two SBGN nodes. It contains:
  <ul>
    <li>For PD: an optional stoichiometry marker,</li>
    <li>For ER: an optional cardinality marker, zero or more ports (influence targets), and zero or more outcomes,</li>
    <li>a mandatory source and target (glyph or port),</li>
    <li>a geometric description of its whole path, from start to end.</li>
  </ul>
  <p>
  </p>This path can involve any number of straight lines or quadratic/cubic Bezier curves.</p>

Element Information

Model

Attributes

QName Type Fixed Default Use Inheritable Annotation
class restriction of xsd:string required
<p>The class attribute defines the semantic of the arc, and influences:
  <ul>
    <li>the way that arc should be rendered,</li>
    <li>the overall syntactic validity of the map.</li>
  </ul>
</p>
<p>The various classes encompass all possible types of SBGN arcs:
  <ul>
    <li>production and consumption arcs,</li>
    <li>all types of modification arcs,</li>
    <li>logic arcs,</li>
    <li>equivalence arcs.</li>
  </ul>To express a reversible reaction, use production arcs on both sides of the Process Node.</p>
id xsd:ID required
<p>The xsd:ID type is an alphanumeric identifier, starting with a letter.</p>
source xsd:IDREF required
<p>The source attribute can refer:
  <ul>
    <li>either to the id of a glyph,</li>
    <li>or to the id of a port on a glyph.</li>
  </ul>
</p>
target xsd:IDREF required
<p>The target attribute can refer:
  <ul>
    <li>either to the id of a glyph,</li>
    <li>or to the id of a port on a glyph.</li>
  </ul>
</p>

Used By

Elements arcgroup, map

Source

<xsd:element name="arc">
  <xsd:annotation>
    <xsd:documentation>
      <p>The arc element describes an SBGN arc between two SBGN nodes. It contains:
        <ul>
          <li>For PD: an optional stoichiometry marker,</li>
          <li>For ER: an optional cardinality marker, zero or more ports (influence targets), and zero or more outcomes,</li>
          <li>a mandatory source and target (glyph or port),</li>
          <li>a geometric description of its whole path, from start to end.</li>
        </ul>
        <p>
        </p>This path can involve any number of straight lines or quadratic/cubic Bezier curves.</p>
    </xsd:documentation>
  </xsd:annotation>
  <xsd:complexType>
    <xsd:complexContent>
      <xsd:extension base="SBGNBase">
        <xsd:sequence>
          <xsd:element ref="sbgn:glyph" minOccurs="0" maxOccurs="unbounded">
            <xsd:annotation>
              <xsd:documentation>
                <p>In PD, an arc can contain a single optional sub-glyph. This glyph must be a stoichiometry marker (square with a numeric label)</p>
                <p>In ER, an arc can contain several sub-glyphs. This can be zero or one cardinality glyphs (e.g. cis or trans), plus zero to many outcome glyphs (black dot)</p>
              </xsd:documentation>
            </xsd:annotation>
          </xsd:element>
          <xsd:element ref="sbgn:port" minOccurs="0" maxOccurs="unbounded">
            <xsd:annotation>
              <xsd:documentation>
                <p>Ports are only allowed in ER.</p>
              </xsd:documentation>
            </xsd:annotation>
          </xsd:element>
          <xsd:element name="start" minOccurs="1" maxOccurs="1">
            <xsd:annotation>
              <xsd:documentation>
                <p>The start element represents the starting point of the arc's path. It is unique and mandatory.</p>
              </xsd:documentation>
            </xsd:annotation>
            <xsd:complexType>
              <xsd:attributeGroup ref="sbgn:PointAttributes"/>
            </xsd:complexType>
          </xsd:element>
          <xsd:element name="next" minOccurs="0" maxOccurs="unbounded">
            <xsd:annotation>
              <xsd:documentation>
                <p>The next element represents the next point in the arc's path. Between the start and the end of the path, there can be any number (even zero) of next elements (intermediate points). They are read consecutively: start, next, next, ..., next, end. When the path from the previous point to this point is not straight, this element also contains a list of control points (between 1 and 2) describing a Bezier curve (quadratic if 1 control point, cubic if 2) between the previous point and this point.</p>
              </xsd:documentation>
            </xsd:annotation>
            <xsd:complexType>
              <xsd:sequence>
                <xsd:annotation>
                  <xsd:documentation>
                    <p>List of control points, used when the path describes a curve. The number of points describes the degree of the Bezier curve: linear (0), quadratic (1) or cubic (2)</p>
                  </xsd:documentation>
                </xsd:annotation>
                <xsd:element ref="sbgn:point" minOccurs="0" maxOccurs="2"/>
              </xsd:sequence>
              <xsd:attributeGroup ref="sbgn:PointAttributes"/>
            </xsd:complexType>
          </xsd:element>
          <xsd:element name="end" minOccurs="1" maxOccurs="1">
            <xsd:annotation>
              <xsd:documentation>
                <p>The end element represents the ending point of the arc's path. It is unique and mandatory. When the path from the previous point to this point is not straight, this element also contains a list of control points (between 1 and 2) describing a Bezier curve (quadratic if 1 control point, cubic if 2) between the previous point and this point.</p>
              </xsd:documentation>
            </xsd:annotation>
            <xsd:complexType>
              <xsd:sequence>
                <xsd:annotation>
                  <xsd:documentation>
                    <p>List of control points, used when the path describes a curve. The number of points describes the degree of the Bezier curve: linear (0), quadratic (1) or cubic (2)</p>
                  </xsd:documentation>
                </xsd:annotation>
                <xsd:element ref="sbgn:point" minOccurs="0" maxOccurs="2"/>
              </xsd:sequence>
              <xsd:attributeGroup ref="sbgn:PointAttributes"/>
            </xsd:complexType>
          </xsd:element>
        </xsd:sequence>
        <xsd:attribute name="class" use="required">
          <xsd:annotation>
            <xsd:documentation>
              <p>The class attribute defines the semantic of the arc, and influences:
                <ul>
                  <li>the way that arc should be rendered,</li>
                  <li>the overall syntactic validity of the map.</li>
                </ul>
              </p>
              <p>The various classes encompass all possible types of SBGN arcs:
                <ul>
                  <li>production and consumption arcs,</li>
                  <li>all types of modification arcs,</li>
                  <li>logic arcs,</li>
                  <li>equivalence arcs.</li>
                </ul>To express a reversible reaction, use production arcs on both sides of the Process Node.</p>
            </xsd:documentation>
          </xsd:annotation>
          <xsd:simpleType>
            <xsd:restriction base="xsd:string">
              <!-- PD only -->
              <xsd:enumeration value="production"/>
              <xsd:enumeration value="consumption"/>
              <xsd:enumeration value="catalysis"/>
              <!-- PD and ER -->
              <xsd:enumeration value="modulation"/>
              <xsd:enumeration value="stimulation"/>
              <xsd:enumeration value="inhibition"/>
              <!-- ER only -->
              <xsd:enumeration value="assignment"/>
              <xsd:enumeration value="interaction"/>
              <xsd:enumeration value="absolute inhibition"/>
              <xsd:enumeration value="absolute stimulation"/>
              <!-- AF only -->
              <xsd:enumeration value="positive influence"/>
              <xsd:enumeration value="negative influence"/>
              <xsd:enumeration value="unknown influence"/>
              <!-- PD and AF -->
              <xsd:enumeration value="equivalence arc"/>
              <!-- PD, ER and AF -->
              <xsd:enumeration value="necessary stimulation"/>
              <xsd:enumeration value="logic arc"/>
              <!-- NB Glyph classes are in a separate enumeration -->
            </xsd:restriction>
          </xsd:simpleType>
        </xsd:attribute>
        <xsd:attribute name="id" type="xsd:ID" use="required">
          <xsd:annotation>
            <xsd:documentation>
              <p>The xsd:ID type is an alphanumeric identifier, starting with a letter.</p>
            </xsd:documentation>
          </xsd:annotation>
        </xsd:attribute>
        <xsd:attribute name="source" type="xsd:IDREF" use="required">
          <xsd:annotation>
            <xsd:documentation>
              <p>The source attribute can refer:
                <ul>
                  <li>either to the id of a glyph,</li>
                  <li>or to the id of a port on a glyph.</li>
                </ul>
              </p>
            </xsd:documentation>
          </xsd:annotation>
        </xsd:attribute>
        <xsd:attribute name="target" type="xsd:IDREF" use="required">
          <xsd:annotation>
            <xsd:documentation>
              <p>The target attribute can refer:
                <ul>
                  <li>either to the id of a glyph,</li>
                  <li>or to the id of a port on a glyph.</li>
                </ul>
              </p>
            </xsd:documentation>
          </xsd:annotation>
        </xsd:attribute>
      </xsd:extension>
    </xsd:complexContent>
  </xsd:complexType>
</xsd:element>

Sample