<?xml version="1.0" encoding="UTF-8"?> <xs:schema elementFormDefault="qualified" version="6.2" xmlns:xs="http://www.w3.org/2001/XMLSchema" targetNamespace="http://www.chemaxon.com" xmlns:cxn="http://www.chemaxon.com"> <!-- definition of types --> <!-- cml and its subtypes --> <xs:complexType name="cmlType"> <xs:annotation> <xs:documentation> Main tag for multiple documents: if more marvin documents are contained in one mrv file then this element should embed the documents. </xs:documentation> </xs:annotation> <xs:sequence> <xs:element name="MHead" type="cxn:MHeadType" minOccurs="0"> <xs:annotation> <xs:documentation> Header containing global properties. (optional) </xs:documentation> </xs:annotation> </xs:element> <xs:choice minOccurs="0"> <xs:element name="MDocument" type="cxn:MDocumentType" maxOccurs="unbounded"> <xs:annotation> <xs:documentation> Main marvin document element containing molecules, graphical objects, reactions, etc. </xs:documentation> </xs:annotation> </xs:element> <xs:element name="molecule" type="cxn:moleculeType" maxOccurs="unbounded"> <xs:annotation> <xs:documentation> Element containing the description of a molecule. </xs:documentation> </xs:annotation> </xs:element> <xs:element name="reaction" type="cxn:reactionType" maxOccurs="unbounded"> <xs:annotation> <xs:documentation> Element containing the description of a reaction. </xs:documentation> </xs:annotation> </xs:element> </xs:choice> </xs:sequence> <xs:attribute name="version" type="cxn:versionInfo"> <xs:annotation> <xs:documentation> Version information (file format version number and generation version number). </xs:documentation> </xs:annotation> </xs:attribute> </xs:complexType> <xs:simpleType name="versionInfo"> <xs:annotation> <xs:documentation> Version information (file format version number and generation version number). </xs:documentation> </xs:annotation> <xs:restriction base="xs:string"> <xs:pattern value="ChemAxon file format v([0-9]+\.)+[0-9]+, generated by v(([0-9]+\.)+[0-9]+|unknown)" /> </xs:restriction> </xs:simpleType> <!-- MDocument and its subtypes --> <xs:complexType name="MDocumentType"> <xs:annotation> <xs:documentation> Main marvin document element containing molecules, graphical objects, reactions, etc. </xs:documentation> </xs:annotation> <xs:choice minOccurs="0" maxOccurs="unbounded"> <xs:element name="propertyList" type="cxn:MDocumentPropertyListType" > <xs:annotation> <xs:documentation> List containing Marvin GUI attributes. </xs:documentation> </xs:annotation> </xs:element> <xs:element name="MChemicalStruct" type="cxn:MChemicalStructType" > <xs:annotation> <xs:documentation> Description of a chemical Structure. </xs:documentation> </xs:annotation> </xs:element> <xs:element name="MMoleculeMovie" type="cxn:MMoleculeMovieType" > <xs:annotation> <xs:documentation> Animation of a chemical process. </xs:documentation> </xs:annotation> </xs:element> <xs:element name="MBracket" type="cxn:MBracketType" > <xs:annotation> <xs:documentation> Bracket graphical object. </xs:documentation> </xs:annotation> </xs:element> <xs:element name="MEFlow" type="cxn:MEFlowType" > <xs:annotation> <xs:documentation> Curved electron flow arrow. MEFlow is a subclass of MPolyline thus it has the same attributes, but it can only contain two points. </xs:documentation> </xs:annotation> </xs:element> <xs:element name="MEllipse" type="cxn:MRectangleType" > <xs:annotation> <xs:documentation> Ellipse graphical object, it is derived from MRectangle, inheriting its attributes. </xs:documentation> </xs:annotation> </xs:element> <xs:element name="MElectron" type="cxn:MElectronType" > <xs:annotation> <xs:documentation> Represents the electrons of the atom, it has an atom reference, and a location difference to the location of the referenced atom. </xs:documentation> </xs:annotation> </xs:element><xs:element name="MElectronContainer" type="cxn:MElectronContainerType" > <xs:annotation> <xs:documentation> This element holds information about electrons of atom, this know whether the electron is free, or occiupied with an MEflowArrow. </xs:documentation> </xs:annotation> </xs:element> <xs:element name="MPolyline" type="cxn:MPolylineType" > <xs:annotation> <xs:documentation> Line, arc, polyline and/or graphical arrow. </xs:documentation> </xs:annotation> </xs:element> <xs:element name="MRectangle" type="cxn:MRectangleType" > <xs:annotation> <xs:documentation> Rectangle graphical Object. </xs:documentation> </xs:annotation> </xs:element> <xs:element name="MRoundedRectangle" type="cxn:MRoundedRectangleType" > <xs:annotation> <xs:documentation> Rounded cornered rectangle graphical object. </xs:documentation> </xs:annotation> </xs:element> <xs:element name="MTextBox" type="cxn:MTextBoxType" > <xs:annotation> <xs:documentation> Text box. </xs:documentation> </xs:annotation> </xs:element> <xs:element name="MNameTextBox" type="cxn:MNameTextBoxType" > <xs:annotation> <xs:documentation> Text object that contains molecule name; it is derived from MTextBox, thus it inherits its attributes. </xs:documentation> </xs:annotation> </xs:element> </xs:choice> <xs:attribute name="atomSetFont" type="xs:string" > <xs:annotation> <xs:documentation> Font type of atom sets. </xs:documentation> </xs:annotation> </xs:attribute> <xs:attribute name="atomSetRGB" type="cxn:colorNameList" > <xs:annotation> <xs:documentation> Atom set colors: Comma separated list of entries in " <i>k:color</i> " format, where <i>k</i> is the set sequence number and <i>color</i> is the color specification (in one of the following forms: "#RRGGBB" - RGB components as a 6-digit hexadecimal number, "D" - default set color, "N" - no set color (normal atom/bond coloring is used). </xs:documentation> </xs:annotation> </xs:attribute> <xs:attribute name="bondSetLineThickness" type="cxn:intAndDoubleList" > <xs:annotation> <xs:documentation> Thickness of bonds in the bond sets. </xs:documentation> </xs:annotation> </xs:attribute> <xs:attribute name="bondSetRGB" type="cxn:colorNameList" > <xs:annotation> <xs:documentation> Bond set colors: Comma separated list of entries in " <i>k:color</i> " format, where <i>k</i> is the set sequence number and <i>color</i> is the color specification (in one of the following forms: "#RRGGBB" - RGB components as a 6-digit hexadecimal number, "D" - default set color, "N" - no set color (normal atom/bond coloring is used). </xs:documentation> </xs:annotation> </xs:attribute> <xs:attribute name="extraLabelSetRGB" type="cxn:colorNameList" > <xs:annotation> <xs:documentation> Color setting of the extra label. </xs:documentation> </xs:annotation> </xs:attribute> <xs:attribute name="multipageBottom" type="xs:double" > <xs:annotation> <xs:documentation> Bottom margin of a page in multipage molecular document. Its value is "d" where d is a floating point number. </xs:documentation> </xs:annotation> </xs:attribute> <xs:attribute name="multipageColumnCount" type="xs:positiveInteger"> <xs:annotation> <xs:documentation> Number of columns in multipage molecular document. Its value is "k" where k is a positive integer. </xs:documentation> </xs:annotation> </xs:attribute> <xs:attribute name="multipageEnabled" type="xs:boolean"> <xs:annotation> <xs:documentation> Enables the multipage molecular document. Its value is "true" or "false". </xs:documentation> </xs:annotation> </xs:attribute> <xs:attribute name="multipageHeight" type="xs:double"> <xs:annotation> <xs:documentation> Height of a page in multipage molecular document. Its value is "d" where d is a floating point number. </xs:documentation> </xs:annotation> </xs:attribute> <xs:attribute name="multipageLeft" type="xs:double"> <xs:annotation> <xs:documentation> Left margin of a page in multipage molecular document. Its value is "d" where d is a floating point number. </xs:documentation> </xs:annotation> </xs:attribute> <xs:attribute name="multipageRight" type="xs:double"> <xs:annotation> <xs:documentation> Right margin of a page in multipage molecular document. Its value is "d" where d is a floating point number. </xs:documentation> </xs:annotation> </xs:attribute> <xs:attribute name="multipageRowCount" type="xs:positiveInteger"> <xs:annotation> <xs:documentation> Number of rows in multipage molecular document. Its value is "k" where k is a positive integer. </xs:documentation> </xs:annotation> </xs:attribute> <xs:attribute name="multipageSelectedPage" type="xs:positiveInteger"> <xs:annotation> <xs:documentation> The selected page in multipage molecular document. Its value is "k" where k is a positive integer. </xs:documentation> </xs:annotation> </xs:attribute> <xs:attribute name="multipageTop" type="xs:double"> <xs:annotation> <xs:documentation> Top margin of a page in multipage molecular document. Its value is "d" where d is a floating point number. </xs:documentation> </xs:annotation> </xs:attribute> <xs:attribute name="multipageWidth" type="xs:double"> <xs:annotation> <xs:documentation> Width of a page in multipage molecular document. Its value is "d" where d is a floating point number. </xs:documentation> </xs:annotation> </xs:attribute> </xs:complexType> <xs:simpleType name="colorNameList"> <xs:annotation> <xs:documentation> List of Color names. </xs:documentation> </xs:annotation> <xs:restriction base="xs:string"> <xs:pattern value="(([0-9]+:(#[0-9A-Fa-f]{6}|N|D))|,)+" /> </xs:restriction> </xs:simpleType> <xs:simpleType name="colorName"> <xs:annotation> <xs:documentation> Color name type. </xs:documentation> </xs:annotation> <xs:restriction base="xs:string"> <xs:pattern value="#[0-9A-Fa-f]{6}" /> </xs:restriction> </xs:simpleType> <xs:simpleType name="intAndDoubleList"> <xs:annotation> <xs:documentation> List containing integer and double elements in the following format: <i>i1:d1, i2:d2....,</i> where " <i>i</i> " denotes an integer number and " <i>d</i> " indicates a double type number. </xs:documentation> </xs:annotation> <xs:restriction base="xs:string"> <xs:pattern value="(([0-9])+:([0-9\.])+|,)+" /> </xs:restriction> </xs:simpleType> <xs:complexType name="MHeadType"> <xs:annotation> <xs:documentation> Marvin document header storing GUI setting. </xs:documentation> </xs:annotation> <xs:sequence> <xs:element name="MarvinGUI" type="cxn:MarvinGUIType" > <xs:annotation> <xs:documentation> Description of Marvin GUI properties </xs:documentation> </xs:annotation> </xs:element> </xs:sequence> </xs:complexType> <xs:complexType name="MarvinGUIType"> <xs:annotation> <xs:documentation> Description of Marvin GUI properties. (optional) Can not be empty. If present, at least one mprop should be defined in it. </xs:documentation> </xs:annotation> <xs:sequence> <xs:element name="mprop" type="cxn:mpropType" maxOccurs="unbounded" > <xs:annotation> <xs:documentation> Marvin GUI property type. </xs:documentation> </xs:annotation> </xs:element> </xs:sequence> </xs:complexType> <xs:complexType name="mpropType"> <xs:annotation> <xs:documentation> Marvin GUI property type. </xs:documentation> </xs:annotation> <xs:attribute name="dataType" type="cxn:mpropDataTypeName" > <xs:annotation> <xs:documentation> Type name of marvin GUI dat </xs:documentation> </xs:annotation> </xs:attribute> <xs:attribute name="name" use="required" type="cxn:mpropName" > <xs:annotation> <xs:documentation> Name tag of the marvin GUI properties. </xs:documentation> </xs:annotation> </xs:attribute> <xs:attribute name="value" use="required" type="xs:string" > <xs:annotation> <xs:documentation> Value of Marvin GUI property </xs:documentation> </xs:annotation> </xs:attribute> </xs:complexType> <xs:simpleType name="mpropDataTypeName"> <xs:annotation> <xs:documentation> Type name of marvin GUI data. </xs:documentation> </xs:annotation> <xs:restriction base="xs:string"> <xs:enumeration value="xsd:integer" /> <xs:enumeration value="xsd:double" /> <xs:enumeration value="xsd:boolean" /> <xs:enumeration value="xsd:mfont" /> </xs:restriction> </xs:simpleType> <xs:simpleType name="mpropName"> <xs:annotation> <xs:documentation> Name tag of the marvin GUI properties, possible values are listed in the enumeration. </xs:documentation> </xs:annotation> <xs:restriction base="xs:string"> <xs:enumeration value="saveproperties" /> <xs:enumeration value="setColoringEnabled" /> <xs:enumeration value="atomNumbersVisible" /> <xs:enumeration value="atomPropertiesVisible" /> <xs:enumeration value="atomMappingVisible" /> <xs:enumeration value="grinvVisible" /> <xs:enumeration value="ezVisible" /> <xs:enumeration value="bondLengthVisible" /> <xs:enumeration value="bondDraggedAlong" /> <xs:enumeration value="valenceErrorVisible" /> <xs:enumeration value="valenceErrorVisibleInView" /> <xs:enumeration value="atomSymbolVisible3D" /> <xs:enumeration value="rgroupsVisible" /> <xs:enumeration value="lonePairsAutoCalc" /> <xs:enumeration value="molbg" /> <xs:enumeration value="dispQuality" /> <xs:enumeration value="chiralitySupport" /> <xs:enumeration value="invisibleSets" /> <xs:enumeration value="atomsize" /> <xs:enumeration value="bondSpacing" /> <xs:enumeration value="wireThickness" /> <xs:enumeration value="stickThickness" /> <xs:enumeration value="ballRadius" /> <xs:enumeration value="rendering" /> <xs:enumeration value="downWedge" /> <xs:enumeration value="coordinateBondStyle" /> <xs:enumeration value="coordinateBondStyleAtMulticenter" /> <xs:enumeration value="anybond" /> <xs:enumeration value="atomFont" /> <xs:enumeration value="implicitH" /> <xs:enumeration value="lonePairsVisible" /> <xs:enumeration value="viewNavMode2d" /> <xs:enumeration value="viewNavMode3d" /> <xs:enumeration value="autoscale" /> <xs:enumeration value="absLabelVisible" /> <xs:enumeration value="colorScheme" /> <xs:enumeration value="viewCarbonVisibility" /> <xs:enumeration value="sketchCarbonVisibility" /> <xs:enumeration value="viewLigandOrderVisibility" /> <xs:enumeration value="sketchLigandOrderVisibility" /> <xs:enumeration value="rLogicVisible" /> </xs:restriction> </xs:simpleType> <xs:complexType name="MDocumentPropertyListType"> <xs:annotation> <xs:documentation> List containing Marvin attributes. </xs:documentation> </xs:annotation> <xs:sequence> <xs:element name="property" type="cxn:MDocumentPropertyType" maxOccurs="unbounded" > <xs:annotation> <xs:documentation> Marvin document properties. </xs:documentation> </xs:annotation> </xs:element> </xs:sequence> </xs:complexType> <xs:complexType name="MDocumentPropertyType"> <xs:annotation> <xs:documentation> Marvin document property type. </xs:documentation> </xs:annotation> <xs:choice> <xs:element name="scalar" type="cxn:MDocumentScalarPropertyType" > <xs:annotation> <xs:documentation> Scalar Marvin document property: it contains a single data value. </xs:documentation> </xs:annotation> </xs:element> <xs:element name="array" type="cxn:MDocumentArrayPropertyType" > <xs:annotation> <xs:documentation> Array Marvin document property: it contains an array of double values. </xs:documentation> </xs:annotation> </xs:element> </xs:choice> <xs:attribute name="dictRef" use="required" type="cxn:dictRefName" > <xs:annotation> <xs:documentation> Key of the properties related to the document. </xs:documentation> </xs:annotation> </xs:attribute> <xs:attribute name="title" type="xs:string" > <xs:annotation> <xs:documentation> Title of a Marvin document. </xs:documentation> </xs:annotation> </xs:attribute> </xs:complexType> <xs:simpleType name="dictRefName"> <xs:annotation> <xs:documentation> Marvin document property keys. Allowed values are listed in the enumeration. </xs:documentation> </xs:annotation> <xs:restriction base="xs:string"> <xs:enumeration value="viewEulerAngles" /> <xs:enumeration value="scale" /> </xs:restriction> </xs:simpleType> <xs:complexType name="MDocumentScalarPropertyType"> <xs:annotation> <xs:documentation> Scalar property type of the Marvin document. </xs:documentation> </xs:annotation> <xs:simpleContent> <xs:extension base="xs:double"> <xs:attribute name="dataType" type="cxn:dataTypeName" > <xs:annotation> <xs:documentation> Data type of the scalar tag value. </xs:documentation> </xs:annotation> </xs:attribute> </xs:extension> </xs:simpleContent> </xs:complexType> <xs:simpleType name="dataTypeName"> <xs:annotation> <xs:documentation> Data type of the scalar tag value. </xs:documentation> </xs:annotation> <xs:restriction base="xs:string"> <xs:pattern value="xsd:[A-Za-z]+" /> </xs:restriction> </xs:simpleType> <xs:complexType name="MDocumentArrayPropertyType"> <xs:annotation> <xs:documentation> Array property type of the Marvin document. </xs:documentation> </xs:annotation> <xs:simpleContent> <xs:extension base="cxn:doubleList"> <xs:attribute name="dataType" use="required" type="cxn:dataTypeName" > <xs:annotation> <xs:documentation> Data type of the array tag values. </xs:documentation> </xs:annotation> </xs:attribute> <xs:attribute name="size" use="required" type="xs:nonNegativeInteger" > <xs:annotation> <xs:documentation> Size of the array. </xs:documentation> </xs:annotation> </xs:attribute> </xs:extension> </xs:simpleContent> </xs:complexType> <xs:simpleType name="doubleList"> <xs:annotation> <xs:documentation> List containing double elements separated by spaces. </xs:documentation> </xs:annotation> <xs:list itemType="xs:double" /> </xs:simpleType> <xs:complexType name="MChemicalStructType"> <xs:annotation> <xs:documentation> Element containing the description of a chemical structure. </xs:documentation> </xs:annotation> <xs:choice minOccurs="0"> <xs:sequence> <xs:choice minOccurs="1"> <xs:element name="molecule" type="cxn:moleculeType" > <xs:annotation> <xs:documentation> Element containing the description of a molecule. </xs:documentation> </xs:annotation> </xs:element> <xs:element name="reaction" type="cxn:reactionType" > <xs:annotation> <xs:documentation> Element containing the description of a reaction. </xs:documentation> </xs:annotation> </xs:element> </xs:choice> <xs:element name="Rgroup" type="cxn:RgroupType" minOccurs="0" maxOccurs="unbounded" > <xs:annotation> <xs:documentation> Element containing the description of an R-group. </xs:documentation> </xs:annotation> </xs:element> </xs:sequence> </xs:choice> </xs:complexType> <xs:complexType name="RgroupType"> <xs:annotation> <xs:documentation> Element containing the description of an R-group. </xs:documentation> </xs:annotation> <xs:sequence> <xs:element name="molecule" type="cxn:moleculeType" minOccurs="0" maxOccurs="unbounded" > <xs:annotation> <xs:documentation> Element containing the description of a molecule. </xs:documentation> </xs:annotation> </xs:element> </xs:sequence> <xs:attribute name="restH" type="cxn:booleanString" > <xs:annotation> <xs:documentation> It is a condition for an R-group: If it is set for an R-group, the hit molecules do not contain ligands on that atom other than hydrogen or those specified as R-group. If RestH condition is false, then R-group sites can contain any additional non-hydrogen ligands as well. </xs:documentation> </xs:annotation> </xs:attribute> <xs:attribute name="rgroupID" use="required" type="xs:nonNegativeInteger" > <xs:annotation> <xs:documentation> ID of the R-group. </xs:documentation> </xs:annotation> </xs:attribute> <xs:attribute name="rlogicRange" type="cxn:rlogicList" > <xs:annotation> <xs:documentation> It shows that the given R-group how many times can occur in the target. (For example: 1-3,6 means the R-group can occur one, two three or six time in the target.). </xs:documentation> </xs:annotation> </xs:attribute> <xs:attribute name="thenR" type="xs:integer" > <xs:annotation> <xs:documentation> It is a condition for an R-group:R-group has to be satisfied only when conditions of another R-group are satisfied. </xs:documentation> </xs:annotation> </xs:attribute> </xs:complexType> <xs:simpleType name="booleanString"> <xs:annotation> <xs:documentation> String containing different boolean value descriptions. Enumeration contains possible values. </xs:documentation> </xs:annotation> <xs:restriction base="xs:string"> <xs:enumeration value="on" /> <xs:enumeration value="1" /> <xs:enumeration value="true" /> <xs:enumeration value="off" /> <xs:enumeration value="0" /> <xs:enumeration value="false" /> </xs:restriction> </xs:simpleType> <xs:simpleType name="rlogicList"> <xs:annotation> <xs:documentation> A list containing rlogic ranges as elements. </xs:documentation> </xs:annotation> <xs:restriction base="xs:string"> <xs:pattern value="(,|>|<|>|[0-9])*" /> </xs:restriction> </xs:simpleType> <xs:complexType name="MMoleculeMovieType"> <xs:annotation> <xs:documentation> Animation of a chemical process. </xs:documentation> </xs:annotation> <xs:sequence> <xs:element name="MChemicalStruct" type="cxn:MChemicalStructType" maxOccurs="unbounded" > <xs:annotation> <xs:documentation> Element containing the description of a chemical structure. </xs:documentation> </xs:annotation> </xs:element> </xs:sequence> </xs:complexType> <xs:complexType name="MObjectType"> <xs:annotation> <xs:documentation> Marvin graphical object type. </xs:documentation> </xs:annotation> <xs:attribute name="lineColor" type="cxn:colorName" > <xs:annotation> <xs:documentation> Line color. </xs:documentation> </xs:annotation> </xs:attribute> <xs:attribute name="id" use="required" type="xs:NCName" > <xs:annotation> <xs:documentation> ID of the graphical object. </xs:documentation> </xs:annotation> </xs:attribute> <xs:attribute name="isSelected" type="xs:boolean" > <xs:annotation> <xs:documentation> Boolean type variable which shows that the object is selected or not. </xs:documentation> </xs:annotation> </xs:attribute> <xs:attribute name="thickness" type="xs:double" > <xs:annotation> <xs:documentation> Line thickness of the graphical object. </xs:documentation> </xs:annotation> </xs:attribute> </xs:complexType> <xs:complexType name="MGraphicalObjectType"> <xs:annotation> <xs:documentation> Marvin graphical object type. </xs:documentation> </xs:annotation> <xs:complexContent> <xs:extension base="cxn:MObjectType"> <xs:attribute name="headFlags" type="xs:integer" > <xs:annotation> <xs:documentation> Flag containing information about the head of the object, e.g. its orientation. </xs:documentation> </xs:annotation> </xs:attribute> <xs:attribute name="headLength" type="xs:double" > <xs:annotation> <xs:documentation> The length of the arrow head. </xs:documentation> </xs:annotation> </xs:attribute> <xs:attribute name="headSkip" type="xs:double" > <xs:annotation> <xs:documentation> Length of skipped space from head to the head-end of the object. </xs:documentation> </xs:annotation> </xs:attribute> <xs:attribute name="headWidth" type="xs:double" > <xs:annotation> <xs:documentation> The width of the arrow head. </xs:documentation> </xs:annotation> </xs:attribute> <xs:attribute name="tailFlags" type="xs:integer" > <xs:annotation> <xs:documentation> Flag containing information about the tail of the object, e.g. its orientation. </xs:documentation> </xs:annotation> </xs:attribute> <xs:attribute name="tailLength" type="xs:double" > <xs:annotation> <xs:documentation> The length of the arrow tail. </xs:documentation> </xs:annotation> </xs:attribute> <xs:attribute name="tailWidth" type="xs:double" > <xs:annotation> <xs:documentation> The width of the arrow tail. </xs:documentation> </xs:annotation> </xs:attribute> <xs:attribute name="tailSkip" type="xs:double" > <xs:annotation> <xs:documentation> Length of skipped space from the tail-end of the object to its tail. </xs:documentation> </xs:annotation> </xs:attribute> </xs:extension> </xs:complexContent> </xs:complexType> <xs:complexType name="MBracketType"> <xs:annotation> <xs:documentation> Marvin Bracket Type. </xs:documentation> </xs:annotation> <xs:complexContent> <xs:extension base="cxn:MObjectType"> <xs:sequence> <xs:element name="MPoint" type="cxn:MPointType" minOccurs="4" maxOccurs="4" /> </xs:sequence> <xs:attribute name="orientation" type="cxn:bracketOrientationName" > <xs:annotation> <xs:documentation> Determines whether bracket is in pairs or a standalone bracket. "Single" means that the bracket can be moved or resized alone, "double" means that the pair of brackets are treated as one entity, can be moved and resiyed only together. </xs:documentation> </xs:annotation> </xs:attribute> <xs:attribute name="tcenter" type="cxn:tCenter" > <xs:annotation> <xs:documentation> Geometric center of the object for transformations like rotation. Identifies corners and middle-points with points of the compass, e.g. NW (North West) identifies the top right corner. Possible values are the eight points of the compass or center. </xs:documentation> </xs:annotation> </xs:attribute> <xs:attribute name="toption" type="cxn:tOption" > <xs:annotation> <xs:documentation> It shows that the object can be rotated or not. </xs:documentation> </xs:annotation> </xs:attribute> <xs:attribute name="type" type="cxn:bracketName" > <xs:annotation> <xs:documentation> Type of the bracket. </xs:documentation> </xs:annotation> </xs:attribute> </xs:extension> </xs:complexContent> </xs:complexType> <xs:complexType name="SgroupMBracketType"> <xs:annotation> <xs:documentation> Sgroup bracket type. </xs:documentation> </xs:annotation> <xs:sequence> <xs:element name="MPoint" type="cxn:MPointType" minOccurs="4" maxOccurs="4" > <xs:annotation> <xs:documentation> Basic Point of a polyline object. </xs:documentation> </xs:annotation> </xs:element> </xs:sequence> <xs:attribute name="isSelected" type="xs:boolean" > <xs:annotation> <xs:documentation> Boolean type variable which shows that the object is selected or not. </xs:documentation> </xs:annotation> </xs:attribute> <xs:attribute name="lineColor" type="cxn:colorName" > <xs:annotation> <xs:documentation> Line color. </xs:documentation> </xs:annotation> </xs:attribute> <xs:attribute name="orientation" type="cxn:bracketOrientationName" > <xs:annotation> <xs:documentation> Determines whether bracket is in pairs or a standalone bracket. "Single" means that the bracket can be moved or resized alone, "double" means that the pair of brackets are treated as one entity, can be moved and resiyed only together. </xs:documentation> </xs:annotation> </xs:attribute> <xs:attribute name="tcenter" type="cxn:tCenter" > <xs:annotation> <xs:documentation> Geometric center of the object for transformations like rotation. Identifies corners and middle-points with points of the compass, e.g. NW (North West) identifies the top right corner. Possible values are the eight points of the compass or center. </xs:documentation> </xs:annotation> </xs:attribute> <xs:attribute name="thickness" type="xs:double" > <xs:annotation> <xs:documentation> Thickness. </xs:documentation> </xs:annotation> </xs:attribute> <xs:attribute name="toption" type="cxn:tOption" > <xs:annotation> <xs:documentation> It shows that the object can be rotated or not. </xs:documentation> </xs:annotation> </xs:attribute> <xs:attribute name="type" type="cxn:bracketName" > <xs:annotation> <xs:documentation> Type of the bracket. </xs:documentation> </xs:annotation> </xs:attribute> </xs:complexType> <xs:simpleType name="bracketName"> <xs:annotation> <xs:documentation> Bracket name. </xs:documentation> </xs:annotation> <xs:restriction base="xs:string"> <xs:enumeration value="ROUND" /> <xs:enumeration value="SQUARE" /> <xs:enumeration value="BRACES" /> <xs:enumeration value="CHEVRONS" /> </xs:restriction> </xs:simpleType> <xs:simpleType name="bracketOrientationName"> <xs:annotation> <xs:documentation> Determines whether bracket is in pairs or a standalone bracket. "Single" means that the bracket can be moved or resized alone, "double" means that the pair of brackets are treated as one entity, can be moved and resiyed only together. </xs:documentation> </xs:annotation> <xs:restriction base="xs:string"> <xs:enumeration value="SINGLE" /> <xs:enumeration value="DOUBLE" /> </xs:restriction> </xs:simpleType> <xs:complexType name="MPointType"> <xs:annotation> <xs:documentation> Basic Point of a polyline object. </xs:documentation> </xs:annotation> <xs:attribute name="x" use="required" type="xs:double" > <xs:annotation> <xs:documentation> X coordinate. </xs:documentation> </xs:annotation> </xs:attribute> <xs:attribute name="y" use="required" type="xs:double" > <xs:annotation> <xs:documentation> Y coordinate. </xs:documentation> </xs:annotation> </xs:attribute> <xs:attribute name="z" type="xs:double" > <xs:annotation> <xs:documentation> Z coordinate. </xs:documentation> </xs:annotation> </xs:attribute> </xs:complexType> <xs:complexType name="MEFlowType"> <xs:annotation> <xs:documentation> Curved electron flow arrow. MEFlow is a subclass of MPolyline thus it has the same attributes, but it can only contain two points. </xs:documentation> </xs:annotation> <xs:complexContent> <xs:extension base="cxn:MGraphicalObjectType"> <xs:sequence> <xs:choice> <xs:element name="MEFlowBasePoint" type="cxn:MEFlowBasePointType" > <xs:annotation> <xs:documentation> Starting point of the electron flow arrow if the source is an atom. </xs:documentation> </xs:annotation> </xs:element> <xs:element name="MAtomSetPoint" type="cxn:MAtomSetPointType" > <xs:annotation> <xs:documentation> It represents an atom or atom pair (bond or incipient bond). </xs:documentation> </xs:annotation> </xs:element> </xs:choice> <xs:element name="MAtomSetPoint" type="cxn:MAtomSetPointType" > <xs:annotation> <xs:documentation> It represents an atom or atom pair (bond or incipient bond). </xs:documentation> </xs:annotation> </xs:element> </xs:sequence> <xs:attribute name="arcAngle" type="xs:double" > <xs:annotation> <xs:documentation> Angle of the electron flow arrow arc. </xs:documentation> </xs:annotation> </xs:attribute> <xs:attribute name="baseElectronContainerIndex" type="xs:integer" > <xs:annotation> <xs:documentation> Describes which electroncontainer holds electron. </xs:documentation> </xs:annotation> </xs:attribute> <xs:attribute name="baseElectronIndexInContainer" type="xs:integer" > <xs:annotation> <xs:documentation> Describes which electron is base electron. </xs:documentation> </xs:annotation> </xs:attribute> </xs:extension> </xs:complexContent> </xs:complexType> <xs:complexType name="MEFlowBasePointType"> <xs:annotation> <xs:documentation> Starting point of the electron flow arrow if the source is an atom. </xs:documentation> </xs:annotation> <xs:attribute name="atomRef" use="required" type="cxn:moleculeAndAtomRef" /> </xs:complexType> <xs:complexType name="MElectronType"> <xs:annotation> <xs:documentation> Represents an electron of the atom. </xs:documentation> </xs:annotation> <xs:attribute name="atomRef" use="required" type="cxn:moleculeAndAtomRef" /> <xs:attribute name="difLoc" use="required" type="cxn:listOf3Doubles" /> </xs:complexType> <xs:complexType name="MElectronContainerType"> <xs:annotation> <xs:documentation> Represents a group of electrons of an atom. </xs:documentation> </xs:annotation> <xs:attribute name="occupation" use="required" type="cxn:booleanList" /> <xs:attribute name="radical" use="required" type="xs:boolean" /> </xs:complexType> <xs:complexType name="MAtomSetPointType"> <xs:annotation> <xs:documentation> It represents an atom or atom pair (bond or incipient bond). </xs:documentation> </xs:annotation> <xs:attribute name="atomRefs" use="required" type="cxn:listOfMax2AtomSetPointAtomRefs" /> <xs:attribute name="weights" type="cxn:listOf2Doubles" /> </xs:complexType> <xs:simpleType name="listOfMax2AtomSetPointAtomRefs"> <xs:annotation> <xs:documentation> List containing one or two atom Set Point. </xs:documentation> </xs:annotation> <xs:restriction base="cxn:atomSetPointAtomRefList"> <xs:minLength value="1" /> <xs:maxLength value="2" /> </xs:restriction> </xs:simpleType> <xs:simpleType name="listOf3Doubles"> <xs:annotation> <xs:documentation> List of x y and z coordinates </xs:documentation> </xs:annotation> <xs:restriction base="cxn:doubleList"> <xs:length value='3' /> </xs:restriction> </xs:simpleType> <xs:simpleType name="atomSetPointAtomRefList"> <xs:annotation> <xs:documentation> List that define atom set points: list of molecule and atom referencies. </xs:documentation> </xs:annotation> <xs:list itemType="cxn:moleculeAndAtomRef" /> </xs:simpleType> <xs:simpleType name="moleculeAndAtomRef"> <xs:annotation> <xs:documentation> Reference corresponding to the molecule and atoms of that. </xs:documentation> </xs:annotation> <xs:restriction base="xs:token"> <xs:pattern value="m([0-9])+\.a([0-9])+" /> </xs:restriction> </xs:simpleType> <xs:simpleType name="listOf2Doubles"> <xs:annotation> <xs:documentation> Two element list containing double variables. </xs:documentation> </xs:annotation> <xs:restriction base="cxn:doubleList"> <xs:length value='2' /> </xs:restriction> </xs:simpleType> <xs:complexType name="MPolylineType"> <xs:annotation> <xs:documentation> Line, arc, polyline and/or arrow. </xs:documentation> </xs:annotation> <xs:complexContent> <xs:extension base="cxn:MGraphicalObjectType"> <xs:choice minOccurs="0" maxOccurs="unbounded"> <xs:element name="MPoint" type="cxn:MPointType"> <xs:annotation> <xs:documentation> Basic Point of a polyline object. </xs:documentation> </xs:annotation> </xs:element> <xs:element name="MRectanglePoint" type="cxn:MRectanglePointType"> <xs:annotation> <xs:documentation> Point of an object connected to a point of another graphical object which is a polyline. </xs:documentation> </xs:annotation> </xs:element> <xs:element name="MMidPoint" type="cxn:MMidPointType"> <xs:annotation> <xs:documentation> Point of an object connected to a middle point of another graphical object which is a polyline. </xs:documentation> </xs:annotation> </xs:element> <xs:element name="MAtomSetPoint" type="cxn:MAtomSetPointType"> <xs:annotation> <xs:documentation> It represents an atom or atom pair (bond or incipient bond). </xs:documentation> </xs:annotation> </xs:element> </xs:choice> <xs:attribute name="arcAngle" type="xs:double" > <xs:annotation> <xs:documentation> Angle of arc. </xs:documentation> </xs:annotation> </xs:attribute> </xs:extension> </xs:complexContent> </xs:complexType> <xs:complexType name="MRectanglePointType"> <xs:annotation> <xs:documentation> Point of an object connected to a point of another graphical object which is a polyline. </xs:documentation> </xs:annotation> <xs:attribute name="pos" use="required" type="xs:integer" > <xs:annotation> <xs:documentation> Identifies to which point of a rectangle this point is connected. </xs:documentation> </xs:annotation> </xs:attribute> <xs:attribute name="rectRef" use="required" type="xs:NCName" > <xs:annotation> <xs:documentation> Reference name of the rectangle to which this point of the object is connected. </xs:documentation> </xs:annotation> </xs:attribute> </xs:complexType> <xs:complexType name="MMidPointType"> <xs:annotation> <xs:documentation> Point of an object connected to a middle point of another graphical object which is a polyline. </xs:documentation> </xs:annotation> <xs:attribute name="pos" type="xs:integer" > <xs:annotation> <xs:documentation> Identifies to which point of a polyline this point is connected. </xs:documentation> </xs:annotation> </xs:attribute> <xs:attribute name="lineRef" use="required" type="xs:NCName" > <xs:annotation> <xs:documentation> Reference name of the line to which this point of the object is connected. </xs:documentation> </xs:annotation> </xs:attribute> </xs:complexType> <xs:complexType name="MRectangleType"> <xs:annotation> <xs:documentation> Marvin rectangle object type. </xs:documentation> </xs:annotation> <xs:complexContent> <xs:extension base="cxn:MGraphicalObjectType"> <xs:sequence> <xs:element name="MPoint" type="cxn:MPointType" minOccurs="4" maxOccurs="4" > <xs:annotation> <xs:documentation> Basic point of a polyline object. </xs:documentation> </xs:annotation> </xs:element> </xs:sequence> <xs:attribute name="background" type="cxn:colorName" > <xs:annotation> <xs:documentation> Background color. </xs:documentation> </xs:annotation> </xs:attribute> <xs:attribute name="tcenter" type="cxn:tCenter" > <xs:annotation> <xs:documentation> Geometric center of the object for transformations like rotation. Identifies corners and middle-points with points of the compass, e.g. NW (North West) identifies the top right corner. Possible values are the eight points of the compass or center. </xs:documentation> </xs:annotation> </xs:attribute> <xs:attribute name="toption" type="cxn:tOption" > <xs:annotation> <xs:documentation> It shows that the object can be rotated or not. </xs:documentation> </xs:annotation> </xs:attribute> </xs:extension> </xs:complexContent> </xs:complexType> <xs:complexType name="MRoundedRectangleType"> <xs:annotation> <xs:documentation> Rounded cornered rectangle object type. </xs:documentation> </xs:annotation> <xs:complexContent> <xs:extension base="cxn:MRectangleType"> <xs:attribute name="arcHeight" type="xs:double" > <xs:annotation> <xs:documentation> The height of the arc of the rounded corner. </xs:documentation> </xs:annotation> </xs:attribute> <xs:attribute name="arcWidth" type="xs:double" > <xs:annotation> <xs:documentation> The width of the arc of the rounded corner. </xs:documentation> </xs:annotation> </xs:attribute> </xs:extension> </xs:complexContent> </xs:complexType> <xs:complexType name="MTextBoxType"> <xs:annotation> <xs:documentation> Text box type. </xs:documentation> </xs:annotation> <xs:complexContent> <xs:extension base="cxn:MGraphicalObjectType"> <xs:sequence> <xs:element name="Field" type="cxn:FieldType" > <xs:annotation> <xs:documentation> Element containing the text of the text box. </xs:documentation> </xs:annotation> </xs:element> <xs:element name="MPoint" type="cxn:MPointType" minOccurs="4" maxOccurs="4" > <xs:annotation> <xs:documentation> Basic Point of a polyline object. </xs:documentation> </xs:annotation> </xs:element> </xs:sequence> <xs:attribute name="autoSize" type="xs:boolean" > <xs:annotation> <xs:documentation> It aranges the text box size to the size automatically. </xs:documentation> </xs:annotation> </xs:attribute> <xs:attribute name="background" type="cxn:colorName" > <xs:annotation> <xs:documentation> Background color. </xs:documentation> </xs:annotation> </xs:attribute> <xs:attribute name="color" type="cxn:colorName" > <xs:annotation> <xs:documentation> Color. </xs:documentation> </xs:annotation> </xs:attribute> <xs:attribute name="fontScale" type="xs:double" > <xs:annotation> <xs:documentation> The size of the font. </xs:documentation> </xs:annotation> </xs:attribute> <xs:attribute name="halign" type="cxn:textBoxHAlignName" > <xs:annotation> <xs:documentation> Horizontal alignment of the text box. </xs:documentation> </xs:annotation> </xs:attribute> <xs:attribute name="tcenter" type="cxn:tCenter" > <xs:annotation> <xs:documentation> Geometric center of the object for transformations like rotation. Identifies corners and middle-points with points of the compass, e.g. NW (North West) identifies the top right corner. Possible values are the eight points of the compass or center. </xs:documentation> </xs:annotation> </xs:attribute> <xs:attribute name="toption" type="cxn:tOption" > <xs:annotation> <xs:documentation> It shows that the object can be rotated or not. </xs:documentation> </xs:annotation> </xs:attribute> <xs:attribute name="valign" type="cxn:textBoxVAlignName" > <xs:annotation> <xs:documentation> Vertical alignment of the text Box. </xs:documentation> </xs:annotation> </xs:attribute> </xs:extension> </xs:complexContent> </xs:complexType> <xs:simpleType name="tOption"> <xs:annotation> <xs:documentation> It shows that the object can be rotated or not. </xs:documentation> </xs:annotation> <xs:restriction base="xs:string"> <xs:enumeration value="ALLOW_ALL" /> <xs:enumeration value="NOROT" /> </xs:restriction> </xs:simpleType> <xs:simpleType name="tCenter"> <xs:annotation> <xs:documentation> Geometric center of the object for transformations like rotation. Identifies corners and middle-points with points of the compass, e.g. NW (North West) identifies the top right corner. Possible values are the eight points of the compass or center. </xs:documentation> </xs:annotation> <xs:restriction base="xs:string"> <xs:enumeration value="NE" /> <xs:enumeration value="NW" /> <xs:enumeration value="SE" /> <xs:enumeration value="SW" /> <xs:enumeration value="CENTER" /> <xs:enumeration value="E" /> <xs:enumeration value="W" /> <xs:enumeration value="N" /> <xs:enumeration value="S" /> </xs:restriction> </xs:simpleType> <xs:simpleType name="textBoxHAlignName"> <xs:annotation> <xs:documentation> Possible string values of the horizoltal alignment of the text box. </xs:documentation> </xs:annotation> <xs:restriction base="xs:string"> <xs:enumeration value="LEFT" /> <xs:enumeration value="RIGHT" /> <xs:enumeration value="CENTER" /> </xs:restriction> </xs:simpleType> <xs:simpleType name="textBoxVAlignName"> <xs:annotation> <xs:documentation> Possible string values of the horizoltal alignment of the text box. </xs:documentation> </xs:annotation> <xs:restriction base="xs:string"> <xs:enumeration value="TOP" /> <xs:enumeration value="BOTTOM" /> <xs:enumeration value="CENTER" /> </xs:restriction> </xs:simpleType> <xs:complexType name="FieldType"> <xs:annotation> <xs:documentation> Element containing the text of the text box. </xs:documentation> </xs:annotation> <xs:simpleContent> <xs:extension base="xs:string"> <xs:attribute name="name" use="required" type="xs:NCName" > <xs:annotation> <xs:documentation> Name of the text field, usually has value "text". </xs:documentation> </xs:annotation> </xs:attribute> </xs:extension> </xs:simpleContent> </xs:complexType> <xs:complexType name="MNameTextBoxType"> <xs:annotation> <xs:documentation> Text object that contains molecule name; it is derived from MTextBox, thus it inherits its attributes. </xs:documentation> </xs:annotation> <xs:complexContent> <xs:extension base="cxn:MTextBoxType"> <xs:attribute name="autoAlign" type="xs:boolean" > <xs:annotation> <xs:documentation> It shows that auto alignment function of the textbox is on or off. </xs:documentation> </xs:annotation> </xs:attribute> <xs:attribute name="autoResize" type="xs:boolean" > <xs:annotation> <xs:documentation> It shows that auto resize function of the textbox is on or off. </xs:documentation> </xs:annotation> </xs:attribute> <xs:attribute name="preferredWidth" type="xs:double" > <xs:annotation> <xs:documentation> The prefered width of the name text box. </xs:documentation> </xs:annotation> </xs:attribute> </xs:extension> </xs:complexContent> </xs:complexType> <!-- molecule and its subtypes --> <xs:complexType name="moleculeType"> <xs:annotation> <xs:documentation> Element containing the description of a molecule. </xs:documentation> </xs:annotation> <xs:sequence> <xs:element name="name" type="xs:NCName" minOccurs="0"> <xs:annotation> <xs:documentation> Name of the molecule. </xs:documentation> </xs:annotation> </xs:element> <xs:element name="propertyList" type="cxn:moleculePropertyListType" minOccurs="0" maxOccurs="unbounded"> <xs:annotation> <xs:documentation> Property list of the molecule. </xs:documentation> </xs:annotation> </xs:element> <xs:element name="atomArray" type="cxn:atomArrayType" minOccurs="0"> <xs:annotation> <xs:documentation> Array of atoms according to their label. </xs:documentation> </xs:annotation> </xs:element> <xs:element name="bondArray" type="cxn:bondArrayType" minOccurs="0"> <xs:annotation> <xs:documentation> Array of bonds according to bond tags. </xs:documentation> </xs:annotation> </xs:element> <xs:element name="molecule" type="cxn:subMoleculeType" minOccurs="0" maxOccurs="unbounded"> <xs:annotation> <xs:documentation> Submolecule (S-groups). </xs:documentation> </xs:annotation> </xs:element> </xs:sequence> <xs:attribute name="absStereo" type="xs:boolean"> <xs:annotation> <xs:documentation> It shows that absolute stereo label is on or off. </xs:documentation> </xs:annotation> </xs:attribute> <xs:attribute name="id" type="xs:NCName"> <xs:annotation> <xs:documentation> ID of the molecule in CML format. </xs:documentation> </xs:annotation> </xs:attribute> <xs:attribute name="molID" type="xs:NCName"> <xs:annotation> <xs:documentation> ID number of the molecule in the MRV file. </xs:documentation> </xs:annotation> </xs:attribute> <xs:attribute name="title" type="xs:string"> <xs:annotation> <xs:documentation> Title of the molecule. </xs:documentation> </xs:annotation> </xs:attribute> <xs:attribute name="oneLetterName"> <xs:annotation> <xs:documentation>One letter name of an amino acid.</xs:documentation> </xs:annotation> <xs:simpleType> <xs:restriction base="cxn:oneLetterNameType"> <xs:pattern value="[A-Z]"></xs:pattern> </xs:restriction> </xs:simpleType> </xs:attribute> <xs:attribute name="threeLetterName" type="cxn:threeLetterNameType"> <xs:annotation> <xs:documentation>Three letter name of an amino acid.</xs:documentation> </xs:annotation> </xs:attribute> </xs:complexType> <xs:complexType name="moleculePropertyListType"> <xs:annotation> <xs:documentation> List containing molecule attributes. </xs:documentation> </xs:annotation> <xs:sequence> <xs:element name="property" type="cxn:moleculePropertyType" maxOccurs="unbounded" > <xs:annotation> <xs:documentation> Molecule property type. </xs:documentation> </xs:annotation> </xs:element> </xs:sequence> </xs:complexType> <xs:complexType name="moleculePropertyType"> <xs:annotation> <xs:documentation> Molecule property type. </xs:documentation> </xs:annotation> <xs:choice> <xs:element name="scalar" type="cxn:moleculeScalarPropertyType" > <xs:annotation> <xs:documentation> Scalar type molecular property. </xs:documentation> </xs:annotation> </xs:element> <xs:element name="array" type="cxn:moleculeArrayPropertyType" > <xs:annotation> <xs:documentation> Array type molecular property. </xs:documentation> </xs:annotation> </xs:element> </xs:choice> <xs:attribute name="dictRef" use="required" type="xs:string" > <xs:annotation> <xs:documentation> Key of the properties related to the document. </xs:documentation> </xs:annotation> </xs:attribute> <xs:attribute name="title" type="xs:string" /> </xs:complexType> <xs:complexType name="moleculeScalarPropertyType"> <xs:annotation> <xs:documentation> Scalar property type. </xs:documentation> </xs:annotation> <xs:simpleContent> <xs:extension base="xs:string"> <xs:attribute name="dataType" type="cxn:dataTypeName" > <xs:annotation> <xs:documentation> Scalar data types </xs:documentation> </xs:annotation> </xs:attribute> </xs:extension> </xs:simpleContent> </xs:complexType> <xs:complexType name="moleculeArrayPropertyType"> <xs:annotation> <xs:documentation> Molecule array property type. </xs:documentation> </xs:annotation> <xs:complexContent> <xs:extension base="cxn:MDocumentArrayPropertyType"> <xs:attribute name="delimiter" type="xs:string" > <xs:annotation> <xs:documentation> Delimiter string of molecule array properties. </xs:documentation> </xs:annotation> </xs:attribute> </xs:extension> </xs:complexContent> </xs:complexType> <xs:complexType name="subMoleculeType"> <xs:annotation> <xs:documentation> Submolecule (S-groups). </xs:documentation> </xs:annotation> <xs:sequence> <xs:element name="propertyList" type="cxn:moleculePropertyListType" minOccurs="0" maxOccurs="unbounded" > <xs:annotation> <xs:documentation> List of molecule property attributes. </xs:documentation> </xs:annotation> </xs:element> <xs:element name="atomArray" type="cxn:atomArrayType" minOccurs="0" > <xs:annotation> <xs:documentation> List of atoms in the S-group. </xs:documentation> </xs:annotation> </xs:element> <xs:element name="bondArray" type="cxn:bondArrayType" minOccurs="0" > <xs:annotation> <xs:documentation> List of bonds in the S-group. </xs:documentation> </xs:annotation> </xs:element> <xs:element name="AttachmentPointArray" type="cxn:attachmentPointArrayType" minOccurs="0" maxOccurs="1"> <xs:annotation> <xs:documentation> Array of the attachment points of the superatom S-group in the multiple attachment point representation. </xs:documentation> </xs:annotation> </xs:element> <xs:element name="MBracket" type="cxn:SgroupMBracketType" minOccurs="0" maxOccurs="unbounded" > <xs:annotation> <xs:documentation> Bracket object. </xs:documentation> </xs:annotation> </xs:element> <xs:element name="molecule" type="cxn:subMoleculeType" minOccurs="0" maxOccurs="unbounded" > <xs:annotation> <xs:documentation> Submolecule (S-groups). </xs:documentation> </xs:annotation> </xs:element> </xs:sequence> <!-- TODO separation of attributes by Sgroups: with Schematron? --> <xs:attribute name="atomRefs" type="cxn:atomRefList"> <xs:annotation> <xs:documentation> Reference to the atoms in the S-Groups. </xs:documentation> </xs:annotation> </xs:attribute> <xs:attribute name="bondList" type="cxn:bondRefList"> <xs:annotation> <xs:documentation> List of bonds </xs:documentation> </xs:annotation> </xs:attribute> <xs:attribute name="center" type="cxn:atomRef"> <xs:annotation> <xs:documentation> Atom reference of center atom </xs:documentation> </xs:annotation> </xs:attribute> <xs:attribute name="charge" type="cxn:chargeName"> <xs:annotation> <xs:documentation> Place of the charge. It's value can be "onAtoms" or "onBracket" </xs:documentation> </xs:annotation> </xs:attribute> <xs:attribute name="connect" type="cxn:connectionName"> <xs:annotation> <xs:documentation> Type of monomer connection in case of copolymers. </xs:documentation> </xs:annotation> </xs:attribute> <xs:attribute name="context" type="cxn:contextName"> <xs:annotation> <xs:documentation> Context of the data field. </xs:documentation> </xs:annotation> </xs:attribute> <xs:attribute name="correspondence" type="cxn:bondRefList"> <xs:annotation> <xs:documentation> S-group correspondence </xs:documentation> </xs:annotation> </xs:attribute> <xs:attribute name="dataDetached" type="xs:boolean"> <xs:annotation> <xs:documentation> Boolean type variable showing if the data is detached or not. </xs:documentation> </xs:annotation> </xs:attribute> <xs:attribute name="displayedChars" type="xs:nonNegativeInteger"> <xs:annotation> <xs:documentation> Number of characters displayed per line </xs:documentation> </xs:annotation> </xs:attribute> <xs:attribute name="displayedLines" type="xs:nonNegativeInteger"> <xs:annotation> <xs:documentation> Number of the lines displayed </xs:documentation> </xs:annotation> </xs:attribute> <xs:attribute name="fieldData" type="xs:string"> <!-- TODO fieldData index? --> <xs:annotation> <xs:documentation> First field of the data. </xs:documentation> </xs:annotation> </xs:attribute> <xs:attribute name="fieldData1" type="xs:string"> <xs:annotation> <xs:documentation> Second field of the data </xs:documentation> </xs:annotation> </xs:attribute> <xs:attribute name="fieldData2" type="xs:string"> <xs:annotation> <xs:documentation> Third field of the data </xs:documentation> </xs:annotation> </xs:attribute> <xs:attribute name="fieldData3" type="xs:string"> <xs:annotation> <xs:documentation> Fourth field of the data </xs:documentation> </xs:annotation> </xs:attribute> <xs:attribute name="fieldData4" type="xs:string"> <xs:annotation> <xs:documentation> Fifth field of the data </xs:documentation> </xs:annotation> </xs:attribute> <xs:attribute name="fieldData5" type="xs:string"> <xs:annotation> <xs:documentation> Sixth field of the data </xs:documentation> </xs:annotation> </xs:attribute> <xs:attribute name="fieldData6" type="xs:string"> <xs:annotation> <xs:documentation> Seventh field of the data </xs:documentation> </xs:annotation> </xs:attribute> <xs:attribute name="fieldData7" type="xs:string"> <xs:annotation> <xs:documentation> Eighth field of the data </xs:documentation> </xs:annotation> </xs:attribute> <xs:attribute name="fieldData8" type="xs:string"> <xs:annotation> <xs:documentation> Ninth field of the data </xs:documentation> </xs:annotation> </xs:attribute> <xs:attribute name="fieldData9" type="xs:string"> <xs:annotation> <xs:documentation> Tenth field of the data </xs:documentation> </xs:annotation> </xs:attribute> <xs:attribute name="fieldName" type="xs:string"> <xs:annotation> <xs:documentation> Name of the field in Data S-Groups. </xs:documentation> </xs:annotation> </xs:attribute> <xs:attribute name="fieldType" type="cxn:fieldTypeName"> <xs:annotation> <xs:documentation> Type of the field </xs:documentation> </xs:annotation> </xs:attribute> <xs:attribute name="id" use="required" type="xs:NCName"> <xs:annotation> <xs:documentation> ID number of the S-group </xs:documentation> </xs:annotation> </xs:attribute> <xs:attribute name="labelCenter" type="cxn:labelCenterName"> <xs:annotation> <xs:documentation> Defines the atom of the S-group to which the bond points, if flipping effect is not used. </xs:documentation> </xs:annotation> </xs:attribute> <xs:attribute name="leftName" type="xs:string"> <xs:annotation> <xs:documentation> Alternative name of the abbreviated group when flipping effect is used, and the name group is on the left hand side of the molecule. (e.g. the leftName of "COOH" is HOOC). </xs:documentation> </xs:annotation> </xs:attribute> <xs:attribute name="molID" type="xs:NCName"> <xs:annotation> <xs:documentation> ID number of the molecule in the MRV file. </xs:documentation> </xs:annotation> </xs:attribute> <xs:attribute name="placement" type="cxn:placementName"> <xs:annotation> <xs:documentation> Defines if the placement of the data is absolute or relative in data S-groups. </xs:documentation> </xs:annotation> </xs:attribute> <xs:attribute name="pos" type="xs:integer"> <xs:annotation> <xs:documentation> Identifies to which point of a rectangle this point is connected. </xs:documentation> </xs:annotation> </xs:attribute> <xs:attribute name="queryOp" type="cxn:queryOpName"> <xs:annotation> <xs:documentation> Query operator in data S-groups. </xs:documentation> </xs:annotation> </xs:attribute> <xs:attribute name="queryType" type="cxn:queryTypeName"> <xs:annotation> <xs:documentation> Name of the query bond type. </xs:documentation> </xs:annotation> </xs:attribute> <xs:attribute name="rightName" type="xs:string"> <xs:annotation> <xs:documentation> Alternative name of the abbreviated group when flipping effect is used, and the name group is on the right hand side of the molecule (e.g. the rightName of "MeO" is OMe). </xs:documentation> </xs:annotation> </xs:attribute> <xs:attribute name="role" use="required" type="cxn:sgroupName"> <xs:annotation> <xs:documentation> Name of the Sgroup type (e.g. SRU). </xs:documentation> </xs:annotation> </xs:attribute> <xs:attribute name="tag" type="cxn:tagName"> <xs:annotation> <xs:documentation> Tag of the fieldData. </xs:documentation> </xs:annotation> </xs:attribute> <xs:attribute name="title" type="xs:string"> <xs:annotation> <xs:documentation> Title of the S-group. That is the string written in the subscript. </xs:documentation> </xs:annotation> </xs:attribute> <xs:attribute name="units" type="xs:string"> <xs:annotation> <xs:documentation> Unit of the data in Data S-group. </xs:documentation> </xs:annotation> </xs:attribute> <xs:attribute name="unitsDisplayed" type="xs:string"> <xs:annotation> <xs:documentation> Shows if the unit of data is displayed in data S-group. </xs:documentation> </xs:annotation> </xs:attribute> <xs:attribute name="x" type="xs:double"> <xs:annotation> <xs:documentation> X coordinate. </xs:documentation> </xs:annotation> </xs:attribute> <xs:attribute name="y" type="xs:double"> <xs:annotation> <xs:documentation> Y coordinate. </xs:documentation> </xs:annotation> </xs:attribute> <xs:attribute name="oneLetterName"> <xs:annotation> <xs:documentation>One letter name of an amino acid.</xs:documentation> </xs:annotation> <xs:simpleType> <xs:restriction base="cxn:oneLetterNameType"> <xs:pattern value="[A-Z]"></xs:pattern> </xs:restriction> </xs:simpleType> </xs:attribute> <xs:attribute name="threeLetterName" type="cxn:threeLetterNameType"> <xs:annotation> <xs:documentation>Three letter name of an amino acid.</xs:documentation> </xs:annotation> </xs:attribute> </xs:complexType> <xs:complexType name="attachmentPointArrayType"> <xs:sequence> <xs:element name="attachmentPoint" type="cxn:attachmentPointType" minOccurs="0" maxOccurs="unbounded"> <xs:annotation> <xs:documentation> AttachmentPoint of the Superatom S-group. </xs:documentation> </xs:annotation> </xs:element> </xs:sequence> </xs:complexType> <xs:complexType name="attachmentPointType"> <xs:annotation> <xs:documentation> Superatom S-group attachmentPoint. </xs:documentation> </xs:annotation> <xs:attribute name="atom" use="required" type="cxn:atomRef"> <xs:annotation> <xs:documentation> The atom on which the attachment point is placed. </xs:documentation> </xs:annotation> </xs:attribute> <xs:attribute name="order" use="required"> <xs:annotation> <xs:documentation> The order of the attachment point. </xs:documentation> </xs:annotation> <xs:simpleType> <xs:restriction base="xs:int"> <xs:minInclusive value="1"></xs:minInclusive> </xs:restriction> </xs:simpleType> </xs:attribute> <xs:attribute name="bond" type="cxn:bondRef" use="optional"> <xs:annotation> <xs:documentation> The crossing bond of the attachment point. </xs:documentation> </xs:annotation> </xs:attribute> <xs:attribute name="crossingBondType" use="optional"> <xs:annotation> <xs:documentation> The type of the crossing bond. </xs:documentation> </xs:annotation> <xs:simpleType> <xs:annotation> <xs:documentation></xs:documentation> </xs:annotation> <xs:restriction base="xs:int"> <xs:maxInclusive value="3"></xs:maxInclusive> <xs:minInclusive value="1"></xs:minInclusive> </xs:restriction> </xs:simpleType> </xs:attribute> </xs:complexType> <xs:simpleType name="atomRefList"> <xs:annotation> <xs:documentation> This argument is a space separated list of atoms. </xs:documentation> </xs:annotation> <xs:list itemType="cxn:atomRef" /> </xs:simpleType> <xs:simpleType name="atomRef"> <xs:annotation> <xs:documentation> Reference of the atom. </xs:documentation> </xs:annotation> <xs:restriction base="xs:token"> <xs:pattern value="a([0-9])+" /> </xs:restriction> </xs:simpleType> <xs:simpleType name="bondRefList"> <xs:annotation> <xs:documentation> This argument is a space separated list of bonds references. </xs:documentation> </xs:annotation> <xs:list itemType="cxn:bondRef" /> </xs:simpleType> <xs:simpleType name="bondRef"> <xs:annotation> <xs:documentation> Bond references </xs:documentation> </xs:annotation> <xs:restriction base="xs:token"> <xs:pattern value="b[1-9]\d*" /> </xs:restriction> </xs:simpleType> <xs:simpleType name="connectionName"> <xs:annotation> <xs:documentation> Name of the connection which can be <i>ht</i> , <i>hh</i> or <i>eu</i> . (??) </xs:documentation> </xs:annotation> <xs:restriction base="xs:string"> <xs:enumeration value="ht" /> <xs:enumeration value="hh" /> <xs:enumeration value="eu" /> </xs:restriction> </xs:simpleType> <xs:simpleType name="chargeName"> <xs:annotation> <xs:documentation> The place of the charge (on atoms or on bracket). </xs:documentation> </xs:annotation> <xs:restriction base="xs:string"> <xs:enumeration value="onAtoms" /> <xs:enumeration value="onBracket" /> </xs:restriction> </xs:simpleType> <xs:simpleType name="contextName"> <xs:annotation> <xs:documentation> Context in case of data Sgroup. </xs:documentation> </xs:annotation> <xs:union memberTypes="xs:string cxn:defaultContextNames" /> </xs:simpleType> <xs:simpleType name="defaultContextNames"> <xs:annotation> <xs:documentation> List of default context names in Marvin. </xs:documentation> </xs:annotation> <xs:restriction base="xs:string"> <xs:enumeration value="Atom" /> <xs:enumeration value="Bond" /> <xs:enumeration value="Single Bond" /> <xs:enumeration value="Double Bond" /> <xs:enumeration value="Fragment" /> <xs:enumeration value="Group" /> <xs:enumeration value="Group (Selection)" /> </xs:restriction> </xs:simpleType> <xs:simpleType name="fieldTypeName"> <xs:annotation> <xs:documentation> Value of the fieldType which can be: <i>F</i> if formatted, <i>T</i> if text, <i>N</i> if numeric or <i>U</i> if URL. </xs:documentation> </xs:annotation> <xs:restriction base="xs:string"> <xs:enumeration value="F" /> <!-- formatted --> <xs:enumeration value="T" /> <!-- text --> <xs:enumeration value="N" /> <!-- numeric --> <xs:enumeration value="U" /> <!-- URL --> </xs:restriction> </xs:simpleType> <xs:simpleType name="labelCenterName"> <xs:annotation> <xs:documentation> Value of the label center, which can be "Auto" or a string number between 0 and 9. </xs:documentation> </xs:annotation> <xs:restriction base="xs:string"> <xs:pattern value="AUTO|([0-9])*" /> </xs:restriction> </xs:simpleType> <xs:simpleType name="placementName"> <xs:annotation> <xs:documentation> Placement field of data Sgroup. </xs:documentation> </xs:annotation> <xs:restriction base="xs:string"> <xs:enumeration value="Relative" /> <xs:enumeration value="Absolute" /> </xs:restriction> </xs:simpleType> <xs:simpleType name="queryOpName"> <xs:annotation> <xs:documentation> Name of the query operators. </xs:documentation> </xs:annotation> <xs:restriction base="xs:string"> <xs:enumeration value="between" /> <xs:enumeration value="like" /> <xs:enumeration value="contains" /> <xs:enumeration value="<" /> <xs:enumeration value="<=" /> <xs:enumeration value=">" /> <xs:enumeration value=">=" /> </xs:restriction> </xs:simpleType> <xs:simpleType name="queryTypeName"> <xs:annotation> <xs:documentation> Name of query bond type. </xs:documentation> </xs:annotation> <xs:restriction base="xs:string"> <xs:enumeration value="mQ" /> <xs:enumeration value="MQ" /> <xs:enumeration value="IQ" /> <xs:enumeration value="<P>Q" /> </xs:restriction> </xs:simpleType> <xs:simpleType name="sgroupName"> <xs:annotation> <xs:documentation> Name of the Sgroup. </xs:documentation> </xs:annotation> <xs:restriction base="xs:string"> <xs:enumeration value="Sgroup" /> <xs:enumeration value="SuperatomSgroup" /> <xs:enumeration value="MultipleSgroup" /> <xs:enumeration value="DataSgroup" /> <xs:enumeration value="ComponentSgroup" /> <xs:enumeration value="MixtureSgroup" /> <xs:enumeration value="FormulationSgroup" /> <xs:enumeration value="SruSgroup" /> <xs:enumeration value="MulticenterSgroup" /> <xs:enumeration value="GenericSgroup" /> <xs:enumeration value="MerSgroup" /> <xs:enumeration value="MonomerSgroup" /> <xs:enumeration value="AnyPolymerSgroup" /> <xs:enumeration value="AlternatingCopolymerSgroup" /> <xs:enumeration value="BlockCopolymerSgroup" /> <xs:enumeration value="RandomCopolymerSgroup" /> <xs:enumeration value="CopolymerSgroup" /> <xs:enumeration value="CrosslinkSgroup" /> <xs:enumeration value="GraftSgroup" /> <xs:enumeration value="ModificationSgroup" /> </xs:restriction> </xs:simpleType> <xs:simpleType name="tagName"> <xs:annotation> <xs:documentation> Tag name. </xs:documentation> </xs:annotation> <xs:restriction base="xs:string"> <xs:pattern value="[A-Za-z0-9]" /> </xs:restriction> </xs:simpleType> <xs:complexType name="atomArrayType"> <xs:annotation> <xs:documentation>Array atom type.</xs:documentation> </xs:annotation> <xs:sequence> <xs:element name="atom" type="cxn:atomType" minOccurs="0" maxOccurs="unbounded"> <xs:annotation> <xs:documentation>Atom type.</xs:documentation> </xs:annotation> </xs:element> </xs:sequence> <xs:attribute name="atomID" type="cxn:atomRefList"> <xs:annotation> <xs:documentation> This argument is a space separated list of atoms. </xs:documentation> </xs:annotation> </xs:attribute> <xs:attribute name="attachmentOrder" type="cxn:nonNegativeIntegerList"> <xs:annotation> <xs:documentation> Attachment point order value in the case of R-group attachment point. </xs:documentation> </xs:annotation> </xs:attribute> <xs:attribute name="attachmentPoint" type="cxn:attachmentPointList"> <xs:annotation> <xs:documentation> List of attachment points. </xs:documentation> </xs:annotation> </xs:attribute> <xs:attribute name="elementType" type="cxn:elementTypeList"> <xs:annotation> <xs:documentation> Element in the Periodic Table. </xs:documentation> </xs:annotation> </xs:attribute> <xs:attribute name="formalCharge" type="cxn:integerList"> <xs:annotation> <xs:documentation> It is the charge assigned to an atom in a molecule, assuming that electrons in a chemical bond are shared equally between atoms, regardless of relative electronegativity. </xs:documentation> </xs:annotation> </xs:attribute> <xs:attribute name="hydrogenCount" type="cxn:nonNegativeIntegerList"> <xs:annotation> <xs:documentation> Number of implicit hydrogen if needed. In the cases of 5-6 membered aromatic rings containing nitrogen atoms, it is not obvious which N atoms have implicit hydrogens. </xs:documentation> </xs:annotation> </xs:attribute> <xs:attribute name="isSelected" type="cxn:booleanList"> <xs:annotation> <xs:documentation> Boolean type variable which shows that the object is selected or not. </xs:documentation> </xs:annotation> </xs:attribute> <xs:attribute name="isotope" type="cxn:nonNegativeIntegerList"> <xs:annotation> <xs:documentation>Atomic mass number.</xs:documentation> </xs:annotation> </xs:attribute> <xs:attribute name="lonePair" type="cxn:nonNegativeIntegerList"> <xs:annotation> <xs:documentation> Number of lone pairs. </xs:documentation> </xs:annotation> </xs:attribute> <xs:attribute name="mrvAlias" type="cxn:tokenList"> <xs:annotation> <xs:documentation>Atom alias.</xs:documentation> </xs:annotation> </xs:attribute> <xs:attribute name="mrvExtraLabel" type="cxn:tokenList"> <xs:annotation> <xs:documentation> List of Atom extra labels. </xs:documentation> </xs:annotation> </xs:attribute> <xs:attribute name="mrvLinkNodeOut" type="cxn:linkNodeList"> <xs:annotation> <xs:documentation> Outer bond references for a link node in comma separated list of bond indices (amongst bonds of the link atom) leading to the outer atoms (non-repeating neighbours) of the link nodes, "-" means no outer bonds. </xs:documentation> </xs:annotation> </xs:attribute> <xs:attribute name="mrvLinkNodeRep" type="cxn:linkNodeRepetitionCountList"> <xs:annotation> <xs:documentation> Number of repetitions for a link node in format " <i>n</i> " (maximum number of repetitions) or " <i>m</i> - <i>n</i> " (minimum and maximum). </xs:documentation> </xs:annotation> </xs:attribute> <xs:attribute name="mrvMap" type="cxn:nonNegativeIntegerList"> <xs:annotation> <xs:documentation> The map corresponding to the given atom <a href="http://www.chemaxon.com/marvin-archive/3.5.7/marvin/chemaxon/marvin/help/sketch-chem.html#mapping"> mapping </a> . </xs:documentation> </xs:annotation> </xs:attribute> <xs:attribute name="mrvPseudo" type="cxn:tokenList"> <xs:annotation> <xs:documentation> List of pseudoatom names. </xs:documentation> </xs:annotation> </xs:attribute> <xs:attribute name="mrvQueryProps" type="cxn:queryPropsList"> <xs:annotation> <xs:documentation> List of query atom properties </xs:documentation> </xs:annotation> </xs:attribute> <xs:attribute name="mrvSetExtraLabelSeq" type="cxn:nonNegativeIntegerList"> <xs:annotation> <xs:documentation> Atom set extra label numbers. </xs:documentation> </xs:annotation> </xs:attribute> <xs:attribute name="mrvSetSeq" type="cxn:nonNegativeIntegerList"> <xs:annotation> <xs:documentation> Atom set sequence number. </xs:documentation> </xs:annotation> </xs:attribute> <xs:attribute name="mrvSpecIsotopeSymbolPreferred" type="cxn:zeroOneList"> <xs:annotation> <xs:documentation> Special symbols are preferred for Hydrogen isotopes (D, T) if the value is 1, normal element symbol (H) is used if the value is 0. </xs:documentation> </xs:annotation> </xs:attribute> <xs:attribute name="mrvStereoGroup" type="cxn:mrvStereoGroupList"> <xs:annotation> <xs:documentation> MDL enchanced stereo group representation. </xs:documentation> </xs:annotation> </xs:attribute> <xs:attribute name="mrvValence" type="cxn:valenceList"> <xs:annotation> <xs:documentation>Valence list.</xs:documentation> </xs:annotation> </xs:attribute> <xs:attribute name="radical" type="cxn:radicalList"> <xs:annotation> <xs:documentation> List of the radicals. </xs:documentation> </xs:annotation> </xs:attribute> <xs:attribute name="reactionStereo" type="cxn:reactionStereoList"> <xs:annotation> <xs:documentation> List of reaction stereo properties. </xs:documentation> </xs:annotation> </xs:attribute> <xs:attribute name="residueAtomName" type="cxn:nonNegativeIntegerList"> <xs:annotation> <xs:documentation>PDB atom name.</xs:documentation> </xs:annotation> </xs:attribute> <xs:attribute name="residueId" type="cxn:residueIdList"> <xs:annotation> <xs:documentation> List of residue Ids. </xs:documentation> </xs:annotation> </xs:attribute> <xs:attribute name="residueType" type="cxn:residueTypeList"> <xs:annotation> <xs:documentation> List of residue types. </xs:documentation> </xs:annotation> </xs:attribute> <xs:attribute name="rgroupRef" type="cxn:nonNegativeIntegerList"> <xs:annotation> <xs:documentation> List of R-group reference values. </xs:documentation> </xs:annotation> </xs:attribute> <xs:attribute name="sgroupAttachmentPoint" type="cxn:attachmentPointList"> <xs:annotation> <xs:documentation> List of attachment points. </xs:documentation> </xs:annotation> </xs:attribute> <xs:attribute name="sgroupRef" type="cxn:sgroupRefList"> <xs:annotation> <xs:documentation> List of S-group references. </xs:documentation> </xs:annotation> </xs:attribute> <xs:attribute name="x2" type="cxn:doubleList"> <xs:annotation> <xs:documentation> X coordinates in two-dimensional representation. </xs:documentation> </xs:annotation> </xs:attribute> <xs:attribute name="x3" type="cxn:doubleList"> <xs:annotation> <xs:documentation> X coordinates in three-dimensional representation. </xs:documentation> </xs:annotation> </xs:attribute> <xs:attribute name="y2" type="cxn:doubleList"> <xs:annotation> <xs:documentation> Y coordinates in two-dimensional representation. </xs:documentation> </xs:annotation> </xs:attribute> <xs:attribute name="y3" type="cxn:doubleList"> <xs:annotation> <xs:documentation> Y coordinates in three-dimensional representation. </xs:documentation> </xs:annotation> </xs:attribute> <xs:attribute name="z3" type="cxn:doubleList"> <xs:annotation> <xs:documentation> Z coordinates in three-dimensional representation. </xs:documentation> </xs:annotation> </xs:attribute> </xs:complexType> <xs:simpleType name="nonNegativeIntegerList"> <xs:annotation> <xs:documentation> List containing non-negative integer numbers. </xs:documentation> </xs:annotation> <xs:list itemType="xs:nonNegativeInteger" /> </xs:simpleType> <xs:simpleType name="integerList"> <xs:annotation> <xs:documentation> List containing integer numbers. </xs:documentation> </xs:annotation> <xs:list itemType="xs:integer" /> </xs:simpleType> <xs:simpleType name="booleanList"> <xs:annotation> <xs:documentation> List containing boolean values. </xs:documentation> </xs:annotation> <xs:list itemType="xs:boolean" /> </xs:simpleType> <xs:simpleType name="tokenList"> <xs:annotation> <xs:documentation> List containing tokens. </xs:documentation> </xs:annotation> <xs:list itemType="xs:token" /> </xs:simpleType> <xs:simpleType name="linkNodeRepetitionCountList"> <xs:annotation> <xs:documentation> List containing link node repetition ranges. </xs:documentation> </xs:annotation> <xs:list itemType="cxn:linkNodeRepetitionCount" /> </xs:simpleType> <xs:simpleType name="linkNodeRepetitionCount"> <xs:annotation> <xs:documentation> Repetition count of a link node atom. </xs:documentation> </xs:annotation> <xs:restriction base="xs:token"> <xs:pattern value="([0-9])+(-([0-9])+)*" /> </xs:restriction> </xs:simpleType> <xs:simpleType name="linkNodeList"> <xs:annotation> <xs:documentation> List containing link nodes. </xs:documentation> </xs:annotation> <xs:list itemType="cxn:listLinkNode" /> </xs:simpleType> <xs:simpleType name="listLinkNode"> <xs:annotation> <xs:documentation> Element of linkNodeList. </xs:documentation> </xs:annotation> <xs:restriction base="xs:token"> <xs:pattern value="a([0-9])+,a([0-9])+|-" /> </xs:restriction> </xs:simpleType> <xs:simpleType name="queryPropsList"> <xs:annotation> <xs:documentation> List of query properties. </xs:documentation> </xs:annotation> <xs:list itemType="cxn:queryProp" /> </xs:simpleType> <xs:simpleType name="queryProp"> <xs:annotation> <xs:documentation> Query atom properties. </xs:documentation> </xs:annotation> <xs:restriction base="xs:string"> <!-- TODO finish restriction according to jchem query guide --> <!-- <xs:pattern value="0|((A|Q|(L([,!](Ac|Al|Ag|Am|Ar|As|At|Au|B|Ba|Bh|Bi|Be|Bk|Br|C|Ca|Cd|Ce|Cf|Cl|Cm|Co|Cr|Cs|Cu|Db|Dy|Er|Es|Eu|F|Fe|Fm|Fr|Ga|Gd|Ge|H|He|Hf|Hg|Ho|Hs|I|In|Ir|K|Kr|La|Li|Lr|Lu|Md|Mg|Mn|Mo|Mt|N|Na|Nb|Nd|Ne|Ni|No|Np|O|Os|P|Pa|Pb|Pd|Pm|Po|Pr|Pt|Pu|Ra|Rb|Re|Rf|Rh|Rn|Ru|S|Sb|Sc|Se|Sg|Si|Sm|Sn|Sr|Ta|Tb|Tc|Te|Th|Ti|Tl|Tm|U|Uun|Uuu|Uub|Uut|Uuq|Uup|Uuh|Uus|Uuo|V|W|Xe|Y|Yb|Zn|Zr))+)):)?(([HhXDRrauv][0-9]+|s([0-9]+|\*)|rb([0-9]+|\*))|;)*(str:.+)?" /> --> </xs:restriction> </xs:simpleType> <xs:simpleType name="valenceList"> <xs:annotation> <xs:documentation> List of valences. </xs:documentation> </xs:annotation> <xs:list itemType="cxn:valenceValue" /> </xs:simpleType> <xs:simpleType name="valenceValue"> <xs:annotation> <xs:documentation> Element of valenceList. </xs:documentation> </xs:annotation> <xs:restriction base="xs:token"> <xs:pattern value="([0-9])+|-" /> </xs:restriction> </xs:simpleType> <xs:simpleType name="attachmentPointList"> <xs:annotation> <xs:documentation> List of attachment points. </xs:documentation> </xs:annotation> <xs:list itemType="cxn:attachmentPointValue" /> </xs:simpleType> <xs:simpleType name="attachmentPointValue"> <xs:annotation> <xs:documentation> S-group attachment point value: "1", (on first site) "2" (on second site) or "both" (on both sites). </xs:documentation> </xs:annotation> <xs:restriction base="xs:token"> <xs:pattern value="0|1|2|3|both" /> </xs:restriction> </xs:simpleType> <xs:simpleType name="zeroOneList"> <xs:annotation> <xs:documentation> List of special symbols are preferred for Hydrogen isotopes (D, T) if the value is 1, normal element symbol (H) is used if the value is 0. </xs:documentation> </xs:annotation> <xs:list itemType="cxn:zeroOne" /> </xs:simpleType> <xs:simpleType name="zeroOne"> <xs:annotation> <xs:documentation> Special symbols are preferred for Hydrogen isotopes (D, T) if the value is 1, normal element symbol (H) is used if the value is 0. </xs:documentation> </xs:annotation> <xs:restriction base="xs:nonNegativeInteger"> <xs:enumeration value="0" /> <xs:enumeration value="1" /> </xs:restriction> </xs:simpleType> <xs:simpleType name="mrvStereoGroupList"> <xs:annotation> <xs:documentation> List containing Mrv Stereo Group Names. </xs:documentation> </xs:annotation> <xs:list itemType="cxn:listMrvStereoGroupName" /> </xs:simpleType> <xs:simpleType name="listMrvStereoGroupName"> <xs:annotation> <xs:documentation> MDL enhanced stereo representation. Possible values: abs, or[number], and[number] </xs:documentation> </xs:annotation> <xs:restriction base="xs:token"> <xs:pattern value="abs|or[0-9]+|and[0-9]+|0" /> </xs:restriction> </xs:simpleType> <xs:simpleType name="radicalList"> <xs:annotation> <xs:documentation> List of the radicals. </xs:documentation> </xs:annotation> <xs:list itemType="cxn:radicalName" /> </xs:simpleType> <xs:simpleType name="radicalName"> <xs:annotation> <xs:documentation> Name of the radical center. </xs:documentation> </xs:annotation> <xs:union memberTypes="xs:nonNegativeInteger cxn:namedRadicalValue" /> </xs:simpleType> <xs:simpleType name="namedRadicalValue"> <xs:annotation> <xs:documentation> Name of the radical center. </xs:documentation> </xs:annotation> <xs:restriction base="xs:NCName"> <xs:enumeration value="monovalent" /> <xs:enumeration value="divalent" /> <xs:enumeration value="divalent1" /> <xs:enumeration value="divalent3" /> <xs:enumeration value="triplet" /> <xs:enumeration value="trivalent" /> <xs:enumeration value="trivalent2" /> <xs:enumeration value="trivalent4" /> </xs:restriction> </xs:simpleType> <xs:simpleType name="reactionStereoList"> <xs:annotation> <xs:documentation> List of reaction stereo properties. </xs:documentation> </xs:annotation> <xs:list itemType="cxn:listReactionStereoName" /> </xs:simpleType> <xs:simpleType name="listReactionStereoName"> <xs:annotation> <xs:documentation> List of reaction stereo names. </xs:documentation> </xs:annotation> <xs:restriction base="xs:token"> <xs:enumeration value="Inv" /> <xs:enumeration value="Ret" /> <xs:enumeration value="0" /> </xs:restriction> </xs:simpleType> <xs:simpleType name="residueIdList"> <xs:annotation> <xs:documentation> List of residue Ids. </xs:documentation> </xs:annotation> <xs:list itemType="cxn:residueIdName" /> </xs:simpleType> <xs:simpleType name="residueIdName"> <xs:annotation> <xs:documentation> Name of residue Id. </xs:documentation> </xs:annotation> <xs:restriction base="xs:token"> <xs:pattern value="r([0-9])+" /> </xs:restriction> </xs:simpleType> <xs:simpleType name="residueTypeList"> <xs:annotation> <xs:documentation> List of residue types. </xs:documentation> </xs:annotation> <xs:list itemType="cxn:residueTypeName" /> </xs:simpleType> <xs:simpleType name="residueTypeName"> <xs:annotation> <xs:documentation> Name of residue type. </xs:documentation> </xs:annotation> <xs:restriction base="xs:string"> <xs:pattern value="UNK[0-9]*|[ACGTIU]|\+[ACGTIU]|Ala|Arg|Asn|Asp|Cys|Gln|Glu|Gly|His|Ile|Leu|Lys|Met|Phe|Pro|Ser|Thr|Trp|Tyr|Val|Asx|Glx" /> </xs:restriction> </xs:simpleType> <xs:simpleType name="sgroupRefList"> <xs:annotation> <xs:documentation> List of S-group references. </xs:documentation> </xs:annotation> <xs:list itemType="cxn:listSgroupRefName" /> </xs:simpleType> <xs:simpleType name="listSgroupRefName"> <xs:annotation> <xs:documentation> List of S-group reference names. </xs:documentation> </xs:annotation> <xs:restriction base="xs:token"> <xs:pattern value="(aa|sg)([0-9])+|0" /> </xs:restriction> </xs:simpleType> <xs:simpleType name="elementTypeList"> <xs:annotation> <xs:documentation> List containing atom labels. </xs:documentation> </xs:annotation> <xs:list itemType="cxn:elementTypeName" /> </xs:simpleType> <xs:simpleType name="elementTypeName"> <xs:annotation> <xs:documentation> Element of elementTypeList. </xs:documentation> </xs:annotation> <xs:union memberTypes="cxn:basicElementName cxn:specialElementName" /> </xs:simpleType> <xs:simpleType name="basicElementName"> <xs:annotation> <xs:documentation> Symbol of basic elements. </xs:documentation> </xs:annotation> <xs:restriction base="xs:token"> <xs:enumeration value="Ac" /> <xs:enumeration value="Al" /> <xs:enumeration value="Ag" /> <xs:enumeration value="Am" /> <xs:enumeration value="Ar" /> <xs:enumeration value="As" /> <xs:enumeration value="At" /> <xs:enumeration value="Au" /> <xs:enumeration value="B" /> <xs:enumeration value="Ba" /> <xs:enumeration value="Bh" /> <xs:enumeration value="Bi" /> <xs:enumeration value="Be" /> <xs:enumeration value="Bk" /> <xs:enumeration value="Br" /> <xs:enumeration value="C" /> <xs:enumeration value="Ca" /> <xs:enumeration value="Cd" /> <xs:enumeration value="Ce" /> <xs:enumeration value="Cf" /> <xs:enumeration value="Cl" /> <xs:enumeration value="Cm" /> <xs:enumeration value="Co" /> <xs:enumeration value="Cr" /> <xs:enumeration value="Cs" /> <xs:enumeration value="Cu" /> <xs:enumeration value="Db" /> <xs:enumeration value="Dy" /> <xs:enumeration value="Er" /> <xs:enumeration value="Es" /> <xs:enumeration value="Eu" /> <xs:enumeration value="F" /> <xs:enumeration value="Fe" /> <xs:enumeration value="Fm" /> <xs:enumeration value="Fr" /> <xs:enumeration value="Ga" /> <xs:enumeration value="Gd" /> <xs:enumeration value="Ge" /> <xs:enumeration value="H" /> <xs:enumeration value="He" /> <xs:enumeration value="Hf" /> <xs:enumeration value="Hg" /> <xs:enumeration value="Ho" /> <xs:enumeration value="Hs" /> <xs:enumeration value="I" /> <xs:enumeration value="In" /> <xs:enumeration value="Ir" /> <xs:enumeration value="K" /> <xs:enumeration value="Kr" /> <xs:enumeration value="La" /> <xs:enumeration value="Li" /> <xs:enumeration value="Lr" /> <xs:enumeration value="Lu" /> <xs:enumeration value="Md" /> <xs:enumeration value="Mg" /> <xs:enumeration value="Mn" /> <xs:enumeration value="Mo" /> <xs:enumeration value="Mt" /> <xs:enumeration value="N" /> <xs:enumeration value="Na" /> <xs:enumeration value="Nb" /> <xs:enumeration value="Nd" /> <xs:enumeration value="Ne" /> <xs:enumeration value="Ni" /> <xs:enumeration value="No" /> <xs:enumeration value="Np" /> <xs:enumeration value="O" /> <xs:enumeration value="Os" /> <xs:enumeration value="P" /> <xs:enumeration value="Pa" /> <xs:enumeration value="Pb" /> <xs:enumeration value="Pd" /> <xs:enumeration value="Pm" /> <xs:enumeration value="Po" /> <xs:enumeration value="Pr" /> <xs:enumeration value="Pt" /> <xs:enumeration value="Pu" /> <xs:enumeration value="Ra" /> <xs:enumeration value="Rb" /> <xs:enumeration value="Re" /> <xs:enumeration value="Rf" /> <xs:enumeration value="Rh" /> <xs:enumeration value="Rn" /> <xs:enumeration value="Ru" /> <xs:enumeration value="S" /> <xs:enumeration value="Sb" /> <xs:enumeration value="Sc" /> <xs:enumeration value="Se" /> <xs:enumeration value="Sg" /> <xs:enumeration value="Si" /> <xs:enumeration value="Sm" /> <xs:enumeration value="Sn" /> <xs:enumeration value="Sr" /> <xs:enumeration value="Ta" /> <xs:enumeration value="Tb" /> <xs:enumeration value="Tc" /> <xs:enumeration value="Te" /> <xs:enumeration value="Th" /> <xs:enumeration value="Ti" /> <xs:enumeration value="Tl" /> <xs:enumeration value="Tm" /> <xs:enumeration value="U" /> <xs:enumeration value="Uun" /> <xs:enumeration value="Uuu" /> <xs:enumeration value="Uub" /> <xs:enumeration value="Uut" /> <xs:enumeration value="Uuq" /> <xs:enumeration value="Uup" /> <xs:enumeration value="Uuh" /> <xs:enumeration value="Uus" /> <xs:enumeration value="Uuo" /> <xs:enumeration value="V" /> <xs:enumeration value="W" /> <xs:enumeration value="Xe" /> <xs:enumeration value="Y" /> <xs:enumeration value="Yb" /> <xs:enumeration value="Zn" /> <xs:enumeration value="Zr" /> </xs:restriction> </xs:simpleType> <xs:simpleType name="specialElementName"> <xs:annotation> <xs:documentation> Symbols of special elements (e.g., X = multicenter atom). </xs:documentation> </xs:annotation> <xs:restriction base="xs:token"> <xs:enumeration value="R" /> <!-- R-group atom --> <xs:enumeration value="X" /> <!-- Multicenter atom --> <xs:enumeration value="LP" /> <!-- Lone pair --> <xs:enumeration value="*" /> <!-- Star atom of polymers and R-group attachment point --> </xs:restriction> </xs:simpleType> <xs:complexType name="atomType"> <xs:annotation> <xs:documentation>Atom type.</xs:documentation> </xs:annotation> <xs:sequence> <xs:element name="atomParity" type="cxn:atomParityType" minOccurs="0"> <xs:annotation> <xs:documentation>Atom parity.</xs:documentation> </xs:annotation> </xs:element> <xs:element name="scalar" type="cxn:atomScalarPropertyType" minOccurs="0" maxOccurs="unbounded"> <xs:annotation> <xs:documentation> List of the atom special scalar properties. </xs:documentation> </xs:annotation> </xs:element> <xs:element name="atomBicycloStereo" type="cxn:atomBicycloStereoType" minOccurs="0" maxOccurs="unbounded"> <xs:annotation> <xs:documentation> Bicyclostereo (endo- exo-) information of the atom. Possible values: If the ligand is oriented towards the bridge that contains the higer atomic index, it gets the THB (Towards Higher Bridge) label; if it's oriented towards the other bridge it gets the TLB (Towards Lower Bridge) label; if the position is undefined, it gets either value. </xs:documentation> </xs:annotation> </xs:element> </xs:sequence> <xs:attribute name="attachmentOrder" type="xs:positiveInteger"> <xs:annotation> <xs:documentation> Attachment point order value in the case of R-group attachment point. </xs:documentation> </xs:annotation> </xs:attribute> <xs:attribute name="attachmentPoint" type="cxn:attachmentPointValue"> <xs:annotation> <xs:documentation> Attachment point value. </xs:documentation> </xs:annotation> </xs:attribute> <xs:attribute name="elementType" use="required" type="cxn:elementTypeName"> <xs:annotation> <xs:documentation> Element in the Periodic Table. </xs:documentation> </xs:annotation> </xs:attribute> <xs:attribute name="formalCharge" type="xs:integer"> <xs:annotation> <xs:documentation> It is the charge assigned to an atom in a molecule, assuming that electrons in a chemical bond are shared equally between atoms, regardless of relative electronegativity. </xs:documentation> </xs:annotation> </xs:attribute> <xs:attribute name="hydrogenCount" type="xs:nonNegativeInteger"> <xs:annotation> <xs:documentation> Number of implicit hydrogen if needed. In the cases of 5-6 membered aromatic rings containing nitrogen atoms, it is not obvious which N atoms have implicit hydrogens. </xs:documentation> </xs:annotation> </xs:attribute> <xs:attribute name="id" use="required" type="xs:NCName"> <xs:annotation> <xs:documentation>Atom ID.</xs:documentation> </xs:annotation> </xs:attribute> <xs:attribute name="isotope" type="xs:nonNegativeInteger"> <xs:annotation> <xs:documentation>Atomic mass number.</xs:documentation> </xs:annotation> </xs:attribute> <xs:attribute name="isSelected" type="xs:boolean"> <xs:annotation> <xs:documentation> Boolean type variable which shows that the object is selected or not. </xs:documentation> </xs:annotation> </xs:attribute> <xs:attribute name="ligandOrder" type="cxn:atomRefList"> <xs:annotation> <xs:documentation> Order of ligands connected to an R-group atom: list of atom identifiers. </xs:documentation> </xs:annotation> </xs:attribute> <xs:attribute name="lonePair" type="xs:nonNegativeInteger"> <xs:annotation> <xs:documentation> Number of lone pairs. </xs:documentation> </xs:annotation> </xs:attribute> <xs:attribute name="mrvAlias" type="xs:string"> <xs:annotation> <xs:documentation>Atom alias.</xs:documentation> </xs:annotation> </xs:attribute> <xs:attribute name="mrvExtraLabel" type="xs:token"> <xs:annotation> <xs:documentation>Atom extra label.</xs:documentation> </xs:annotation> </xs:attribute> <xs:attribute name="mrvLinkNodeOut" type="cxn:linkNode"> <xs:annotation> <xs:documentation> Outer bond references for a link node in comma separated list of bond indices (amongst bonds of the link atom) leading to the outer atoms (non-repeating neighbours) of the link nodes, "-" means no outer bonds. </xs:documentation> </xs:annotation> </xs:attribute> <xs:attribute name="mrvLinkNodeRep" type="cxn:linkNodeRepetitionCount"> <xs:annotation> <xs:documentation> Number of repetitions for a link node in format " <i>n</i> " (maximum number of repetitions) or " <i>m</i> - <i>n</i> " (minimum and maximum). </xs:documentation> </xs:annotation> </xs:attribute> <xs:attribute name="mrvMap" type="xs:positiveInteger"> <xs:annotation> <xs:documentation> The map corresponding to the given atom <a href="http://www.chemaxon.com/marvin-archive/3.5.7/marvin/chemaxon/marvin/help/sketch-chem.html#mapping"> mapping. </a> </xs:documentation> </xs:annotation> </xs:attribute> <xs:attribute name="mrvPseudo" type="xs:NCName"> <xs:annotation> <xs:documentation>Pseudoatom name.</xs:documentation> </xs:annotation> </xs:attribute> <xs:attribute name="mrvQueryProps" type="cxn:queryProp"> <xs:annotation> <xs:documentation> Query atom properties. </xs:documentation> </xs:annotation> </xs:attribute> <xs:attribute name="mrvSetExtraLabelSeq" type="xs:nonNegativeInteger"> <xs:annotation> <xs:documentation> Atom set extra label numbers. </xs:documentation> </xs:annotation> </xs:attribute> <xs:attribute name="mrvSetSeq" type="xs:nonNegativeInteger"> <xs:annotation> <xs:documentation> Atom set sequence number. </xs:documentation> </xs:annotation> </xs:attribute> <xs:attribute name="mrvSpecIsotopeSymbolPreferred" type="cxn:zeroOne"> <xs:annotation> <xs:documentation> Special symbols are preferred for Hydrogen isotopes (D, T) if the value is 1, normal element symbol (H) is used if the value is 0. </xs:documentation> </xs:annotation> </xs:attribute> <xs:attribute name="mrvStereoGroup" type="cxn:mrvStereoGroupName"> <xs:annotation> <xs:documentation> MDL enchanced stereo group representation. </xs:documentation> </xs:annotation> </xs:attribute> <xs:attribute name="mrvValence" type="xs:nonNegativeInteger"> <xs:annotation> <xs:documentation>Valence.</xs:documentation> </xs:annotation> </xs:attribute> <xs:attribute name="radical" type="cxn:radicalName"> <xs:annotation> <xs:documentation> Name of the radical center. </xs:documentation> </xs:annotation> </xs:attribute> <xs:attribute name="reactionStereo" type="cxn:reactionStereoName"> <xs:annotation> <xs:documentation> Reaction stereo value. </xs:documentation> </xs:annotation> </xs:attribute> <xs:attribute name="residueAtomName" type="xs:nonNegativeInteger"> <xs:annotation> <xs:documentation>PDB atom name.</xs:documentation> </xs:annotation> </xs:attribute> <xs:attribute name="residueId" type="cxn:residueIdName"> <xs:annotation> <xs:documentation>Name of residue ID.</xs:documentation> </xs:annotation> </xs:attribute> <xs:attribute name="residueType" type="cxn:residueTypeName"> <xs:annotation> <xs:documentation> Name of residue type </xs:documentation> </xs:annotation> </xs:attribute> <xs:attribute name="rgroupRef" type="xs:nonNegativeInteger"> <xs:annotation> <xs:documentation> R-group reference value. </xs:documentation> </xs:annotation> </xs:attribute> <xs:attribute name="sgroupAttachmentPoint" type="cxn:attachmentPointValue"> <xs:annotation> <xs:documentation> S-group attachment point: "1", (on first site) "2" (on second site) or "both" (on both sites). </xs:documentation> </xs:annotation> </xs:attribute> <xs:attribute name="sgroupRef" type="cxn:sgroupRefName"> <xs:annotation> <xs:documentation> S-group reference name. </xs:documentation> </xs:annotation> </xs:attribute> <xs:attribute name="x2" type="xs:double"> <xs:annotation> <xs:documentation> X coordinates in two-dimensional representation. </xs:documentation> </xs:annotation> </xs:attribute> <xs:attribute name="y2" type="xs:double"> <xs:annotation> <xs:documentation> Y coordinates in two-dimensional representation. </xs:documentation> </xs:annotation> </xs:attribute> <xs:attribute name="x3" type="xs:double"> <xs:annotation> <xs:documentation> X coordinates in three-dimensional representation. </xs:documentation> </xs:annotation> </xs:attribute> <xs:attribute name="y3" type="xs:double"> <xs:annotation> <xs:documentation> Y coordinates in three-dimensional representation. </xs:documentation> </xs:annotation> </xs:attribute> <xs:attribute name="z3" type="xs:double"> <xs:annotation> <xs:documentation> Z coordinates in three-dimensional representation. </xs:documentation> </xs:annotation> </xs:attribute> </xs:complexType> <xs:simpleType name="charL"> <xs:annotation> <xs:documentation> Character that could be only L </xs:documentation> </xs:annotation> <xs:restriction base="xs:string"> <xs:pattern value="l" /> </xs:restriction> </xs:simpleType> <xs:simpleType name="linkNode"> <xs:annotation> <xs:documentation> Value containing two atomIDs separated by a comma. </xs:documentation> </xs:annotation> <xs:restriction base="xs:string"> <xs:pattern value="a([0-9])+,a([0-9])+" /> </xs:restriction> </xs:simpleType> <xs:simpleType name="mrvStereoGroupName"> <xs:annotation> <xs:documentation> Sting conatining "abs", "or[0-9]+" or "and[0-9]+". </xs:documentation> </xs:annotation> <xs:restriction base="xs:string"> <xs:pattern value="abs|or[0-9]+|and[0-9]+" /> </xs:restriction> </xs:simpleType> <xs:simpleType name="reactionStereoName"> <xs:annotation> <xs:documentation> Reaction stereo value. </xs:documentation> </xs:annotation> <xs:restriction base="xs:string"> <xs:enumeration value="Inv" /> <xs:enumeration value="Ret" /> </xs:restriction> </xs:simpleType> <xs:complexType name="atomScalarPropertyType" mixed="true"> <xs:annotation> <xs:documentation> Atom Scalar Property Type </xs:documentation> </xs:annotation> <xs:attribute name="convention" type="cxn:atomConventionName"> <xs:annotation> <xs:documentation> Name of the convention where the property is being interpeted. </xs:documentation> </xs:annotation> </xs:attribute> <xs:attribute name="dataType" use="optional" type="cxn:dataTypeName"> <xs:annotation> <xs:documentation> Type of the property. </xs:documentation> </xs:annotation> </xs:attribute> <xs:attribute name="id" type="cxn:atomPropID"> <xs:annotation> <xs:documentation> ID of the atom property. </xs:documentation> </xs:annotation> </xs:attribute> <xs:attribute name="title" use="required" type="xs:string"> <xs:annotation> <xs:documentation> String usually same as string. </xs:documentation> </xs:annotation> </xs:attribute> </xs:complexType> <xs:simpleType name="atomConventionName"> <xs:annotation> <xs:documentation> Name of the convention where the property is being interpreted. </xs:documentation> </xs:annotation> <xs:restriction base="xs:string"> <xs:enumeration value="atomprop" /> </xs:restriction> </xs:simpleType> <xs:simpleType name="atomPropID"> <xs:annotation> <xs:documentation> ID of the atom property. </xs:documentation> </xs:annotation> <xs:restriction base="xs:string"> <xs:pattern value="a([0-9])+.prop([0-9])+" /> </xs:restriction> </xs:simpleType> <xs:complexType name="atomParityType"> <xs:annotation> <xs:documentation> Atom parity type. </xs:documentation> </xs:annotation> <xs:simpleContent> <xs:extension base="xs:integer"> <xs:attribute name="atomRefs4" use="required" type="cxn:listOf4AtomRefs" > <xs:annotation> <xs:documentation> Represents the parity value of the stereocenter according to the given four atom reference frame. </xs:documentation> </xs:annotation> </xs:attribute> </xs:extension> </xs:simpleContent> </xs:complexType> <xs:simpleType name="listOf4AtomRefs"> <xs:annotation> <xs:documentation> List of the four atom arround the stereocenter (a1,a2,a3,a4). </xs:documentation> </xs:annotation> <xs:restriction base="cxn:atomRefList"> <xs:length value="4" /> </xs:restriction> </xs:simpleType> <xs:complexType name="atomBicycloStereoType"> <xs:annotation> <xs:documentation> Bicyclostereo (endo- exo-) information of the atom. Possible values: If the ligand is oriented towards the bridge that contains the higer atomic index, it gets the THB (Towards Higher Bridge) label; if it's oriented towards the other bridge it gets the TLB (Towards Lower Bridge) label; if the position is undefined, it gets either value. </xs:documentation> </xs:annotation> <xs:simpleContent> <xs:extension base="cxn:atomBicycloValue"> <xs:attribute name="connectionAtom" use="required" type="cxn:atomRef" > <xs:annotation> <xs:documentation> The ID of the connecting atom. </xs:documentation> </xs:annotation> </xs:attribute> <xs:attribute name="highBridge" use="required" type="cxn:bridgeAtomRefList" > <xs:annotation> <xs:documentation> The atom reference list of the high bridge. </xs:documentation> </xs:annotation> </xs:attribute> <xs:attribute name="lowBridge" use="required" type="cxn:bridgeAtomRefList" > <xs:annotation> <xs:documentation> The atom reference list of the low bridge. </xs:documentation> </xs:annotation> </xs:attribute> </xs:extension> </xs:simpleContent> </xs:complexType> <xs:simpleType name="atomBicycloValue"> <xs:annotation> <xs:documentation> Atom bicyclo value: It can be higher, lower and either. Bicyclostereo (endo- exo-) information of the atom. Possible values: If the ligand is oriented towards the bridge that contains the higer atomic index, it gets the THB (Towards Higher Bridge) label; if it's oriented towards the other bridge it gets the TLB (Towards Lower Bridge) label; if the position is undefined, it gets either value. </xs:documentation> </xs:annotation> <xs:restriction base="xs:string"> <xs:enumeration value="either" /> <xs:enumeration value="higher" /> <xs:enumeration value="lower" /> </xs:restriction> </xs:simpleType> <xs:simpleType name="bridgeAtomRefList"> <xs:annotation> <xs:documentation> Atom reference list of the bridge. </xs:documentation> </xs:annotation> <xs:restriction base="cxn:atomRefList"> <xs:maxLength value="6" /> </xs:restriction> </xs:simpleType> <xs:simpleType name="sgroupRefName"> <xs:annotation> <xs:documentation> S-group reference name. </xs:documentation> </xs:annotation> <xs:restriction base="xs:token"> <xs:pattern value="(aa|sg)([0-9])+" /> </xs:restriction> </xs:simpleType> <xs:complexType name="bondArrayType"> <xs:annotation> <xs:documentation> Type of bond array. </xs:documentation> </xs:annotation> <xs:sequence> <xs:element name="bond" type="cxn:bondType" minOccurs="0" maxOccurs="unbounded" /> </xs:sequence> </xs:complexType> <xs:complexType name="bondType"> <xs:annotation> <xs:documentation>Bond type.</xs:documentation> </xs:annotation> <xs:sequence> <xs:element name="bondStereo" type="cxn:bondStereoType" minOccurs="0" /> <xs:element name="scalar" type="cxn:bondScalarPropertyType" minOccurs="0" maxOccurs="unbounded"> <xs:annotation> <xs:documentation> List of the bond special scalar properties. </xs:documentation> </xs:annotation> </xs:element> </xs:sequence> <xs:attribute name="id" type="cxn:bondRef" use="required"> <xs:annotation> <xs:documentation> The id of the bond.</xs:documentation> </xs:annotation> </xs:attribute> <xs:attribute name="atomRefs2" use="required" type="cxn:listOf2AtomRefs"> <xs:annotation> <xs:documentation> List containing two atom references (a1,a2). </xs:documentation> </xs:annotation> </xs:attribute> <xs:attribute name="convention" type="cxn:bondConvention"> <xs:annotation> <xs:documentation> A number referring the MDL stereo type of the bond or "cxn:coord" in case of coordinative bond, "cxn:hydrogen" in case of hydrogen bond. </xs:documentation> </xs:annotation> </xs:attribute> <xs:attribute name="mrvBold" type="xs:boolean"> <xs:annotation> <xs:documentation> Bold bond attribute. </xs:documentation> </xs:annotation> </xs:attribute> <xs:attribute name="mrvHashed" type="xs:boolean"> <xs:annotation> <xs:documentation> Hashed bond attribute. </xs:documentation> </xs:annotation> </xs:attribute> <xs:attribute name="mrvQueryProps" type="cxn:bondQueryProp"> <xs:annotation> <xs:documentation> Query bond properties. </xs:documentation> </xs:annotation> </xs:attribute> <xs:attribute name="mrvReactingCenter" type="xs:integer"> <xs:annotation> <xs:documentation> <a href="http://www.chemaxon.com/jchem/doc/user/query_reactionsearch.html#reactingcenter"> Reacting center bond query feature </a> . Possible values: -1: not center, 1: center, 4: make or break, 8: change, 12: make and change. </xs:documentation> </xs:annotation> </xs:attribute> <xs:attribute name="mrvReactionCenter" type="xs:integer"> <xs:annotation> <xs:documentation></xs:documentation> </xs:annotation> </xs:attribute> <xs:attribute name="mrvSetSeq" type="xs:integer"> <xs:annotation> <xs:documentation> Atom set sequence number. </xs:documentation> </xs:annotation> </xs:attribute> <xs:attribute name="order" type="cxn:bondOrderName"> <xs:annotation> <xs:documentation> Name of bond order (e.g., single, double, triple, aromatic etc.). </xs:documentation> </xs:annotation> </xs:attribute> <xs:attribute name="queryType" type="cxn:bondQueryTypeName"> <xs:annotation> <xs:documentation> Name of query bond type. </xs:documentation> </xs:annotation> </xs:attribute> <xs:attribute name="topology" type="cxn:bondTopologyName"> <xs:annotation> <xs:documentation> Defines that the bond is a part of a ring or a chain. </xs:documentation> </xs:annotation> </xs:attribute> </xs:complexType> <xs:simpleType name="listOf2AtomRefs"> <xs:annotation> <xs:documentation> List containing two atom references (a1,a2). </xs:documentation> </xs:annotation> <xs:restriction base="cxn:atomRefList"> <xs:length value="2" /> </xs:restriction> </xs:simpleType> <xs:simpleType name="bondConvention"> <xs:annotation> <xs:documentation> A number refering the MDL stereo type of the bond or "cxn:coord" in case of coordinative bond, "cxn:hydrogen" in case of hydrogen bond. </xs:documentation> </xs:annotation> <xs:restriction base="xs:token"> <xs:pattern value="cxn:coord|cxn:hydrogen|[0-9]+" /> </xs:restriction> </xs:simpleType> <xs:simpleType name="bondQueryProp"> <xs:annotation> <xs:documentation> Query bond properties. </xs:documentation> </xs:annotation> <xs:restriction base="xs:string"> <xs:pattern value="str:.+" /> </xs:restriction> </xs:simpleType> <xs:simpleType name="bondOrderName"> <xs:annotation> <xs:documentation> Name of bond order (e.g., single, double, triple, aromatic etc.). </xs:documentation> </xs:annotation> <xs:restriction base="xs:string"> <xs:pattern value="S|D|T|A|COORD|[0-9]+" /> </xs:restriction> </xs:simpleType> <xs:simpleType name="bondQueryTypeName"> <xs:annotation> <xs:documentation> Name of query bond type. </xs:documentation> </xs:annotation> <xs:restriction base="xs:string"> <xs:pattern value="SD|SA|DA|Any|[0-9]+" /> </xs:restriction> </xs:simpleType> <xs:simpleType name="bondTopologyName"> <xs:annotation> <xs:documentation> The possible bond topology. </xs:documentation> </xs:annotation> <xs:restriction base="xs:string"> <xs:enumeration value="ring" /> <xs:enumeration value="chain" /> </xs:restriction> </xs:simpleType> <xs:complexType name="bondStereoType"> <xs:annotation> <xs:documentation> Tag containes the stereo properties of the bond. </xs:documentation> </xs:annotation> <xs:simpleContent> <xs:extension base="cxn:bondStereoValue"> <xs:attribute name="convention" type="cxn:stereoConventionName" > <xs:annotation> <xs:documentation> Stereo representation framework type. </xs:documentation> </xs:annotation> </xs:attribute> <xs:attribute name="conventionValue" type="cxn:stereoConventionValue"> <xs:annotation> <xs:documentation> Stereo Convention Value: It can be MDLStereoValue or ChemAxonStereoValue. </xs:documentation> </xs:annotation> </xs:attribute> </xs:extension> </xs:simpleContent> </xs:complexType> <xs:simpleType name="bondStereoValue"> <xs:annotation> <xs:documentation> Possible values of bond stereo properties (W:wedged, H:hashed; C:cis; T:trans). </xs:documentation> </xs:annotation> <xs:restriction base="xs:string"> <xs:enumeration value="" /> <xs:enumeration value="W" /> <xs:enumeration value="H" /> <xs:enumeration value="C" /> <xs:enumeration value="T" /> </xs:restriction> </xs:simpleType> <xs:simpleType name="stereoConventionName"> <xs:annotation> <xs:documentation> Stereo representation framework type. </xs:documentation> </xs:annotation> <xs:restriction base="xs:NCName"> <xs:enumeration value="MDL" /> <xs:enumeration value="ChemAxon" /> </xs:restriction> </xs:simpleType> <xs:simpleType name="stereoConventionValue"> <xs:annotation> <xs:documentation> Stereo Convention Value: It can be MDLStereoValue or ChemAxonStereoValue. </xs:documentation> </xs:annotation> <xs:union memberTypes="cxn:MDLStereoValue cxn:ChemAxonStereoValue" /> </xs:simpleType> <xs:simpleType name="MDLStereoValue"> <xs:annotation> <xs:documentation> MDL stereo value: 1:single up, 3: cis or trans, 4: wiggly, 6:single down. </xs:documentation> </xs:annotation> <xs:restriction base="xs:integer"> <xs:enumeration value="1" /> <xs:enumeration value="3" /> <xs:enumeration value="4" /> <xs:enumeration value="6" /> </xs:restriction> </xs:simpleType> <xs:simpleType name="ChemAxonStereoValue"> <xs:annotation> <xs:documentation> ChemAxon stereo values: C: cis, T: trans, CTUSPEC: the given cis or trans information or unspecified, CARE: stereo search specified. </xs:documentation> </xs:annotation> <xs:restriction base="xs:string"> <xs:pattern value="(C|T|CTUnspec|CARE|,)+" /> </xs:restriction> </xs:simpleType> <!-- reaction and its subtypes --> <xs:complexType name="reactionType"> <xs:annotation> <xs:documentation> Element containing the description of a reaction. </xs:documentation> </xs:annotation> <xs:sequence> <xs:element name="arrow" type="cxn:arrowType" minOccurs="0" > <xs:annotation> <xs:documentation> Reaction arrow type. </xs:documentation> </xs:annotation> </xs:element> <xs:element name="propertyList" type="cxn:moleculePropertyListType" minOccurs="0" maxOccurs="unbounded" > <xs:annotation> <xs:documentation> Property list. </xs:documentation> </xs:annotation> </xs:element> <xs:element name="reactantList" type="cxn:reactionComponentType" minOccurs="0" > <xs:annotation> <xs:documentation> List of reactants in the reaction. </xs:documentation> </xs:annotation> </xs:element> <xs:element name="agentList" type="cxn:reactionComponentType" minOccurs="0" > <xs:annotation> <xs:documentation> List of agents in the reaction. </xs:documentation> </xs:annotation> </xs:element> <xs:element name="productList" type="cxn:reactionComponentType" minOccurs="0" > <xs:annotation> <xs:documentation> List of products in the reaction. </xs:documentation> </xs:annotation> </xs:element> </xs:sequence> <xs:attribute name="absStereo" type="xs:boolean" > <xs:annotation> <xs:documentation> It shows that absolute stereo label is on or off. </xs:documentation> </xs:annotation> </xs:attribute> <xs:attribute name="title" type="xs:string" > <xs:annotation> <xs:documentation> Title. </xs:documentation> </xs:annotation> </xs:attribute> </xs:complexType> <xs:complexType name="arrowType"> <xs:annotation> <xs:documentation> Reaction arrow type. </xs:documentation> </xs:annotation> <xs:attribute name="type" use="required" type="cxn:reactionArrowName" > <xs:annotation> <xs:documentation> Type of reaction arrow. E.g., EQUILIBRIUM. </xs:documentation> </xs:annotation> </xs:attribute> <xs:attribute name="x1" use="required" type="xs:double" > <xs:annotation> <xs:documentation> The X coordinate of the staring point of the reaction arrow. </xs:documentation> </xs:annotation> </xs:attribute> <xs:attribute name="x2" use="required" type="xs:double" > <xs:annotation> <xs:documentation> The X coordinate of the endpoint of the reaction arrow. </xs:documentation> </xs:annotation> </xs:attribute> <xs:attribute name="y1" use="required" type="xs:double" > <xs:annotation> <xs:documentation> The Y coordinate of the staring point of the reaction arrow. </xs:documentation> </xs:annotation> </xs:attribute> <xs:attribute name="y2" use="required" type="xs:double" > <xs:annotation> <xs:documentation> The Y coordinate of the endpoint of the reaction arrow. </xs:documentation> </xs:annotation> </xs:attribute> <xs:attribute name="z1" type="xs:double" > <xs:annotation> <xs:documentation> The Z coordinate of the staring point of the reaction arrow. </xs:documentation> </xs:annotation> </xs:attribute> <xs:attribute name="z2" type="xs:double" > <xs:annotation> <xs:documentation> The Z coordinate of the endpoint of the reaction arrow. </xs:documentation> </xs:annotation> </xs:attribute> </xs:complexType> <xs:simpleType name="reactionArrowName"> <xs:annotation> <xs:documentation> Name of the reaction arrow based on its type. </xs:documentation> </xs:annotation> <xs:restriction base="xs:NCName"> <xs:enumeration value="DEFAULT" /> <xs:enumeration value="RESONANCE" /> <xs:enumeration value="RETROSYNTHETIC" /> <xs:enumeration value="EQUILIBRIUM" /> </xs:restriction> </xs:simpleType> <xs:complexType name="reactionComponentType"> <xs:annotation> <xs:documentation> Type of reaction components. </xs:documentation> </xs:annotation> <xs:sequence> <xs:element name="molecule" type="cxn:moleculeType" minOccurs="0" maxOccurs="unbounded" > <xs:annotation> <xs:documentation> Element containing the description of a molecule. </xs:documentation> </xs:annotation> </xs:element> </xs:sequence> </xs:complexType> <!-- definition of elements --> <xs:element name="cml" type="cxn:cmlType"> <xs:annotation> <xs:documentation> Main tag for multiple documents: if more marvin documents are contained in one mrv file then this element should embed the documents. </xs:documentation> </xs:annotation> </xs:element> <xs:element name="MDocument" type="cxn:MDocumentType"> <xs:annotation> <xs:documentation> Main marvin document element containing molecules, graphical objects, reactions, etc. </xs:documentation> </xs:annotation> </xs:element> <xs:element name="molecule" type="cxn:moleculeType"> <xs:annotation> <xs:documentation> Element containing the description of a molecule. </xs:documentation> </xs:annotation> </xs:element> <xs:element name="reaction" type="cxn:reactionType"> <xs:annotation> <xs:documentation> Element containing the description of a reaction. </xs:documentation> </xs:annotation> </xs:element> <xs:complexType name="bondScalarPropertyType" mixed="true"> <xs:annotation> <xs:documentation> Bond Scalar Property Type </xs:documentation> </xs:annotation> <xs:attribute name="convention" type="cxn:bondConventionName"> <xs:annotation> <xs:documentation> Name of the convention where the property is being interpeted. </xs:documentation> </xs:annotation> </xs:attribute> <xs:attribute name="dataType" type="cxn:dataTypeName"> <xs:annotation> <xs:documentation> Type of the property. </xs:documentation> </xs:annotation> </xs:attribute> <xs:attribute name="id" type="cxn:bondPropId"> <xs:annotation> <xs:documentation> ID of the bond property. </xs:documentation> </xs:annotation> </xs:attribute> <xs:attribute name="title" type="xs:string"> <xs:annotation> <xs:documentation> String usually same as string. </xs:documentation> </xs:annotation> </xs:attribute> </xs:complexType> <xs:simpleType name="bondConventionName"> <xs:annotation> <xs:documentation> Name of the convention where the property is being interpreted. </xs:documentation> </xs:annotation> <xs:restriction base="xs:string"> <xs:enumeration value="bondprop"></xs:enumeration> </xs:restriction> </xs:simpleType> <xs:simpleType name="bondPropId"> <xs:annotation> <xs:documentation> ID of the bond property. </xs:documentation> </xs:annotation> <xs:restriction base="xs:string"> <xs:pattern value="a([0-9])+a([0-9])+.prop([0-9])+"></xs:pattern> </xs:restriction> </xs:simpleType> <xs:simpleType name="oneLetterNameType"> <xs:restriction base="xs:string"></xs:restriction> </xs:simpleType> <xs:simpleType name="threeLetterNameType"> <xs:restriction base="xs:string"> <xs:pattern value="[A-Z][a-z][a-z]"></xs:pattern> </xs:restriction> </xs:simpleType> </xs:schema>