<?xml version="1.0" encoding="UTF-8"?>
<!-- edited with XMLSpy v2008 (http://www.altova.com) by Gus Gassmann (Dalhousie University) -->
<!-- edited with XMLSPY v2004 rel. 3 U (http://www.xmlspy.com) by Jun Ma (Northwestern University) -->
<!-- schema stage stamping: experiment -> draft -> proposal -> recommendation -> finalization -> version 1.0, 1.1 2.0, ... -->
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns="os.optimizationservices.org" targetNamespace="os.optimizationservices.org" elementFormDefault="qualified" attributeFormDefault="unqualified">
	<!--OSnL: version - 2.0.0-->
	<!--Generic base scalar definitions since version 1.0.0: all functions that return a scalar value  -->
	<xs:element name="osnl">
		<xs:annotation>
			<xs:documentation>since version 1.0.0. </xs:documentation>
		</xs:annotation>
	</xs:element>
	<xs:complexType name="OSnLNode" mixed="false">
		<xs:annotation>
			<xs:documentation>since version 1.0.0. This is a generic node from which we derive operator nodes</xs:documentation>
		</xs:annotation>
	</xs:complexType>
	<xs:element name="OSnLNode" type="OSnLNode" abstract="true">
		<xs:annotation>
			<xs:documentation>  since version 1.0.0. Set abstract to true in order to create a substitution group</xs:documentation>
		</xs:annotation>
	</xs:element>
	<!--Generic base matrix definitions (draft): all functions that return a matrix value  -->
	<xs:complexType name="OSnLMNode" mixed="false">
		<xs:annotation>
			<xs:documentation>draft. This is a generic matrx node from which we derive matrix operator nodes</xs:documentation>
		</xs:annotation>
		<xs:complexContent mixed="false">
			<xs:extension base="OSnLNode"/>
		</xs:complexContent>
	</xs:complexType>
	<xs:element name="OSnLMNode" abstract="true">
		<xs:annotation>
			<xs:documentation> draft. Set abstract to true in order to create a substitution group</xs:documentation>
		</xs:annotation>
	</xs:element>
	<!--Arithmetic Nodes: since version 1.0.0  -->
	<xs:complexType name="OSnLNodePlus">
		<xs:annotation>
			<xs:documentation>since version 1.0.0. </xs:documentation>
		</xs:annotation>
		<xs:complexContent>
			<xs:extension base="OSnLNode">
				<xs:sequence minOccurs="2" maxOccurs="2">
					<xs:element ref="OSnLNode"/>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:element name="plus" type="OSnLNodePlus" substitutionGroup="OSnLNode">
		<xs:annotation>
			<xs:documentation>since version 1.0.0. </xs:documentation>
		</xs:annotation>
	</xs:element>
	<xs:complexType name="OSnLNodeSum">
		<xs:annotation>
			<xs:documentation>since version 1.0.0. </xs:documentation>
		</xs:annotation>
		<xs:complexContent>
			<xs:extension base="OSnLNode">
				<xs:sequence minOccurs="0" maxOccurs="unbounded">
					<xs:element ref="OSnLNode"/>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:element name="sum" type="OSnLNodeSum" substitutionGroup="OSnLNode">
		<xs:annotation>
			<xs:documentation>since version 1.0.0. </xs:documentation>
		</xs:annotation>
	</xs:element>
	<xs:complexType name="OSnLNodeMinus">
		<xs:annotation>
			<xs:documentation>since version 1.0.0. </xs:documentation>
		</xs:annotation>
		<xs:complexContent>
			<xs:extension base="OSnLNode">
				<xs:sequence minOccurs="2" maxOccurs="2">
					<xs:element ref="OSnLNode"/>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:element name="minus" type="OSnLNodeMinus" substitutionGroup="OSnLNode">
		<xs:annotation>
			<xs:documentation>since version 1.0.0. </xs:documentation>
		</xs:annotation>
	</xs:element>
	<xs:complexType name="OSnLNodeNegate">
		<xs:annotation>
			<xs:documentation>since version 1.0.0. </xs:documentation>
		</xs:annotation>
		<xs:complexContent>
			<xs:extension base="OSnLNode">
				<xs:sequence>
					<xs:element ref="OSnLNode"/>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:element name="negate" type="OSnLNodeNegate" substitutionGroup="OSnLNode">
		<xs:annotation>
			<xs:documentation>since version 1.0.0. </xs:documentation>
		</xs:annotation>
	</xs:element>
	<xs:complexType name="OSnLNodeTimes">
		<xs:annotation>
			<xs:documentation>since version 1.0.0. </xs:documentation>
		</xs:annotation>
		<xs:complexContent>
			<xs:extension base="OSnLNode">
				<xs:sequence minOccurs="2" maxOccurs="2">
					<xs:element ref="OSnLNode"/>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:element name="times" type="OSnLNodeTimes" substitutionGroup="OSnLNode">
		<xs:annotation>
			<xs:documentation>since version 1.0.0. </xs:documentation>
		</xs:annotation>
	</xs:element>
	<xs:complexType name="OSnLNodeDivide">
		<xs:annotation>
			<xs:documentation>since version 1.0.0. </xs:documentation>
		</xs:annotation>
		<xs:complexContent>
			<xs:extension base="OSnLNode">
				<xs:sequence minOccurs="2" maxOccurs="2">
					<xs:element ref="OSnLNode"/>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:element name="divide" type="OSnLNodeDivide" substitutionGroup="OSnLNode">
		<xs:annotation>
			<xs:documentation>since version 1.0.0. </xs:documentation>
		</xs:annotation>
	</xs:element>
	<xs:complexType name="OSnLNodeQuotient">
		<xs:annotation>
			<xs:documentation>since version 1.0.0. </xs:documentation>
		</xs:annotation>
		<xs:complexContent>
			<xs:extension base="OSnLNode">
				<xs:sequence minOccurs="2" maxOccurs="2">
					<xs:element ref="OSnLNode"/>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:element name="quotient" type="OSnLNodeQuotient" substitutionGroup="OSnLNode">
		<xs:annotation>
			<xs:documentation>since version 1.0.0. </xs:documentation>
		</xs:annotation>
	</xs:element>
	<xs:complexType name="OSnLNodeRem">
		<xs:annotation>
			<xs:documentation>since version 1.0.0. </xs:documentation>
		</xs:annotation>
		<xs:complexContent>
			<xs:extension base="OSnLNode">
				<xs:sequence minOccurs="2" maxOccurs="2">
					<xs:element ref="OSnLNode"/>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:element name="rem" type="OSnLNodeRem" substitutionGroup="OSnLNode">
		<xs:annotation>
			<xs:documentation>since version 1.0.0. </xs:documentation>
		</xs:annotation>
	</xs:element>
	<xs:complexType name="OSnLNodePower">
		<xs:annotation>
			<xs:documentation>since version 1.0.0. </xs:documentation>
		</xs:annotation>
		<xs:complexContent>
			<xs:extension base="OSnLNode">
				<xs:sequence minOccurs="2" maxOccurs="2">
					<xs:element ref="OSnLNode"/>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:element name="power" type="OSnLNodePower" substitutionGroup="OSnLNode">
		<xs:annotation>
			<xs:documentation>since version 1.0.0. </xs:documentation>
		</xs:annotation>
	</xs:element>
	<xs:complexType name="OSnLNodeProduct">
		<xs:annotation>
			<xs:documentation>since version 1.0.0. </xs:documentation>
		</xs:annotation>
		<xs:complexContent>
			<xs:extension base="OSnLNode">
				<xs:sequence minOccurs="0" maxOccurs="unbounded">
					<xs:element ref="OSnLNode"/>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:element name="product" type="OSnLNodeProduct" substitutionGroup="OSnLNode">
		<xs:annotation>
			<xs:documentation>since version 1.0.0. </xs:documentation>
		</xs:annotation>
	</xs:element>
	<!--Elementary Functions Node: since version 1.0.0-->
	<xs:complexType name="OSnLNodeAbs">
		<xs:annotation>
			<xs:documentation>since version 1.0.0. </xs:documentation>
		</xs:annotation>
		<xs:complexContent>
			<xs:extension base="OSnLNode">
				<xs:sequence>
					<xs:element ref="OSnLNode"/>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:element name="abs" type="OSnLNodeAbs" substitutionGroup="OSnLNode">
		<xs:annotation>
			<xs:documentation>since version 1.0.0. </xs:documentation>
		</xs:annotation>
	</xs:element>
	<xs:complexType name="OSnLNodeFloor">
		<xs:annotation>
			<xs:documentation>since version 1.0.0. </xs:documentation>
		</xs:annotation>
		<xs:complexContent>
			<xs:extension base="OSnLNode">
				<xs:sequence>
					<xs:element ref="OSnLNode"/>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:element name="floor" type="OSnLNodeFloor" substitutionGroup="OSnLNode">
		<xs:annotation>
			<xs:documentation>since version 1.0.0. </xs:documentation>
		</xs:annotation>
	</xs:element>
	<xs:complexType name="OSnLNodeCeiling">
		<xs:annotation>
			<xs:documentation>since version 1.0.0. </xs:documentation>
		</xs:annotation>
		<xs:complexContent>
			<xs:extension base="OSnLNode">
				<xs:sequence>
					<xs:element ref="OSnLNode"/>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:element name="ceiling" type="OSnLNodeCeiling" substitutionGroup="OSnLNode">
		<xs:annotation>
			<xs:documentation>since version 1.0.0. </xs:documentation>
		</xs:annotation>
	</xs:element>
	<xs:complexType name="OSnLNodePercent">
		<xs:annotation>
			<xs:documentation>since version 1.0.0. </xs:documentation>
		</xs:annotation>
		<xs:complexContent>
			<xs:extension base="OSnLNode">
				<xs:sequence>
					<xs:element ref="OSnLNode"/>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:element name="percent" type="OSnLNodePercent" substitutionGroup="OSnLNode">
		<xs:annotation>
			<xs:documentation>since version 1.0.0. </xs:documentation>
		</xs:annotation>
	</xs:element>
	<xs:complexType name="OSnLNodeSquare">
		<xs:annotation>
			<xs:documentation>since version 1.0.0. </xs:documentation>
		</xs:annotation>
		<xs:complexContent>
			<xs:extension base="OSnLNode">
				<xs:sequence>
					<xs:element ref="OSnLNode"/>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:element name="square" type="OSnLNodeSquare" substitutionGroup="OSnLNode">
		<xs:annotation>
			<xs:documentation>since version 1.0.0. </xs:documentation>
		</xs:annotation>
	</xs:element>
	<xs:complexType name="OSnLNodeSquareRoot">
		<xs:annotation>
			<xs:documentation>since version 1.0.0. </xs:documentation>
		</xs:annotation>
		<xs:complexContent>
			<xs:extension base="OSnLNode">
				<xs:sequence>
					<xs:element ref="OSnLNode"/>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:element name="squareRoot" type="OSnLNodeSquareRoot" substitutionGroup="OSnLNode">
		<xs:annotation>
			<xs:documentation>since version 1.0.0. </xs:documentation>
		</xs:annotation>
	</xs:element>
	<xs:complexType name="OSnLNodeLn">
		<xs:annotation>
			<xs:documentation>since version 1.0.0. </xs:documentation>
		</xs:annotation>
		<xs:complexContent>
			<xs:extension base="OSnLNode">
				<xs:sequence>
					<xs:element ref="OSnLNode"/>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:element name="ln" type="OSnLNodeLn" substitutionGroup="OSnLNode">
		<xs:annotation>
			<xs:documentation>since version 1.0.0. </xs:documentation>
		</xs:annotation>
	</xs:element>
	<xs:complexType name="OSnLNodeLog">
		<xs:annotation>
			<xs:documentation>since version 1.0.0. </xs:documentation>
		</xs:annotation>
		<xs:complexContent>
			<xs:extension base="OSnLNode">
				<xs:sequence minOccurs="2" maxOccurs="2">
					<xs:element ref="OSnLNode"/>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:element name="log" type="OSnLNodeLog" substitutionGroup="OSnLNode">
		<xs:annotation>
			<xs:documentation>since version 1.0.0. </xs:documentation>
		</xs:annotation>
	</xs:element>
	<xs:complexType name="OSnLNodeLog10">
		<xs:annotation>
			<xs:documentation>since version 1.0.0. </xs:documentation>
		</xs:annotation>
		<xs:complexContent>
			<xs:extension base="OSnLNode">
				<xs:sequence>
					<xs:element ref="OSnLNode"/>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:element name="log10" type="OSnLNodeLog10" substitutionGroup="OSnLNode">
		<xs:annotation>
			<xs:documentation>since version 1.0.0. </xs:documentation>
		</xs:annotation>
	</xs:element>
	<xs:complexType name="OSnLNodeExp">
		<xs:annotation>
			<xs:documentation>since version 1.0.0. </xs:documentation>
		</xs:annotation>
		<xs:complexContent>
			<xs:extension base="OSnLNode">
				<xs:sequence>
					<xs:element ref="OSnLNode"/>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:element name="exp" type="OSnLNodeExp" substitutionGroup="OSnLNode">
		<xs:annotation>
			<xs:documentation>since version 1.0.0. </xs:documentation>
		</xs:annotation>
	</xs:element>
	<xs:complexType name="OSnLNodeFactorial">
		<xs:annotation>
			<xs:documentation>since version 1.0.0. </xs:documentation>
		</xs:annotation>
		<xs:complexContent>
			<xs:extension base="OSnLNode">
				<xs:sequence>
					<xs:element ref="OSnLNode"/>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:element name="factorial" type="OSnLNodeFactorial" substitutionGroup="OSnLNode">
		<xs:annotation>
			<xs:documentation>since version 1.0.0. </xs:documentation>
		</xs:annotation>
	</xs:element>
	<xs:complexType name="OSnLNodeCombination">
		<xs:annotation>
			<xs:documentation>since version 1.0.0. </xs:documentation>
		</xs:annotation>
		<xs:complexContent>
			<xs:extension base="OSnLNode">
				<xs:sequence minOccurs="2" maxOccurs="2">
					<xs:element ref="OSnLNode"/>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:element name="combination" type="OSnLNodeCombination" substitutionGroup="OSnLNode">
		<xs:annotation>
			<xs:documentation>since version 1.0.0. </xs:documentation>
		</xs:annotation>
	</xs:element>
	<xs:complexType name="OSnLNodePermutation">
		<xs:annotation>
			<xs:documentation>since version 1.0.0. </xs:documentation>
		</xs:annotation>
		<xs:complexContent>
			<xs:extension base="OSnLNode">
				<xs:sequence minOccurs="2" maxOccurs="2">
					<xs:element ref="OSnLNode"/>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:element name="permutation" type="OSnLNodePermutation" substitutionGroup="OSnLNode">
		<xs:annotation>
			<xs:documentation>since version 1.0.0. </xs:documentation>
		</xs:annotation>
	</xs:element>
	<xs:complexType name="OSnLNodeGcd">
		<xs:annotation>
			<xs:documentation>since version 1.0.0. </xs:documentation>
		</xs:annotation>
		<xs:complexContent>
			<xs:extension base="OSnLNode">
				<xs:sequence maxOccurs="unbounded">
					<xs:element ref="OSnLNode"/>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:element name="gcd" type="OSnLNodeGcd" substitutionGroup="OSnLNode">
		<xs:annotation>
			<xs:documentation>since version 1.0.0. </xs:documentation>
		</xs:annotation>
	</xs:element>
	<xs:complexType name="OSnLNodeLcm">
		<xs:annotation>
			<xs:documentation>since version 1.0.0. </xs:documentation>
		</xs:annotation>
		<xs:complexContent>
			<xs:extension base="OSnLNode">
				<xs:sequence maxOccurs="unbounded">
					<xs:element ref="OSnLNode"/>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:element name="lcm" type="OSnLNodeLcm" substitutionGroup="OSnLNode">
		<xs:annotation>
			<xs:documentation>since version 1.0.0. </xs:documentation>
		</xs:annotation>
	</xs:element>
	<xs:complexType name="OSnLNodeRoundToInt">
		<xs:annotation>
			<xs:documentation>since version 1.0.0. </xs:documentation>
		</xs:annotation>
		<xs:complexContent>
			<xs:extension base="OSnLNode">
				<xs:sequence>
					<xs:element ref="OSnLNode"/>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:element name="roundToInt" type="OSnLNodeRoundToInt" substitutionGroup="OSnLNode">
		<xs:annotation>
			<xs:documentation>since version 1.0.0. </xs:documentation>
		</xs:annotation>
	</xs:element>
	<xs:complexType name="OSnLNodeRound">
		<xs:annotation>
			<xs:documentation>since version 1.0.0. </xs:documentation>
		</xs:annotation>
		<xs:complexContent>
			<xs:extension base="OSnLNode">
				<xs:sequence minOccurs="2" maxOccurs="2">
					<xs:element ref="OSnLNode"/>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:element name="round" type="OSnLNodeRound" substitutionGroup="OSnLNode">
		<xs:annotation>
			<xs:documentation>since version 1.0.0. </xs:documentation>
		</xs:annotation>
	</xs:element>
	<xs:complexType name="OSnLNodeTruncate">
		<xs:annotation>
			<xs:documentation>since version 1.0.0. </xs:documentation>
		</xs:annotation>
		<xs:complexContent>
			<xs:extension base="OSnLNode">
				<xs:sequence minOccurs="2" maxOccurs="2">
					<xs:element ref="OSnLNode"/>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:element name="truncate" type="OSnLNodeTruncate" substitutionGroup="OSnLNode">
		<xs:annotation>
			<xs:documentation>since version 1.0.0. </xs:documentation>
		</xs:annotation>
	</xs:element>
	<xs:complexType name="OSnLNodeSign">
		<xs:annotation>
			<xs:documentation>since version 1.0.0. </xs:documentation>
		</xs:annotation>
		<xs:complexContent>
			<xs:extension base="OSnLNode">
				<xs:sequence>
					<xs:element ref="OSnLNode"/>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:element name="sign" type="OSnLNodeSign" substitutionGroup="OSnLNode">
		<xs:annotation>
			<xs:documentation>since version 1.0.0. </xs:documentation>
		</xs:annotation>
	</xs:element>
	<xs:complexType name="OSnLNodeRand">
		<xs:annotation>
			<xs:documentation>since version 1.0.0. </xs:documentation>
		</xs:annotation>
		<xs:complexContent>
			<xs:extension base="OSnLNode">
				<xs:sequence minOccurs="0">
					<xs:element ref="OSnLNode"/>
				</xs:sequence>
				<xs:attribute name="distrIdx" type="xs:string" use="optional"/>
				<xs:attribute name="distrVarIdx" type="xs:nonNegativeInteger" use="optional" default="0"/>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:element name="rand" type="OSnLNodeRand" substitutionGroup="OSnLNode">
		<xs:annotation>
			<xs:documentation>since version 1.0.0. </xs:documentation>
		</xs:annotation>
	</xs:element>
	<xs:complexType name="OSnLNodeGammaFn">
		<xs:annotation>
			<xs:documentation>since version 1.0.0. </xs:documentation>
		</xs:annotation>
		<xs:complexContent>
			<xs:extension base="OSnLNode">
				<xs:sequence>
					<xs:element ref="OSnLNode"/>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:element name="gammaFn" type="OSnLNodeGammaFn" substitutionGroup="OSnLNode">
		<xs:annotation>
			<xs:documentation>since version 1.0.0. </xs:documentation>
		</xs:annotation>
	</xs:element>
	<xs:complexType name="OSnLNodeGammaLn">
		<xs:annotation>
			<xs:documentation>since version 1.0.0. </xs:documentation>
		</xs:annotation>
		<xs:complexContent>
			<xs:extension base="OSnLNode">
				<xs:sequence>
					<xs:element ref="OSnLNode"/>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:element name="gammaLn" type="OSnLNodeGammaLn" substitutionGroup="OSnLNode">
		<xs:annotation>
			<xs:documentation>since version 1.0.0. </xs:documentation>
		</xs:annotation>
	</xs:element>
	<!--Trigonometric Functions Node: since version 1.0.0-->
	<xs:complexType name="OSnLNodeSin">
		<xs:annotation>
			<xs:documentation>since version 1.0.0. </xs:documentation>
		</xs:annotation>
		<xs:complexContent>
			<xs:extension base="OSnLNode">
				<xs:sequence>
					<xs:element ref="OSnLNode"/>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:element name="sin" type="OSnLNodeSin" substitutionGroup="OSnLNode">
		<xs:annotation>
			<xs:documentation>since version 1.0.0. </xs:documentation>
		</xs:annotation>
	</xs:element>
	<xs:complexType name="OSnLNodeCos">
		<xs:annotation>
			<xs:documentation>since version 1.0.0. </xs:documentation>
		</xs:annotation>
		<xs:complexContent>
			<xs:extension base="OSnLNode">
				<xs:sequence>
					<xs:element ref="OSnLNode"/>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:element name="cos" type="OSnLNodeCos" substitutionGroup="OSnLNode">
		<xs:annotation>
			<xs:documentation>since version 1.0.0. </xs:documentation>
		</xs:annotation>
	</xs:element>
	<xs:complexType name="OSnLNodeTan">
		<xs:annotation>
			<xs:documentation>since version 1.0.0. </xs:documentation>
		</xs:annotation>
		<xs:complexContent>
			<xs:extension base="OSnLNode">
				<xs:sequence>
					<xs:element ref="OSnLNode"/>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:element name="tan" type="OSnLNodeTan" substitutionGroup="OSnLNode">
		<xs:annotation>
			<xs:documentation>since version 1.0.0. </xs:documentation>
		</xs:annotation>
	</xs:element>
	<xs:complexType name="OSnLNodeArcsin">
		<xs:annotation>
			<xs:documentation>since version 1.0.0. </xs:documentation>
		</xs:annotation>
		<xs:complexContent>
			<xs:extension base="OSnLNode">
				<xs:sequence>
					<xs:element ref="OSnLNode"/>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:element name="arcsin" type="OSnLNodeArcsin" substitutionGroup="OSnLNode">
		<xs:annotation>
			<xs:documentation>since version 1.0.0. </xs:documentation>
		</xs:annotation>
	</xs:element>
	<xs:complexType name="OSnLNodeArccos">
		<xs:annotation>
			<xs:documentation>since version 1.0.0. </xs:documentation>
		</xs:annotation>
		<xs:complexContent>
			<xs:extension base="OSnLNode">
				<xs:sequence>
					<xs:element ref="OSnLNode"/>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:element name="arccos" type="OSnLNodeArccos" substitutionGroup="OSnLNode">
		<xs:annotation>
			<xs:documentation>since version 1.0.0. </xs:documentation>
		</xs:annotation>
	</xs:element>
	<xs:complexType name="OSnLNodeArctan">
		<xs:annotation>
			<xs:documentation>since version 1.0.0. </xs:documentation>
		</xs:annotation>
		<xs:complexContent>
			<xs:extension base="OSnLNode">
				<xs:sequence>
					<xs:element ref="OSnLNode"/>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:element name="arctan" type="OSnLNodeArctan" substitutionGroup="OSnLNode">
		<xs:annotation>
			<xs:documentation>since version 1.0.0. </xs:documentation>
		</xs:annotation>
	</xs:element>
	<xs:complexType name="OSnLNodeSinh">
		<xs:annotation>
			<xs:documentation>since version 1.0.0. </xs:documentation>
		</xs:annotation>
		<xs:complexContent>
			<xs:extension base="OSnLNode">
				<xs:sequence>
					<xs:element ref="OSnLNode"/>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:element name="sinh" type="OSnLNodeSinh" substitutionGroup="OSnLNode">
		<xs:annotation>
			<xs:documentation>since version 1.0.0. </xs:documentation>
		</xs:annotation>
	</xs:element>
	<xs:complexType name="OSnLNodeCosh">
		<xs:annotation>
			<xs:documentation>since version 1.0.0. </xs:documentation>
		</xs:annotation>
		<xs:complexContent>
			<xs:extension base="OSnLNode">
				<xs:sequence>
					<xs:element ref="OSnLNode"/>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:element name="cosh" type="OSnLNodeCosh" substitutionGroup="OSnLNode">
		<xs:annotation>
			<xs:documentation>since version 1.0.0. </xs:documentation>
		</xs:annotation>
	</xs:element>
	<xs:complexType name="OSnLNodeTanh">
		<xs:annotation>
			<xs:documentation>since version 1.0.0. </xs:documentation>
		</xs:annotation>
		<xs:complexContent>
			<xs:extension base="OSnLNode">
				<xs:sequence>
					<xs:element ref="OSnLNode"/>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:element name="tanh" type="OSnLNodeTanh" substitutionGroup="OSnLNode">
		<xs:annotation>
			<xs:documentation>since version 1.0.0. </xs:documentation>
		</xs:annotation>
	</xs:element>
	<xs:complexType name="OSnLNodeArcsinh">
		<xs:annotation>
			<xs:documentation>since version 1.0.0. </xs:documentation>
		</xs:annotation>
		<xs:complexContent>
			<xs:extension base="OSnLNode">
				<xs:sequence>
					<xs:element ref="OSnLNode"/>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:element name="arcsinh" type="OSnLNodeArcsinh" substitutionGroup="OSnLNode">
		<xs:annotation>
			<xs:documentation>since version 1.0.0. </xs:documentation>
		</xs:annotation>
	</xs:element>
	<xs:complexType name="OSnLNodeArccosh">
		<xs:annotation>
			<xs:documentation>since version 1.0.0. </xs:documentation>
		</xs:annotation>
		<xs:complexContent>
			<xs:extension base="OSnLNode">
				<xs:sequence>
					<xs:element ref="OSnLNode"/>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:element name="arccosh" type="OSnLNodeArccosh" substitutionGroup="OSnLNode">
		<xs:annotation>
			<xs:documentation>since version 1.0.0. </xs:documentation>
		</xs:annotation>
	</xs:element>
	<xs:complexType name="OSnLNodeArctanh">
		<xs:annotation>
			<xs:documentation>since version 1.0.0. </xs:documentation>
		</xs:annotation>
		<xs:complexContent>
			<xs:extension base="OSnLNode">
				<xs:sequence>
					<xs:element ref="OSnLNode"/>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:element name="arctanh" type="OSnLNodeArctanh" substitutionGroup="OSnLNode">
		<xs:annotation>
			<xs:documentation>since version 1.0.0. </xs:documentation>
		</xs:annotation>
	</xs:element>
	<xs:complexType name="OSnLNodeCot">
		<xs:annotation>
			<xs:documentation>since version 1.0.0. </xs:documentation>
		</xs:annotation>
		<xs:complexContent>
			<xs:extension base="OSnLNode">
				<xs:sequence>
					<xs:element ref="OSnLNode"/>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:element name="cot" type="OSnLNodeCot" substitutionGroup="OSnLNode">
		<xs:annotation>
			<xs:documentation>since version 1.0.0. </xs:documentation>
		</xs:annotation>
	</xs:element>
	<xs:complexType name="OSnLNodeCoth">
		<xs:annotation>
			<xs:documentation>since version 1.0.0. </xs:documentation>
		</xs:annotation>
		<xs:complexContent>
			<xs:extension base="OSnLNode">
				<xs:sequence>
					<xs:element ref="OSnLNode"/>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:element name="coth" type="OSnLNodeCoth" substitutionGroup="OSnLNode">
		<xs:annotation>
			<xs:documentation>since version 1.0.0. </xs:documentation>
		</xs:annotation>
	</xs:element>
	<xs:complexType name="OSnLNodeArccot">
		<xs:annotation>
			<xs:documentation>since version 1.0.0. </xs:documentation>
		</xs:annotation>
		<xs:complexContent>
			<xs:extension base="OSnLNode">
				<xs:sequence>
					<xs:element ref="OSnLNode"/>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:element name="arccot" type="OSnLNodeArccot" substitutionGroup="OSnLNode">
		<xs:annotation>
			<xs:documentation>since version 1.0.0. </xs:documentation>
		</xs:annotation>
	</xs:element>
	<xs:complexType name="OSnLNodeArccoth">
		<xs:annotation>
			<xs:documentation>since version 1.0.0. </xs:documentation>
		</xs:annotation>
		<xs:complexContent>
			<xs:extension base="OSnLNode">
				<xs:sequence>
					<xs:element ref="OSnLNode"/>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:element name="arccoth" type="OSnLNodeArccoth" substitutionGroup="OSnLNode">
		<xs:annotation>
			<xs:documentation>since version 1.0.0. </xs:documentation>
		</xs:annotation>
	</xs:element>
	<xs:complexType name="OSnLNodeSec">
		<xs:annotation>
			<xs:documentation>since version 1.0.0. </xs:documentation>
		</xs:annotation>
		<xs:complexContent>
			<xs:extension base="OSnLNode">
				<xs:sequence>
					<xs:element ref="OSnLNode"/>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:element name="sec" type="OSnLNodeSec" substitutionGroup="OSnLNode">
		<xs:annotation>
			<xs:documentation>since version 1.0.0. </xs:documentation>
		</xs:annotation>
	</xs:element>
	<xs:complexType name="OSnLNodeSech">
		<xs:annotation>
			<xs:documentation>since version 1.0.0. </xs:documentation>
		</xs:annotation>
		<xs:complexContent>
			<xs:extension base="OSnLNode">
				<xs:sequence>
					<xs:element ref="OSnLNode"/>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:element name="sech" type="OSnLNodeSech" substitutionGroup="OSnLNode">
		<xs:annotation>
			<xs:documentation>since version 1.0.0. </xs:documentation>
		</xs:annotation>
	</xs:element>
	<xs:complexType name="OSnLNodeArcsec">
		<xs:annotation>
			<xs:documentation>since version 1.0.0. </xs:documentation>
		</xs:annotation>
		<xs:complexContent>
			<xs:extension base="OSnLNode">
				<xs:sequence>
					<xs:element ref="OSnLNode"/>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:element name="arcsec" type="OSnLNodeArcsec" substitutionGroup="OSnLNode">
		<xs:annotation>
			<xs:documentation>since version 1.0.0. </xs:documentation>
		</xs:annotation>
	</xs:element>
	<xs:complexType name="OSnLNodeArcsech">
		<xs:annotation>
			<xs:documentation>since version 1.0.0. </xs:documentation>
		</xs:annotation>
		<xs:complexContent>
			<xs:extension base="OSnLNode">
				<xs:sequence>
					<xs:element ref="OSnLNode"/>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:element name="arcsech" type="OSnLNodeArcsech" substitutionGroup="OSnLNode">
		<xs:annotation>
			<xs:documentation>since version 1.0.0. </xs:documentation>
		</xs:annotation>
	</xs:element>
	<xs:complexType name="OSnLNodeCsc">
		<xs:annotation>
			<xs:documentation>since version 1.0.0. </xs:documentation>
		</xs:annotation>
		<xs:complexContent>
			<xs:extension base="OSnLNode">
				<xs:sequence>
					<xs:element ref="OSnLNode"/>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:element name="csc" type="OSnLNodeCsc" substitutionGroup="OSnLNode">
		<xs:annotation>
			<xs:documentation>since version 1.0.0. </xs:documentation>
		</xs:annotation>
	</xs:element>
	<xs:complexType name="OSnLNodeCsch">
		<xs:annotation>
			<xs:documentation>since version 1.0.0. </xs:documentation>
		</xs:annotation>
		<xs:complexContent>
			<xs:extension base="OSnLNode">
				<xs:sequence>
					<xs:element ref="OSnLNode"/>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:element name="csch" type="OSnLNodeCsch" substitutionGroup="OSnLNode">
		<xs:annotation>
			<xs:documentation>since version 1.0.0. </xs:documentation>
		</xs:annotation>
	</xs:element>
	<xs:complexType name="OSnLNodeArccsc">
		<xs:annotation>
			<xs:documentation>since version 1.0.0. </xs:documentation>
		</xs:annotation>
		<xs:complexContent>
			<xs:extension base="OSnLNode">
				<xs:sequence>
					<xs:element ref="OSnLNode"/>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:element name="arccsc" type="OSnLNodeArccsc" substitutionGroup="OSnLNode">
		<xs:annotation>
			<xs:documentation>since version 1.0.0. </xs:documentation>
		</xs:annotation>
	</xs:element>
	<xs:complexType name="OSnLNodeArccsch">
		<xs:annotation>
			<xs:documentation>since version 1.0.0. </xs:documentation>
		</xs:annotation>
		<xs:complexContent>
			<xs:extension base="OSnLNode">
				<xs:sequence>
					<xs:element ref="OSnLNode"/>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:element name="arcscsch" type="OSnLNodeArccsch" substitutionGroup="OSnLNode">
		<xs:annotation>
			<xs:documentation>since version 1.0.0. </xs:documentation>
		</xs:annotation>
	</xs:element>
	<!--Statistics and Probability Nodes: since version 1.0.0  -->
	<xs:complexType name="OSnLNodeMean">
		<xs:annotation>
			<xs:documentation>since version 1.0.0. </xs:documentation>
		</xs:annotation>
		<xs:complexContent>
			<xs:extension base="OSnLNode">
				<xs:sequence maxOccurs="unbounded">
					<xs:element ref="OSnLNode"/>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:element name="mean" type="OSnLNodeMean" substitutionGroup="OSnLNode">
		<xs:annotation>
			<xs:documentation>since version 1.0.0. </xs:documentation>
		</xs:annotation>
	</xs:element>
	<xs:complexType name="OSnLNodeGeometricMean">
		<xs:annotation>
			<xs:documentation>since version 1.0.0. </xs:documentation>
		</xs:annotation>
		<xs:complexContent>
			<xs:extension base="OSnLNode">
				<xs:sequence maxOccurs="unbounded">
					<xs:element ref="OSnLNode"/>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:element name="geometricMean" type="OSnLNodeGeometricMean" substitutionGroup="OSnLNode">
		<xs:annotation>
			<xs:documentation>since version 1.0.0. </xs:documentation>
		</xs:annotation>
	</xs:element>
	<xs:complexType name="OSnLNodeHarmonicMean">
		<xs:annotation>
			<xs:documentation>since version 1.0.0. </xs:documentation>
		</xs:annotation>
		<xs:complexContent>
			<xs:extension base="OSnLNode">
				<xs:sequence maxOccurs="unbounded">
					<xs:element ref="OSnLNode"/>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:element name="harmonicMean" type="OSnLNodeHarmonicMean" substitutionGroup="OSnLNode">
		<xs:annotation>
			<xs:documentation>since version 1.0.0. </xs:documentation>
		</xs:annotation>
	</xs:element>
	<xs:complexType name="OSnLNodeTrimMean">
		<xs:annotation>
			<xs:documentation>since version 1.0.0. </xs:documentation>
		</xs:annotation>
		<xs:complexContent>
			<xs:extension base="OSnLNode">
				<xs:sequence minOccurs="2" maxOccurs="unbounded">
					<xs:element ref="OSnLNode"/>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:element name="trimMean" type="OSnLNodeTrimMean" substitutionGroup="OSnLNode">
		<xs:annotation>
			<xs:documentation>since version 1.0.0. </xs:documentation>
		</xs:annotation>
	</xs:element>
	<xs:complexType name="OSnLNodeCount">
		<xs:annotation>
			<xs:documentation>since version 1.0.0. </xs:documentation>
		</xs:annotation>
		<xs:complexContent>
			<xs:extension base="OSnLNode">
				<xs:sequence maxOccurs="unbounded">
					<xs:element ref="OSnLNode"/>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:element name="count" type="OSnLNodeCount" substitutionGroup="OSnLNode">
		<xs:annotation>
			<xs:documentation>since version 1.0.0. </xs:documentation>
		</xs:annotation>
	</xs:element>
	<xs:complexType name="OSnLNodeMedian">
		<xs:annotation>
			<xs:documentation>since version 1.0.0. </xs:documentation>
		</xs:annotation>
		<xs:complexContent>
			<xs:extension base="OSnLNode">
				<xs:sequence maxOccurs="unbounded">
					<xs:element ref="OSnLNode"/>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:element name="median" type="OSnLNodeMedian" substitutionGroup="OSnLNode">
		<xs:annotation>
			<xs:documentation>since version 1.0.0. </xs:documentation>
		</xs:annotation>
	</xs:element>
	<xs:complexType name="OSnLNodeFirstQuartile">
		<xs:annotation>
			<xs:documentation>since version 1.0.0. </xs:documentation>
		</xs:annotation>
		<xs:complexContent>
			<xs:extension base="OSnLNode">
				<xs:sequence maxOccurs="unbounded">
					<xs:element ref="OSnLNode"/>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:element name="firstQuartile" type="OSnLNodeFirstQuartile" substitutionGroup="OSnLNode">
		<xs:annotation>
			<xs:documentation>since version 1.0.0. </xs:documentation>
		</xs:annotation>
	</xs:element>
	<xs:complexType name="OSnLNodeThirdQuartile">
		<xs:annotation>
			<xs:documentation>since version 1.0.0. </xs:documentation>
		</xs:annotation>
		<xs:complexContent>
			<xs:extension base="OSnLNode">
				<xs:sequence maxOccurs="unbounded">
					<xs:element ref="OSnLNode"/>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:element name="thirdQuartile" type="OSnLNodeThirdQuartile" substitutionGroup="OSnLNode">
		<xs:annotation>
			<xs:documentation>since version 1.0.0. </xs:documentation>
		</xs:annotation>
	</xs:element>
	<xs:complexType name="OSnLNodeMode">
		<xs:annotation>
			<xs:documentation>since version 1.0.0. </xs:documentation>
		</xs:annotation>
		<xs:complexContent>
			<xs:extension base="OSnLNode">
				<xs:sequence maxOccurs="unbounded">
					<xs:element ref="OSnLNode"/>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:element name="mode" type="OSnLNodeMode" substitutionGroup="OSnLNode">
		<xs:annotation>
			<xs:documentation>since version 1.0.0. </xs:documentation>
		</xs:annotation>
	</xs:element>
	<xs:complexType name="OSnLNodeMin">
		<xs:annotation>
			<xs:documentation>since version 1.0.0. </xs:documentation>
		</xs:annotation>
		<xs:complexContent>
			<xs:extension base="OSnLNode">
				<xs:sequence minOccurs="0" maxOccurs="unbounded">
					<xs:element ref="OSnLNode"/>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:element name="min" type="OSnLNodeMin" substitutionGroup="OSnLNode">
		<xs:annotation>
			<xs:documentation>since version 1.0.0. </xs:documentation>
		</xs:annotation>
	</xs:element>
	<xs:complexType name="OSnLNodeMax">
		<xs:annotation>
			<xs:documentation>since version 1.0.0. </xs:documentation>
		</xs:annotation>
		<xs:complexContent>
			<xs:extension base="OSnLNode">
				<xs:sequence minOccurs="0" maxOccurs="unbounded">
					<xs:element ref="OSnLNode"/>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:element name="max" type="OSnLNodeMax" substitutionGroup="OSnLNode">
		<xs:annotation>
			<xs:documentation>since version 1.0.0. </xs:documentation>
		</xs:annotation>
	</xs:element>
	<xs:complexType name="OSnLNodePercentile">
		<xs:annotation>
			<xs:documentation>since version 1.0.0. </xs:documentation>
		</xs:annotation>
		<xs:complexContent>
			<xs:extension base="OSnLNode">
				<xs:sequence minOccurs="2" maxOccurs="unbounded">
					<xs:element ref="OSnLNode"/>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:element name="percentile" type="OSnLNodePercentile" substitutionGroup="OSnLNode">
		<xs:annotation>
			<xs:documentation>since version 1.0.0. </xs:documentation>
		</xs:annotation>
	</xs:element>
	<xs:complexType name="OSnLNodeLarge">
		<xs:annotation>
			<xs:documentation>since version 1.0.0. </xs:documentation>
		</xs:annotation>
		<xs:complexContent>
			<xs:extension base="OSnLNode">
				<xs:sequence minOccurs="2" maxOccurs="unbounded">
					<xs:element ref="OSnLNode"/>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:element name="large" type="OSnLNodeLarge" substitutionGroup="OSnLNode">
		<xs:annotation>
			<xs:documentation>since version 1.0.0. </xs:documentation>
		</xs:annotation>
	</xs:element>
	<xs:complexType name="OSnLNodeSmall">
		<xs:annotation>
			<xs:documentation>since version 1.0.0. </xs:documentation>
		</xs:annotation>
		<xs:complexContent>
			<xs:extension base="OSnLNode">
				<xs:sequence minOccurs="2" maxOccurs="unbounded">
					<xs:element ref="OSnLNode"/>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:element name="small" type="OSnLNodeSmall" substitutionGroup="OSnLNode">
		<xs:annotation>
			<xs:documentation>since version 1.0.0. </xs:documentation>
		</xs:annotation>
	</xs:element>
	<xs:complexType name="OSnLNodeRange">
		<xs:annotation>
			<xs:documentation>since version 1.0.0. </xs:documentation>
		</xs:annotation>
		<xs:complexContent>
			<xs:extension base="OSnLNode">
				<xs:sequence maxOccurs="unbounded">
					<xs:element ref="OSnLNode"/>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:element name="range" type="OSnLNodeRange" substitutionGroup="OSnLNode">
		<xs:annotation>
			<xs:documentation>since version 1.0.0. </xs:documentation>
		</xs:annotation>
	</xs:element>
	<xs:complexType name="OSnLNodeInterQuantileRange">
		<xs:annotation>
			<xs:documentation>since version 1.0.0. </xs:documentation>
		</xs:annotation>
		<xs:complexContent>
			<xs:extension base="OSnLNode">
				<xs:sequence maxOccurs="unbounded">
					<xs:element ref="OSnLNode"/>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:element name="interQuantileRange" type="OSnLNodeInterQuantileRange" substitutionGroup="OSnLNode">
		<xs:annotation>
			<xs:documentation>since version 1.0.0. </xs:documentation>
		</xs:annotation>
	</xs:element>
	<xs:complexType name="OSnLNodeAbsdev">
		<xs:annotation>
			<xs:documentation>since version 1.0.0. </xs:documentation>
		</xs:annotation>
		<xs:complexContent>
			<xs:extension base="OSnLNode">
				<xs:sequence maxOccurs="unbounded">
					<xs:element ref="OSnLNode"/>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:element name="absdev" type="OSnLNodeAbsdev" substitutionGroup="OSnLNode">
		<xs:annotation>
			<xs:documentation>since version 1.0.0. </xs:documentation>
		</xs:annotation>
	</xs:element>
	<xs:complexType name="OSnLNodeStddev">
		<xs:annotation>
			<xs:documentation>since version 1.0.0. </xs:documentation>
		</xs:annotation>
		<xs:complexContent>
			<xs:extension base="OSnLNode">
				<xs:sequence maxOccurs="unbounded">
					<xs:element ref="OSnLNode"/>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:element name="stddev" type="OSnLNodeStddev" substitutionGroup="OSnLNode">
		<xs:annotation>
			<xs:documentation>since version 1.0.0. </xs:documentation>
		</xs:annotation>
	</xs:element>
	<xs:complexType name="OSnLNodeVariance">
		<xs:annotation>
			<xs:documentation>since version 1.0.0. </xs:documentation>
		</xs:annotation>
		<xs:complexContent>
			<xs:extension base="OSnLNode">
				<xs:sequence maxOccurs="unbounded">
					<xs:element ref="OSnLNode"/>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:element name="variance" type="OSnLNodeVariance" substitutionGroup="OSnLNode">
		<xs:annotation>
			<xs:documentation>since version 1.0.0. </xs:documentation>
		</xs:annotation>
	</xs:element>
	<xs:complexType name="OSnLNodeCv">
		<xs:annotation>
			<xs:documentation>since version 1.0.0. </xs:documentation>
		</xs:annotation>
		<xs:complexContent>
			<xs:extension base="OSnLNode">
				<xs:sequence maxOccurs="unbounded">
					<xs:element ref="OSnLNode"/>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:element name="cv" type="OSnLNodeCv" substitutionGroup="OSnLNode">
		<xs:annotation>
			<xs:documentation>since version 1.0.0. </xs:documentation>
		</xs:annotation>
	</xs:element>
	<xs:complexType name="OSnLNodeSkewness">
		<xs:annotation>
			<xs:documentation>since version 1.0.0. </xs:documentation>
		</xs:annotation>
		<xs:complexContent>
			<xs:extension base="OSnLNode">
				<xs:sequence maxOccurs="unbounded">
					<xs:element ref="OSnLNode"/>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:element name="skewness" type="OSnLNodeSkewness" substitutionGroup="OSnLNode">
		<xs:annotation>
			<xs:documentation>since version 1.0.0. </xs:documentation>
		</xs:annotation>
	</xs:element>
	<xs:complexType name="OSnLNodeKurtosis">
		<xs:annotation>
			<xs:documentation>since version 1.0.0. </xs:documentation>
		</xs:annotation>
		<xs:complexContent>
			<xs:extension base="OSnLNode">
				<xs:sequence maxOccurs="unbounded">
					<xs:element ref="OSnLNode"/>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:element name="kurtosis" type="OSnLNodeKurtosis" substitutionGroup="OSnLNode">
		<xs:annotation>
			<xs:documentation>since version 1.0.0. </xs:documentation>
		</xs:annotation>
	</xs:element>
	<xs:complexType name="OSnLNodeCovariance">
		<xs:annotation>
			<xs:documentation>since version 1.0.0. </xs:documentation>
		</xs:annotation>
		<xs:complexContent>
			<xs:extension base="OSnLNode">
				<xs:sequence minOccurs="4" maxOccurs="unbounded">
					<xs:element ref="OSnLNode"/>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:element name="covariance" type="OSnLNodeCovariance" substitutionGroup="OSnLNode">
		<xs:annotation>
			<xs:documentation>since version 1.0.0. </xs:documentation>
		</xs:annotation>
	</xs:element>
	<xs:complexType name="OSnLNodeCorrelation">
		<xs:annotation>
			<xs:documentation>since version 1.0.0. </xs:documentation>
		</xs:annotation>
		<xs:complexContent>
			<xs:extension base="OSnLNode">
				<xs:sequence minOccurs="4" maxOccurs="unbounded">
					<xs:element ref="OSnLNode"/>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:element name="correlation" type="OSnLNodeCorrelation" substitutionGroup="OSnLNode">
		<xs:annotation>
			<xs:documentation>since version 1.0.0. </xs:documentation>
		</xs:annotation>
	</xs:element>
	<xs:complexType name="OSnLNodePearsonCorrelation">
		<xs:annotation>
			<xs:documentation>since version 1.0.0. </xs:documentation>
		</xs:annotation>
		<xs:complexContent>
			<xs:extension base="OSnLNode">
				<xs:sequence minOccurs="4" maxOccurs="unbounded">
					<xs:element ref="OSnLNode"/>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:element name="pearsonCorrelation" type="OSnLNodePearsonCorrelation" substitutionGroup="OSnLNode">
		<xs:annotation>
			<xs:documentation>since version 1.0.0. </xs:documentation>
		</xs:annotation>
	</xs:element>
	<xs:complexType name="OSnLNodeRankCorrelation">
		<xs:annotation>
			<xs:documentation>since version 1.0.0. </xs:documentation>
		</xs:annotation>
		<xs:complexContent>
			<xs:extension base="OSnLNode">
				<xs:sequence minOccurs="4" maxOccurs="unbounded">
					<xs:element ref="OSnLNode"/>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:element name="rankCorrelation" type="OSnLNodeRankCorrelation" substitutionGroup="OSnLNode">
		<xs:annotation>
			<xs:documentation>since version 1.0.0. </xs:documentation>
		</xs:annotation>
	</xs:element>
	<xs:complexType name="OSnLNodeAutoCorrelation1">
		<xs:annotation>
			<xs:documentation>since version 1.0.0. </xs:documentation>
		</xs:annotation>
		<xs:complexContent>
			<xs:extension base="OSnLNode">
				<xs:sequence minOccurs="2" maxOccurs="unbounded">
					<xs:element ref="OSnLNode"/>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:element name="autoCorrelation1" type="OSnLNodeAutoCorrelation1" substitutionGroup="OSnLNode">
		<xs:annotation>
			<xs:documentation>since version 1.0.0. </xs:documentation>
		</xs:annotation>
	</xs:element>
	<xs:complexType name="OSnLNodeAutoCorrelation">
		<xs:annotation>
			<xs:documentation>since version 1.0.0. </xs:documentation>
		</xs:annotation>
		<xs:complexContent>
			<xs:extension base="OSnLNode">
				<xs:sequence minOccurs="3" maxOccurs="unbounded">
					<xs:element ref="OSnLNode"/>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:element name="autoCorrelation" type="OSnLNodeAutoCorrelation" substitutionGroup="OSnLNode">
		<xs:annotation>
			<xs:documentation>since version 1.0.0. </xs:documentation>
		</xs:annotation>
	</xs:element>
	<xs:complexType name="OSnLNodeNpv">
		<xs:annotation>
			<xs:documentation>since version 1.0.0. </xs:documentation>
		</xs:annotation>
		<xs:complexContent>
			<xs:extension base="OSnLNode">
				<xs:sequence minOccurs="2" maxOccurs="unbounded">
					<xs:element ref="OSnLNode"/>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:element name="npv" type="OSnLNodeNpv" substitutionGroup="OSnLNode">
		<xs:annotation>
			<xs:documentation>since version 1.0.0. </xs:documentation>
		</xs:annotation>
	</xs:element>
	<xs:complexType name="OSnLNodeIrr">
		<xs:annotation>
			<xs:documentation>since version 1.0.0. </xs:documentation>
		</xs:annotation>
		<xs:complexContent>
			<xs:extension base="OSnLNode">
				<xs:sequence minOccurs="2" maxOccurs="unbounded">
					<xs:element ref="OSnLNode"/>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:element name="irr" type="OSnLNodeIrr" substitutionGroup="OSnLNode">
		<xs:annotation>
			<xs:documentation>since version 1.0.0. </xs:documentation>
		</xs:annotation>
	</xs:element>
	<xs:complexType name="OSnLNodeErf">
		<xs:annotation>
			<xs:documentation>since version 2.0.0. </xs:documentation>
		</xs:annotation>
		<xs:complexContent>
			<xs:extension base="OSnLNode">
				<xs:sequence>
					<xs:element ref="OSnLNode"/>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:element name="erf" type="OSnLNodeErf" substitutionGroup="OSnLNode">
		<xs:annotation>
			<xs:documentation>since version 1.0.0. </xs:documentation>
		</xs:annotation>
	</xs:element>
	<!--<xs:complexType name="OSnLNodeEmpiricalDiscreteDist">
		<xs:complexContent>
			<xs:extension base="OSnLNode">
				<xs:sequence minOccurs="3" maxOccurs="unbounded">
					<xs:element ref="OSnLNode"/>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:element name="empiricalDiscreteDist" type="OSnLNodeEmpiricalDiscreteDist" substitutionGroup="OSnLNode"/>
	<xs:complexType name="OSnLNodeEmpiricalDiscreteCum">
		<xs:complexContent>
			<xs:extension base="OSnLNode">
				<xs:sequence minOccurs="3" maxOccurs="unbounded">
					<xs:element ref="OSnLNode"/>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:element name="empiricalDiscreteCum" type="OSnLNodeEmpiricalDiscreteCum" substitutionGroup="OSnLNode"/>
	-->
	<xs:complexType name="OSnLNodeDiscreteUniformDist">
		<xs:annotation>
			<xs:documentation>since version 1.0.0. </xs:documentation>
		</xs:annotation>
		<xs:complexContent>
			<xs:extension base="OSnLNode">
				<xs:sequence minOccurs="2" maxOccurs="2">
					<xs:element ref="OSnLNode"/>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:element name="discreteUniformDist" type="OSnLNodeDiscreteUniformDist" substitutionGroup="OSnLNode">
		<xs:annotation>
			<xs:documentation>since version 1.0.0. </xs:documentation>
		</xs:annotation>
	</xs:element>
	<xs:complexType name="OSnLNodeDiscreteUniformCum">
		<xs:annotation>
			<xs:documentation>since version 1.0.0. </xs:documentation>
		</xs:annotation>
		<xs:complexContent>
			<xs:extension base="OSnLNode">
				<xs:sequence minOccurs="2" maxOccurs="2">
					<xs:element ref="OSnLNode"/>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:element name="discreteUniformCum" type="OSnLNodeDiscreteUniformCum" substitutionGroup="OSnLNode">
		<xs:annotation>
			<xs:documentation>since version 1.0.0. </xs:documentation>
		</xs:annotation>
	</xs:element>
	<xs:complexType name="OSnLNodeDiscreteUniformInv">
		<xs:annotation>
			<xs:documentation>since version 1.0.0. </xs:documentation>
		</xs:annotation>
		<xs:complexContent>
			<xs:extension base="OSnLNode">
				<xs:sequence minOccurs="2" maxOccurs="2">
					<xs:element ref="OSnLNode"/>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:element name="discreteUniformInv" type="OSnLNodeDiscreteUniformInv" substitutionGroup="OSnLNode">
		<xs:annotation>
			<xs:documentation>since version 1.0.0. </xs:documentation>
		</xs:annotation>
	</xs:element>
	<xs:complexType name="OSnLNodeBernoulliDist">
		<xs:annotation>
			<xs:documentation>since version 1.0.0. </xs:documentation>
		</xs:annotation>
		<xs:complexContent>
			<xs:extension base="OSnLNode">
				<xs:sequence minOccurs="2" maxOccurs="2">
					<xs:element ref="OSnLNode"/>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:element name="bernoulliDist" type="OSnLNodeBernoulliDist" substitutionGroup="OSnLNode">
		<xs:annotation>
			<xs:documentation>since version 1.0.0. </xs:documentation>
		</xs:annotation>
	</xs:element>
	<xs:complexType name="OSnLNodeBernoulliCum">
		<xs:annotation>
			<xs:documentation>since version 1.0.0. </xs:documentation>
		</xs:annotation>
		<xs:complexContent>
			<xs:extension base="OSnLNode">
				<xs:sequence minOccurs="2" maxOccurs="2">
					<xs:element ref="OSnLNode"/>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:element name="bernoulliCum" type="OSnLNodeBernoulliCum" substitutionGroup="OSnLNode">
		<xs:annotation>
			<xs:documentation>since version 1.0.0. </xs:documentation>
		</xs:annotation>
	</xs:element>
	<xs:complexType name="OSnLNodeBernoulliInv">
		<xs:annotation>
			<xs:documentation>since version 1.0.0. </xs:documentation>
		</xs:annotation>
		<xs:complexContent>
			<xs:extension base="OSnLNode">
				<xs:sequence minOccurs="2" maxOccurs="2">
					<xs:element ref="OSnLNode"/>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:element name="bernoulliInv" type="OSnLNodeBernoulliInv" substitutionGroup="OSnLNode">
		<xs:annotation>
			<xs:documentation>since version 1.0.0. </xs:documentation>
		</xs:annotation>
	</xs:element>
	<xs:complexType name="OSnLNodeBinomialDist">
		<xs:annotation>
			<xs:documentation>since version 1.0.0. </xs:documentation>
		</xs:annotation>
		<xs:complexContent>
			<xs:extension base="OSnLNode">
				<xs:sequence minOccurs="3" maxOccurs="3">
					<xs:element ref="OSnLNode"/>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:element name="binomialDist" type="OSnLNodeBinomialDist" substitutionGroup="OSnLNode">
		<xs:annotation>
			<xs:documentation>since version 1.0.0. </xs:documentation>
		</xs:annotation>
	</xs:element>
	<xs:complexType name="OSnLNodeBinomialCum">
		<xs:annotation>
			<xs:documentation>since version 1.0.0. </xs:documentation>
		</xs:annotation>
		<xs:complexContent>
			<xs:extension base="OSnLNode">
				<xs:sequence minOccurs="3" maxOccurs="3">
					<xs:element ref="OSnLNode"/>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:element name="binomialCum" type="OSnLNodeBinomialCum" substitutionGroup="OSnLNode">
		<xs:annotation>
			<xs:documentation>since version 1.0.0. </xs:documentation>
		</xs:annotation>
	</xs:element>
	<xs:complexType name="OSnLNodeBinomialInv">
		<xs:annotation>
			<xs:documentation>since version 1.0.0. </xs:documentation>
		</xs:annotation>
		<xs:complexContent>
			<xs:extension base="OSnLNode">
				<xs:sequence minOccurs="3" maxOccurs="3">
					<xs:element ref="OSnLNode"/>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:element name="binomialInv" type="OSnLNodeBinomialInv" substitutionGroup="OSnLNode">
		<xs:annotation>
			<xs:documentation>since version 1.0.0. </xs:documentation>
		</xs:annotation>
	</xs:element>
	<xs:complexType name="OSnLNodeMultinomialDist">
		<xs:annotation>
			<xs:documentation>since version 1.0.0. </xs:documentation>
		</xs:annotation>
		<xs:complexContent>
			<xs:extension base="OSnLNode">
				<xs:sequence minOccurs="3" maxOccurs="unbounded">
					<xs:element ref="OSnLNode"/>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:element name="multinomialDist" type="OSnLNodeMultinomialDist" substitutionGroup="OSnLNode">
		<xs:annotation>
			<xs:documentation>since version 1.0.0. </xs:documentation>
		</xs:annotation>
	</xs:element>
	<xs:complexType name="OSnLNodeMultinomialCum">
		<xs:annotation>
			<xs:documentation>since version 1.0.0. </xs:documentation>
		</xs:annotation>
		<xs:complexContent>
			<xs:extension base="OSnLNode">
				<xs:sequence minOccurs="3" maxOccurs="unbounded">
					<xs:element ref="OSnLNode"/>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:element name="multinomialCum" type="OSnLNodeMultinomialCum" substitutionGroup="OSnLNode">
		<xs:annotation>
			<xs:documentation>since version 1.0.0. </xs:documentation>
		</xs:annotation>
	</xs:element>
	<xs:complexType name="OSnLNodeMultinomialInv">
		<xs:annotation>
			<xs:documentation>since version 1.0.0. </xs:documentation>
		</xs:annotation>
		<xs:complexContent>
			<xs:extension base="OSnLNode">
				<xs:sequence minOccurs="3" maxOccurs="unbounded">
					<xs:element ref="OSnLNode"/>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:element name="multinomialInv" type="OSnLNodeMultinomialInv" substitutionGroup="OSnLNode">
		<xs:annotation>
			<xs:documentation>since version 1.0.0. </xs:documentation>
		</xs:annotation>
	</xs:element>
	<xs:complexType name="OSnLNodeHypergeometricDist">
		<xs:annotation>
			<xs:documentation>since version 1.0.0. </xs:documentation>
		</xs:annotation>
		<xs:complexContent>
			<xs:extension base="OSnLNode">
				<xs:sequence minOccurs="4" maxOccurs="4">
					<xs:element ref="OSnLNode"/>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:element name="hypergeometricDist" type="OSnLNodeHypergeometricDist" substitutionGroup="OSnLNode">
		<xs:annotation>
			<xs:documentation>since version 1.0.0. </xs:documentation>
		</xs:annotation>
	</xs:element>
	<xs:complexType name="OSnLNodeHypergeometricCum">
		<xs:annotation>
			<xs:documentation>since version 1.0.0. </xs:documentation>
		</xs:annotation>
		<xs:complexContent>
			<xs:extension base="OSnLNode">
				<xs:sequence minOccurs="4" maxOccurs="4">
					<xs:element ref="OSnLNode"/>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:element name="hypergeometricCum" type="OSnLNodeHypergeometricCum" substitutionGroup="OSnLNode">
		<xs:annotation>
			<xs:documentation>since version 1.0.0. </xs:documentation>
		</xs:annotation>
	</xs:element>
	<xs:complexType name="OSnLNodeHypergeometricInv">
		<xs:annotation>
			<xs:documentation>since version 1.0.0. </xs:documentation>
		</xs:annotation>
		<xs:complexContent>
			<xs:extension base="OSnLNode">
				<xs:sequence minOccurs="4" maxOccurs="4">
					<xs:element ref="OSnLNode"/>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:element name="hypergeometricInv" type="OSnLNodeHypergeometricInv" substitutionGroup="OSnLNode">
		<xs:annotation>
			<xs:documentation>since version 1.0.0. </xs:documentation>
		</xs:annotation>
	</xs:element>
	<xs:complexType name="OSnLNodePoissonDist">
		<xs:annotation>
			<xs:documentation>since version 1.0.0. </xs:documentation>
		</xs:annotation>
		<xs:complexContent>
			<xs:extension base="OSnLNode">
				<xs:sequence minOccurs="2" maxOccurs="2">
					<xs:element ref="OSnLNode"/>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:element name="poissonDist" type="OSnLNodePoissonDist" substitutionGroup="OSnLNode">
		<xs:annotation>
			<xs:documentation>since version 1.0.0. </xs:documentation>
		</xs:annotation>
	</xs:element>
	<xs:complexType name="OSnLNodePoissonCum">
		<xs:annotation>
			<xs:documentation>since version 1.0.0. </xs:documentation>
		</xs:annotation>
		<xs:complexContent>
			<xs:extension base="OSnLNode">
				<xs:sequence minOccurs="2" maxOccurs="2">
					<xs:element ref="OSnLNode"/>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:element name="poissonCum" type="OSnLNodePoissonCum" substitutionGroup="OSnLNode">
		<xs:annotation>
			<xs:documentation>since version 1.0.0. </xs:documentation>
		</xs:annotation>
	</xs:element>
	<xs:complexType name="OSnLNodePoissonInv">
		<xs:annotation>
			<xs:documentation>since version 1.0.0. </xs:documentation>
		</xs:annotation>
		<xs:complexContent>
			<xs:extension base="OSnLNode">
				<xs:sequence minOccurs="2" maxOccurs="2">
					<xs:element ref="OSnLNode"/>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:element name="poissonInv" type="OSnLNodePoissonInv" substitutionGroup="OSnLNode">
		<xs:annotation>
			<xs:documentation>since version 1.0.0. </xs:documentation>
		</xs:annotation>
	</xs:element>
	<xs:complexType name="OSnLNodeGeometricDist">
		<xs:annotation>
			<xs:documentation>since version 1.0.0. </xs:documentation>
		</xs:annotation>
		<xs:complexContent>
			<xs:extension base="OSnLNode">
				<xs:sequence minOccurs="2" maxOccurs="2">
					<xs:element ref="OSnLNode"/>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:element name="geometricDist" type="OSnLNodeGeometricDist" substitutionGroup="OSnLNode">
		<xs:annotation>
			<xs:documentation>since version 1.0.0. </xs:documentation>
		</xs:annotation>
	</xs:element>
	<xs:complexType name="OSnLNodeGeometricCum">
		<xs:annotation>
			<xs:documentation>since version 1.0.0. </xs:documentation>
		</xs:annotation>
		<xs:complexContent>
			<xs:extension base="OSnLNode">
				<xs:sequence minOccurs="2" maxOccurs="2">
					<xs:element ref="OSnLNode"/>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:element name="geometricCum" type="OSnLNodeGeometricCum" substitutionGroup="OSnLNode">
		<xs:annotation>
			<xs:documentation>since version 1.0.0. </xs:documentation>
		</xs:annotation>
	</xs:element>
	<xs:complexType name="OSnLNodeGeometricInv">
		<xs:annotation>
			<xs:documentation>since version 1.0.0. </xs:documentation>
		</xs:annotation>
		<xs:complexContent>
			<xs:extension base="OSnLNode">
				<xs:sequence minOccurs="2" maxOccurs="2">
					<xs:element ref="OSnLNode"/>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:element name="geometricInv" type="OSnLNodeGeometricInv" substitutionGroup="OSnLNode">
		<xs:annotation>
			<xs:documentation>since version 1.0.0. </xs:documentation>
		</xs:annotation>
	</xs:element>
	<xs:complexType name="OSnLNodeNegativeBinomialDist">
		<xs:annotation>
			<xs:documentation>since version 1.0.0. </xs:documentation>
		</xs:annotation>
		<xs:complexContent>
			<xs:extension base="OSnLNode">
				<xs:sequence minOccurs="3" maxOccurs="3">
					<xs:element ref="OSnLNode"/>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:element name="negativeBinomialDist" type="OSnLNodeNegativeBinomialDist" substitutionGroup="OSnLNode">
		<xs:annotation>
			<xs:documentation>since version 1.0.0. </xs:documentation>
		</xs:annotation>
	</xs:element>
	<xs:complexType name="OSnLNodeNegativeBinomialCum">
		<xs:annotation>
			<xs:documentation>since version 1.0.0. </xs:documentation>
		</xs:annotation>
		<xs:complexContent>
			<xs:extension base="OSnLNode">
				<xs:sequence minOccurs="3" maxOccurs="3">
					<xs:element ref="OSnLNode"/>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:element name="negativeBinomialCum" type="OSnLNodeNegativeBinomialCum" substitutionGroup="OSnLNode">
		<xs:annotation>
			<xs:documentation>since version 1.0.0. </xs:documentation>
		</xs:annotation>
	</xs:element>
	<xs:complexType name="OSnLNodeNegativeBinomialInv">
		<xs:annotation>
			<xs:documentation>since version 1.0.0. </xs:documentation>
		</xs:annotation>
		<xs:complexContent>
			<xs:extension base="OSnLNode">
				<xs:sequence minOccurs="3" maxOccurs="3">
					<xs:element ref="OSnLNode"/>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:element name="negativeBinomialInv" type="OSnLNodeNegativeBinomialInv" substitutionGroup="OSnLNode">
		<xs:annotation>
			<xs:documentation>since version 1.0.0. </xs:documentation>
		</xs:annotation>
	</xs:element>
	<!--<xs:complexType name="OSnLNodeEmpiricalContinuousDist">
		<xs:complexContent>
			<xs:extension base="OSnLNode">
				<xs:sequence minOccurs="3" maxOccurs="unbounded">
					<xs:element ref="OSnLNode"/>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:element name="empiricalContinuousDist" type="OSnLNodeEmpiricalContinuousDist" substitutionGroup="OSnLNode"/>
	<xs:complexType name="OSnLNodeEmpiricalContinuousCum">
		<xs:complexContent>
			<xs:extension base="OSnLNode">
				<xs:sequence minOccurs="3" maxOccurs="unbounded">
					<xs:element ref="OSnLNode"/>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:element name="empiricalContinuousCum" type="OSnLNodeEmpiricalContinuousCum" substitutionGroup="OSnLNode"/>
	-->
	<xs:complexType name="OSnLNodeUniformDist">
		<xs:annotation>
			<xs:documentation>since version 1.0.0. </xs:documentation>
		</xs:annotation>
		<xs:complexContent>
			<xs:extension base="OSnLNode">
				<xs:sequence minOccurs="3" maxOccurs="3">
					<xs:element ref="OSnLNode"/>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:element name="uniformDist" type="OSnLNodeUniformDist" substitutionGroup="OSnLNode">
		<xs:annotation>
			<xs:documentation>since version 1.0.0. </xs:documentation>
		</xs:annotation>
	</xs:element>
	<xs:complexType name="OSnLNodeUniformCum">
		<xs:annotation>
			<xs:documentation>since version 1.0.0. </xs:documentation>
		</xs:annotation>
		<xs:complexContent>
			<xs:extension base="OSnLNode">
				<xs:sequence minOccurs="3" maxOccurs="3">
					<xs:element ref="OSnLNode"/>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:element name="uniformCum" type="OSnLNodeUniformCum" substitutionGroup="OSnLNode">
		<xs:annotation>
			<xs:documentation>since version 1.0.0. </xs:documentation>
		</xs:annotation>
	</xs:element>
	<xs:complexType name="OSnLNodeUniformInv">
		<xs:annotation>
			<xs:documentation>since version 1.0.0. </xs:documentation>
		</xs:annotation>
		<xs:complexContent>
			<xs:extension base="OSnLNode">
				<xs:sequence minOccurs="3" maxOccurs="3">
					<xs:element ref="OSnLNode"/>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:element name="uniformInv" type="OSnLNodeUniformInv" substitutionGroup="OSnLNode">
		<xs:annotation>
			<xs:documentation>since version 1.0.0. </xs:documentation>
		</xs:annotation>
	</xs:element>
	<xs:complexType name="OSnLNodeNormalDist">
		<xs:annotation>
			<xs:documentation>since version 1.0.0. </xs:documentation>
		</xs:annotation>
		<xs:complexContent>
			<xs:extension base="OSnLNode">
				<xs:sequence minOccurs="3" maxOccurs="3">
					<xs:element ref="OSnLNode"/>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:element name="normalDist" type="OSnLNodeNormalDist" substitutionGroup="OSnLNode">
		<xs:annotation>
			<xs:documentation>since version 1.0.0. </xs:documentation>
		</xs:annotation>
	</xs:element>
	<xs:complexType name="OSnLNodeNormalCum">
		<xs:annotation>
			<xs:documentation>since version 1.0.0. </xs:documentation>
		</xs:annotation>
		<xs:complexContent>
			<xs:extension base="OSnLNode">
				<xs:sequence minOccurs="3" maxOccurs="3">
					<xs:element ref="OSnLNode"/>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:element name="normalCum" type="OSnLNodeNormalCum" substitutionGroup="OSnLNode">
		<xs:annotation>
			<xs:documentation>since version 1.0.0. </xs:documentation>
		</xs:annotation>
	</xs:element>
	<xs:complexType name="OSnLNodeNormalInv">
		<xs:annotation>
			<xs:documentation>since version 1.0.0. </xs:documentation>
		</xs:annotation>
		<xs:complexContent>
			<xs:extension base="OSnLNode">
				<xs:sequence minOccurs="3" maxOccurs="3">
					<xs:element ref="OSnLNode"/>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:element name="normalInv" type="OSnLNodeNormalInv" substitutionGroup="OSnLNode">
		<xs:annotation>
			<xs:documentation>since version 1.0.0. </xs:documentation>
		</xs:annotation>
	</xs:element>
	<xs:complexType name="OSnLNodeStdNormalDist">
		<xs:annotation>
			<xs:documentation>since version 1.0.0. </xs:documentation>
		</xs:annotation>
		<xs:complexContent>
			<xs:extension base="OSnLNode">
				<xs:sequence>
					<xs:element ref="OSnLNode"/>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:element name="stdNormalDist" type="OSnLNodeStdNormalDist" substitutionGroup="OSnLNode">
		<xs:annotation>
			<xs:documentation>since version 1.0.0. </xs:documentation>
		</xs:annotation>
	</xs:element>
	<xs:complexType name="OSnLNodeStdNormalCum">
		<xs:annotation>
			<xs:documentation>since version 1.0.0. </xs:documentation>
		</xs:annotation>
		<xs:complexContent>
			<xs:extension base="OSnLNode">
				<xs:sequence>
					<xs:element ref="OSnLNode"/>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:element name="stdNormalCum" type="OSnLNodeStdNormalCum" substitutionGroup="OSnLNode">
		<xs:annotation>
			<xs:documentation>since version 1.0.0. </xs:documentation>
		</xs:annotation>
	</xs:element>
	<xs:complexType name="OSnLNodeStdNormalInv">
		<xs:annotation>
			<xs:documentation>since version 1.0.0. </xs:documentation>
		</xs:annotation>
		<xs:complexContent>
			<xs:extension base="OSnLNode">
				<xs:sequence>
					<xs:element ref="OSnLNode"/>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:element name="stdNormalInv" type="OSnLNodeStdNormalInv" substitutionGroup="OSnLNode">
		<xs:annotation>
			<xs:documentation>since version 1.0.0. </xs:documentation>
		</xs:annotation>
	</xs:element>
	<xs:complexType name="OSnLNodeBivariateNormalDist">
		<xs:annotation>
			<xs:documentation>since version 1.0.0. </xs:documentation>
		</xs:annotation>
		<xs:complexContent>
			<xs:extension base="OSnLNode">
				<xs:sequence minOccurs="7" maxOccurs="7">
					<xs:element ref="OSnLNode"/>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:element name="bivariateNormalDist" type="OSnLNodeBivariateNormalDist" substitutionGroup="OSnLNode">
		<xs:annotation>
			<xs:documentation>since version 1.0.0. </xs:documentation>
		</xs:annotation>
	</xs:element>
	<xs:complexType name="OSnLNodeBivariateNormalCum">
		<xs:annotation>
			<xs:documentation>since version 1.0.0. </xs:documentation>
		</xs:annotation>
		<xs:complexContent>
			<xs:extension base="OSnLNode">
				<xs:sequence minOccurs="7" maxOccurs="7">
					<xs:element ref="OSnLNode"/>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:element name="bivariateNormalCum" type="OSnLNodeBivariateNormalCum" substitutionGroup="OSnLNode">
		<xs:annotation>
			<xs:documentation>since version 1.0.0. </xs:documentation>
		</xs:annotation>
	</xs:element>
	<xs:complexType name="OSnLNodeExponentialDist">
		<xs:annotation>
			<xs:documentation>since version 1.0.0. </xs:documentation>
		</xs:annotation>
		<xs:complexContent>
			<xs:extension base="OSnLNode">
				<xs:sequence minOccurs="2" maxOccurs="2">
					<xs:element ref="OSnLNode"/>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:element name="exponentialDist" type="OSnLNodeExponentialDist" substitutionGroup="OSnLNode">
		<xs:annotation>
			<xs:documentation>since version 1.0.0. </xs:documentation>
		</xs:annotation>
	</xs:element>
	<xs:complexType name="OSnLNodeExponentialCum">
		<xs:annotation>
			<xs:documentation>since version 1.0.0. </xs:documentation>
		</xs:annotation>
		<xs:complexContent>
			<xs:extension base="OSnLNode">
				<xs:sequence minOccurs="2" maxOccurs="2">
					<xs:element ref="OSnLNode"/>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:element name="exponentialCum" type="OSnLNodeExponentialCum" substitutionGroup="OSnLNode">
		<xs:annotation>
			<xs:documentation>since version 1.0.0. </xs:documentation>
		</xs:annotation>
	</xs:element>
	<xs:complexType name="OSnLNodeExponentialInv">
		<xs:annotation>
			<xs:documentation>since version 1.0.0. </xs:documentation>
		</xs:annotation>
		<xs:complexContent>
			<xs:extension base="OSnLNode">
				<xs:sequence minOccurs="2" maxOccurs="2">
					<xs:element ref="OSnLNode"/>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:element name="exponentialInv" type="OSnLNodeExponentialInv" substitutionGroup="OSnLNode">
		<xs:annotation>
			<xs:documentation>since version 1.0.0. </xs:documentation>
		</xs:annotation>
	</xs:element>
	<xs:complexType name="OSnLNodeWeibullDist">
		<xs:annotation>
			<xs:documentation>since version 1.0.0. </xs:documentation>
		</xs:annotation>
		<xs:complexContent>
			<xs:extension base="OSnLNode">
				<xs:sequence minOccurs="4" maxOccurs="4">
					<xs:element ref="OSnLNode"/>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:element name="weibullDist" type="OSnLNodeWeibullDist" substitutionGroup="OSnLNode">
		<xs:annotation>
			<xs:documentation>since version 1.0.0. </xs:documentation>
		</xs:annotation>
	</xs:element>
	<xs:complexType name="OSnLNodeWeibullCum">
		<xs:annotation>
			<xs:documentation>since version 1.0.0. </xs:documentation>
		</xs:annotation>
		<xs:complexContent>
			<xs:extension base="OSnLNode">
				<xs:sequence minOccurs="4" maxOccurs="4">
					<xs:element ref="OSnLNode"/>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:element name="weibullCum" type="OSnLNodeWeibullCum" substitutionGroup="OSnLNode">
		<xs:annotation>
			<xs:documentation>since version 1.0.0. </xs:documentation>
		</xs:annotation>
	</xs:element>
	<xs:complexType name="OSnLNodeWeibullInv">
		<xs:annotation>
			<xs:documentation>since version 1.0.0. </xs:documentation>
		</xs:annotation>
		<xs:complexContent>
			<xs:extension base="OSnLNode">
				<xs:sequence minOccurs="4" maxOccurs="4">
					<xs:element ref="OSnLNode"/>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:element name="weibullInv" type="OSnLNodeWeibullInv" substitutionGroup="OSnLNode">
		<xs:annotation>
			<xs:documentation>since version 1.0.0. </xs:documentation>
		</xs:annotation>
	</xs:element>
	<xs:complexType name="OSnLNodeErlangDist">
		<xs:annotation>
			<xs:documentation>since version 1.0.0. </xs:documentation>
		</xs:annotation>
		<xs:complexContent>
			<xs:extension base="OSnLNode">
				<xs:sequence minOccurs="3" maxOccurs="3">
					<xs:element ref="OSnLNode"/>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:element name="erlangDist" type="OSnLNodeErlangDist" substitutionGroup="OSnLNode">
		<xs:annotation>
			<xs:documentation>since version 1.0.0. </xs:documentation>
		</xs:annotation>
	</xs:element>
	<xs:complexType name="OSnLNodeErlangCum">
		<xs:annotation>
			<xs:documentation>since version 1.0.0. </xs:documentation>
		</xs:annotation>
		<xs:complexContent>
			<xs:extension base="OSnLNode">
				<xs:sequence minOccurs="3" maxOccurs="3">
					<xs:element ref="OSnLNode"/>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:element name="erlangCum" type="OSnLNodeErlangCum" substitutionGroup="OSnLNode">
		<xs:annotation>
			<xs:documentation>since version 1.0.0. </xs:documentation>
		</xs:annotation>
	</xs:element>
	<xs:complexType name="OSnLNodeErlangInv">
		<xs:annotation>
			<xs:documentation>since version 1.0.0. </xs:documentation>
		</xs:annotation>
		<xs:complexContent>
			<xs:extension base="OSnLNode">
				<xs:sequence minOccurs="3" maxOccurs="3">
					<xs:element ref="OSnLNode"/>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:element name="erlangInv" type="OSnLNodeErlangInv" substitutionGroup="OSnLNode">
		<xs:annotation>
			<xs:documentation>since version 1.0.0. </xs:documentation>
		</xs:annotation>
	</xs:element>
	<xs:complexType name="OSnLNodeGammaDist">
		<xs:annotation>
			<xs:documentation>since version 1.0.0. </xs:documentation>
		</xs:annotation>
		<xs:complexContent>
			<xs:extension base="OSnLNode">
				<xs:sequence minOccurs="4" maxOccurs="4">
					<xs:element ref="OSnLNode"/>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:element name="gammaDist" type="OSnLNodeGammaDist" substitutionGroup="OSnLNode">
		<xs:annotation>
			<xs:documentation>since version 1.0.0. </xs:documentation>
		</xs:annotation>
	</xs:element>
	<xs:complexType name="OSnLNodeGammaCum">
		<xs:annotation>
			<xs:documentation>since version 1.0.0. </xs:documentation>
		</xs:annotation>
		<xs:complexContent>
			<xs:extension base="OSnLNode">
				<xs:sequence minOccurs="4" maxOccurs="4">
					<xs:element ref="OSnLNode"/>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:element name="gammaCum" type="OSnLNodeGammaCum" substitutionGroup="OSnLNode">
		<xs:annotation>
			<xs:documentation>since version 1.0.0. </xs:documentation>
		</xs:annotation>
	</xs:element>
	<xs:complexType name="OSnLNodeGammaInv">
		<xs:annotation>
			<xs:documentation>since version 1.0.0. </xs:documentation>
		</xs:annotation>
		<xs:complexContent>
			<xs:extension base="OSnLNode">
				<xs:sequence minOccurs="4" maxOccurs="4">
					<xs:element ref="OSnLNode"/>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:element name="gammaInv" type="OSnLNodeGammaInv" substitutionGroup="OSnLNode">
		<xs:annotation>
			<xs:documentation>since version 1.0.0. </xs:documentation>
		</xs:annotation>
	</xs:element>
	<xs:complexType name="OSnLNodeBetaDist">
		<xs:annotation>
			<xs:documentation>since version 1.0.0. </xs:documentation>
		</xs:annotation>
		<xs:complexContent>
			<xs:extension base="OSnLNode">
				<xs:sequence minOccurs="3" maxOccurs="3">
					<xs:element ref="OSnLNode"/>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:element name="betaDist" type="OSnLNodeBetaDist" substitutionGroup="OSnLNode">
		<xs:annotation>
			<xs:documentation>since version 1.0.0. </xs:documentation>
		</xs:annotation>
	</xs:element>
	<xs:complexType name="OSnLNodeBetaCum">
		<xs:annotation>
			<xs:documentation>since version 1.0.0. </xs:documentation>
		</xs:annotation>
		<xs:complexContent>
			<xs:extension base="OSnLNode">
				<xs:sequence minOccurs="3" maxOccurs="3">
					<xs:element ref="OSnLNode"/>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:element name="betaCum" type="OSnLNodeBetaCum" substitutionGroup="OSnLNode">
		<xs:annotation>
			<xs:documentation>since version 1.0.0. </xs:documentation>
		</xs:annotation>
	</xs:element>
	<xs:complexType name="OSnLNodeBetaInv">
		<xs:annotation>
			<xs:documentation>since version 1.0.0. </xs:documentation>
		</xs:annotation>
		<xs:complexContent>
			<xs:extension base="OSnLNode">
				<xs:sequence minOccurs="3" maxOccurs="3">
					<xs:element ref="OSnLNode"/>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:element name="betaInv" type="OSnLNodeBetaInv" substitutionGroup="OSnLNode">
		<xs:annotation>
			<xs:documentation>since version 1.0.0. </xs:documentation>
		</xs:annotation>
	</xs:element>
	<xs:complexType name="OSnLNodeBetaGeneralDist">
		<xs:annotation>
			<xs:documentation>since version 1.0.0. </xs:documentation>
		</xs:annotation>
		<xs:complexContent>
			<xs:extension base="OSnLNode">
				<xs:sequence minOccurs="5" maxOccurs="5">
					<xs:element ref="OSnLNode"/>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:element name="betaGeneralDist" type="OSnLNodeBetaGeneralDist" substitutionGroup="OSnLNode">
		<xs:annotation>
			<xs:documentation>since version 1.0.0. </xs:documentation>
		</xs:annotation>
	</xs:element>
	<xs:complexType name="OSnLNodeBetaGeneralCum">
		<xs:annotation>
			<xs:documentation>since version 1.0.0. </xs:documentation>
		</xs:annotation>
		<xs:complexContent>
			<xs:extension base="OSnLNode">
				<xs:sequence minOccurs="5" maxOccurs="5">
					<xs:element ref="OSnLNode"/>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:element name="betaCumGeneral" type="OSnLNodeBetaGeneralCum" substitutionGroup="OSnLNode">
		<xs:annotation>
			<xs:documentation>since version 1.0.0. </xs:documentation>
		</xs:annotation>
	</xs:element>
	<xs:complexType name="OSnLNodeBetaGeneralInv">
		<xs:annotation>
			<xs:documentation>since version 1.0.0. </xs:documentation>
		</xs:annotation>
		<xs:complexContent>
			<xs:extension base="OSnLNode">
				<xs:sequence minOccurs="5" maxOccurs="5">
					<xs:element ref="OSnLNode"/>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:element name="betaGeneralInv" type="OSnLNodeBetaGeneralInv" substitutionGroup="OSnLNode">
		<xs:annotation>
			<xs:documentation>since version 1.0.0. </xs:documentation>
		</xs:annotation>
	</xs:element>
	<xs:complexType name="OSnLNodeLognormalDist">
		<xs:annotation>
			<xs:documentation>since version 1.0.0. </xs:documentation>
		</xs:annotation>
		<xs:complexContent>
			<xs:extension base="OSnLNode">
				<xs:sequence minOccurs="3" maxOccurs="3">
					<xs:element ref="OSnLNode"/>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:element name="lognormalDist" type="OSnLNodeLognormalDist" substitutionGroup="OSnLNode">
		<xs:annotation>
			<xs:documentation>since version 1.0.0. </xs:documentation>
		</xs:annotation>
	</xs:element>
	<xs:complexType name="OSnLNodeLognormalCum">
		<xs:annotation>
			<xs:documentation>since version 1.0.0. </xs:documentation>
		</xs:annotation>
		<xs:complexContent>
			<xs:extension base="OSnLNode">
				<xs:sequence minOccurs="3" maxOccurs="3">
					<xs:element ref="OSnLNode"/>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:element name="lognormalCum" type="OSnLNodeLognormalCum" substitutionGroup="OSnLNode">
		<xs:annotation>
			<xs:documentation>since version 1.0.0. </xs:documentation>
		</xs:annotation>
	</xs:element>
	<xs:complexType name="OSnLNodeLognormalInv">
		<xs:annotation>
			<xs:documentation>since version 1.0.0. </xs:documentation>
		</xs:annotation>
		<xs:complexContent>
			<xs:extension base="OSnLNode">
				<xs:sequence minOccurs="3" maxOccurs="3">
					<xs:element ref="OSnLNode"/>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:element name="lognormalInv" type="OSnLNodeLognormalInv" substitutionGroup="OSnLNode">
		<xs:annotation>
			<xs:documentation>since version 1.0.0. </xs:documentation>
		</xs:annotation>
	</xs:element>
	<xs:complexType name="OSnLNodeCauchyDist">
		<xs:annotation>
			<xs:documentation>since version 1.0.0. </xs:documentation>
		</xs:annotation>
		<xs:complexContent>
			<xs:extension base="OSnLNode">
				<xs:sequence minOccurs="3" maxOccurs="3">
					<xs:element ref="OSnLNode"/>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:element name="cauchyDist" type="OSnLNodeCauchyDist" substitutionGroup="OSnLNode">
		<xs:annotation>
			<xs:documentation>since version 1.0.0. </xs:documentation>
		</xs:annotation>
	</xs:element>
	<xs:complexType name="OSnLNodeCauchyCum">
		<xs:annotation>
			<xs:documentation>since version 1.0.0. </xs:documentation>
		</xs:annotation>
		<xs:complexContent>
			<xs:extension base="OSnLNode">
				<xs:sequence minOccurs="3" maxOccurs="3">
					<xs:element ref="OSnLNode"/>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:element name="cauchyCum" type="OSnLNodeCauchyCum" substitutionGroup="OSnLNode">
		<xs:annotation>
			<xs:documentation>since version 1.0.0. </xs:documentation>
		</xs:annotation>
	</xs:element>
	<xs:complexType name="OSnLNodeCauchyInv">
		<xs:annotation>
			<xs:documentation>since version 1.0.0. </xs:documentation>
		</xs:annotation>
		<xs:complexContent>
			<xs:extension base="OSnLNode">
				<xs:sequence minOccurs="3" maxOccurs="3">
					<xs:element ref="OSnLNode"/>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:element name="cauchyInv" type="OSnLNodeCauchyInv" substitutionGroup="OSnLNode">
		<xs:annotation>
			<xs:documentation>since version 1.0.0. </xs:documentation>
		</xs:annotation>
	</xs:element>
	<xs:complexType name="OSnLNodeTDist">
		<xs:annotation>
			<xs:documentation>since version 1.0.0. </xs:documentation>
		</xs:annotation>
		<xs:complexContent>
			<xs:extension base="OSnLNode">
				<xs:sequence minOccurs="2" maxOccurs="2">
					<xs:element ref="OSnLNode"/>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:element name="tDist" type="OSnLNodeTDist" substitutionGroup="OSnLNode">
		<xs:annotation>
			<xs:documentation>since version 1.0.0. </xs:documentation>
		</xs:annotation>
	</xs:element>
	<xs:complexType name="OSnLNodeTCum">
		<xs:annotation>
			<xs:documentation>since version 1.0.0. </xs:documentation>
		</xs:annotation>
		<xs:complexContent>
			<xs:extension base="OSnLNode">
				<xs:sequence minOccurs="2" maxOccurs="2">
					<xs:element ref="OSnLNode"/>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:element name="tCum" type="OSnLNodeTCum" substitutionGroup="OSnLNode">
		<xs:annotation>
			<xs:documentation>since version 1.0.0. </xs:documentation>
		</xs:annotation>
	</xs:element>
	<xs:complexType name="OSnLNodeTInv">
		<xs:annotation>
			<xs:documentation>since version 1.0.0. </xs:documentation>
		</xs:annotation>
		<xs:complexContent>
			<xs:extension base="OSnLNode">
				<xs:sequence minOccurs="2" maxOccurs="2">
					<xs:element ref="OSnLNode"/>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:element name="tInv" type="OSnLNodeTInv" substitutionGroup="OSnLNode">
		<xs:annotation>
			<xs:documentation>since version 1.0.0. </xs:documentation>
		</xs:annotation>
	</xs:element>
	<xs:complexType name="OSnLNodeChiSquareDist">
		<xs:annotation>
			<xs:documentation>since version 1.0.0. </xs:documentation>
		</xs:annotation>
		<xs:complexContent>
			<xs:extension base="OSnLNode">
				<xs:sequence minOccurs="2" maxOccurs="2">
					<xs:element ref="OSnLNode"/>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:element name="chiSquareDist" type="OSnLNodeChiSquareDist" substitutionGroup="OSnLNode">
		<xs:annotation>
			<xs:documentation>since version 1.0.0. </xs:documentation>
		</xs:annotation>
	</xs:element>
	<xs:complexType name="OSnLNodeChiSquareCum">
		<xs:annotation>
			<xs:documentation>since version 1.0.0. </xs:documentation>
		</xs:annotation>
		<xs:complexContent>
			<xs:extension base="OSnLNode">
				<xs:sequence minOccurs="2" maxOccurs="2">
					<xs:element ref="OSnLNode"/>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:element name="chiSquareCum" type="OSnLNodeChiSquareCum" substitutionGroup="OSnLNode">
		<xs:annotation>
			<xs:documentation>since version 1.0.0. </xs:documentation>
		</xs:annotation>
	</xs:element>
	<xs:complexType name="OSnLNodeChiSquareInv">
		<xs:annotation>
			<xs:documentation>since version 1.0.0. </xs:documentation>
		</xs:annotation>
		<xs:complexContent>
			<xs:extension base="OSnLNode">
				<xs:sequence minOccurs="2" maxOccurs="2">
					<xs:element ref="OSnLNode"/>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:element name="chiSquareInv" type="OSnLNodeChiSquareInv" substitutionGroup="OSnLNode">
		<xs:annotation>
			<xs:documentation>since version 1.0.0. </xs:documentation>
		</xs:annotation>
	</xs:element>
	<xs:complexType name="OSnLNodeFDist">
		<xs:annotation>
			<xs:documentation>since version 1.0.0. </xs:documentation>
		</xs:annotation>
		<xs:complexContent>
			<xs:extension base="OSnLNode">
				<xs:sequence minOccurs="3" maxOccurs="3">
					<xs:element ref="OSnLNode"/>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:element name="fDist" type="OSnLNodeFDist" substitutionGroup="OSnLNode">
		<xs:annotation>
			<xs:documentation>since version 1.0.0. </xs:documentation>
		</xs:annotation>
	</xs:element>
	<xs:complexType name="OSnLNodeFCum">
		<xs:annotation>
			<xs:documentation>since version 1.0.0. </xs:documentation>
		</xs:annotation>
		<xs:complexContent>
			<xs:extension base="OSnLNode">
				<xs:sequence minOccurs="3" maxOccurs="3">
					<xs:element ref="OSnLNode"/>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:element name="fCum" type="OSnLNodeFCum" substitutionGroup="OSnLNode">
		<xs:annotation>
			<xs:documentation>since version 1.0.0. </xs:documentation>
		</xs:annotation>
	</xs:element>
	<xs:complexType name="OSnLNodeFInv">
		<xs:annotation>
			<xs:documentation>since version 1.0.0. </xs:documentation>
		</xs:annotation>
		<xs:complexContent>
			<xs:extension base="OSnLNode">
				<xs:sequence minOccurs="3" maxOccurs="3">
					<xs:element ref="OSnLNode"/>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:element name="fInv" type="OSnLNodeFInv" substitutionGroup="OSnLNode">
		<xs:annotation>
			<xs:documentation>since version 1.0.0. </xs:documentation>
		</xs:annotation>
	</xs:element>
	<xs:complexType name="OSnLNodeLogisticDist">
		<xs:annotation>
			<xs:documentation>since version 1.0.0. </xs:documentation>
		</xs:annotation>
		<xs:complexContent>
			<xs:extension base="OSnLNode">
				<xs:sequence minOccurs="3" maxOccurs="3">
					<xs:element ref="OSnLNode"/>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:element name="logisticDist" type="OSnLNodeLogisticDist" substitutionGroup="OSnLNode">
		<xs:annotation>
			<xs:documentation>since version 1.0.0. </xs:documentation>
		</xs:annotation>
	</xs:element>
	<xs:complexType name="OSnLNodeLogisticCum">
		<xs:annotation>
			<xs:documentation>since version 1.0.0. </xs:documentation>
		</xs:annotation>
		<xs:complexContent>
			<xs:extension base="OSnLNode">
				<xs:sequence minOccurs="3" maxOccurs="3">
					<xs:element ref="OSnLNode"/>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:element name="logisticCum" type="OSnLNodeLogisticCum" substitutionGroup="OSnLNode">
		<xs:annotation>
			<xs:documentation>since version 1.0.0. </xs:documentation>
		</xs:annotation>
	</xs:element>
	<xs:complexType name="OSnLNodeLogisticInv">
		<xs:annotation>
			<xs:documentation>since version 1.0.0. </xs:documentation>
		</xs:annotation>
		<xs:complexContent>
			<xs:extension base="OSnLNode">
				<xs:sequence minOccurs="3" maxOccurs="3">
					<xs:element ref="OSnLNode"/>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:element name="logisticInv" type="OSnLNodeLogisticInv" substitutionGroup="OSnLNode">
		<xs:annotation>
			<xs:documentation>since version 1.0.0. </xs:documentation>
		</xs:annotation>
	</xs:element>
	<xs:complexType name="OSnLNodeLogLogisticDist">
		<xs:annotation>
			<xs:documentation>since version 1.0.0. </xs:documentation>
		</xs:annotation>
		<xs:complexContent>
			<xs:extension base="OSnLNode">
				<xs:sequence minOccurs="3" maxOccurs="3">
					<xs:element ref="OSnLNode"/>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:element name="logLogisticDist" type="OSnLNodeLogLogisticDist" substitutionGroup="OSnLNode">
		<xs:annotation>
			<xs:documentation>since version 1.0.0. </xs:documentation>
		</xs:annotation>
	</xs:element>
	<xs:complexType name="OSnLNodeLogLogisticCum">
		<xs:annotation>
			<xs:documentation>since version 1.0.0. </xs:documentation>
		</xs:annotation>
		<xs:complexContent>
			<xs:extension base="OSnLNode">
				<xs:sequence minOccurs="3" maxOccurs="3">
					<xs:element ref="OSnLNode"/>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:element name="logLogisticCum" type="OSnLNodeLogLogisticCum" substitutionGroup="OSnLNode">
		<xs:annotation>
			<xs:documentation>since version 1.0.0. </xs:documentation>
		</xs:annotation>
	</xs:element>
	<xs:complexType name="OSnLNodeLogLogisticInv">
		<xs:annotation>
			<xs:documentation>since version 1.0.0. </xs:documentation>
		</xs:annotation>
		<xs:complexContent>
			<xs:extension base="OSnLNode">
				<xs:sequence minOccurs="3" maxOccurs="3">
					<xs:element ref="OSnLNode"/>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:element name="logLogisticInv" type="OSnLNodeLogLogisticInv" substitutionGroup="OSnLNode">
		<xs:annotation>
			<xs:documentation>since version 1.0.0. </xs:documentation>
		</xs:annotation>
	</xs:element>
	<xs:complexType name="OSnLNodeLogarithmicDist">
		<xs:annotation>
			<xs:documentation>since version 1.0.0. </xs:documentation>
		</xs:annotation>
		<xs:complexContent>
			<xs:extension base="OSnLNode">
				<xs:sequence minOccurs="3" maxOccurs="3">
					<xs:element ref="OSnLNode"/>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:element name="logarithmicDist" type="OSnLNodeLogarithmicDist" substitutionGroup="OSnLNode">
		<xs:annotation>
			<xs:documentation>since version 1.0.0. </xs:documentation>
		</xs:annotation>
	</xs:element>
	<xs:complexType name="OSnLNodeLogarithmicCum">
		<xs:annotation>
			<xs:documentation>since version 1.0.0. </xs:documentation>
		</xs:annotation>
		<xs:complexContent>
			<xs:extension base="OSnLNode">
				<xs:sequence minOccurs="3" maxOccurs="3">
					<xs:element ref="OSnLNode"/>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:element name="logarithmicCum" type="OSnLNodeLogarithmicCum" substitutionGroup="OSnLNode">
		<xs:annotation>
			<xs:documentation>since version 1.0.0. </xs:documentation>
		</xs:annotation>
	</xs:element>
	<xs:complexType name="OSnLNodeLogarithmicInv">
		<xs:annotation>
			<xs:documentation>since version 1.0.0. </xs:documentation>
		</xs:annotation>
		<xs:complexContent>
			<xs:extension base="OSnLNode">
				<xs:sequence minOccurs="3" maxOccurs="3">
					<xs:element ref="OSnLNode"/>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:element name="logarithmicInv" type="OSnLNodeLogarithmicInv" substitutionGroup="OSnLNode">
		<xs:annotation>
			<xs:documentation>since version 1.0.0. </xs:documentation>
		</xs:annotation>
	</xs:element>
	<xs:complexType name="OSnLNodeParetoDist">
		<xs:annotation>
			<xs:documentation>since version 1.0.0. </xs:documentation>
		</xs:annotation>
		<xs:complexContent>
			<xs:extension base="OSnLNode">
				<xs:sequence minOccurs="3" maxOccurs="3">
					<xs:element ref="OSnLNode"/>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:element name="paretoDist" type="OSnLNodeParetoDist" substitutionGroup="OSnLNode">
		<xs:annotation>
			<xs:documentation>since version 1.0.0. </xs:documentation>
		</xs:annotation>
	</xs:element>
	<xs:complexType name="OSnLNodeParetoCum">
		<xs:annotation>
			<xs:documentation>since version 1.0.0. </xs:documentation>
		</xs:annotation>
		<xs:complexContent>
			<xs:extension base="OSnLNode">
				<xs:sequence minOccurs="3" maxOccurs="3">
					<xs:element ref="OSnLNode"/>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:element name="paretoCum" type="OSnLNodeParetoCum" substitutionGroup="OSnLNode">
		<xs:annotation>
			<xs:documentation>since version 1.0.0. </xs:documentation>
		</xs:annotation>
	</xs:element>
	<xs:complexType name="OSnLNodeParetoInv">
		<xs:annotation>
			<xs:documentation>since version 1.0.0. </xs:documentation>
		</xs:annotation>
		<xs:complexContent>
			<xs:extension base="OSnLNode">
				<xs:sequence minOccurs="3" maxOccurs="3">
					<xs:element ref="OSnLNode"/>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:element name="paretoInv" type="OSnLNodeParetoInv" substitutionGroup="OSnLNode">
		<xs:annotation>
			<xs:documentation>since version 1.0.0. </xs:documentation>
		</xs:annotation>
	</xs:element>
	<xs:complexType name="OSnLNodeRayleighDist">
		<xs:annotation>
			<xs:documentation>since version 1.0.0. </xs:documentation>
		</xs:annotation>
		<xs:complexContent>
			<xs:extension base="OSnLNode">
				<xs:sequence minOccurs="2" maxOccurs="2">
					<xs:element ref="OSnLNode"/>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:element name="rayleighDist" type="OSnLNodeRayleighDist" substitutionGroup="OSnLNode">
		<xs:annotation>
			<xs:documentation>since version 1.0.0. </xs:documentation>
		</xs:annotation>
	</xs:element>
	<xs:complexType name="OSnLNodeRayleighCum">
		<xs:annotation>
			<xs:documentation>since version 1.0.0. </xs:documentation>
		</xs:annotation>
		<xs:complexContent>
			<xs:extension base="OSnLNode">
				<xs:sequence minOccurs="2" maxOccurs="2">
					<xs:element ref="OSnLNode"/>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:element name="rayleighCum" type="OSnLNodeRayleighCum" substitutionGroup="OSnLNode">
		<xs:annotation>
			<xs:documentation>since version 1.0.0. </xs:documentation>
		</xs:annotation>
	</xs:element>
	<xs:complexType name="OSnLNodeRayleighInv">
		<xs:annotation>
			<xs:documentation>since version 1.0.0. </xs:documentation>
		</xs:annotation>
		<xs:complexContent>
			<xs:extension base="OSnLNode">
				<xs:sequence minOccurs="2" maxOccurs="2">
					<xs:element ref="OSnLNode"/>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:element name="rayleighInv" type="OSnLNodeRayleighInv" substitutionGroup="OSnLNode">
		<xs:annotation>
			<xs:documentation>since version 1.0.0. </xs:documentation>
		</xs:annotation>
	</xs:element>
	<xs:complexType name="OSnLNodePertDist">
		<xs:annotation>
			<xs:documentation>since version 1.0.0. </xs:documentation>
		</xs:annotation>
		<xs:complexContent>
			<xs:extension base="OSnLNode">
				<xs:sequence minOccurs="4" maxOccurs="4">
					<xs:element ref="OSnLNode"/>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:element name="pertDist" type="OSnLNodePertDist" substitutionGroup="OSnLNode">
		<xs:annotation>
			<xs:documentation>since version 1.0.0. </xs:documentation>
		</xs:annotation>
	</xs:element>
	<xs:complexType name="OSnLNodePertCum">
		<xs:annotation>
			<xs:documentation>since version 1.0.0. </xs:documentation>
		</xs:annotation>
		<xs:complexContent>
			<xs:extension base="OSnLNode">
				<xs:sequence minOccurs="4" maxOccurs="4">
					<xs:element ref="OSnLNode"/>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:element name="pertCum" type="OSnLNodePertCum" substitutionGroup="OSnLNode">
		<xs:annotation>
			<xs:documentation>since version 1.0.0. </xs:documentation>
		</xs:annotation>
	</xs:element>
	<xs:complexType name="OSnLNodePertInv">
		<xs:annotation>
			<xs:documentation>since version 1.0.0. </xs:documentation>
		</xs:annotation>
		<xs:complexContent>
			<xs:extension base="OSnLNode">
				<xs:sequence minOccurs="4" maxOccurs="4">
					<xs:element ref="OSnLNode"/>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:element name="pertInv" type="OSnLNodePertInv" substitutionGroup="OSnLNode">
		<xs:annotation>
			<xs:documentation>since version 1.0.0. </xs:documentation>
		</xs:annotation>
	</xs:element>
	<xs:complexType name="OSnLNodeTriangularDist">
		<xs:annotation>
			<xs:documentation>since version 1.0.0. </xs:documentation>
		</xs:annotation>
		<xs:complexContent>
			<xs:extension base="OSnLNode">
				<xs:sequence minOccurs="4" maxOccurs="4">
					<xs:element ref="OSnLNode"/>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:element name="triangularDist" type="OSnLNodeTriangularDist" substitutionGroup="OSnLNode">
		<xs:annotation>
			<xs:documentation>since version 1.0.0. </xs:documentation>
		</xs:annotation>
	</xs:element>
	<xs:complexType name="OSnLNodeTriangularCum">
		<xs:annotation>
			<xs:documentation>since version 1.0.0. </xs:documentation>
		</xs:annotation>
		<xs:complexContent>
			<xs:extension base="OSnLNode">
				<xs:sequence minOccurs="4" maxOccurs="4">
					<xs:element ref="OSnLNode"/>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:element name="triangularCum" type="OSnLNodeTriangularCum" substitutionGroup="OSnLNode">
		<xs:annotation>
			<xs:documentation>since version 1.0.0. </xs:documentation>
		</xs:annotation>
	</xs:element>
	<xs:complexType name="OSnLNodeTriangularInv">
		<xs:annotation>
			<xs:documentation>since version 1.0.0. </xs:documentation>
		</xs:annotation>
		<xs:complexContent>
			<xs:extension base="OSnLNode">
				<xs:sequence minOccurs="4" maxOccurs="4">
					<xs:element ref="OSnLNode"/>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:element name="triangularInv" type="OSnLNodeTriangularInv" substitutionGroup="OSnLNode">
		<xs:annotation>
			<xs:documentation>since version 1.0.0. </xs:documentation>
		</xs:annotation>
	</xs:element>
	<xs:complexType name="OSnLNodeUnitNormalLinearLoss">
		<xs:annotation>
			<xs:documentation>since version 1.0.0. </xs:documentation>
		</xs:annotation>
		<xs:complexContent>
			<xs:extension base="OSnLNode">
				<xs:sequence>
					<xs:element ref="OSnLNode"/>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:element name="unitNormalLinearLoss" type="OSnLNodeUnitNormalLinearLoss" substitutionGroup="OSnLNode">
		<xs:annotation>
			<xs:documentation>since version 1.0.0. </xs:documentation>
		</xs:annotation>
	</xs:element>
	<!--Terminal Nodes: since version 1.0.0-->
	<xs:complexType name="OSnLNodeNumber">
		<xs:annotation>
			<xs:documentation>since version 1.0.0. </xs:documentation>
		</xs:annotation>
		<xs:complexContent>
			<xs:extension base="OSnLNode">
				<xs:attribute name="value" type="xs:string" use="optional"/>
				<xs:attribute name="type" use="optional" default="real">
					<xs:simpleType>
						<xs:restriction base="xs:string">
							<xs:enumeration value="real"/>
							<xs:enumeration value="string"/>
							<xs:enumeration value="realtime"/>
							<xs:enumeration value="random"/>
						</xs:restriction>
					</xs:simpleType>
				</xs:attribute>
				<xs:attribute name="id" type="xs:string" use="optional"/>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:element name="number" type="OSnLNodeNumber" substitutionGroup="OSnLNode">
		<xs:annotation>
			<xs:documentation>since version 1.0.0. </xs:documentation>
		</xs:annotation>
	</xs:element>
	<xs:complexType name="OSnLNodeString">
		<xs:annotation>
			<xs:documentation>since version 1.0.0. </xs:documentation>
		</xs:annotation>
		<xs:complexContent>
			<xs:extension base="OSnLNode">
				<xs:attribute name="value" type="xs:string" use="optional"/>
				<xs:attribute name="type" use="optional" default="regular">
					<xs:simpleType>
						<xs:restriction base="xs:string">
							<xs:enumeration value="regular"/>
							<xs:enumeration value="realtime"/>
							<xs:enumeration value="random"/>
						</xs:restriction>
					</xs:simpleType>
				</xs:attribute>
				<xs:attribute name="id" type="xs:string" use="optional"/>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:element name="string" type="OSnLNodeString" substitutionGroup="OSnLNode">
		<xs:annotation>
			<xs:documentation>since version 1.0.0. </xs:documentation>
		</xs:annotation>
	</xs:element>
	<xs:complexType name="OSnLNodeIdentifier">
		<xs:annotation>
			<xs:documentation>since version 1.0.0. </xs:documentation>
		</xs:annotation>
		<xs:complexContent>
			<xs:extension base="OSnLNode">
				<xs:attribute name="name" type="xs:string" use="required"/>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:element name="identifier" type="OSnLNodeIdentifier" substitutionGroup="OSnLNode">
		<xs:annotation>
			<xs:documentation>since version 1.0.0. </xs:documentation>
		</xs:annotation>
	</xs:element>
	<!--Constant Nodes: since version 1.0.0  -->
	<xs:complexType name="OSnLNodePI">
		<xs:annotation>
			<xs:documentation>since version 1.0.0. </xs:documentation>
		</xs:annotation>
		<xs:complexContent>
			<xs:extension base="OSnLNode"/>
		</xs:complexContent>
	</xs:complexType>
	<xs:element name="PI" type="OSnLNodePI" substitutionGroup="OSnLNode">
		<xs:annotation>
			<xs:documentation>since version 1.0.0. </xs:documentation>
		</xs:annotation>
	</xs:element>
	<xs:complexType name="OSnLNodeE">
		<xs:annotation>
			<xs:documentation>since version 1.0.0. </xs:documentation>
		</xs:annotation>
		<xs:complexContent>
			<xs:extension base="OSnLNode"/>
		</xs:complexContent>
	</xs:complexType>
	<xs:element name="E" type="OSnLNodeE" substitutionGroup="OSnLNode">
		<xs:annotation>
			<xs:documentation>since version 1.0.0. </xs:documentation>
		</xs:annotation>
	</xs:element>
	<xs:complexType name="OSnLNodeINF">
		<xs:annotation>
			<xs:documentation>since version 1.0.0. </xs:documentation>
		</xs:annotation>
		<xs:complexContent>
			<xs:extension base="OSnLNode"/>
		</xs:complexContent>
	</xs:complexType>
	<xs:element name="INF" type="OSnLNodeINF" substitutionGroup="OSnLNode">
		<xs:annotation>
			<xs:documentation>since version 1.0.0. </xs:documentation>
		</xs:annotation>
	</xs:element>
	<xs:complexType name="OSnLNodeEPS">
		<xs:annotation>
			<xs:documentation>since version 1.0.0. </xs:documentation>
		</xs:annotation>
		<xs:complexContent>
			<xs:extension base="OSnLNode"/>
		</xs:complexContent>
	</xs:complexType>
	<xs:element name="EPS" type="OSnLNodeEPS" substitutionGroup="OSnLNode">
		<xs:annotation>
			<xs:documentation>since version 1.0.0. </xs:documentation>
		</xs:annotation>
	</xs:element>
	<xs:complexType name="OSnLNodeTRUE">
		<xs:annotation>
			<xs:documentation>since version 1.0.0. </xs:documentation>
		</xs:annotation>
		<xs:complexContent>
			<xs:extension base="OSnLNode"/>
		</xs:complexContent>
	</xs:complexType>
	<xs:element name="TRUE" type="OSnLNodeTRUE" substitutionGroup="OSnLNode">
		<xs:annotation>
			<xs:documentation>since version 1.0.0. </xs:documentation>
		</xs:annotation>
	</xs:element>
	<xs:complexType name="OSnLNodeFALSE">
		<xs:annotation>
			<xs:documentation>since version 1.0.0. </xs:documentation>
		</xs:annotation>
		<xs:complexContent>
			<xs:extension base="OSnLNode"/>
		</xs:complexContent>
	</xs:complexType>
	<xs:element name="FALSE" type="OSnLNodeFALSE" substitutionGroup="OSnLNode">
		<xs:annotation>
			<xs:documentation>since version 1.0.0. </xs:documentation>
		</xs:annotation>
	</xs:element>
	<xs:complexType name="OSnLNodeEULERGAMMA">
		<xs:annotation>
			<xs:documentation>since version 1.0.0. </xs:documentation>
		</xs:annotation>
		<xs:complexContent>
			<xs:extension base="OSnLNode"/>
		</xs:complexContent>
	</xs:complexType>
	<xs:element name="EULERGAMMA" type="OSnLNodeEULERGAMMA" substitutionGroup="OSnLNode">
		<xs:annotation>
			<xs:documentation>since version 1.0.0. </xs:documentation>
		</xs:annotation>
	</xs:element>
	<xs:complexType name="OSnLNodeNAN">
		<xs:annotation>
			<xs:documentation>since version 1.0.0. </xs:documentation>
		</xs:annotation>
		<xs:complexContent>
			<xs:extension base="OSnLNode"/>
		</xs:complexContent>
	</xs:complexType>
	<xs:element name="NAN" type="OSnLNodeNAN" substitutionGroup="OSnLNode">
		<xs:annotation>
			<xs:documentation>since version 1.0.0. </xs:documentation>
		</xs:annotation>
	</xs:element>
	<!--Variable, Objective, Constraint, Parameter Nodes: since version 1.0.0-->
	<xs:complexType name="OSnLNodeVariable">
		<xs:annotation>
			<xs:documentation>since version 1.0.0. </xs:documentation>
		</xs:annotation>
		<xs:complexContent>
			<xs:extension base="OSnLNode">
				<xs:sequence minOccurs="0">
					<xs:element ref="OSnLNode"/>
				</xs:sequence>
				<xs:attribute name="idx" type="xs:nonNegativeInteger" use="required"/>
				<xs:attribute name="coef" type="xs:double" use="optional" default="1"/>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:element name="variable" type="OSnLNodeVariable" substitutionGroup="OSnLNode">
		<xs:annotation>
			<xs:documentation>since version 1.0.0. </xs:documentation>
		</xs:annotation>
	</xs:element>
	<xs:complexType name="OSnLNodeObjective">
		<xs:annotation>
			<xs:documentation>since version 1.0.0. </xs:documentation>
		</xs:annotation>
		<xs:complexContent>
			<xs:extension base="OSnLNode">
				<xs:sequence minOccurs="0">
					<xs:element ref="OSnLNode"/>
				</xs:sequence>
				<xs:attribute name="idx" type="xs:int" use="optional" default="-1"/>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:element name="objective" type="OSnLNodeObjective" substitutionGroup="OSnLNode">
		<xs:annotation>
			<xs:documentation>since version 1.0.0. </xs:documentation>
		</xs:annotation>
	</xs:element>
	<xs:complexType name="OSnLNodeConstraint">
		<xs:annotation>
			<xs:documentation>since version 1.0.0. </xs:documentation>
		</xs:annotation>
		<xs:complexContent>
			<xs:extension base="OSnLNode">
				<xs:sequence minOccurs="0">
					<xs:element ref="OSnLNode"/>
				</xs:sequence>
				<xs:attribute name="idx" type="xs:int" use="required"/>
				<xs:attribute name="valueType" use="optional" default="value">
					<xs:simpleType>
						<xs:restriction base="xs:string">
							<xs:enumeration value="value"/>
							<xs:enumeration value="status"/>
							<xs:enumeration value="surplus"/>
							<xs:enumeration value="shortage"/>
						</xs:restriction>
					</xs:simpleType>
				</xs:attribute>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:element name="constraint" type="OSnLNodeConstraint" substitutionGroup="OSnLNode">
		<xs:annotation>
			<xs:documentation>since version 1.0.0. </xs:documentation>
		</xs:annotation>
	</xs:element>
	<xs:complexType name="OSnLNodeParameter">
		<xs:annotation>
			<xs:documentation>since version 1.0.0. </xs:documentation>
		</xs:annotation>
		<xs:complexContent>
			<xs:extension base="OSnLNode">
				<xs:attribute name="idx" type="xs:nonNegativeInteger" use="required"/>
				<xs:attribute name="coef" type="xs:double" use="optional" default="1"/>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:element name="parameter" type="OSnLNodeParameter" substitutionGroup="OSnLNode">
		<xs:annotation>
			<xs:documentation>since version 1.0.0. </xs:documentation>
		</xs:annotation>
	</xs:element>
	<xs:complexType name="OSnLNodeRandomVariable">
		<xs:annotation>
			<xs:documentation>since version 1.0.0. </xs:documentation>
		</xs:annotation>
		<xs:complexContent>
			<xs:extension base="OSnLNode">
				<xs:attribute name="idx" type="xs:nonNegativeInteger" use="required"/>
				<xs:attribute name="coef" type="xs:double" use="optional" default="1"/>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:element name="randomVariable" type="OSnLNodeRandomVariable" substitutionGroup="OSnLNode">
		<xs:annotation>
			<xs:documentation>since version 1.0.0. </xs:documentation>
		</xs:annotation>
	</xs:element>
	<!--Logic and relational Nodes: since version 1.0.0  -->
	<xs:complexType name="OSnLNodeIf">
		<xs:annotation>
			<xs:documentation>since version 1.0.0. </xs:documentation>
		</xs:annotation>
		<xs:complexContent>
			<xs:extension base="OSnLNode">
				<xs:sequence minOccurs="3" maxOccurs="3">
					<xs:element ref="OSnLNode"/>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:element name="if" type="OSnLNodeIf" substitutionGroup="OSnLNode">
		<xs:annotation>
			<xs:documentation>since version 1.0.0. </xs:documentation>
		</xs:annotation>
	</xs:element>
	<xs:complexType name="OSnLNodeLt">
		<xs:annotation>
			<xs:documentation>since version 1.0.0. </xs:documentation>
		</xs:annotation>
		<xs:complexContent>
			<xs:extension base="OSnLNode">
				<xs:sequence minOccurs="2" maxOccurs="2">
					<xs:element ref="OSnLNode"/>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:element name="lt" type="OSnLNodeLt" substitutionGroup="OSnLNode">
		<xs:annotation>
			<xs:documentation>since version 1.0.0. </xs:documentation>
		</xs:annotation>
	</xs:element>
	<xs:complexType name="OSnLNodeLeq">
		<xs:annotation>
			<xs:documentation>since version 1.0.0. </xs:documentation>
		</xs:annotation>
		<xs:complexContent>
			<xs:extension base="OSnLNode">
				<xs:sequence minOccurs="2" maxOccurs="2">
					<xs:element ref="OSnLNode"/>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:element name="leq" type="OSnLNodeLeq" substitutionGroup="OSnLNode">
		<xs:annotation>
			<xs:documentation>since version 1.0.0. </xs:documentation>
		</xs:annotation>
	</xs:element>
	<xs:complexType name="OSnLNodeGt">
		<xs:annotation>
			<xs:documentation>since version 1.0.0. </xs:documentation>
		</xs:annotation>
		<xs:complexContent>
			<xs:extension base="OSnLNode">
				<xs:sequence minOccurs="2" maxOccurs="2">
					<xs:element ref="OSnLNode"/>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:element name="gt" type="OSnLNodeGt" substitutionGroup="OSnLNode">
		<xs:annotation>
			<xs:documentation>since version 1.0.0. </xs:documentation>
		</xs:annotation>
	</xs:element>
	<xs:complexType name="OSnLNodeGeq">
		<xs:annotation>
			<xs:documentation>since version 1.0.0. </xs:documentation>
		</xs:annotation>
		<xs:complexContent>
			<xs:extension base="OSnLNode">
				<xs:sequence minOccurs="2" maxOccurs="2">
					<xs:element ref="OSnLNode"/>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:element name="geq" type="OSnLNodeGeq" substitutionGroup="OSnLNode">
		<xs:annotation>
			<xs:documentation>since version 1.0.0. </xs:documentation>
		</xs:annotation>
	</xs:element>
	<xs:complexType name="OSnLNodeEq">
		<xs:annotation>
			<xs:documentation>since version 1.0.0. </xs:documentation>
		</xs:annotation>
		<xs:complexContent>
			<xs:extension base="OSnLNode">
				<xs:sequence minOccurs="2" maxOccurs="2">
					<xs:element ref="OSnLNode"/>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:element name="eq" type="OSnLNodeEq" substitutionGroup="OSnLNode">
		<xs:annotation>
			<xs:documentation>since version 1.0.0. </xs:documentation>
		</xs:annotation>
	</xs:element>
	<xs:complexType name="OSnLNodeNeq">
		<xs:annotation>
			<xs:documentation>since version 1.0.0. </xs:documentation>
		</xs:annotation>
		<xs:complexContent>
			<xs:extension base="OSnLNode">
				<xs:sequence minOccurs="2" maxOccurs="2">
					<xs:element ref="OSnLNode"/>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:element name="neq" type="OSnLNodeNeq" substitutionGroup="OSnLNode">
		<xs:annotation>
			<xs:documentation>since version 1.0.0. </xs:documentation>
		</xs:annotation>
	</xs:element>
	<xs:complexType name="OSnLNodeAnd">
		<xs:annotation>
			<xs:documentation>since version 1.0.0. </xs:documentation>
		</xs:annotation>
		<xs:complexContent>
			<xs:extension base="OSnLNode">
				<xs:sequence minOccurs="2" maxOccurs="2">
					<xs:element ref="OSnLNode"/>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:element name="and" type="OSnLNodeAnd" substitutionGroup="OSnLNode">
		<xs:annotation>
			<xs:documentation>since version 1.0.0. </xs:documentation>
		</xs:annotation>
	</xs:element>
	<xs:complexType name="OSnLNodeOr">
		<xs:annotation>
			<xs:documentation>since version 1.0.0. </xs:documentation>
		</xs:annotation>
		<xs:complexContent>
			<xs:extension base="OSnLNode">
				<xs:sequence minOccurs="2" maxOccurs="2">
					<xs:element ref="OSnLNode"/>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:element name="or" type="OSnLNodeOr" substitutionGroup="OSnLNode">
		<xs:annotation>
			<xs:documentation>since version 1.0.0. </xs:documentation>
		</xs:annotation>
	</xs:element>
	<xs:complexType name="OSnLNodeXor">
		<xs:annotation>
			<xs:documentation>since version 1.0.0. </xs:documentation>
		</xs:annotation>
		<xs:complexContent>
			<xs:extension base="OSnLNode">
				<xs:sequence minOccurs="2" maxOccurs="2">
					<xs:element ref="OSnLNode"/>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:element name="xor" type="OSnLNodeXor" substitutionGroup="OSnLNode">
		<xs:annotation>
			<xs:documentation>since version 1.0.0. </xs:documentation>
		</xs:annotation>
	</xs:element>
	<xs:complexType name="OSnLNodeImplies">
		<xs:annotation>
			<xs:documentation>since version 1.0.0. </xs:documentation>
		</xs:annotation>
		<xs:complexContent>
			<xs:extension base="OSnLNode">
				<xs:sequence minOccurs="2" maxOccurs="2">
					<xs:element ref="OSnLNode"/>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:element name="implies" type="OSnLNodeImplies" substitutionGroup="OSnLNode">
		<xs:annotation>
			<xs:documentation>since version 1.0.0. </xs:documentation>
		</xs:annotation>
	</xs:element>
	<xs:complexType name="OSnLNodeNot">
		<xs:annotation>
			<xs:documentation>since version 1.0.0. </xs:documentation>
		</xs:annotation>
		<xs:complexContent>
			<xs:extension base="OSnLNode">
				<xs:sequence>
					<xs:element ref="OSnLNode"/>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:element name="not" type="OSnLNodeNot" substitutionGroup="OSnLNode">
		<xs:annotation>
			<xs:documentation>since version 1.0.0. </xs:documentation>
		</xs:annotation>
	</xs:element>
	<xs:complexType name="OSnLNodeForAll">
		<xs:annotation>
			<xs:documentation>since version 1.0.0. </xs:documentation>
		</xs:annotation>
		<xs:complexContent>
			<xs:extension base="OSnLNode">
				<xs:sequence maxOccurs="unbounded">
					<xs:element ref="OSnLNode"/>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:element name="forAll" type="OSnLNodeForAll" substitutionGroup="OSnLNode">
		<xs:annotation>
			<xs:documentation>since version 1.0.0. </xs:documentation>
		</xs:annotation>
	</xs:element>
	<xs:complexType name="OSnLNodeExists">
		<xs:annotation>
			<xs:documentation>since version 1.0.0. </xs:documentation>
		</xs:annotation>
		<xs:complexContent>
			<xs:extension base="OSnLNode">
				<xs:sequence maxOccurs="unbounded">
					<xs:element ref="OSnLNode"/>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:element name="exists" type="OSnLNodeExists" substitutionGroup="OSnLNode">
		<xs:annotation>
			<xs:documentation>since version 1.0.0. </xs:documentation>
		</xs:annotation>
	</xs:element>
	<xs:complexType name="OSnLNodeLogicCount">
		<xs:annotation>
			<xs:documentation>since version 1.0.0. </xs:documentation>
		</xs:annotation>
		<xs:complexContent>
			<xs:extension base="OSnLNode">
				<xs:sequence maxOccurs="unbounded">
					<xs:element ref="OSnLNode"/>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:element name="logicCount" type="OSnLNodeLogicCount" substitutionGroup="OSnLNode">
		<xs:annotation>
			<xs:documentation>since version 1.0.0. </xs:documentation>
		</xs:annotation>
	</xs:element>
	<xs:complexType name="OSnLNodeAllDiff">
		<xs:annotation>
			<xs:documentation>since version 1.0.0. </xs:documentation>
		</xs:annotation>
		<xs:complexContent>
			<xs:extension base="OSnLNode">
				<xs:sequence minOccurs="0" maxOccurs="unbounded">
					<xs:element ref="OSnLNode"/>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:element name="allDiff" type="OSnLNodeAllDiff" substitutionGroup="OSnLNode">
		<xs:annotation>
			<xs:documentation>since version 1.0.0. </xs:documentation>
		</xs:annotation>
	</xs:element>
	<!--<xs:complexType name="OSnLNodeAllDisjoint">
		<xs:complexContent>
			<xs:extension base="OSnLNode">
				<xs:sequence maxOccurs="unbounded">
					<xs:element ref="OSnLNode"/>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:element name="allDisjoint" type="OSnLNodeAllDisjoint" substitutionGroup="OSnLNode"/>
	-->
	<xs:complexType name="OSnLNodeAtMost">
		<xs:annotation>
			<xs:documentation>since version 1.0.0. </xs:documentation>
		</xs:annotation>
		<xs:complexContent>
			<xs:extension base="OSnLNode">
				<xs:sequence minOccurs="2" maxOccurs="unbounded">
					<xs:element ref="OSnLNode"/>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:element name="atMost" type="OSnLNodeAtMost" substitutionGroup="OSnLNode">
		<xs:annotation>
			<xs:documentation>since version 1.0.0. </xs:documentation>
		</xs:annotation>
	</xs:element>
	<xs:complexType name="OSnLNodeAtLeast">
		<xs:annotation>
			<xs:documentation>since version 1.0.0. </xs:documentation>
		</xs:annotation>
		<xs:complexContent>
			<xs:extension base="OSnLNode">
				<xs:sequence minOccurs="2" maxOccurs="unbounded">
					<xs:element ref="OSnLNode"/>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:element name="atLeast" type="OSnLNodeAtLeast" substitutionGroup="OSnLNode">
		<xs:annotation>
			<xs:documentation>since version 1.0.0. </xs:documentation>
		</xs:annotation>
	</xs:element>
	<xs:complexType name="OSnLNodeExactly">
		<xs:annotation>
			<xs:documentation>since version 1.0.0. </xs:documentation>
		</xs:annotation>
		<xs:complexContent>
			<xs:extension base="OSnLNode">
				<xs:sequence minOccurs="2" maxOccurs="unbounded">
					<xs:element ref="OSnLNode"/>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:element name="exactly" type="OSnLNodeExactly" substitutionGroup="OSnLNode">
		<xs:annotation>
			<xs:documentation>since version 1.0.0. </xs:documentation>
		</xs:annotation>
	</xs:element>
	<xs:complexType name="OSnLNodeInSet">
		<xs:annotation>
			<xs:documentation>since version 1.0.0. </xs:documentation>
		</xs:annotation>
		<xs:complexContent>
			<xs:extension base="OSnLNode">
				<xs:sequence minOccurs="2" maxOccurs="unbounded">
					<xs:element ref="OSnLNode"/>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:element name="inSet" type="OSnLNodeInSet" substitutionGroup="OSnLNode">
		<xs:annotation>
			<xs:documentation>since version 1.0.0. </xs:documentation>
		</xs:annotation>
	</xs:element>
	<xs:complexType name="OSnLNodeInRealSet">
		<xs:annotation>
			<xs:documentation>since version 1.0.0. </xs:documentation>
		</xs:annotation>
		<xs:complexContent>
			<xs:extension base="OSnLNode">
				<xs:sequence>
					<xs:element ref="OSnLNode"/>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:element name="inRealSet" type="OSnLNodeInRealSet" substitutionGroup="OSnLNode">
		<xs:annotation>
			<xs:documentation>since version 1.0.0. </xs:documentation>
		</xs:annotation>
	</xs:element>
	<xs:complexType name="OSnLNodeInPositiveRealSet">
		<xs:annotation>
			<xs:documentation>since version 1.0.0. </xs:documentation>
		</xs:annotation>
		<xs:complexContent>
			<xs:extension base="OSnLNode">
				<xs:sequence>
					<xs:element ref="OSnLNode"/>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:element name="inPositiveRealSet" type="OSnLNodeInPositiveRealSet" substitutionGroup="OSnLNode">
		<xs:annotation>
			<xs:documentation>since version 1.0.0. </xs:documentation>
		</xs:annotation>
	</xs:element>
	<xs:complexType name="OSnLNodeInNonnegativeRealSet">
		<xs:annotation>
			<xs:documentation>since version 1.0.0. </xs:documentation>
		</xs:annotation>
		<xs:complexContent>
			<xs:extension base="OSnLNode">
				<xs:sequence>
					<xs:element ref="OSnLNode"/>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:element name="inNonnegativeRealSet" type="OSnLNodeInNonnegativeRealSet" substitutionGroup="OSnLNode">
		<xs:annotation>
			<xs:documentation>since version 1.0.0. </xs:documentation>
		</xs:annotation>
	</xs:element>
	<xs:complexType name="OSnLNodeInIntegerSet">
		<xs:annotation>
			<xs:documentation>since version 1.0.0. </xs:documentation>
		</xs:annotation>
		<xs:complexContent>
			<xs:extension base="OSnLNode">
				<xs:sequence>
					<xs:element ref="OSnLNode"/>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:element name="inIntegerSet" type="OSnLNodeInIntegerSet" substitutionGroup="OSnLNode">
		<xs:annotation>
			<xs:documentation>since version 1.0.0. </xs:documentation>
		</xs:annotation>
	</xs:element>
	<xs:complexType name="OSnLNodeInPositiveIntegerSet">
		<xs:annotation>
			<xs:documentation>since version 1.0.0. </xs:documentation>
		</xs:annotation>
		<xs:complexContent>
			<xs:extension base="OSnLNode">
				<xs:sequence>
					<xs:element ref="OSnLNode"/>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:element name="inPositiveIntegerSet" type="OSnLNodeInPositiveIntegerSet" substitutionGroup="OSnLNode">
		<xs:annotation>
			<xs:documentation>since version 1.0.0. </xs:documentation>
		</xs:annotation>
	</xs:element>
	<xs:complexType name="OSnLNodeInNonnegativeIntegerSet">
		<xs:annotation>
			<xs:documentation>since version 1.0.0. </xs:documentation>
		</xs:annotation>
		<xs:complexContent>
			<xs:extension base="OSnLNode">
				<xs:sequence>
					<xs:element ref="OSnLNode"/>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:element name="inNonnegativeIntegerSet" type="OSnLNodeInNonnegativeIntegerSet" substitutionGroup="OSnLNode">
		<xs:annotation>
			<xs:documentation>since version 1.0.0. </xs:documentation>
		</xs:annotation>
	</xs:element>
	<!--Matrix Specific Nodes: draft -->
	<xs:complexType name="OSnLNodeMatrixVariable">
		<xs:annotation>
			<xs:documentation>draft. </xs:documentation>
		</xs:annotation>
		<xs:complexContent>
			<xs:extension base="OSnLMNode">
				<xs:sequence minOccurs="0">
					<xs:element ref="OSnLNode"/>
				</xs:sequence>
				<xs:attribute name="idx" type="xs:nonNegativeInteger" use="required"/>
				<xs:attribute name="transpose" type="xs:boolean" use="optional" default="false"/>
				<xs:attribute name="coef" type="xs:double" use="optional" default="1"/>
				<xs:attribute name="leftCoefMatrixID" type="xs:string" use="optional"/>
				<xs:attribute name="rightCoefMatrixID" type="xs:string" use="optional"/>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:element name="matrixVariable" type="OSnLNodeMatrixVariable" substitutionGroup="OSnLMNode">
		<xs:annotation>
			<xs:documentation>draft. </xs:documentation>
		</xs:annotation>
	</xs:element>
	<xs:complexType name="OSnLNodeMatrix">
		<xs:annotation>
			<xs:documentation>draft. </xs:documentation>
		</xs:annotation>
		<xs:complexContent>
			<xs:extension base="OSnLMNode">
				<xs:attribute name="id" type="xs:string" use="required"/>
				<xs:attribute name="transpose" type="xs:boolean" use="optional" default="false"/>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:element name="matrix" type="OSnLNodeMatrix" substitutionGroup="OSnLMNode">
		<xs:annotation>
			<xs:documentation>draft. </xs:documentation>
		</xs:annotation>
	</xs:element>
	<xs:complexType name="OSnLNodeMatrixBlock">
		<xs:annotation>
			<xs:documentation>draft. </xs:documentation>
		</xs:annotation>
		<xs:complexContent>
			<xs:extension base="OSnLMNode">
				<xs:sequence>
					<xs:element ref="OSnLMNode"/>
				</xs:sequence>
				<xs:attribute name="rowIdxStart" type="xs:nonNegativeInteger" use="required"/>
				<xs:attribute name="colIdxStart" type="xs:nonNegativeInteger" use="required"/>
				<xs:attribute name="rowIdxEnd" type="xs:nonNegativeInteger" use="required"/>
				<xs:attribute name="colIdxEnd" type="xs:nonNegativeInteger" use="required"/>
				<xs:attribute name="transpose" type="xs:boolean" use="optional" default="false"/>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:element name="matrixBlock" type="OSnLNodeMatrixBlock" substitutionGroup="OSnLMNode">
		<xs:annotation>
			<xs:documentation>draft. Should be appended under matrixConcatenate</xs:documentation>
		</xs:annotation>
	</xs:element>
	<xs:complexType name="OSnLNodeMatrixIdentical">
		<xs:annotation>
			<xs:documentation>draft. </xs:documentation>
		</xs:annotation>
		<xs:complexContent>
			<xs:extension base="OSnLMNode">
				<xs:sequence minOccurs="2" maxOccurs="2">
					<xs:element ref="OSnLMNode"/>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:element name="matrixIdentical" type="OSnLNodeMatrixIdentical" substitutionGroup="OSnLNode">
		<xs:annotation>
			<xs:documentation>draft. </xs:documentation>
		</xs:annotation>
	</xs:element>
	<xs:complexType name="OSnLNodeMatrixPlus">
		<xs:annotation>
			<xs:documentation>draft. </xs:documentation>
		</xs:annotation>
		<xs:complexContent>
			<xs:extension base="OSnLMNode">
				<xs:sequence minOccurs="2" maxOccurs="2">
					<xs:element ref="OSnLMNode"/>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:element name="matrixPlus" type="OSnLNodeMatrixPlus" substitutionGroup="OSnLMNode">
		<xs:annotation>
			<xs:documentation>draft. </xs:documentation>
		</xs:annotation>
	</xs:element>
	<xs:complexType name="OSnLNodeMatrixScalarPlus">
		<xs:annotation>
			<xs:documentation>draft. </xs:documentation>
		</xs:annotation>
		<xs:complexContent>
			<xs:extension base="OSnLMNode">
				<xs:all>
					<xs:element ref="OSnLNode"/>
					<xs:element ref="OSnLMNode"/>
				</xs:all>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:element name="matrixScalarPlus" type="OSnLNodeMatrixScalarPlus" substitutionGroup="OSnLMNode">
		<xs:annotation>
			<xs:documentation>draft. </xs:documentation>
		</xs:annotation>
	</xs:element>
	<xs:complexType name="OSnLNodeMatrixSum">
		<xs:annotation>
			<xs:documentation>draft. </xs:documentation>
		</xs:annotation>
		<xs:complexContent>
			<xs:extension base="OSnLMNode">
				<xs:sequence maxOccurs="unbounded">
					<xs:element ref="OSnLMNode"/>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:element name="matrixSum" type="OSnLNodeMatrixSum" substitutionGroup="OSnLMNode">
		<xs:annotation>
			<xs:documentation>draft. </xs:documentation>
		</xs:annotation>
	</xs:element>
	<xs:complexType name="OSnLNodeMatrixMinus">
		<xs:annotation>
			<xs:documentation>draft. </xs:documentation>
		</xs:annotation>
		<xs:complexContent>
			<xs:extension base="OSnLMNode">
				<xs:sequence minOccurs="2" maxOccurs="2">
					<xs:element ref="OSnLMNode"/>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:element name="matrixMinus" type="OSnLNodeMatrixMinus" substitutionGroup="OSnLMNode">
		<xs:annotation>
			<xs:documentation>draft. </xs:documentation>
		</xs:annotation>
	</xs:element>
	<xs:complexType name="OSnLNodeMatrixScalarMinus">
		<xs:annotation>
			<xs:documentation>draft. </xs:documentation>
		</xs:annotation>
		<xs:complexContent>
			<xs:extension base="OSnLMNode">
				<xs:all>
					<xs:element ref="OSnLNode"/>
					<xs:element ref="OSnLMNode"/>
				</xs:all>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:element name="matrixScalarMinus" type="OSnLNodeMatrixScalarMinus" substitutionGroup="OSnLMNode">
		<xs:annotation>
			<xs:documentation>draft. </xs:documentation>
		</xs:annotation>
	</xs:element>
	<xs:complexType name="OSnLNodeMatrixNegate">
		<xs:annotation>
			<xs:documentation>draft. </xs:documentation>
		</xs:annotation>
		<xs:complexContent>
			<xs:extension base="OSnLMNode">
				<xs:sequence>
					<xs:element ref="OSnLMNode"/>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:element name="matrixNegate" type="OSnLNodeMatrixNegate" substitutionGroup="OSnLMNode">
		<xs:annotation>
			<xs:documentation>draft. </xs:documentation>
		</xs:annotation>
	</xs:element>
	<xs:complexType name="OSnLNodeMatrixTimes">
		<xs:annotation>
			<xs:documentation>draft. </xs:documentation>
		</xs:annotation>
		<xs:complexContent>
			<xs:extension base="OSnLMNode">
				<xs:sequence minOccurs="2" maxOccurs="2">
					<xs:element ref="OSnLMNode"/>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:element name="matrixTimes" type="OSnLNodeMatrixTimes" substitutionGroup="OSnLMNode">
		<xs:annotation>
			<xs:documentation>draft. </xs:documentation>
		</xs:annotation>
	</xs:element>
	<xs:complexType name="OSnLNodeMatrixDotTimes">
		<xs:annotation>
			<xs:documentation>draft. </xs:documentation>
		</xs:annotation>
		<xs:complexContent>
			<xs:extension base="OSnLMNode">
				<xs:sequence minOccurs="2" maxOccurs="2">
					<xs:element ref="OSnLMNode"/>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:element name="matrixDotTimes" type="OSnLNodeMatrixDotTimes" substitutionGroup="OSnLMNode">
		<xs:annotation>
			<xs:documentation>draft. </xs:documentation>
		</xs:annotation>
	</xs:element>
	<xs:complexType name="OSnLNodeMatrixScalarTimes">
		<xs:annotation>
			<xs:documentation>draft. </xs:documentation>
		</xs:annotation>
		<xs:complexContent>
			<xs:extension base="OSnLMNode">
				<xs:all>
					<xs:element ref="OSnLNode"/>
					<xs:element ref="OSnLMNode"/>
				</xs:all>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:element name="matrixScalarTimes" type="OSnLNodeMatrixScalarTimes" substitutionGroup="OSnLMNode">
		<xs:annotation>
			<xs:documentation>draft. </xs:documentation>
		</xs:annotation>
	</xs:element>
	<xs:complexType name="OSnLNodeMatrixProduct">
		<xs:annotation>
			<xs:documentation>draft. </xs:documentation>
		</xs:annotation>
		<xs:complexContent>
			<xs:extension base="OSnLMNode">
				<xs:sequence maxOccurs="unbounded">
					<xs:element ref="OSnLMNode"/>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:element name="matrixProduct" type="OSnLNodeMatrixProduct" substitutionGroup="OSnLMNode">
		<xs:annotation>
			<xs:documentation>draft. </xs:documentation>
		</xs:annotation>
	</xs:element>
	<xs:complexType name="OSnLNodeMatrixRightDivide">
		<xs:annotation>
			<xs:documentation>draft. </xs:documentation>
		</xs:annotation>
		<xs:complexContent>
			<xs:extension base="OSnLMNode">
				<xs:sequence minOccurs="2" maxOccurs="2">
					<xs:element ref="OSnLMNode"/>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:element name="matrixRightDivide" type="OSnLNodeMatrixRightDivide" substitutionGroup="OSnLMNode">
		<xs:annotation>
			<xs:documentation>draft. </xs:documentation>
		</xs:annotation>
	</xs:element>
	<xs:complexType name="OSnLNodeMatrixLeftDivide">
		<xs:annotation>
			<xs:documentation>draft. </xs:documentation>
		</xs:annotation>
		<xs:complexContent>
			<xs:extension base="OSnLMNode">
				<xs:sequence minOccurs="2" maxOccurs="2">
					<xs:element ref="OSnLMNode"/>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:element name="matrixLeftDivide" type="OSnLNodeMatrixLeftDivide" substitutionGroup="OSnLMNode">
		<xs:annotation>
			<xs:documentation>draft. </xs:documentation>
		</xs:annotation>
	</xs:element>
	<xs:complexType name="OSnLNodeMatrixDotRightDivide">
		<xs:annotation>
			<xs:documentation>draft. </xs:documentation>
		</xs:annotation>
		<xs:complexContent>
			<xs:extension base="OSnLMNode">
				<xs:sequence minOccurs="2" maxOccurs="2">
					<xs:element ref="OSnLMNode"/>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:element name="matrixDotRightDivide" type="OSnLNodeMatrixDotRightDivide" substitutionGroup="OSnLMNode">
		<xs:annotation>
			<xs:documentation>draft. </xs:documentation>
		</xs:annotation>
	</xs:element>
	<xs:complexType name="OSnLNodeMatrixDotLeftDivide">
		<xs:annotation>
			<xs:documentation>draft. </xs:documentation>
		</xs:annotation>
		<xs:complexContent>
			<xs:extension base="OSnLMNode">
				<xs:sequence minOccurs="2" maxOccurs="2">
					<xs:element ref="OSnLMNode"/>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:element name="matrixDotLeftDivide" type="OSnLNodeMatrixDotLeftDivide" substitutionGroup="OSnLMNode">
		<xs:annotation>
			<xs:documentation>draft. </xs:documentation>
		</xs:annotation>
	</xs:element>
	<xs:complexType name="OSnLNodeMatrixScalarDivide">
		<xs:annotation>
			<xs:documentation>draft. </xs:documentation>
		</xs:annotation>
		<xs:complexContent>
			<xs:extension base="OSnLMNode">
				<xs:all>
					<xs:element ref="OSnLNode"/>
					<xs:element ref="OSnLMNode"/>
				</xs:all>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:element name="matrixScalarDivide" type="OSnLNodeMatrixScalarDivide" substitutionGroup="OSnLMNode">
		<xs:annotation>
			<xs:documentation>draft. </xs:documentation>
		</xs:annotation>
	</xs:element>
	<xs:complexType name="OSnLNodeMatrixPower">
		<xs:annotation>
			<xs:documentation>draft. </xs:documentation>
		</xs:annotation>
		<xs:complexContent>
			<xs:extension base="OSnLMNode">
				<xs:sequence>
					<xs:element ref="OSnLMNode"/>
					<xs:element ref="OSnLNode"/>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:element name="matrixPower" type="OSnLNodeMatrixPower" substitutionGroup="OSnLMNode">
		<xs:annotation>
			<xs:documentation>draft. </xs:documentation>
		</xs:annotation>
	</xs:element>
	<xs:complexType name="OSnLNodeMatrixDotPower">
		<xs:annotation>
			<xs:documentation>draft. </xs:documentation>
		</xs:annotation>
		<xs:complexContent>
			<xs:extension base="OSnLMNode">
				<xs:sequence minOccurs="2" maxOccurs="2">
					<xs:element ref="OSnLMNode"/>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:element name="matrixDotPower" type="OSnLNodeMatrixDotPower" substitutionGroup="OSnLMNode">
		<xs:annotation>
			<xs:documentation>draft. </xs:documentation>
		</xs:annotation>
	</xs:element>
	<xs:complexType name="OSnLNodeMatrixLog">
		<xs:annotation>
			<xs:documentation>draft. </xs:documentation>
		</xs:annotation>
		<xs:complexContent>
			<xs:extension base="OSnLMNode">
				<xs:sequence>
					<xs:element ref="OSnLMNode"/>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:element name="matrixLog" type="OSnLNodeMatrixLog" substitutionGroup="OSnLMNode">
		<xs:annotation>
			<xs:documentation>draft. </xs:documentation>
		</xs:annotation>
	</xs:element>
	<xs:complexType name="OSnLNodeMatrixExp">
		<xs:annotation>
			<xs:documentation>draft. </xs:documentation>
		</xs:annotation>
		<xs:complexContent>
			<xs:extension base="OSnLMNode">
				<xs:sequence>
					<xs:element ref="OSnLMNode"/>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:element name="matrixExp" type="OSnLNodeMatrixExp" substitutionGroup="OSnLMNode">
		<xs:annotation>
			<xs:documentation>draft. </xs:documentation>
		</xs:annotation>
	</xs:element>
	<xs:complexType name="OSnLNodeMatrixSquareRoot">
		<xs:annotation>
			<xs:documentation>draft. </xs:documentation>
		</xs:annotation>
		<xs:complexContent>
			<xs:extension base="OSnLMNode">
				<xs:sequence>
					<xs:element ref="OSnLMNode"/>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:element name="matrixSquareRoot" type="OSnLNodeMatrixSquareRoot" substitutionGroup="OSnLMNode">
		<xs:annotation>
			<xs:documentation>draft. </xs:documentation>
		</xs:annotation>
	</xs:element>
	<xs:complexType name="OSnLNodeMatrixRowNumber">
		<xs:annotation>
			<xs:documentation>draft. </xs:documentation>
		</xs:annotation>
		<xs:complexContent>
			<xs:extension base="OSnLNode">
				<xs:sequence>
					<xs:element ref="OSnLMNode"/>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:element name="matrixRowNumber" type="OSnLNodeMatrixRowNumber" substitutionGroup="OSnLNode">
		<xs:annotation>
			<xs:documentation>draft. </xs:documentation>
		</xs:annotation>
	</xs:element>
	<xs:complexType name="OSnLNodeMatrixColumnNumber">
		<xs:annotation>
			<xs:documentation>draft. </xs:documentation>
		</xs:annotation>
		<xs:complexContent>
			<xs:extension base="OSnLNode">
				<xs:sequence>
					<xs:element ref="OSnLMNode"/>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:element name="matrixColumnNumber" type="OSnLNodeMatrixColumnNumber" substitutionGroup="OSnLNode">
		<xs:annotation>
			<xs:documentation>draft. </xs:documentation>
		</xs:annotation>
	</xs:element>
	<xs:complexType name="OSnLNodeMatrixValueNumber">
		<xs:annotation>
			<xs:documentation>draft. </xs:documentation>
		</xs:annotation>
		<xs:complexContent>
			<xs:extension base="OSnLNode">
				<xs:sequence>
					<xs:element ref="OSnLMNode"/>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:element name="matrixValueNumber" type="OSnLNodeMatrixValueNumber" substitutionGroup="OSnLNode">
		<xs:annotation>
			<xs:documentation>draft. </xs:documentation>
		</xs:annotation>
	</xs:element>
	<xs:complexType name="OSnLNodeMatrixElementAt">
		<xs:annotation>
			<xs:documentation>draft. </xs:documentation>
		</xs:annotation>
		<xs:complexContent>
			<xs:extension base="OSnLNode">
				<xs:sequence minOccurs="3" maxOccurs="3">
					<xs:element ref="OSnLMNode"/>
					<xs:element ref="OSnLNode"/>
					<xs:element ref="OSnLNode"/>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:element name="matrixElementAt" type="OSnLNodeMatrixElementAt" substitutionGroup="OSnLNode">
		<xs:annotation>
			<xs:documentation>draft. </xs:documentation>
		</xs:annotation>
	</xs:element>
	<xs:complexType name="OSnLNodeMatrixSubmatrixAt">
		<xs:annotation>
			<xs:documentation>draft. </xs:documentation>
		</xs:annotation>
		<xs:complexContent>
			<xs:extension base="OSnLMNode">
				<xs:sequence minOccurs="5" maxOccurs="5">
					<xs:element ref="OSnLMNode"/>
					<xs:element ref="OSnLNode"/>
					<xs:element ref="OSnLNode"/>
					<xs:element ref="OSnLNode"/>
					<xs:element ref="OSnLNode"/>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:element name="matrixSubmatrixAt" type="OSnLNodeMatrixSubmatrixAt" substitutionGroup="OSnLMNode">
		<xs:annotation>
			<xs:documentation>draft. </xs:documentation>
		</xs:annotation>
	</xs:element>
	<xs:complexType name="OSnLNodeMatrixConcatenate">
		<xs:annotation>
			<xs:documentation>draft. </xs:documentation>
		</xs:annotation>
		<xs:complexContent>
			<xs:extension base="OSnLMNode">
				<xs:sequence maxOccurs="unbounded">
					<xs:element ref="matrixBlock"/>
				</xs:sequence>
				<xs:attribute name="numberOfRows" type="xs:positiveInteger" use="required"/>
				<xs:attribute name="numberOfColumns" type="xs:positiveInteger" use="required"/>
				<xs:attribute name="numberOfBlocks" type="xs:nonNegativeInteger" use="required"/>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:element name="matrixConcatenate" type="OSnLNodeMatrixConcatenate" substitutionGroup="OSnLMNode">
		<xs:annotation>
			<xs:documentation>draft. </xs:documentation>
		</xs:annotation>
	</xs:element>
	<xs:complexType name="OSnLNodeMatrixUpperTriangle">
		<xs:annotation>
			<xs:documentation>draft. </xs:documentation>
		</xs:annotation>
		<xs:complexContent>
			<xs:extension base="OSnLMNode">
				<xs:sequence>
					<xs:element ref="OSnLMNode"/>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:element name="matrixUpperTriangle" type="OSnLNodeMatrixUpperTriangle" substitutionGroup="OSnLMNode">
		<xs:annotation>
			<xs:documentation>draft. </xs:documentation>
		</xs:annotation>
	</xs:element>
	<xs:complexType name="OSnLNodeMatrixLowerTriangle">
		<xs:annotation>
			<xs:documentation>draft. </xs:documentation>
		</xs:annotation>
		<xs:complexContent>
			<xs:extension base="OSnLMNode">
				<xs:sequence>
					<xs:element ref="OSnLMNode"/>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:element name="matrixLowerTriangle" type="OSnLNodeMatrixLowerTriangle" substitutionGroup="OSnLMNode">
		<xs:annotation>
			<xs:documentation>draft. </xs:documentation>
		</xs:annotation>
	</xs:element>
	<xs:complexType name="OSnLNodeMatrixDiagonal">
		<xs:annotation>
			<xs:documentation>draft. </xs:documentation>
		</xs:annotation>
		<xs:complexContent>
			<xs:extension base="OSnLMNode">
				<xs:sequence>
					<xs:element ref="OSnLMNode"/>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:element name="matrixDiagonal" type="OSnLNodeMatrixDiagonal" substitutionGroup="OSnLMNode">
		<xs:annotation>
			<xs:documentation>draft. </xs:documentation>
		</xs:annotation>
	</xs:element>
	<xs:complexType name="OSnLNodeMatrixRank">
		<xs:annotation>
			<xs:documentation>draft. </xs:documentation>
		</xs:annotation>
		<xs:complexContent>
			<xs:extension base="OSnLNode">
				<xs:sequence>
					<xs:element ref="OSnLMNode"/>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:element name="matrixRank" type="OSnLNodeMatrixRank" substitutionGroup="OSnLNode">
		<xs:annotation>
			<xs:documentation>draft. </xs:documentation>
		</xs:annotation>
	</xs:element>
	<xs:complexType name="OSnLNodeMatrixDeterminant">
		<xs:annotation>
			<xs:documentation>draft. </xs:documentation>
		</xs:annotation>
		<xs:complexContent>
			<xs:extension base="OSnLNode">
				<xs:sequence>
					<xs:element ref="OSnLMNode"/>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:element name="matrixDeterminant" type="OSnLNodeMatrixDeterminant" substitutionGroup="OSnLNode">
		<xs:annotation>
			<xs:documentation>draft. </xs:documentation>
		</xs:annotation>
	</xs:element>
	<xs:complexType name="OSnLNodeMatrixInverse">
		<xs:annotation>
			<xs:documentation>draft. </xs:documentation>
		</xs:annotation>
		<xs:complexContent>
			<xs:extension base="OSnLMNode">
				<xs:sequence>
					<xs:element ref="OSnLMNode"/>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:element name="matrixInverse" type="OSnLNodeMatrixInverse" substitutionGroup="OSnLMNode">
		<xs:annotation>
			<xs:documentation>draft. </xs:documentation>
		</xs:annotation>
	</xs:element>
	<xs:complexType name="OSnLNodeMatrixTrace">
		<xs:annotation>
			<xs:documentation>draft. </xs:documentation>
		</xs:annotation>
		<xs:complexContent>
			<xs:extension base="OSnLNode">
				<xs:sequence>
					<xs:element ref="OSnLMNode"/>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:element name="matrixTrace" type="OSnLNodeMatrixTrace" substitutionGroup="OSnLNode">
		<xs:annotation>
			<xs:documentation>draft. </xs:documentation>
		</xs:annotation>
	</xs:element>
	<xs:complexType name="OSnLNodeMatrixTranspose">
		<xs:annotation>
			<xs:documentation>draft. </xs:documentation>
		</xs:annotation>
		<xs:complexContent>
			<xs:extension base="OSnLMNode">
				<xs:sequence>
					<xs:element ref="OSnLMNode"/>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:element name="matrixTranspose" type="OSnLNodeMatrixTranspose" substitutionGroup="OSnLMNode">
		<xs:annotation>
			<xs:documentation>draft. </xs:documentation>
		</xs:annotation>
	</xs:element>
	<xs:complexType name="OSnLNodeMatrixDotTranspose">
		<xs:annotation>
			<xs:documentation>draft. </xs:documentation>
		</xs:annotation>
		<xs:complexContent>
			<xs:extension base="OSnLMNode">
				<xs:sequence>
					<xs:element ref="OSnLMNode"/>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:element name="matrixDotTranspose" type="OSnLNodeMatrixDotTranspose" substitutionGroup="OSnLMNode">
		<xs:annotation>
			<xs:documentation>draft. </xs:documentation>
		</xs:annotation>
	</xs:element>
	<xs:complexType name="OSnLNodeMatrixSingular">
		<xs:annotation>
			<xs:documentation>draft. </xs:documentation>
		</xs:annotation>
		<xs:complexContent>
			<xs:extension base="OSnLNode">
				<xs:sequence>
					<xs:element ref="OSnLMNode"/>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:element name="matrixSingular" type="OSnLNodeMatrixSingular" substitutionGroup="OSnLNode">
		<xs:annotation>
			<xs:documentation>draft. </xs:documentation>
		</xs:annotation>
	</xs:element>
	<xs:complexType name="OSnLNodeMatrixFullRank">
		<xs:annotation>
			<xs:documentation>draft. </xs:documentation>
		</xs:annotation>
		<xs:complexContent>
			<xs:extension base="OSnLNode">
				<xs:sequence>
					<xs:element ref="OSnLMNode"/>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:element name="matrixFullRank" type="OSnLNodeMatrixFullRank" substitutionGroup="OSnLNode">
		<xs:annotation>
			<xs:documentation>draft. </xs:documentation>
		</xs:annotation>
	</xs:element>
	<xs:complexType name="OSnLNodeMatrixPositiveDefinite">
		<xs:annotation>
			<xs:documentation>draft. </xs:documentation>
		</xs:annotation>
		<xs:complexContent>
			<xs:extension base="OSnLNode">
				<xs:sequence>
					<xs:element ref="OSnLMNode"/>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:element name="matrixPositiveDefinite" type="OSnLNodeMatrixPositiveDefinite" substitutionGroup="OSnLNode">
		<xs:annotation>
			<xs:documentation>draft. </xs:documentation>
		</xs:annotation>
	</xs:element>
	<xs:complexType name="OSnLNodeMatrixPositiveSemidefinite">
		<xs:annotation>
			<xs:documentation>draft. </xs:documentation>
		</xs:annotation>
		<xs:complexContent>
			<xs:extension base="OSnLNode">
				<xs:sequence>
					<xs:element ref="OSnLMNode"/>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:element name="matrixPositiveSemidefinite" type="OSnLNodeMatrixPositiveSemidefinite" substitutionGroup="OSnLNode">
		<xs:annotation>
			<xs:documentation>draft. </xs:documentation>
		</xs:annotation>
	</xs:element>
	<xs:complexType name="OSnLNodeMatrixNegativeDefinite">
		<xs:annotation>
			<xs:documentation>draft. </xs:documentation>
		</xs:annotation>
		<xs:complexContent>
			<xs:extension base="OSnLNode">
				<xs:sequence>
					<xs:element ref="OSnLMNode"/>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:element name="matrixNegativeDefinite" type="OSnLNodeMatrixNegativeDefinite" substitutionGroup="OSnLNode">
		<xs:annotation>
			<xs:documentation>draft. </xs:documentation>
		</xs:annotation>
	</xs:element>
	<xs:complexType name="OSnLNodeMatrixNegativeSemidefinite">
		<xs:annotation>
			<xs:documentation>draft. </xs:documentation>
		</xs:annotation>
		<xs:complexContent>
			<xs:extension base="OSnLNode">
				<xs:sequence>
					<xs:element ref="OSnLMNode"/>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:element name="matrixNegativeSemidefinite" type="OSnLNodeMatrixNegativeSemidefinite" substitutionGroup="OSnLNode">
		<xs:annotation>
			<xs:documentation>draft. </xs:documentation>
		</xs:annotation>
	</xs:element>
	<xs:complexType name="OSnLNodeMatrixIndefinite">
		<xs:annotation>
			<xs:documentation>draft. </xs:documentation>
		</xs:annotation>
		<xs:complexContent>
			<xs:extension base="OSnLNode">
				<xs:sequence>
					<xs:element ref="OSnLMNode"/>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:element name="matrixIndefinite" type="OSnLNodeMatrixIndefinite" substitutionGroup="OSnLNode">
		<xs:annotation>
			<xs:documentation>draft. </xs:documentation>
		</xs:annotation>
	</xs:element>
	<xs:complexType name="OSnLNodeMatrixEigenValues">
		<xs:annotation>
			<xs:documentation>draft. </xs:documentation>
		</xs:annotation>
		<xs:complexContent>
			<xs:extension base="OSnLMNode">
				<xs:sequence>
					<xs:element ref="OSnLMNode"/>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:element name="matrixEigenValues" type="OSnLNodeMatrixEigenValues" substitutionGroup="OSnLMNode">
		<xs:annotation>
			<xs:documentation>draft. </xs:documentation>
		</xs:annotation>
	</xs:element>
	<xs:complexType name="OSnLNodeMatrixEigenVectors">
		<xs:annotation>
			<xs:documentation>draft. </xs:documentation>
		</xs:annotation>
		<xs:complexContent>
			<xs:extension base="OSnLMNode">
				<xs:sequence>
					<xs:element ref="OSnLMNode"/>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:element name="matrixEigenVectors" type="OSnLNodeMatrixEigenVectors" substitutionGroup="OSnLMNode">
		<xs:annotation>
			<xs:documentation>draft. </xs:documentation>
		</xs:annotation>
	</xs:element>
	<xs:complexType name="OSnLNodeMatrixNthLargestEigenValue">
		<xs:annotation>
			<xs:documentation>draft. </xs:documentation>
		</xs:annotation>
		<xs:complexContent>
			<xs:extension base="OSnLMNode">
				<xs:sequence minOccurs="2" maxOccurs="2">
					<xs:element ref="OSnLMNode"/>
					<xs:element ref="OSnLNode"/>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:element name="matrixNthLargestEigenValue" type="OSnLNodeMatrixNthLargestEigenValue" substitutionGroup="OSnLNode">
		<xs:annotation>
			<xs:documentation>draft. </xs:documentation>
		</xs:annotation>
	</xs:element>
	<xs:complexType name="OSnLNodeMatrixLargestEigenValue">
		<xs:annotation>
			<xs:documentation>draft. </xs:documentation>
		</xs:annotation>
		<xs:complexContent>
			<xs:extension base="OSnLMNode">
				<xs:sequence minOccurs="2" maxOccurs="2">
					<xs:element ref="OSnLMNode"/>
					<xs:element ref="OSnLNode"/>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:element name="matrixLargestEigenValue" type="OSnLNodeMatrixLargestEigenValue" substitutionGroup="OSnLNode">
		<xs:annotation>
			<xs:documentation>draft. </xs:documentation>
		</xs:annotation>
	</xs:element>
	<xs:complexType name="OSnLNodeMatrixNorm">
		<xs:annotation>
			<xs:documentation>draft. </xs:documentation>
		</xs:annotation>
		<xs:complexContent>
			<xs:extension base="OSnLMNode">
				<xs:sequence minOccurs="2" maxOccurs="2">
					<xs:element ref="OSnLMNode"/>
					<xs:element ref="OSnLNode"/>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:element name="matrixNorm" type="OSnLNodeMatrixNorm" substitutionGroup="OSnLNode">
		<xs:annotation>
			<xs:documentation>draft. </xs:documentation>
		</xs:annotation>
	</xs:element>
	<xs:complexType name="OSnLNodeMatrixFrobeniusNorm">
		<xs:annotation>
			<xs:documentation>draft. </xs:documentation>
		</xs:annotation>
		<xs:complexContent>
			<xs:extension base="OSnLMNode">
				<xs:sequence>
					<xs:element ref="OSnLMNode"/>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:element name="matrixFrobeniusNorm" type="OSnLNodeMatrixFrobeniusNorm" substitutionGroup="OSnLNode">
		<xs:annotation>
			<xs:documentation>draft. </xs:documentation>
		</xs:annotation>
	</xs:element>
	<xs:complexType name="OSnLNodeMatrixCondition">
		<xs:annotation>
			<xs:documentation>draft. </xs:documentation>
		</xs:annotation>
		<xs:complexContent>
			<xs:extension base="OSnLMNode">
				<xs:sequence minOccurs="2" maxOccurs="2">
					<xs:element ref="OSnLMNode"/>
					<xs:element ref="OSnLNode"/>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:element name="matrixCondition" type="OSnLNodeMatrixCondition" substitutionGroup="OSnLNode">
		<xs:annotation>
			<xs:documentation>draft. </xs:documentation>
		</xs:annotation>
	</xs:element>
	<xs:complexType name="OSnLNodeMatrixFrobeniusNormCondition">
		<xs:annotation>
			<xs:documentation>draft. </xs:documentation>
		</xs:annotation>
		<xs:complexContent>
			<xs:extension base="OSnLMNode">
				<xs:sequence>
					<xs:element ref="OSnLMNode"/>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:element name="matrixFrobeniusNormCondition" type="OSnLNodeMatrixFrobeniusNormCondition" substitutionGroup="OSnLNode">
		<xs:annotation>
			<xs:documentation>draft. </xs:documentation>
		</xs:annotation>
	</xs:element>
	<xs:complexType name="OSnLNodeMatrixNullSpace">
		<xs:annotation>
			<xs:documentation>draft. </xs:documentation>
		</xs:annotation>
		<xs:complexContent>
			<xs:extension base="OSnLMNode">
				<xs:sequence>
					<xs:element ref="OSnLMNode"/>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:element name="matrixNullSpace" type="OSnLNodeMatrixNullSpace" substitutionGroup="OSnLMNode">
		<xs:annotation>
			<xs:documentation>draft. </xs:documentation>
		</xs:annotation>
	</xs:element>
	<xs:complexType name="OSnLNodeMatrixRangeSpace">
		<xs:annotation>
			<xs:documentation>draft. </xs:documentation>
		</xs:annotation>
		<xs:complexContent>
			<xs:extension base="OSnLMNode">
				<xs:sequence>
					<xs:element ref="OSnLMNode"/>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:element name="matrixRangeSpace" type="OSnLNodeMatrixRangeSpace" substitutionGroup="OSnLMNode">
		<xs:annotation>
			<xs:documentation>draft. </xs:documentation>
		</xs:annotation>
	</xs:element>
	<xs:complexType name="OSnLNodeMatrixIdentity">
		<xs:annotation>
			<xs:documentation>draft. </xs:documentation>
		</xs:annotation>
		<xs:complexContent>
			<xs:extension base="OSnLMNode">
				<xs:sequence minOccurs="2" maxOccurs="2">
					<xs:element ref="OSnLNode"/>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:element name="matrixIdentity" type="OSnLNodeMatrixIdentity" substitutionGroup="OSnLMNode">
		<xs:annotation>
			<xs:documentation>draft. </xs:documentation>
		</xs:annotation>
	</xs:element>
	<xs:complexType name="OSnLNodeMatrixReducedRowEchelon">
		<xs:annotation>
			<xs:documentation>draft. </xs:documentation>
		</xs:annotation>
		<xs:complexContent>
			<xs:extension base="OSnLMNode">
				<xs:sequence>
					<xs:element ref="OSnLMNode"/>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:element name="matrixReducedRowEchelon" type="OSnLNodeMatrixReducedRowEchelon" substitutionGroup="OSnLMNode">
		<xs:annotation>
			<xs:documentation>draft. </xs:documentation>
		</xs:annotation>
	</xs:element>
	<xs:complexType name="OSnLNodeMatrixSubspaceAngle">
		<xs:annotation>
			<xs:documentation>draft. </xs:documentation>
		</xs:annotation>
		<xs:complexContent>
			<xs:extension base="OSnLMNode">
				<xs:sequence>
					<xs:element ref="OSnLMNode"/>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:element name="matrixSubspaceAngle" type="OSnLNodeMatrixSubspaceAngle" substitutionGroup="OSnLNode">
		<xs:annotation>
			<xs:documentation>draft. </xs:documentation>
		</xs:annotation>
	</xs:element>
	<xs:complexType name="OSnLNodeMatrixCholeskyDecomposition">
		<xs:annotation>
			<xs:documentation>draft. </xs:documentation>
		</xs:annotation>
		<xs:complexContent>
			<xs:extension base="OSnLMNode">
				<xs:sequence>
					<xs:element ref="OSnLMNode"/>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:element name="matrixCholeskyDecomposition" type="OSnLNodeMatrixCholeskyDecomposition" substitutionGroup="OSnLMNode">
		<xs:annotation>
			<xs:documentation>draft. </xs:documentation>
		</xs:annotation>
	</xs:element>
	<!--Special or Other Nodes: since version 1.0.0 -->
	<xs:complexType name="OSnLNodeQuadratic">
		<xs:annotation>
			<xs:documentation>since version 1.0.0. </xs:documentation>
		</xs:annotation>
		<xs:complexContent>
			<xs:extension base="OSnLNode">
				<xs:sequence maxOccurs="unbounded">
					<xs:element ref="qTerm"/>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:element name="quadratic" type="OSnLNodeQuadratic" substitutionGroup="OSnLNode">
		<xs:annotation>
			<xs:documentation>since version 1.0.0. </xs:documentation>
		</xs:annotation>
	</xs:element>
	<xs:complexType name="OSnLNodeQTerm">
		<xs:annotation>
			<xs:documentation>since version 1.0.0. </xs:documentation>
		</xs:annotation>
		<xs:complexContent>
			<xs:extension base="OSnLNode">
				<xs:sequence minOccurs="0">
					<xs:element ref="OSnLNode"/>
				</xs:sequence>
				<xs:attribute name="idxOne" type="xs:nonNegativeInteger" use="required"/>
				<xs:attribute name="idxTwo" type="xs:nonNegativeInteger" use="required"/>
				<xs:attribute name="coef" type="xs:double" use="optional" default="1"/>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:element name="qTerm" type="OSnLNodeQTerm" substitutionGroup="OSnLNode">
		<xs:annotation>
			<xs:documentation>since version 1.0.0. </xs:documentation>
		</xs:annotation>
	</xs:element>
	<xs:complexType name="OSnLNodeSim">
		<xs:annotation>
			<xs:documentation>since version 1.0.0. </xs:documentation>
		</xs:annotation>
		<xs:complexContent>
			<xs:extension base="OSnLNode">
				<xs:sequence>
					<xs:element ref="simInput" minOccurs="0" maxOccurs="unbounded"/>
					<xs:element ref="simOutput"/>
				</xs:sequence>
				<xs:attribute name="name" type="xs:IDREF" use="required"/>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:element name="sim" type="OSnLNodeSim" substitutionGroup="OSnLNode">
		<xs:annotation>
			<xs:documentation>since version 1.0.0. </xs:documentation>
		</xs:annotation>
	</xs:element>
	<xs:complexType name="OSnLNodeSimInput">
		<xs:annotation>
			<xs:documentation>since version 1.0.0. </xs:documentation>
		</xs:annotation>
		<xs:complexContent>
			<xs:extension base="OSnLNode">
				<xs:sequence minOccurs="0">
					<xs:element ref="OSnLNode"/>
				</xs:sequence>
				<xs:attribute name="simName" type="xs:IDREF" use="optional"/>
				<xs:attribute name="inputName" type="xs:IDREF" use="required"/>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:element name="simInput" type="OSnLNodeSimInput" substitutionGroup="OSnLNode">
		<xs:annotation>
			<xs:documentation>since version 1.0.0. </xs:documentation>
		</xs:annotation>
	</xs:element>
	<xs:complexType name="OSnLNodeSimOutput">
		<xs:annotation>
			<xs:documentation>since version 1.0.0. </xs:documentation>
		</xs:annotation>
		<xs:complexContent>
			<xs:extension base="OSnLNode">
				<xs:sequence minOccurs="0">
					<xs:element ref="OSnLNode"/>
				</xs:sequence>
				<xs:attribute name="simName" type="xs:IDREF" use="optional"/>
				<xs:attribute name="outputName" type="xs:string" use="optional"/>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:element name="simOutput" type="OSnLNodeSimOutput" substitutionGroup="OSnLNode">
		<xs:annotation>
			<xs:documentation>since version 1.0.0. </xs:documentation>
		</xs:annotation>
	</xs:element>
	<xs:complexType name="OSnLNodeUserF">
		<xs:annotation>
			<xs:documentation>since version 1.0.0. </xs:documentation>
		</xs:annotation>
		<xs:complexContent>
			<xs:extension base="OSnLNode">
				<xs:sequence minOccurs="0" maxOccurs="unbounded">
					<xs:element ref="OSnLNode"/>
				</xs:sequence>
				<xs:attribute name="name" type="xs:IDREF" use="required"/>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:element name="userF" type="OSnLNodeUserF" substitutionGroup="OSnLNode">
		<xs:annotation>
			<xs:documentation>since version 1.0.0. </xs:documentation>
		</xs:annotation>
	</xs:element>
	<xs:complexType name="OSnLNodeArg">
		<xs:annotation>
			<xs:documentation>since version 1.0.0. </xs:documentation>
		</xs:annotation>
		<xs:complexContent>
			<xs:extension base="OSnLNode">
				<xs:attribute name="idx" type="xs:nonNegativeInteger" use="required"/>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:element name="arg" type="OSnLNodeArg" substitutionGroup="OSnLNode">
		<xs:annotation>
			<xs:documentation>since version 1.0.0. </xs:documentation>
		</xs:annotation>
	</xs:element>
	<xs:complexType name="OSnLNodeXPath">
		<xs:annotation>
			<xs:documentation>since version 1.0.0. </xs:documentation>
		</xs:annotation>
		<xs:complexContent>
			<xs:extension base="OSnLNode">
				<xs:sequence>
					<xs:element ref="xPathIndex" minOccurs="0" maxOccurs="unbounded"/>
				</xs:sequence>
				<xs:attribute name="uri" type="xs:anyURI" use="optional" default="."/>
				<xs:attribute name="path" type="xs:string" use="required"/>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:element name="xPath" type="OSnLNodeXPath" substitutionGroup="OSnLNode">
		<xs:annotation>
			<xs:documentation>since version 1.0.0. </xs:documentation>
		</xs:annotation>
	</xs:element>
	<xs:complexType name="OSnLNodeXPathIndex">
		<xs:annotation>
			<xs:documentation>since version 1.0.0. </xs:documentation>
		</xs:annotation>
		<xs:complexContent>
			<xs:extension base="OSnLNode">
				<xs:sequence minOccurs="0">
					<xs:element ref="OSnLNode"/>
				</xs:sequence>
				<xs:attribute name="indexName" type="xs:string" use="required"/>
				<xs:attribute name="indexValue" type="xs:string" use="optional"/>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:element name="xPathIndex" type="OSnLNodeXPathIndex" substitutionGroup="OSnLNode">
		<xs:annotation>
			<xs:documentation>since version 1.0.0. </xs:documentation>
		</xs:annotation>
	</xs:element>
	<xs:complexType name="OSnLNodeNodeRef">
		<xs:annotation>
			<xs:documentation>experiment</xs:documentation>
		</xs:annotation>
		<xs:complexContent>
			<xs:extension base="OSnLNode">
				<xs:sequence minOccurs="0">
					<xs:element ref="OSnLNode"/>
				</xs:sequence>
				<xs:attribute name="nodeID" type="xs:nonNegativeInteger" use="optional"/>
				<xs:attribute name="propName" type="xs:string" use="required"/>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:element name="nodeRef" type="OSnLNodeNodeRef" substitutionGroup="OSnLNode">
		<xs:annotation>
			<xs:documentation>experiment</xs:documentation>
		</xs:annotation>
	</xs:element>
	<xs:complexType name="OSnLNodeArcRef">
		<xs:annotation>
			<xs:documentation>experiment</xs:documentation>
		</xs:annotation>
		<xs:complexContent>
			<xs:extension base="OSnLNode">
				<xs:sequence minOccurs="0">
					<xs:element ref="OSnLNode"/>
				</xs:sequence>
				<xs:attribute name="arcID" type="xs:nonNegativeInteger" use="optional"/>
				<xs:attribute name="propName" type="xs:string" use="required"/>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:element name="arcRef" type="OSnLNodeArcRef" substitutionGroup="OSnLNode">
		<xs:annotation>
			<xs:documentation>experiment</xs:documentation>
		</xs:annotation>
	</xs:element>
	<xs:complexType name="OSnLNodeComplements">
		<xs:annotation>
			<xs:documentation>since version 1.0.0. </xs:documentation>
		</xs:annotation>
		<xs:complexContent>
			<xs:extension base="OSnLNode">
				<xs:sequence minOccurs="2" maxOccurs="2">
					<xs:element ref="OSnLNode"/>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:element name="complements" type="OSnLNodeComplements" substitutionGroup="OSnLNode">
		<xs:annotation>
			<xs:documentation>since version 1.0.0. </xs:documentation>
		</xs:annotation>
	</xs:element>
	<!--xs:complexType name="OSnLNodeProb">
		<xs:complexContent>
			<xs:extension base="OSnLNode">
				<xs:sequence>
					<xs:element ref="OSnLNode"/>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:element name="prob" type="OSnLNodeProb" substitutionGroup="OSnLNode"/-->
	<xs:complexType name="OSnLNodePostfix">
		<xs:annotation>
			<xs:documentation>experiment</xs:documentation>
		</xs:annotation>
		<xs:complexContent>
			<xs:extension base="OSnLNode">
				<xs:sequence>
					<xs:element name="values" minOccurs="0">
						<xs:complexType mixed="true">
							<xs:sequence>
								<xs:element ref="OSnLNode" minOccurs="0" maxOccurs="unbounded"/>
							</xs:sequence>
							<xs:attribute name="numberOfValues" type="xs:nonNegativeInteger" use="required"/>
						</xs:complexType>
					</xs:element>
					<xs:element name="operators">
						<xs:complexType mixed="true">
							<xs:sequence>
								<xs:element ref="OSnLNode" minOccurs="0" maxOccurs="unbounded"/>
							</xs:sequence>
							<xs:attribute name="numberOfOperators" type="xs:nonNegativeInteger" use="required"/>
						</xs:complexType>
					</xs:element>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:element name="postfix" type="OSnLNodePostfix" substitutionGroup="OSnLNode">
		<xs:annotation>
			<xs:documentation>experiment</xs:documentation>
		</xs:annotation>
	</xs:element>
	<xs:simpleType name="NlNodeEnumeration">
		<xs:annotation>
			<xs:documentation>since version 2.0.0. </xs:documentation>
		</xs:annotation>
		<xs:restriction base="xs:string">
			<xs:enumeration value="plus"/>
			<xs:enumeration value="sum"/>
			<xs:enumeration value="minus"/>
			<xs:enumeration value="negate"/>
			<xs:enumeration value="times"/>
			<xs:enumeration value="divide"/>
			<xs:enumeration value="quotient"/>
			<xs:enumeration value="rem"/>
			<xs:enumeration value="power"/>
			<xs:enumeration value="product"/>
			<xs:enumeration value="abs"/>
			<xs:enumeration value="floor"/>
			<xs:enumeration value="ceiling"/>
			<xs:enumeration value="percent"/>
			<xs:enumeration value="square"/>
			<xs:enumeration value="squareRoot"/>
			<xs:enumeration value="ln"/>
			<xs:enumeration value="log"/>
			<xs:enumeration value="log10"/>
			<xs:enumeration value="exp"/>
			<xs:enumeration value="factorial"/>
			<xs:enumeration value="combination"/>
			<xs:enumeration value="permutation"/>
			<xs:enumeration value="gcd"/>
			<xs:enumeration value="lcm"/>
			<xs:enumeration value="roundToInt"/>
			<xs:enumeration value="round"/>
			<xs:enumeration value="truncate"/>
			<xs:enumeration value="sign"/>
			<xs:enumeration value="rand"/>
			<xs:enumeration value="gammaFn"/>
			<xs:enumeration value="gammaLn"/>
			<xs:enumeration value="sin"/>
			<xs:enumeration value="cos"/>
			<xs:enumeration value="tan"/>
			<xs:enumeration value="arcsin"/>
			<xs:enumeration value="arccos"/>
			<xs:enumeration value="arctan"/>
			<xs:enumeration value="sinh"/>
			<xs:enumeration value="cosh"/>
			<xs:enumeration value="tanh"/>
			<xs:enumeration value="arcsinh"/>
			<xs:enumeration value="arccosh"/>
			<xs:enumeration value="arctanh"/>
			<xs:enumeration value="cot"/>
			<xs:enumeration value="coth"/>
			<xs:enumeration value="arccot"/>
			<xs:enumeration value="arccoth"/>
			<xs:enumeration value="sec"/>
			<xs:enumeration value="sech"/>
			<xs:enumeration value="arcsec"/>
			<xs:enumeration value="arcsech"/>
			<xs:enumeration value="csc"/>
			<xs:enumeration value="csch"/>
			<xs:enumeration value="arccsc"/>
			<xs:enumeration value="arcscsch"/>
			<xs:enumeration value="mean"/>
			<xs:enumeration value="geometricMean"/>
			<xs:enumeration value="harmonicMean"/>
			<xs:enumeration value="trimMean"/>
			<xs:enumeration value="count"/>
			<xs:enumeration value="median"/>
			<xs:enumeration value="firstQuartile"/>
			<xs:enumeration value="thirdQuartile"/>
			<xs:enumeration value="mode"/>
			<xs:enumeration value="min"/>
			<xs:enumeration value="max"/>
			<xs:enumeration value="percentile"/>
			<xs:enumeration value="large"/>
			<xs:enumeration value="small"/>
			<xs:enumeration value="range"/>
			<xs:enumeration value="interQuantileRange"/>
			<xs:enumeration value="absdev"/>
			<xs:enumeration value="stddev"/>
			<xs:enumeration value="variance"/>
			<xs:enumeration value="cv"/>
			<xs:enumeration value="skewness"/>
			<xs:enumeration value="kurtosis"/>
			<xs:enumeration value="covariance"/>
			<xs:enumeration value="correlation"/>
			<xs:enumeration value="pearsonCorrelation"/>
			<xs:enumeration value="rankCorrelation"/>
			<xs:enumeration value="autoCorrelation1"/>
			<xs:enumeration value="autoCorrelation"/>
			<xs:enumeration value="autoCorrelation"/>
			<xs:enumeration value="npv"/>
			<xs:enumeration value="irr"/>
			<xs:enumeration value="erf"/>
			<xs:enumeration value="discreteUniformDist"/>
			<xs:enumeration value="discreteUniformCum"/>
			<xs:enumeration value="discreteUniformInv"/>
			<xs:enumeration value="bernoulliDist"/>
			<xs:enumeration value="bernoulliCum"/>
			<xs:enumeration value="bernoulliInv"/>
			<xs:enumeration value="binomialDist"/>
			<xs:enumeration value="binomialCum"/>
			<xs:enumeration value="binomialInv"/>
			<xs:enumeration value="multinomialDist"/>
			<xs:enumeration value="multinomialCum"/>
			<xs:enumeration value="multinomialInv"/>
			<xs:enumeration value="hypergeometricDist"/>
			<xs:enumeration value="hypergeometricCum"/>
			<xs:enumeration value="hypergeometricInv"/>
			<xs:enumeration value="poissonDist"/>
			<xs:enumeration value="poissonCum"/>
			<xs:enumeration value="poissonInv"/>
			<xs:enumeration value="geometricDist"/>
			<xs:enumeration value="geometricCum"/>
			<xs:enumeration value="geometricInv"/>
			<xs:enumeration value="negativeBinomialDist"/>
			<xs:enumeration value="negativeBinomialCum"/>
			<xs:enumeration value="negativeBinomialInv"/>
			<xs:enumeration value="uniformDist"/>
			<xs:enumeration value="uniformCum"/>
			<xs:enumeration value="uniformInv"/>
			<xs:enumeration value="normalDist"/>
			<xs:enumeration value="normalCum"/>
			<xs:enumeration value="normalInv"/>
			<xs:enumeration value="stdNormalDist"/>
			<xs:enumeration value="stdNormalCum"/>
			<xs:enumeration value="stdNormalInv"/>
			<xs:enumeration value="bivariateNormalDist"/>
			<xs:enumeration value="bivariateNormalCum"/>
			<xs:enumeration value="exponentialDist"/>
			<xs:enumeration value="exponentialCum"/>
			<xs:enumeration value="exponentialInv"/>
			<xs:enumeration value="weibullDist"/>
			<xs:enumeration value="weibullCum"/>
			<xs:enumeration value="weibullInv"/>
			<xs:enumeration value="erlangDist"/>
			<xs:enumeration value="erlangCum"/>
			<xs:enumeration value="erlangInv"/>
			<xs:enumeration value="gammaDist"/>
			<xs:enumeration value="gammaCum"/>
			<xs:enumeration value="gammaInv"/>
			<xs:enumeration value="betaDist"/>
			<xs:enumeration value="betaCum"/>
			<xs:enumeration value="betaInv"/>
			<xs:enumeration value="betaGeneralDist"/>
			<xs:enumeration value="betaCumGeneral"/>
			<xs:enumeration value="betaGeneralInv"/>
			<xs:enumeration value="lognormalDist"/>
			<xs:enumeration value="lognormalCum"/>
			<xs:enumeration value="lognormalInv"/>
			<xs:enumeration value="cauchyDist"/>
			<xs:enumeration value="cauchyCum"/>
			<xs:enumeration value="cauchyInv"/>
			<xs:enumeration value="tDist"/>
			<xs:enumeration value="tCum"/>
			<xs:enumeration value="tInv"/>
			<xs:enumeration value="chiSquareDist"/>
			<xs:enumeration value="chiSquareCum"/>
			<xs:enumeration value="chiSquareInv"/>
			<xs:enumeration value="fDist"/>
			<xs:enumeration value="fCum"/>
			<xs:enumeration value="fInv"/>
			<xs:enumeration value="logisticDist"/>
			<xs:enumeration value="logisticCum"/>
			<xs:enumeration value="logisticInv"/>
			<xs:enumeration value="logLogisticDist"/>
			<xs:enumeration value="logLogisticCum"/>
			<xs:enumeration value="logLogisticInv"/>
			<xs:enumeration value="logarithmicDist"/>
			<xs:enumeration value="logarithmicCum"/>
			<xs:enumeration value="logarithmicInv"/>
			<xs:enumeration value="paretoDist"/>
			<xs:enumeration value="paretoCum"/>
			<xs:enumeration value="paretoInv"/>
			<xs:enumeration value="rayleighDist"/>
			<xs:enumeration value="rayleighCum"/>
			<xs:enumeration value="rayleighInv"/>
			<xs:enumeration value="pertDist"/>
			<xs:enumeration value="pertCum"/>
			<xs:enumeration value="pertInv"/>
			<xs:enumeration value="triangularDist"/>
			<xs:enumeration value="triangularCum"/>
			<xs:enumeration value="triangularInv"/>
			<xs:enumeration value="unitNormalLinearLoss"/>
			<xs:enumeration value="number"/>
			<xs:enumeration value="string"/>
			<xs:enumeration value="identifier"/>
			<xs:enumeration value="PI"/>
			<xs:enumeration value="E"/>
			<xs:enumeration value="INF"/>
			<xs:enumeration value="EPS"/>
			<xs:enumeration value="TRUE"/>
			<xs:enumeration value="FALSE"/>
			<xs:enumeration value="EULERGAMMA"/>
			<xs:enumeration value="NAN"/>
			<xs:enumeration value="variable"/>
			<xs:enumeration value="objective"/>
			<xs:enumeration value="constraint"/>
			<xs:enumeration value="parameter"/>
			<xs:enumeration value="randomVariable"/>
			<xs:enumeration value="if"/>
			<xs:enumeration value="lt"/>
			<xs:enumeration value="leq"/>
			<xs:enumeration value="gt"/>
			<xs:enumeration value="geq"/>
			<xs:enumeration value="eq"/>
			<xs:enumeration value="neq"/>
			<xs:enumeration value="and"/>
			<xs:enumeration value="or"/>
			<xs:enumeration value="xor"/>
			<xs:enumeration value="implies"/>
			<xs:enumeration value="not"/>
			<xs:enumeration value="forAll"/>
			<xs:enumeration value="exists"/>
			<xs:enumeration value="logicCount"/>
			<xs:enumeration value="allDiff"/>
			<xs:enumeration value="atMost"/>
			<xs:enumeration value="atLeast"/>
			<xs:enumeration value="exactly"/>
			<xs:enumeration value="inSet"/>
			<xs:enumeration value="inRealSet"/>
			<xs:enumeration value="inPositiveRealSet"/>
			<xs:enumeration value="inNonnegativeRealSet"/>
			<xs:enumeration value="inIntegerSet"/>
			<xs:enumeration value="inPositiveIntegerSet"/>
			<xs:enumeration value="inNonnegativeIntegerSet"/>
			<xs:enumeration value="matrixVariable"/>
			<xs:enumeration value="matrix"/>
			<xs:enumeration value="matrixBlock"/>
			<xs:enumeration value="matrixIdentical"/>
			<xs:enumeration value="matrixPlus"/>
			<xs:enumeration value="matrixScalarPlus"/>
			<xs:enumeration value="matrixSum"/>
			<xs:enumeration value="matrixMinus"/>
			<xs:enumeration value="matrixScalarMinus"/>
			<xs:enumeration value="matrixNegate"/>
			<xs:enumeration value="matrixTimes"/>
			<xs:enumeration value="matrixDotTimes"/>
			<xs:enumeration value="matrixScalarTimes"/>
			<xs:enumeration value="matrixProduct"/>
			<xs:enumeration value="matrixRightDivide"/>
			<xs:enumeration value="matrixLeftDivide"/>
			<xs:enumeration value="matrixDotRightDivide"/>
			<xs:enumeration value="matrixDotLeftDivide"/>
			<xs:enumeration value="matrixScalarDivide"/>
			<xs:enumeration value="matrixPower"/>
			<xs:enumeration value="matrixDotPower"/>
			<xs:enumeration value="matrixLog"/>
			<xs:enumeration value="matrixExp"/>
			<xs:enumeration value="matrixSquareRoot"/>
			<xs:enumeration value="matrixRowNumber"/>
			<xs:enumeration value="matrixColumnNumber"/>
			<xs:enumeration value="matrixValueNumber"/>
			<xs:enumeration value="matrixElementAt"/>
			<xs:enumeration value="matrixSubmatrixAt"/>
			<xs:enumeration value="matrixConcatenate"/>
			<xs:enumeration value="matrixUpperTriangle"/>
			<xs:enumeration value="matrixLowerTriangle"/>
			<xs:enumeration value="matrixDiagonal"/>
			<xs:enumeration value="matrixRank"/>
			<xs:enumeration value="matrixDeterminant"/>
			<xs:enumeration value="matrixInverse"/>
			<xs:enumeration value="matrixTrace"/>
			<xs:enumeration value="matrixTranspose"/>
			<xs:enumeration value="matrixDotTranspose"/>
			<xs:enumeration value="matrixSingular"/>
			<xs:enumeration value="matrixFullRank"/>
			<xs:enumeration value="matrixPositiveDefinite"/>
			<xs:enumeration value="matrixPositiveSemidefinite"/>
			<xs:enumeration value="matrixNegativeDefinite"/>
			<xs:enumeration value="matrixNegativeSemidefinite"/>
			<xs:enumeration value="matrixIndefinite"/>
			<xs:enumeration value="matrixEigenValues"/>
			<xs:enumeration value="matrixEigenVectors"/>
			<xs:enumeration value="matrixNthLargestEigenValue"/>
			<xs:enumeration value="matrixLargestEigenValue"/>
			<xs:enumeration value="matrixNorm"/>
			<xs:enumeration value="matrixFrobeniusNorm"/>
			<xs:enumeration value="matrixCondition"/>
			<xs:enumeration value="matrixFrobeniusNormCondition"/>
			<xs:enumeration value="matrixNullSpace"/>
			<xs:enumeration value="matrixRangeSpace"/>
			<xs:enumeration value="matrixIdentity"/>
			<xs:enumeration value="matrixReducedRowEchelon"/>
			<xs:enumeration value="matrixSubspaceAngle"/>
			<xs:enumeration value="matrixCholeskyDecomposition"/>
			<xs:enumeration value="quadratic"/>
			<xs:enumeration value="qTerm"/>
			<xs:enumeration value="sim"/>
			<xs:enumeration value="simInput"/>
			<xs:enumeration value="simOutput"/>
			<xs:enumeration value="userF"/>
			<xs:enumeration value="arg"/>
			<xs:enumeration value="xPath"/>
			<xs:enumeration value="xPathIndex"/>
			<xs:enumeration value="nodeRef"/>
			<xs:enumeration value="arcRef"/>
			<xs:enumeration value="complements"/>
			<xs:enumeration value="postfix"/>
		</xs:restriction>
	</xs:simpleType>
</xs:schema>
