<xsd:complexType name="ProductDefinition">
<xsd:sequence>
<xsd:element name="description" type="String" minOccurs="0">
<xsd:annotation>
<xsd:documentation>Optional "user-friendly" name for the product used for annotation purposes</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="conventions" type="ProductConventions" minOccurs="0" />
<xsd:choice minOccurs="0">
<xsd:element name="package" type="StandardPackage">
<xsd:annotation>
<xsd:documentation>Definition of a standard package that consists out of several products</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element ref="product">
<xsd:annotation>
<xsd:documentation>FpML product definition</xsd:documentation>
</xsd:annotation>
</xsd:element>
</xsd:choice>
<xsd:element ref="tradeSideReference" minOccurs="0">
<xsd:annotation>
<xsd:documentation>If this definition is for a single product, tradeSideReference can be of type tradeSideRelativeToSwapStream and refer to the swapStream id that determines the trade side. If this definition is for a standard package, tradeSideReference can be of type tradeSideRelativeToComponent which refers to the component product that determines the trade side.</xsd:documentation>
</xsd:annotation>
</xsd:element>
</xsd:sequence>
<xsd:attribute name="id" type="xsd:ID" />
</xsd:complexType>
|