ILDG Home
UKLFT Home
MDC index
Ensemble index
Ensemble list
|
<?xml version="1.0" encoding="UTF-8"?>
<xs:schema targetNamespace="http://www.lqcd.org/ildg/QCDml/ensemble2.0" attributeFormDefault="unqualified" elementFormDefault="qualified" xmlns="http://www.lqcd.org/ildg/QCDml/ensemble2.0" xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:element name="markovChain">
<xs:annotation>
<xs:documentation>The root element of QCDmlEnsemble documents, also known as "ensemble XML". It represents the metadata of an ensemble (i.e. a sequence of gauge configurations generated by a single Markov Chain). Below this level the XML is static across an ensemble of data.</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:sequence>
<xs:element name="markovChainURI" type="xs:anyURI">
<xs:annotation>
<xs:documentation>The persistent ILDG-wide unique identifier of (the metadata of) an ensemble.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="management" type="managementType">
</xs:element>
<xs:element name="license" type="licenseType">
</xs:element>
<xs:element type="fundingType" minOccurs="0" name="fundingReferences">
</xs:element>
<xs:element type="physicsType" name="physics">
</xs:element>
<xs:element type="algorithmType" name="algorithm">
</xs:element>
<xs:element minOccurs="0" type="xs:anyURI" name="cLibrary">
</xs:element>
<xs:element minOccurs="0" type="additionalInfoType" name="additionalInfo">
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:complexType name="managementType">
<xs:annotation>
<xs:documentation>Contains information about who, what, and when the data was done</xs:documentation>
</xs:annotation>
<xs:sequence>
<xs:element name="annotation" type="xs:string" minOccurs="0">
</xs:element>
<xs:element minOccurs="0" type="xs:nonNegativeInteger" name="revisions">
<xs:annotation>
<xs:documentation>The number of times the entry for this ensemble has been revised</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="collaboration" type="xs:normalizedString">
</xs:element>
<xs:element name="projectName" type="xs:normalizedString">
</xs:element>
<xs:element minOccurs="0" type="xs:normalizedString" name="ensembleLabel">
<xs:annotation>
<xs:documentation>An optional label to identify this ensemble or to categorize several ensembles</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element type="xs:normalizedString" minOccurs="0" name="publishedAlias">
<xs:annotation>
<xs:documentation>An optional short text string to identify this ensemble by collaboration dependent notations, such as a list of name and value pairs of coupling parameters in publications</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="reference" minOccurs="0" type="xs:normalizedString">
</xs:element>
<xs:element name="archiveHistory">
<xs:complexType>
<xs:sequence>
<xs:element minOccurs="0" type="managementActionType" maxOccurs="unbounded" name="archiveEvent">
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
<xs:complexType name="managementActionType">
<xs:annotation>
<xs:documentation>Management action such as add to the catalogue, withdraw from the catalogue</xs:documentation>
</xs:annotation>
<xs:sequence>
<xs:element minOccurs="0" type="xs:string" name="annotation">
</xs:element>
<xs:element name="revision" type="xs:nonNegativeInteger" minOccurs="0">
</xs:element>
<xs:element type="revisionActionType" name="revisionAction">
</xs:element>
<xs:element name="participant" type="participantType">
</xs:element>
<xs:element name="date" type="xs:dateTime">
</xs:element>
</xs:sequence>
</xs:complexType>
<xs:simpleType name="revisionActionType">
<xs:annotation>
<xs:documentation>An enumeration of revision actions</xs:documentation>
</xs:annotation>
<xs:restriction base="xs:NMTOKEN">
<xs:enumeration value="add">
<xs:annotation>
<xs:documentation>add a new ensemble</xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="replace">
<xs:annotation>
<xs:documentation>replace ensemble document</xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="remove">
<xs:annotation>
<xs:documentation>remove ensemble</xs:documentation>
</xs:annotation>
</xs:enumeration>
</xs:restriction>
</xs:simpleType>
<xs:complexType name="participantType">
<xs:annotation>
<xs:documentation>Who made this revision</xs:documentation>
</xs:annotation>
<xs:choice>
<xs:sequence>
<xs:annotation>
<xs:documentation>ORCID + optional name and/or institution</xs:documentation>
</xs:annotation>
<xs:element name="orcid" type="orcidType">
</xs:element>
<xs:element type="xs:string" minOccurs="0" name="name">
</xs:element>
<xs:element type="xs:string" minOccurs="0" name="institution">
</xs:element>
</xs:sequence>
<xs:sequence>
<xs:annotation>
<xs:documentation>No ORCID and mandatory name and institution</xs:documentation>
</xs:annotation>
<xs:element name="name" type="xs:string">
</xs:element>
<xs:element name="institution" type="xs:string">
</xs:element>
</xs:sequence>
</xs:choice>
</xs:complexType>
<xs:simpleType name="orcidType">
<xs:restriction base="xs:token">
<xs:pattern value="\d\d\d\d\-\d\d\d\d\-\d\d\d\d\-\d\d\d\d">
</xs:pattern>
</xs:restriction>
</xs:simpleType>
<xs:complexType name="licenseType">
<xs:annotation>
<xs:documentation>Specification of ONE standard OR custom license (with optional embargoEndDate and acknowledgment)</xs:documentation>
</xs:annotation>
<xs:sequence>
<xs:element type="xs:string" minOccurs="0" name="annotation">
</xs:element>
<xs:choice>
<xs:group ref="standardLicenseGroup">
</xs:group>
<xs:group ref="customLicenseGroup">
</xs:group>
</xs:choice>
<xs:element name="embargoEndDate" minOccurs="0" type="xs:date">
<xs:annotation>
<xs:documentation>Optional "embargoEndDate" (until which "All rights reserved" applies, and after which configs can be used under the specified license)</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="acknowledgments" minOccurs="0" type="acknowledgmentsType">
<xs:annotation>
<xs:documentation>Optional "acknowledgments". Please consider to also mention ILDG in the template text!</xs:documentation>
</xs:annotation>
</xs:element>
</xs:sequence>
</xs:complexType>
<xs:group name="standardLicenseGroup">
<xs:annotation>
<xs:documentation>Standard License: optional name and mandatory URI</xs:documentation>
</xs:annotation>
<xs:sequence>
<xs:element minOccurs="0" type="xs:string" name="licenseName">
</xs:element>
<xs:element type="xs:anyURI" name="licenseURI">
</xs:element>
</xs:sequence>
</xs:group>
<xs:group name="customLicenseGroup">
<xs:annotation>
<xs:documentation>Custom License (discouraged): text or reference or both</xs:documentation>
</xs:annotation>
<xs:choice>
<xs:sequence>
<xs:annotation>
<xs:documentation>Custom License: text + optional reference</xs:documentation>
</xs:annotation>
<xs:element name="customLicenseText" type="xs:string">
</xs:element>
<xs:element type="xs:anyURI" minOccurs="0" name="customLicenseReference">
</xs:element>
</xs:sequence>
<xs:sequence>
<xs:annotation>
<xs:documentation>Custom License: reference only</xs:documentation>
</xs:annotation>
<xs:element type="xs:anyURI" name="customLicenseReference">
</xs:element>
</xs:sequence>
</xs:choice>
</xs:group>
<xs:complexType name="acknowledgmentsType">
<xs:annotation>
<xs:documentation>Optional annotation followed by "citation" or "templateText" or both</xs:documentation>
</xs:annotation>
<xs:sequence>
<xs:element name="annotation" type="xs:string" minOccurs="0">
</xs:element>
<xs:choice>
<xs:sequence>
<xs:element type="xs:string" name="citation" maxOccurs="unbounded">
</xs:element>
<xs:element minOccurs="0" type="xs:string" name="templateText">
</xs:element>
</xs:sequence>
<xs:element type="xs:string" name="templateText">
</xs:element>
</xs:choice>
</xs:sequence>
</xs:complexType>
<xs:complexType name="fundingType">
<xs:annotation>
<xs:documentation>Non-empty list of "fundingReference" elements which are compatible with (but more restricted than) in the DataCite schema.</xs:documentation>
</xs:annotation>
<xs:sequence>
<xs:element type="xs:string" minOccurs="0" name="annotation">
</xs:element>
<xs:element name="fundingReference" maxOccurs="unbounded" type="fundingReferenceType">
</xs:element>
</xs:sequence>
</xs:complexType>
<xs:complexType name="fundingReferenceType">
<xs:annotation>
<xs:documentation>A mandatory "funderName" followed by optional "awardNumber" and/or "awardTitle"</xs:documentation>
</xs:annotation>
<xs:sequence>
<xs:element name="annotation" minOccurs="0" type="xs:string">
</xs:element>
<xs:element type="nonEmptyString" name="funderName">
<xs:annotation>
<xs:documentation>Name of the funding provider</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="awardTitle" minOccurs="0">
<xs:annotation>
<xs:documentation>The human readable title of the award (grant)</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="awardNumber" minOccurs="0" type="xs:string">
<xs:annotation>
<xs:documentation>The code assigned by the funder to a sponsored award (grant)</xs:documentation>
</xs:annotation>
</xs:element>
</xs:sequence>
</xs:complexType>
<xs:complexType name="physicsType">
<xs:annotation>
<xs:documentation>Contains the physics information</xs:documentation>
</xs:annotation>
<xs:sequence>
<xs:element minOccurs="0" type="xs:string" name="annotation">
</xs:element>
<xs:element type="sizeType" name="size">
</xs:element>
<xs:element name="action" type="actionType">
</xs:element>
<xs:element type="observablesType" minOccurs="0" name="observables">
</xs:element>
</xs:sequence>
</xs:complexType>
<xs:complexType name="sizeType">
<xs:annotation>
<xs:documentation>The simulation size, for each dimension. The supported order is either txyz or xyzt (where z or yz are optional and must be absent in 3- or 2-dimensional case). Note that neither of these orders is equal to the one used in the layout of the binary files!</xs:documentation>
</xs:annotation>
<xs:sequence>
<xs:element name="annotation" type="xs:string" minOccurs="0">
</xs:element>
<xs:choice>
<xs:sequence>
<xs:element name="x" type="xs:positiveInteger">
</xs:element>
<xs:element name="y" type="xs:positiveInteger" minOccurs="0">
</xs:element>
<xs:element type="xs:positiveInteger" minOccurs="0" name="z">
</xs:element>
<xs:element name="t" type="xs:positiveInteger">
</xs:element>
</xs:sequence>
<xs:sequence>
<xs:element type="xs:positiveInteger" name="t">
</xs:element>
<xs:element type="xs:positiveInteger" name="x">
</xs:element>
<xs:element name="y" type="xs:positiveInteger" minOccurs="0">
</xs:element>
<xs:element minOccurs="0" type="xs:positiveInteger" name="z">
</xs:element>
</xs:sequence>
</xs:choice>
</xs:sequence>
</xs:complexType>
<xs:complexType name="observablesType">
<xs:annotation>
<xs:documentation>Observables calculated on configurations of this ensemble</xs:documentation>
</xs:annotation>
<xs:sequence maxOccurs="unbounded">
<xs:element type="observableType" name="elem">
</xs:element>
</xs:sequence>
</xs:complexType>
<xs:complexType name="observableType">
<xs:annotation>
<xs:documentation>Definition of observalbes</xs:documentation>
</xs:annotation>
<xs:sequence>
<xs:element type="observableNameType" name="name">
</xs:element>
<xs:element name="val" type="xs:double">
</xs:element>
<xs:element type="xs:double" name="err">
</xs:element>
<xs:element name="glossary" type="xs:anyURI">
</xs:element>
</xs:sequence>
</xs:complexType>
<xs:simpleType name="observableNameType">
<xs:annotation>
<xs:documentation>Enumeration of possible observable names</xs:documentation>
</xs:annotation>
<xs:restriction base="xs:string">
<xs:enumeration value="ampi">
</xs:enumeration>
<xs:enumeration value="amrho">
</xs:enumeration>
<xs:enumeration value="mpi/mrho">
</xs:enumeration>
<xs:enumeration value="r0/a">
</xs:enumeration>
<xs:enumeration value="r1/a">
</xs:enumeration>
</xs:restriction>
</xs:simpleType>
<xs:complexType name="actionType">
<xs:annotation>
<xs:documentation>The action XML chunk</xs:documentation>
</xs:annotation>
<xs:sequence>
<xs:element name="annotation" type="xs:string" minOccurs="0">
</xs:element>
<xs:element name="gluon">
<xs:complexType>
<xs:sequence>
<xs:group maxOccurs="unbounded" ref="gluonActions">
</xs:group>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="photon" minOccurs="0">
<xs:complexType>
<xs:sequence>
<xs:group ref="photonActions">
</xs:group>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element minOccurs="0" name="quark">
<xs:complexType>
<xs:sequence>
<xs:group ref="quarkActions" maxOccurs="unbounded">
</xs:group>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
<xs:group name="gluonActions">
<xs:choice>
<xs:group ref="anisotropicGluonActions">
</xs:group>
<xs:group ref="plaquetteGluonActions">
</xs:group>
</xs:choice>
</xs:group>
<xs:group name="anisotropicGluonActions">
<xs:choice>
<xs:element type="anisotropicWilsonGluonActionType" name="anisotropicWilsonGluonAction">
</xs:element>
<xs:element name="anisotropicTpWilsonGluonAction" type="anisotropicTpWilsonGluonActionType">
</xs:element>
</xs:choice>
</xs:group>
<xs:group name="plaquetteGluonActions">
<xs:choice>
<xs:element type="plaquetteGluonActionType" name="plaquetteGluonAction">
</xs:element>
<xs:group ref="sixLinkGluonActions">
</xs:group>
</xs:choice>
</xs:group>
<xs:group name="sixLinkGluonActions">
<xs:choice>
<xs:element type="treelevelSymanzikGluonActionType" name="treelevelSymanzikGluonAction">
</xs:element>
<xs:element name="treelevelSymanzikOpenBCGluonAction" type="treelevelSymanzikOpenBCGluonActionType">
</xs:element>
<xs:element name="LuescherWeiszGluonAction" type="LuescherWeiszGluonActionType">
</xs:element>
<xs:element name="tpLuescherWeiszGluonAction" type="tpLuescherWeiszGluonActionType">
</xs:element>
<xs:element type="iwasakiRGGluonActionType" name="iwasakiRGGluonAction">
</xs:element>
<xs:element type="DBW2GluonActionType" name="DBW2GluonAction">
</xs:element>
</xs:choice>
</xs:group>
<xs:complexType name="generalGluonActionType">
<xs:annotation>
<xs:documentation>Has the general properties of the gluon action</xs:documentation>
</xs:annotation>
<xs:sequence>
<xs:group ref="actionInfo">
</xs:group>
<xs:element name="gluonField" type="gluonFieldType">
</xs:element>
<xs:element name="topologyFixing" type="topologyFixingType" minOccurs="0">
</xs:element>
</xs:sequence>
</xs:complexType>
<xs:complexType name="gluonFieldType">
<xs:annotation>
<xs:documentation>Specifies the properties of the gluon field, e.g. gauge group, representation, and BC</xs:documentation>
</xs:annotation>
<xs:sequence>
<xs:element name="annotation" type="xs:string" minOccurs="0">
</xs:element>
<xs:element name="gaugeGroup" type="gaugeGroupType">
</xs:element>
<xs:element type="gluonRepresentationType" name="representation">
</xs:element>
<xs:group ref="generalBoundaryConditions">
</xs:group>
</xs:sequence>
</xs:complexType>
<xs:complexType name="generalOpenBCGluonActionType">
<xs:annotation>
<xs:documentation>Has the general properties of the gluon action</xs:documentation>
</xs:annotation>
<xs:sequence>
<xs:group ref="actionInfo">
</xs:group>
<xs:element name="gluonField" type="openBCGluonFieldType">
</xs:element>
<xs:element name="topologyFixing" type="topologyFixingType" minOccurs="0">
</xs:element>
</xs:sequence>
</xs:complexType>
<xs:complexType name="openBCGluonFieldType">
<xs:annotation>
<xs:documentation>Specifies the properties of the gluon field with open BC</xs:documentation>
</xs:annotation>
<xs:sequence>
<xs:element minOccurs="0" type="xs:string" name="annotation">
</xs:element>
<xs:element name="gaugeGroup" type="gaugeGroupType">
</xs:element>
<xs:element type="gluonRepresentationType" name="representation">
</xs:element>
<xs:group ref="openBoundaryConditions">
</xs:group>
</xs:sequence>
</xs:complexType>
<xs:simpleType name="gaugeGroupType">
<xs:annotation>
<xs:documentation>Supported gauge groups (Note: Sp(2n) denotes the intersection of Sp(2n,C) and U(2n))</xs:documentation>
</xs:annotation>
<xs:restriction base="xs:token">
<xs:pattern value="S[OU]\([2-9]\)">
</xs:pattern>
<xs:pattern value="S[OU]\([1-9][0-9]+\)">
</xs:pattern>
<xs:pattern value="Sp\([468]\)">
</xs:pattern>
<xs:pattern value="Sp\([1-9][0-9]*[02468]\)">
</xs:pattern>
<xs:pattern value="U\([1-9][0-9]*\)">
</xs:pattern>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="gluonRepresentationType">
<xs:annotation>
<xs:documentation>Enumeration of possible representations of gluons</xs:documentation>
</xs:annotation>
<xs:restriction base="xs:NMTOKEN">
<xs:enumeration value="fundamental">
</xs:enumeration>
<xs:enumeration value="adjoint">
</xs:enumeration>
</xs:restriction>
</xs:simpleType>
<xs:complexType name="topologyFixingType">
<xs:annotation>
<xs:documentation>Contains the method to fix topology and the value of the topological charge</xs:documentation>
</xs:annotation>
<xs:sequence>
<xs:group minOccurs="0" ref="generalDeterminantGroup">
</xs:group>
<xs:element type="xs:integer" name="charge">
<xs:annotation>
<xs:documentation>the value of the polological charge (integer)</xs:documentation>
</xs:annotation>
</xs:element>
</xs:sequence>
</xs:complexType>
<xs:complexType name="generalDeterminantType">
<xs:annotation>
<xs:documentation>The base type for defining a determinant to fix topology.</xs:documentation>
</xs:annotation>
</xs:complexType>
<xs:group name="generalDeterminantGroup">
<xs:choice>
<xs:element type="wilsonDeterminantType" name="wilsonDeterminant">
</xs:element>
<xs:element type="wilsonTmGhostDeterminantType" name="wilsonTmGhostDeterminant">
</xs:element>
</xs:choice>
</xs:group>
<xs:complexType name="wilsonDeterminantType">
<xs:annotation>
<xs:documentation>wilson determinant det(H_W(-m0)^2) for topology fixing with the Hermitian Wilson-Dirac kernel H_W, where m0 is the kernelMass.</xs:documentation>
</xs:annotation>
<xs:complexContent>
<xs:extension base="generalDeterminantType">
<xs:sequence>
<xs:element type="couplingType" name="kernelMass">
</xs:element>
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<xs:complexType name="wilsonTmGhostDeterminantType">
<xs:annotation>
<xs:documentation>wilson plus twisted ghost determinant det(H_W(-m0)^2/(H_W(-m0)^2+mu^2)) for topology fixing with the Hermitian Wilson-Dirac kernel H_W, where m0 is the kernelMass and mu is the twistedMass.</xs:documentation>
</xs:annotation>
<xs:complexContent>
<xs:extension base="wilsonDeterminantType">
<xs:sequence>
<xs:element name="twistedMass" type="couplingType">
</xs:element>
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<xs:complexType name="anisotropicGluonActionType">
<xs:annotation>
<xs:documentation>Extends a general gluon action with with anisotropy parameters xi0 and the anisotropy direction</xs:documentation>
</xs:annotation>
<xs:complexContent>
<xs:extension base="generalGluonActionType">
<xs:sequence>
<xs:element default="1.0" type="couplingType" name="xi0">
</xs:element>
<xs:element default="T" type="xs:Name" name="anisoDirection">
</xs:element>
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<xs:complexType name="anisotropicWilsonGluonActionType">
<xs:annotation>
<xs:documentation>Anisotropic version of the Wilson Plaquette Action</xs:documentation>
</xs:annotation>
<xs:complexContent>
<xs:extension base="anisotropicGluonActionType">
<xs:sequence>
<xs:element name="beta" type="couplingType">
</xs:element>
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<xs:complexType name="anisotropicTpWilsonGluonActionType">
<xs:annotation>
<xs:documentation>Anisotropic version of the Wilson Plaquette Action with tadpole improvement</xs:documentation>
</xs:annotation>
<xs:complexContent>
<xs:extension base="anisotropicWilsonGluonActionType">
<xs:sequence>
<xs:element name="tadpoleSpatial" type="couplingType">
</xs:element>
<xs:element name="tadpoleTemporal" type="couplingType">
</xs:element>
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<xs:complexType name="plaquetteGluonActionType">
<xs:annotation>
<xs:documentation>The Wilson plaquette action, has a coupling beta</xs:documentation>
</xs:annotation>
<xs:complexContent>
<xs:extension base="generalGluonActionType">
<xs:sequence>
<xs:element name="beta" type="couplingType">
</xs:element>
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<xs:complexType name="plaquetteOpenBCGluonActionType">
<xs:annotation>
<xs:documentation>The Wilson plaquette action with open BC, has a coupling beta</xs:documentation>
</xs:annotation>
<xs:complexContent>
<xs:extension base="generalOpenBCGluonActionType">
<xs:sequence>
<xs:element name="beta" type="couplingType">
</xs:element>
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<xs:complexType name="sixLinkGluonActionType">
<xs:annotation>
<xs:documentation>Wilson plaquette action with additional six-link terms action has three couplings</xs:documentation>
</xs:annotation>
<xs:complexContent>
<xs:extension base="plaquetteGluonActionType">
<xs:sequence>
<xs:element name="normalisation">
<xs:simpleType>
<xs:restriction base="xs:NMTOKEN">
<xs:enumeration value="cs_sum_to_one">
</xs:enumeration>
<xs:enumeration value="c0_is_one">
</xs:enumeration>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element type="couplingType" name="c0">
</xs:element>
<xs:element type="couplingType" name="c1">
</xs:element>
<xs:element name="c2" type="couplingType">
</xs:element>
<xs:element type="couplingType" name="c3">
</xs:element>
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<xs:complexType name="sixLinkOpenBCGluonActionType">
<xs:complexContent>
<xs:extension base="plaquetteOpenBCGluonActionType">
<xs:sequence>
<xs:element name="normalisation">
<xs:simpleType>
<xs:restriction base="xs:NMTOKEN">
<xs:enumeration value="cs_sum_to_one">
</xs:enumeration>
<xs:enumeration value="c0_is_one">
</xs:enumeration>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="c0" type="couplingType">
</xs:element>
<xs:element type="couplingType" name="c1">
</xs:element>
<xs:element type="couplingType" name="c2">
</xs:element>
<xs:element name="c3" type="couplingType">
</xs:element>
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<xs:complexType name="iwasakiRGGluonActionType">
<xs:annotation>
<xs:documentation>This six-link action has three couplings</xs:documentation>
</xs:annotation>
<xs:complexContent>
<xs:extension base="sixLinkGluonActionType">
</xs:extension>
</xs:complexContent>
</xs:complexType>
<xs:complexType name="DBW2GluonActionType">
<xs:annotation>
<xs:documentation>DBW2 is a six link action with specific couplings</xs:documentation>
</xs:annotation>
<xs:complexContent>
<xs:extension base="sixLinkGluonActionType">
</xs:extension>
</xs:complexContent>
</xs:complexType>
<xs:complexType name="treelevelSymanzikGluonActionType">
<xs:annotation>
<xs:documentation>The treelevel Symanzik action is a six link action with specific couplings</xs:documentation>
</xs:annotation>
<xs:complexContent>
<xs:extension base="sixLinkGluonActionType">
</xs:extension>
</xs:complexContent>
</xs:complexType>
<xs:complexType name="treelevelSymanzikOpenBCGluonActionType">
<xs:annotation>
<xs:documentation>The treelevel Symanzik action is a six link action with open BC and specific couplings</xs:documentation>
</xs:annotation>
<xs:complexContent>
<xs:extension base="sixLinkOpenBCGluonActionType">
<xs:sequence>
<xs:element type="couplingFixedToOneType" name="cG">
</xs:element>
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<xs:complexType name="LuescherWeiszGluonActionType">
<xs:annotation>
<xs:documentation>The Luescher-Weisz gluon action is a six link action</xs:documentation>
</xs:annotation>
<xs:complexContent>
<xs:extension base="sixLinkGluonActionType">
</xs:extension>
</xs:complexContent>
</xs:complexType>
<xs:complexType name="tpLuescherWeiszGluonActionType">
<xs:annotation>
<xs:documentation>The Luescher-Weisz gluon action with tadpole-improved coefficients is a six link action</xs:documentation>
</xs:annotation>
<xs:complexContent>
<xs:extension base="LuescherWeiszGluonActionType">
<xs:sequence>
<xs:element type="couplingType" name="u0">
</xs:element>
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<xs:group name="photonActions">
<xs:choice>
<xs:group ref="compactPhotonActions">
</xs:group>
<xs:group ref="nonCompactPhotonActions">
</xs:group>
</xs:choice>
</xs:group>
<xs:group name="compactPhotonActions">
<xs:choice>
<xs:element name="compactPlaquetteCstarPhotonAction" type="compactPlaquetteCstarPhotonActionType">
</xs:element>
<xs:element type="compactTreelevelSymanzikCstarPhotonActionType" name="compactTreelevelSymanzikCstarPhotonAction">
<xs:annotation>
<xs:documentation>The compact treelevel Symanzik photon action is a six link action with specific couplings</xs:documentation>
</xs:annotation>
</xs:element>
</xs:choice>
</xs:group>
<xs:group name="nonCompactPhotonActions">
<xs:choice>
<xs:element type="nonCompactQedSPhotonActionType" name="nonCompactQedSPhotonAction">
</xs:element>
</xs:choice>
</xs:group>
<xs:complexType name="generalPhotonActionType">
<xs:annotation>
<xs:documentation>General properties of the all photon (QED) actions</xs:documentation>
</xs:annotation>
<xs:group ref="actionInfo">
</xs:group>
</xs:complexType>
<xs:complexType name="compactPlaquetteCstarPhotonActionType">
<xs:annotation>
<xs:documentation>The compact plaquette QED_C action has a compactCstarPhotonFieldType, a coupling alpha (=e_0^2/4pi) and an (inverse) elementary charge</xs:documentation>
</xs:annotation>
<xs:complexContent>
<xs:extension base="generalPhotonActionType">
<xs:sequence>
<xs:element type="compactCstarPhotonFieldType" name="photonField">
</xs:element>
<xs:element type="couplingType" name="alpha">
</xs:element>
<xs:element type="couplingType" name="invqel">
</xs:element>
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<xs:complexType name="compactCstarPhotonFieldType">
<xs:annotation>
<xs:documentation>Photon field for compact QED_C (WITHOUT gauge-fixing)</xs:documentation>
</xs:annotation>
<xs:sequence>
<xs:element minOccurs="0" type="xs:string" name="annotation">
</xs:element>
<xs:group ref="cstarBoundaryConditions">
</xs:group>
</xs:sequence>
</xs:complexType>
<xs:complexType name="compactTreelevelSymanzikCstarPhotonActionType">
<xs:annotation>
<xs:documentation>The compact treelevel Symanzik QED_C action, is a sixLinkCstarPhotonAction with special parameters (constraints not yet implemented!)</xs:documentation>
</xs:annotation>
<xs:complexContent>
<xs:extension base="sixLinkCstarPhotonActionType">
</xs:extension>
</xs:complexContent>
</xs:complexType>
<xs:complexType name="sixLinkCstarPhotonActionType">
<xs:complexContent>
<xs:extension base="compactPlaquetteCstarPhotonActionType">
<xs:sequence>
<xs:element name="normalisation">
<xs:simpleType>
<xs:restriction base="xs:NMTOKEN">
<xs:enumeration value="cs_sum_to_one">
</xs:enumeration>
<xs:enumeration value="c0_is_one">
</xs:enumeration>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element type="couplingType" name="c0">
</xs:element>
<xs:element name="c1" type="couplingType">
</xs:element>
<xs:element name="c2" type="couplingType">
</xs:element>
<xs:element type="couplingType" name="c3">
</xs:element>
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<xs:complexType name="nonCompactQedSPhotonActionType">
<xs:annotation>
<xs:documentation>The non-compact QED_S action has a specific nonCompactQedSPhotonFieldType and a coupling alpha (=e_0^2/4pi)</xs:documentation>
</xs:annotation>
<xs:complexContent>
<xs:extension base="generalPhotonActionType">
<xs:sequence>
<xs:element name="photonField" type="nonCompactQedSPhotonFieldType">
</xs:element>
<xs:element name="alpha" type="couplingType">
</xs:element>
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<xs:complexType name="nonCompactQedSPhotonFieldType">
<xs:annotation>
<xs:documentation>Photon field for non-compact QED_S has landau gauge-fixing and zero-mode shifts</xs:documentation>
</xs:annotation>
<xs:sequence>
<xs:element minOccurs="0" type="xs:string" name="annotation">
</xs:element>
<xs:group ref="generalBoundaryConditions">
</xs:group>
<xs:element name="gaugeFixing" type="landauGaugeFixingType">
</xs:element>
<xs:element type="qedSConstraintType" name="additionalConstraint">
</xs:element>
</xs:sequence>
</xs:complexType>
<xs:simpleType name="landauGaugeFixingType">
<xs:restriction base="xs:token">
<xs:enumeration value="landau">
</xs:enumeration>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="qedSConstraintType">
<xs:annotation>
<xs:documentation>Discrete shifts of photon field, see Eq. (5.5) of Gockeler et al. Nucl. Phys. B 371 (1992) 713 [doi:10.1016/0550-3213(92)90693-6] or (9) of Horsley et al. arXiv:1508.0640 [doi:10.1088/0954-3899/43/10/10LT02]</xs:documentation>
</xs:annotation>
<xs:restriction base="xs:token">
<xs:enumeration value="qedS">
</xs:enumeration>
</xs:restriction>
</xs:simpleType>
<xs:group name="quarkActions">
<xs:choice>
<xs:group ref="neutralQuarkActions">
</xs:group>
<xs:group ref="chargedQuarkActions">
</xs:group>
</xs:choice>
</xs:group>
<xs:group name="neutralQuarkActions">
<xs:choice>
<xs:group ref="anisotropicQuarkActions">
</xs:group>
<xs:group ref="ciQuarkActions">
</xs:group>
<xs:group ref="KSQuarkActions">
</xs:group>
<xs:group ref="overlapQuarkActions">
</xs:group>
<xs:group ref="wilsonQuarkActions">
</xs:group>
<xs:group ref="hiRepQuarkActions">
</xs:group>
</xs:choice>
</xs:group>
<xs:group name="anisotropicQuarkActions">
<xs:choice>
<xs:element name="anisotropicWilsonQuarkAction" type="anisotropicWilsonQuarkActionType">
</xs:element>
<xs:element name="anisotropicCloverQuarkAction" type="anisotropicCloverQuarkActionType">
</xs:element>
</xs:choice>
</xs:group>
<xs:group name="ciQuarkActions">
<xs:choice>
<xs:element type="ciQuarkActionType" name="ciQuarkAction">
</xs:element>
<xs:element name="fatLinkCIQuarkAction" type="fatLinkCIQuarkActionType">
</xs:element>
</xs:choice>
</xs:group>
<xs:group name="hiRepQuarkActions">
<xs:choice>
<xs:element name="wilsonAdjointQuarkAction" type="wilsonAdjointQuarkActionType">
</xs:element>
<xs:element type="wilsonTwoIndexSymmetricQuarkActionType" name="wilsonTwoIndexSymmetricQuarkAction">
</xs:element>
<xs:element type="wilsonTwoIndexAntisymmetricQuarkActionType" name="wilsonTwoIndexAntisymmetricQuarkAction">
</xs:element>
</xs:choice>
</xs:group>
<xs:group name="KSQuarkActions">
<xs:choice>
<xs:element type="asqTadQuarkActionType" name="asqTadQuarkAction">
</xs:element>
<xs:element type="hisqQuarkActionType" name="hisqQuarkAction">
</xs:element>
</xs:choice>
</xs:group>
<xs:group name="overlapQuarkActions">
<xs:choice>
<xs:element type="overlapQuarkActionType" name="overlapQuarkAction">
</xs:element>
<xs:element type="shamirDomainWallQuarkActionType" name="domainWallQuarkAction">
</xs:element>
<xs:element type="moebiusDomainWallQuarkActionType" name="moebiusDomainWallQuarkAction">
</xs:element>
</xs:choice>
</xs:group>
<xs:group name="wilsonQuarkActions">
<xs:choice>
<xs:element name="wilsonQuarkAction" type="wilsonQuarkActionType">
</xs:element>
<xs:group ref="wilsonCloverQuarkActions">
</xs:group>
<xs:element name="fatLinkIrrelevantCloverQuarkAction" type="fatLinkIrrelevantCloverQuarkActionType">
</xs:element>
<xs:element type="wilsonTmQuarkActionType" name="wilsonTmQuarkAction">
</xs:element>
<xs:element type="wilsonTmMassSplitQuarkActionType" name="wilsonTmMassSplitQuarkAction">
</xs:element>
<xs:element type="wilsonCloverTmQuarkActionType" name="wilsonCloverTmQuarkAction">
</xs:element>
<xs:element name="wilsonCloverTmMassSplitQuarkAction" type="wilsonCloverTmMassSplitQuarkActionType">
</xs:element>
</xs:choice>
</xs:group>
<xs:group name="wilsonCloverQuarkActions">
<xs:choice>
<xs:element name="cloverQuarkAction" type="cloverQuarkActionType">
</xs:element>
<xs:element type="tpCloverQuarkActionType" name="tpCloverQuarkAction">
</xs:element>
<xs:element type="npCloverQuarkActionType" name="npCloverQuarkAction">
</xs:element>
<xs:element name="npCloverOpenBCQuarkAction" type="npCloverOpenBCQuarkActionType">
</xs:element>
<xs:element name="npExpCloverQuarkAction" type="npCloverQuarkActionType">
</xs:element>
<xs:element name="fatLinkDerivNpCloverQuarkAction" type="fatLinkDerivNpCloverQuarkActionType">
</xs:element>
</xs:choice>
</xs:group>
<xs:group name="chargedQuarkActions">
<xs:choice>
<xs:element type="npTlCloverChargedQuarkActionType" name="npTlCloverChargedQuarkAction">
</xs:element>
<xs:element type="npNiCloverChargedQuarkActionType" name="fatLinkDerivNpNiCloverChargedQuarkAction">
</xs:element>
</xs:choice>
</xs:group>
<xs:complexType name="generalQuarkActionType">
<xs:annotation>
<xs:documentation>Has the general properties of the quark action</xs:documentation>
</xs:annotation>
<xs:sequence>
<xs:group ref="actionInfo">
</xs:group>
<xs:element name="quarkField" type="quarkFieldType">
</xs:element>
<xs:group ref="numberOfFlavours">
</xs:group>
<xs:element type="linkSmearingType" minOccurs="0" name="linkSmearing">
</xs:element>
</xs:sequence>
</xs:complexType>
<xs:complexType name="quarkFieldType">
<xs:annotation>
<xs:documentation>Specifies the quark field normalisation and boundary conditions</xs:documentation>
</xs:annotation>
<xs:sequence>
<xs:element name="annotation" minOccurs="0" type="xs:string">
</xs:element>
<xs:element name="normalisation" type="xs:string">
</xs:element>
<xs:group ref="generalBoundaryConditions">
</xs:group>
</xs:sequence>
</xs:complexType>
<xs:complexType name="generalOpenBCQuarkActionType">
<xs:annotation>
<xs:documentation>Has the general properties of the quark action with open BC</xs:documentation>
</xs:annotation>
<xs:sequence>
<xs:group ref="actionInfo">
</xs:group>
<xs:element name="quarkField" type="openBCQuarkFieldType">
</xs:element>
<xs:group ref="numberOfFlavours">
</xs:group>
<xs:element type="linkSmearingType" minOccurs="0" name="linkSmearing">
</xs:element>
</xs:sequence>
</xs:complexType>
<xs:complexType name="openBCQuarkFieldType">
<xs:annotation>
<xs:documentation>Specifies the quark field normalisation and boundary conditions</xs:documentation>
</xs:annotation>
<xs:sequence>
<xs:element name="annotation" minOccurs="0" type="xs:string">
</xs:element>
<xs:element name="normalisation" type="xs:string">
</xs:element>
<xs:group ref="openBoundaryConditions">
</xs:group>
</xs:sequence>
</xs:complexType>
<xs:complexType name="wilsonQuarkActionType">
<xs:annotation>
<xs:documentation>Wilson quarks have an additional parameter "kappa"</xs:documentation>
</xs:annotation>
<xs:complexContent>
<xs:extension base="generalQuarkActionType">
<xs:sequence>
<xs:element type="couplingType" name="kappa">
</xs:element>
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<xs:complexType name="anisotropicWilsonQuarkActionType">
<xs:annotation>
<xs:documentation>Anisotropic Wilson Action in either (mu,mass) or (kappa_s,kappa_t) convention. Wilson's r parameters are optional. Default values are 1.0.</xs:documentation>
</xs:annotation>
<xs:complexContent>
<xs:extension base="anisotropicQuarkActionType">
<xs:sequence>
<xs:choice>
<xs:sequence>
<xs:element name="kappaSpatial" type="couplingType">
</xs:element>
<xs:element type="couplingType" name="kappaTemporal">
</xs:element>
</xs:sequence>
<xs:sequence>
<xs:element type="couplingType" name="nu">
</xs:element>
<xs:element name="mass" type="couplingType">
</xs:element>
</xs:sequence>
</xs:choice>
<xs:element name="rSpatial" minOccurs="0" type="couplingType" default="1.0">
</xs:element>
<xs:element minOccurs="0" type="couplingType" default="1.0" name="rTemporal">
</xs:element>
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<xs:complexType name="cloverQuarkActionType">
<xs:annotation>
<xs:documentation>The generic clover wilson action type. It is abstract because there are different definitions of CSW that are all clover actions</xs:documentation>
</xs:annotation>
<xs:complexContent>
<xs:extension base="wilsonQuarkActionType">
<xs:sequence>
<xs:element name="cSW" type="couplingType">
</xs:element>
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<xs:complexType name="npCloverQuarkActionType">
<xs:annotation>
<xs:documentation>The Clover Wilson quark action where the coefficient has been determined non-perturbatively</xs:documentation>
</xs:annotation>
<xs:complexContent>
<xs:extension base="cloverQuarkActionType">
</xs:extension>
</xs:complexContent>
</xs:complexType>
<xs:complexType name="tpCloverQuarkActionType">
<xs:annotation>
<xs:documentation>The Clover Wilson quark action where the coefficient has been determined by tadpole improved perturbation theory</xs:documentation>
</xs:annotation>
<xs:complexContent>
<xs:extension base="cloverQuarkActionType">
<xs:sequence>
<xs:element name="u0" type="couplingType">
</xs:element>
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<xs:complexType name="cloverOpenBCQuarkActionType">
<xs:annotation>
<xs:documentation>The generic clover wilson action type with open BC</xs:documentation>
</xs:annotation>
<xs:complexContent>
<xs:extension base="generalOpenBCQuarkActionType">
<xs:sequence>
<xs:element type="couplingType" name="kappa">
</xs:element>
<xs:element name="cSW" type="couplingType">
</xs:element>
<xs:element name="cF" type="couplingType">
</xs:element>
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<xs:complexType name="npCloverOpenBCQuarkActionType">
<xs:annotation>
<xs:documentation>The Clover Wilson quark action where the coefficient has been determined non-perturbatively</xs:documentation>
</xs:annotation>
<xs:complexContent>
<xs:extension base="cloverOpenBCQuarkActionType">
</xs:extension>
</xs:complexContent>
</xs:complexType>
<xs:complexType name="anisotropicCloverQuarkActionType">
<xs:annotation>
<xs:documentation>An element for anisotropic clover</xs:documentation>
</xs:annotation>
<xs:complexContent>
<xs:extension base="anisotropicWilsonQuarkActionType">
<xs:sequence>
<xs:element type="couplingType" name="cSWSpatial">
</xs:element>
<xs:element type="couplingType" name="cSWTemporal">
</xs:element>
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<xs:complexType name="fatLinkIrrelevantCloverQuarkActionType">
<xs:annotation>
<xs:documentation>The Clover Wilson quark action where the coefficient has been determined by tadpole improved perturbation theory and the links for irrelevant operators have been smeared</xs:documentation>
</xs:annotation>
<xs:complexContent>
<xs:extension base="cloverQuarkActionType">
<xs:sequence>
<xs:element type="couplingType" name="u0">
</xs:element>
<xs:element type="couplingType" name="u0fl">
</xs:element>
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<xs:complexType name="fatLinkDerivNpCloverQuarkActionType">
<xs:annotation>
<xs:documentation>The Clover Wilson quark action where the coefficient has been determined non-perturbatively and smeared links are used in the derivative term</xs:documentation>
</xs:annotation>
<xs:complexContent>
<xs:extension base="cloverQuarkActionType"/>
</xs:complexContent>
</xs:complexType>
<xs:complexType name="wilsonTmQuarkActionType">
<xs:annotation>
<xs:documentation>The Wilson twisted mass quark action</xs:documentation>
</xs:annotation>
<xs:complexContent>
<xs:extension base="wilsonQuarkActionType">
<xs:sequence>
<xs:element name="mu" type="couplingType">
</xs:element>
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<xs:complexType name="wilsonCloverTmQuarkActionType">
<xs:annotation>
<xs:documentation>The Wilson twisted mass quark action with Clover term</xs:documentation>
</xs:annotation>
<xs:complexContent>
<xs:extension base="wilsonTmQuarkActionType">
<xs:sequence>
<xs:element name="cSW" type="couplingType">
</xs:element>
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<xs:complexType name="wilsonTmMassSplitQuarkActionType">
<xs:annotation>
<xs:documentation>The Wilson twisted mass quark action with mass-split doublet as described in Eq. (9) of arXiv:hep-lat/0606011v1. Note that unlike in the wilsonTmQuarkAction the twist is in the tau1 direction, while the tau3 direction is used for the mass splitting.</xs:documentation>
</xs:annotation>
<xs:complexContent>
<xs:extension base="wilsonQuarkActionType">
<xs:sequence>
<xs:element name="muTwist" type="couplingType">
</xs:element>
<xs:element name="muMassSplit" type="couplingType">
</xs:element>
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<xs:complexType name="wilsonCloverTmMassSplitQuarkActionType">
<xs:annotation>
<xs:documentation>The Wilson twisted mass quark action with mass-split doublet plus Clover term</xs:documentation>
</xs:annotation>
<xs:complexContent>
<xs:extension base="wilsonTmMassSplitQuarkActionType">
<xs:sequence>
<xs:element name="cSW" type="couplingType">
</xs:element>
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<xs:complexType name="KSQuarkActionType">
<xs:annotation>
<xs:documentation>The basic KS action. Abstract</xs:documentation>
</xs:annotation>
<xs:complexContent>
<xs:extension base="generalQuarkActionType">
<xs:sequence>
<xs:element name="mass" type="couplingType">
</xs:element>
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<xs:complexType name="asqTadQuarkActionType">
<xs:annotation>
<xs:documentation>A specific improved KS quark action</xs:documentation>
</xs:annotation>
<xs:complexContent>
<xs:extension base="KSQuarkActionType">
<xs:sequence>
<xs:element type="couplingType" name="cNaik">
</xs:element>
<xs:element name="c1Link" type="couplingType">
</xs:element>
<xs:element name="c3Link" type="couplingType">
</xs:element>
<xs:element type="couplingType" name="c5LinkChair">
</xs:element>
<xs:element name="c7LinkTwist" type="couplingType">
</xs:element>
<xs:element type="couplingType" name="cLepage">
</xs:element>
<xs:element type="couplingType" name="u0">
</xs:element>
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<xs:complexType name="KSLinkTreatmentType">
<xs:sequence>
<xs:element type="xs:anyURI" name="glossary">
</xs:element>
</xs:sequence>
</xs:complexType>
<xs:complexType name="fat7QuarkLinkTreatmentType">
<xs:complexContent>
<xs:extension base="KSLinkTreatmentType">
<xs:sequence>
<xs:element name="c1Link" type="couplingType">
</xs:element>
<xs:element name="c3Link" type="couplingType">
</xs:element>
<xs:element name="c5LinkChair" type="couplingType">
</xs:element>
<xs:element type="couplingType" name="c7LinkTwist">
</xs:element>
<xs:element name="u0" type="couplingType">
</xs:element>
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<xs:complexType name="projectGroupLinkTreatmentType">
<xs:complexContent>
<xs:extension base="KSLinkTreatmentType">
<xs:sequence>
<xs:element name="group" type="gaugeGroupType" minOccurs="0">
</xs:element>
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<xs:complexType name="epsilonType">
<xs:sequence>
<xs:element name="method" type="xs:string">
</xs:element>
<xs:element type="couplingType" name="value">
</xs:element>
</xs:sequence>
</xs:complexType>
<xs:complexType name="asqTadQuarkLinkTreatmentType">
<xs:complexContent>
<xs:extension base="KSLinkTreatmentType">
<xs:sequence>
<xs:element name="epsilon" type="epsilonType" minOccurs="0">
</xs:element>
<xs:element type="couplingType" name="cNaik">
</xs:element>
<xs:element type="couplingType" name="c1Link">
</xs:element>
<xs:element type="couplingType" name="c3Link">
</xs:element>
<xs:element name="c5LinkChair" type="couplingType">
</xs:element>
<xs:element name="c7LinkTwist" type="couplingType">
</xs:element>
<xs:element name="cLepage" type="couplingType">
</xs:element>
<xs:element name="u0" type="couplingType">
</xs:element>
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<xs:complexType name="hisqQuarkActionType">
<xs:annotation>
<xs:documentation>The HISQ Quark action</xs:documentation>
</xs:annotation>
<xs:complexContent>
<xs:extension base="KSQuarkActionType">
<xs:sequence>
<xs:element name="LinkTreatment">
<xs:complexType>
<xs:sequence>
<xs:element name="fat7QuarkLinkTreatment" type="fat7QuarkLinkTreatmentType">
</xs:element>
<xs:element type="projectGroupLinkTreatmentType" name="projectGroupLinkTreatment">
</xs:element>
<xs:element name="asqTadQuarkLinkTreatment" type="asqTadQuarkLinkTreatmentType">
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<xs:complexType name="generalOverlapQuarkActionType">
<xs:annotation>
<xs:documentation>The abstract Overlap quark operator</xs:documentation>
</xs:annotation>
<xs:complexContent>
<xs:extension base="generalQuarkActionType">
<xs:sequence>
<xs:element name="mass" type="couplingType">
<xs:annotation>
<xs:documentation>The quark mass for this operator</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="kernelMass" type="couplingType">
<xs:annotation>
<xs:documentation>The mass that goes into the kernel. Sometimes called the domain wall height. Sometimes given a negative sign convention. This is NOT enforced here.</xs:documentation>
</xs:annotation>
</xs:element>
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<xs:complexType name="shamirDomainWallQuarkActionType">
<xs:annotation>
<xs:documentation>The (Shamir) domain-wall quark action is a special form of the moebiusDomainWallQuarkAction with b5=1 and c5=0</xs:documentation>
</xs:annotation>
<xs:complexContent>
<xs:extension base="generalOverlapQuarkActionType">
<xs:sequence>
<xs:element name="N5" type="xs:positiveInteger">
<xs:annotation>
<xs:documentation>The degree of the approximation for the square root or equivalently the size of the fifth dimension</xs:documentation>
</xs:annotation>
</xs:element>
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<xs:complexType name="moebiusDomainWallQuarkActionType">
<xs:annotation>
<xs:documentation>The domain-wall quark action. 4D is Wilson and the approx is tanh</xs:documentation>
</xs:annotation>
<xs:complexContent>
<xs:extension base="generalOverlapQuarkActionType">
<xs:sequence>
<xs:element name="N5" type="xs:positiveInteger">
<xs:annotation>
<xs:documentation>The degree of the approximation for the square root or equivalently the size of the fifth dimension</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="b5" type="couplingType">
<xs:annotation>
<xs:documentation>Introduced for Moebius Domain-wall fermion, and set to 1.0 for standard Shamir's form</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element type="couplingType" name="c5">
<xs:annotation>
<xs:documentation>Introduced for Moebius Domain-wall fermion, and set to 0.0 for standard Shamir's form</xs:documentation>
</xs:annotation>
</xs:element>
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<xs:complexType name="ciQuarkActionType">
<xs:annotation>
<xs:documentation>Chirally Improved fermions. Notation follows arXiv:hep-lat/0003005</xs:documentation>
</xs:annotation>
<xs:complexContent>
<xs:extension base="generalQuarkActionType">
<xs:sequence>
<xs:element name="mass" type="couplingType">
</xs:element>
<xs:element type="couplingType" name="s1">
</xs:element>
<xs:element type="couplingType" name="s2">
</xs:element>
<xs:element type="couplingType" name="s3">
</xs:element>
<xs:element type="couplingType" minOccurs="0" name="s4">
</xs:element>
<xs:element type="couplingType" name="s5">
</xs:element>
<xs:element name="s6" type="couplingType">
</xs:element>
<xs:element minOccurs="0" type="couplingType" name="s7">
</xs:element>
<xs:element type="couplingType" name="s8">
</xs:element>
<xs:element name="s9" minOccurs="0" type="couplingType">
</xs:element>
<xs:element name="s10" type="couplingType">
</xs:element>
<xs:element type="couplingType" name="s11">
</xs:element>
<xs:element name="s12" minOccurs="0" type="couplingType">
</xs:element>
<xs:element type="couplingType" name="s13">
</xs:element>
<xs:element type="couplingType" name="v1">
</xs:element>
<xs:element name="v2" type="couplingType">
</xs:element>
<xs:element type="couplingType" minOccurs="0" name="v3">
</xs:element>
<xs:element type="couplingType" name="v4">
</xs:element>
<xs:element name="v5" type="couplingType">
</xs:element>
<xs:element name="v6" minOccurs="0" type="couplingType">
</xs:element>
<xs:element minOccurs="0" type="couplingType" name="v7">
</xs:element>
<xs:element minOccurs="0" type="couplingType" name="v8">
</xs:element>
<xs:element name="v9" minOccurs="0" type="couplingType">
</xs:element>
<xs:element minOccurs="0" type="couplingType" name="v10">
</xs:element>
<xs:element minOccurs="0" type="couplingType" name="v11">
</xs:element>
<xs:element type="couplingType" minOccurs="0" name="v12">
</xs:element>
<xs:element minOccurs="0" type="couplingType" name="v13">
</xs:element>
<xs:element name="v14" minOccurs="0" type="couplingType">
</xs:element>
<xs:element minOccurs="0" type="couplingType" name="v15">
</xs:element>
<xs:element type="couplingType" minOccurs="0" name="v16">
</xs:element>
<xs:element type="couplingType" minOccurs="0" name="v17">
</xs:element>
<xs:element name="v18" minOccurs="0" type="couplingType">
</xs:element>
<xs:element type="couplingType" name="t1">
</xs:element>
<xs:element name="t2" type="couplingType">
</xs:element>
<xs:element type="couplingType" name="t3">
</xs:element>
<xs:element name="t4" minOccurs="0" type="couplingType">
</xs:element>
<xs:element type="couplingType" name="t5">
</xs:element>
<xs:element type="couplingType" minOccurs="0" name="t6">
</xs:element>
<xs:element name="t7" type="couplingType" minOccurs="0">
</xs:element>
<xs:element name="t8" minOccurs="0" type="couplingType">
</xs:element>
<xs:element name="t9" minOccurs="0" type="couplingType">
</xs:element>
<xs:element type="couplingType" minOccurs="0" name="t10">
</xs:element>
<xs:element minOccurs="0" type="couplingType" name="t11">
</xs:element>
<xs:element name="t12" type="couplingType" minOccurs="0">
</xs:element>
<xs:element type="couplingType" minOccurs="0" name="t13">
</xs:element>
<xs:element name="t14" type="couplingType" minOccurs="0">
</xs:element>
<xs:element type="couplingType" name="t15">
</xs:element>
<xs:element name="a1" type="couplingType" minOccurs="0">
</xs:element>
<xs:element type="couplingType" minOccurs="0" name="a2">
</xs:element>
<xs:element name="a3" minOccurs="0" type="couplingType">
</xs:element>
<xs:element minOccurs="0" type="couplingType" name="a4">
</xs:element>
<xs:element type="couplingType" name="p1">
</xs:element>
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<xs:complexType name="fatLinkCIQuarkActionType">
<xs:annotation>
<xs:documentation>Chirally improved fermion action with fat links. Same as ciQuarkAction, unless a specification of fat links is added in schema</xs:documentation>
</xs:annotation>
<xs:complexContent>
<xs:extension base="ciQuarkActionType">
</xs:extension>
</xs:complexContent>
</xs:complexType>
<xs:simpleType name="variableType">
<xs:restriction base="xs:string">
<xs:enumeration value="variable">
</xs:enumeration>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="signApproxNPoleType">
<xs:union memberTypes="variableType xs:positiveInteger">
</xs:union>
</xs:simpleType>
<xs:simpleType name="signApproxThresholdMethodType">
<xs:restriction base="xs:string">
<xs:enumeration value="eigenmode">
</xs:enumeration>
<xs:enumeration value="ignore">
</xs:enumeration>
</xs:restriction>
</xs:simpleType>
<xs:complexType name="signApproxThresholdType">
<xs:sequence>
<xs:element name="min" type="couplingType">
</xs:element>
<xs:element type="couplingType" name="max">
</xs:element>
<xs:element type="signApproxThresholdMethodType" name="method">
</xs:element>
</xs:sequence>
</xs:complexType>
<xs:complexType name="zolotarevSignApproxType">
<xs:annotation>
<xs:documentation>The Zolotarev rational polynomial approximation is used to estimate sign(H_W). The range of the approximation is specified by either "threshold" or "nEngenmode".</xs:documentation>
</xs:annotation>
<xs:sequence>
<xs:choice>
<xs:element name="threshold" type="signApproxThresholdType">
<xs:annotation>
<xs:documentation>The range OUTSIDE the approximation and how contribution from the range is treated. "method"=eigenmode: all eigenmodes in (min,max) are calculated and the sign(H_W) is treated exactly in the range. "method"=ignore: contribution from the range is simply ignored. Note that "min = - max .lt. 0" is an usual cases. Also note that the upper bound of the sign approximation function is not marked up, because it is in general dependent of configurations.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="nEigenmode" type="xs:positiveInteger">
<xs:annotation>
<xs:documentation>Low-lying eigenmodes (lambda_i, i=1 to "nEigenmode") are identified and the sign approximation formula is applied for the range of x given by "|x| .ge. max_i |lambda_i|". Upper-bound of the range is not marked up.</xs:documentation>
</xs:annotation>
</xs:element>
</xs:choice>
<xs:element type="signApproxNPoleType" name="nPole">
<xs:annotation>
<xs:documentation>The number of poles of the sign approximation formula. Positive integer is recommended when "threshold" is given. variable is allowed when "nEigenmode" is given.</xs:documentation>
</xs:annotation>
</xs:element>
</xs:sequence>
</xs:complexType>
<xs:complexType name="overlapQuarkActionType">
<xs:annotation>
<xs:documentation>The overlap quark action.</xs:documentation>
</xs:annotation>
<xs:complexContent>
<xs:extension base="generalOverlapQuarkActionType">
<xs:sequence>
<xs:element type="zolotarevSignApproxType" name="zolotarevSignApprox">
</xs:element>
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<xs:complexType name="anisotropicQuarkActionType">
<xs:annotation>
<xs:documentation>Extends the general quark action with fields related to anisotropy namely the xi0 parameter and the direction which is anisotropic</xs:documentation>
</xs:annotation>
<xs:complexContent>
<xs:extension base="generalQuarkActionType">
<xs:sequence>
<xs:element type="couplingType" default="1.0" name="xi0">
</xs:element>
<xs:element name="anisoDirection" type="xs:Name" default="T">
</xs:element>
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<xs:complexType name="npTlCloverChargedQuarkActionType">
<xs:annotation>
<xs:documentation>Same as npCloverQuarkAction with additional coupling to photon with tree-level photon Clover term</xs:documentation>
</xs:annotation>
<xs:complexContent>
<xs:extension base="cloverQuarkActionType">
<xs:sequence>
<xs:element name="couplingToPhoton">
<xs:complexType>
<xs:sequence>
<xs:element type="quarkChargeType" name="charge">
</xs:element>
<xs:element name="cSW" type="couplingFixedToOneType">
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<xs:simpleType name="quarkChargeType">
<xs:annotation>
<xs:documentation>Enumeration of possible quark charges (i.e. +2/3 and -1/3 in non-compact QED, and integer values relative to the elementary charge and dependent on boundary conditions in compact QED)</xs:documentation>
</xs:annotation>
<xs:restriction base="xs:string">
<xs:enumeration value="positive">
</xs:enumeration>
<xs:enumeration value="negative">
</xs:enumeration>
</xs:restriction>
</xs:simpleType>
<xs:complexType name="npNiCloverChargedQuarkActionType">
<xs:annotation>
<xs:documentation>Same as fatLinkDerivNpCloverQuarkAction with additional coupling to photon (without photon Clover term).</xs:documentation>
</xs:annotation>
<xs:complexContent>
<xs:extension base="fatLinkDerivNpCloverQuarkActionType">
<xs:sequence>
<xs:element name="couplingToPhoton">
<xs:complexType>
<xs:sequence>
<xs:element name="charge" type="quarkChargeType">
</xs:element>
<xs:element name="cSW" type="couplingFixedToZeroType">
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<xs:complexType name="wilsonAdjointQuarkActionType">
<xs:annotation>
<xs:documentation>Wilson quark action with quarks in adjoint representation</xs:documentation>
</xs:annotation>
<xs:sequence>
<xs:group ref="actionInfo">
</xs:group>
<xs:element name="quarkField" type="adjointQuarkFieldType">
</xs:element>
<xs:group ref="numberOfFlavours">
</xs:group>
<xs:element name="linkSmearing" type="linkSmearingType" minOccurs="0">
</xs:element>
<xs:element name="kappa" type="couplingType">
</xs:element>
</xs:sequence>
</xs:complexType>
<xs:complexType name="wilsonTwoIndexSymmetricQuarkActionType">
<xs:annotation>
<xs:documentation>Wilson quark action with quarks in 2-index-symmetric representation</xs:documentation>
</xs:annotation>
<xs:sequence>
<xs:group ref="actionInfo">
</xs:group>
<xs:element type="twoIndexSymmetricQuarkFieldType" name="quarkField">
</xs:element>
<xs:element name="annotation" minOccurs="0" type="xs:string">
</xs:element>
<xs:group ref="numberOfFlavours">
</xs:group>
<xs:element minOccurs="0" type="linkSmearingType" name="linkSmearing">
</xs:element>
<xs:element type="couplingType" name="kappa">
</xs:element>
</xs:sequence>
</xs:complexType>
<xs:complexType name="wilsonTwoIndexAntisymmetricQuarkActionType">
<xs:annotation>
<xs:documentation>Wilson quark action with quarks in 2-index-antisymmetric representation</xs:documentation>
</xs:annotation>
<xs:sequence>
<xs:group ref="actionInfo">
</xs:group>
<xs:element type="twoIndexAntisymmetricQuarkFieldType" name="quarkField">
</xs:element>
<xs:group ref="numberOfFlavours">
</xs:group>
<xs:element name="linkSmearing" type="linkSmearingType" minOccurs="0">
</xs:element>
<xs:element name="kappa" type="couplingType">
</xs:element>
</xs:sequence>
</xs:complexType>
<xs:complexType name="adjointQuarkFieldType">
<xs:annotation>
<xs:documentation>Specifies normalisation and boundary conditions for quarks in adjoint representation</xs:documentation>
</xs:annotation>
<xs:sequence>
<xs:element name="annotation" minOccurs="0" type="xs:string">
</xs:element>
<xs:element name="representation">
<xs:simpleType>
<xs:restriction base="xs:NMTOKEN">
<xs:enumeration value="adjoint">
</xs:enumeration>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="normalisation" type="xs:string">
</xs:element>
<xs:group ref="generalBoundaryConditions">
</xs:group>
</xs:sequence>
</xs:complexType>
<xs:complexType name="twoIndexSymmetricQuarkFieldType">
<xs:annotation>
<xs:documentation>Specifies normalisation and boundary conditions for quarks in 2-index-symmetric representation</xs:documentation>
</xs:annotation>
<xs:sequence>
<xs:element name="representation">
<xs:simpleType>
<xs:restriction base="xs:NMTOKEN">
<xs:enumeration value="2-index-symmetric">
</xs:enumeration>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element type="xs:string" name="normalisation">
</xs:element>
<xs:group ref="generalBoundaryConditions">
</xs:group>
</xs:sequence>
</xs:complexType>
<xs:complexType name="twoIndexAntisymmetricQuarkFieldType">
<xs:annotation>
<xs:documentation>Specifies normalisation and boundary conditions for quarks in 2-index-antisymmetric representation</xs:documentation>
</xs:annotation>
<xs:sequence>
<xs:element name="annotation" minOccurs="0" type="xs:string">
</xs:element>
<xs:element name="representation">
<xs:simpleType>
<xs:restriction base="xs:NMTOKEN">
<xs:enumeration value="2-index-antisymmetric">
</xs:enumeration>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element type="xs:string" name="normalisation">
</xs:element>
<xs:group ref="generalBoundaryConditions">
</xs:group>
</xs:sequence>
</xs:complexType>
<xs:complexType name="linkSmearingType">
<xs:annotation>
<xs:documentation>link smearing</xs:documentation>
</xs:annotation>
<xs:sequence>
<xs:group ref="linkBlocking">
</xs:group>
<xs:element type="linkUnitarizationType" name="linkUnitarization">
</xs:element>
<xs:element type="xs:integer" name="numSmear">
</xs:element>
</xs:sequence>
</xs:complexType>
<xs:complexType name="linkBlockingType">
<xs:annotation>
<xs:documentation>The base type for defining a link blocking scheme, being the a sum of link paths with common endpoints (those of the original link). The paths are weighted by one or more coefficients.</xs:documentation>
</xs:annotation>
</xs:complexType>
<xs:group name="linkBlocking">
<xs:choice>
<xs:element name="apeLinkBlocking" type="apeLinkBlockingType">
</xs:element>
<xs:element name="anisotropicApeLinkBlocking" type="anisotropicApeLinkBlockingType">
</xs:element>
</xs:choice>
</xs:group>
<xs:complexType name="apeLinkBlockingType">
<xs:annotation>
<xs:documentation>Block the links using an isotropic APE blocking method. rho0 is the coefficient of the original link. rho1 is the coefficient in front of the sum of six simple staples. rho0 = 0, rho0 = 1 and rho0 = (1 - 6 rho1) are typical examples. Reference: Phys. Lett. B192 163, 1987.</xs:documentation>
</xs:annotation>
<xs:complexContent>
<xs:extension base="linkBlockingType">
<xs:sequence>
<xs:element name="rho0" type="couplingType">
</xs:element>
<xs:element type="couplingType" name="rho1">
</xs:element>
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<xs:complexType name="anisotropicApeLinkBlockingType">
<xs:annotation>
<xs:documentation>Block the links using an anisotropic APE blocking method. rho0S, rho1SS and rho1ST are coefficients for blocking links in spatial direction: rho0S is the coefficient of the link, rho1SS is that in front of the sum of 4 space-space staples, rho1ST is that in front of the sum of 2 space-time staples. rho0T and rho1TS are coefficients for blocking links in temporal direction: rho0T is the coefficient of the link, rho1TS is the coefficient in front of the sum of 6 space-time staples. Reference: Phys. Lett. B192 163, 1987 and QCDml documentation.</xs:documentation>
</xs:annotation>
<xs:complexContent>
<xs:extension base="linkBlockingType">
<xs:sequence>
<xs:element name="rho0S" type="couplingType">
</xs:element>
<xs:element type="couplingType" name="rho0T">
</xs:element>
<xs:element type="couplingType" name="rho1SS">
</xs:element>
<xs:element type="couplingType" name="rho1ST">
</xs:element>
<xs:element type="couplingType" name="rho1TS">
</xs:element>
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<xs:simpleType name="linkUnitarizationType">
<xs:annotation>
<xs:documentation>Methods of link unitarization (method should take a matrix and construct a special unitary matrix)</xs:documentation>
</xs:annotation>
<xs:restriction base="xs:NMTOKEN">
<xs:enumeration value="none">
</xs:enumeration>
<xs:enumeration value="stout">
<xs:annotation>
<xs:documentation>Unitarise the blocked links with the stout link construction. Reference: Phys.Rev.D69:054501,2004, hep-lat/0311018.</xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="invsqrt">
<xs:annotation>
<xs:documentation>Unitarise the blocked links by multiplying the inverse square root of the matrices, then factor out the determinant. Reference: Phys.Rev.D70:014502,2004, hep-lat/0403019.</xs:documentation>
</xs:annotation>
</xs:enumeration>
</xs:restriction>
</xs:simpleType>
<xs:complexType name="algorithmType">
<xs:annotation>
<xs:documentation>Description of the simulation algorithm. If "reweightingNeeded" is true, all parameters to compute the reweighting facturs MUST be given!</xs:documentation>
</xs:annotation>
<xs:sequence>
<xs:element type="xs:string" minOccurs="0" name="annotation">
</xs:element>
<xs:element type="xs:Name" name="name">
</xs:element>
<xs:element name="glossary" type="xs:anyURI">
</xs:element>
<xs:element type="nonEmptyString" name="reference">
</xs:element>
<xs:element type="xs:boolean" name="exact">
</xs:element>
<xs:element name="reweightingNeeded" type="xs:boolean">
</xs:element>
<xs:element name="parameters" minOccurs="0" type="parametersType">
</xs:element>
<xs:any processContents="lax" maxOccurs="unbounded" namespace="##other" minOccurs="0">
</xs:any>
</xs:sequence>
</xs:complexType>
<xs:complexType name="parametersType">
<xs:annotation>
<xs:documentation>Nonempty list of parameter elements (must include all relevant parameters if "reweightingNeeded" is true!)</xs:documentation>
</xs:annotation>
<xs:sequence>
<xs:element maxOccurs="unbounded" name="parameter" type="parameterType">
</xs:element>
</xs:sequence>
</xs:complexType>
<xs:complexType name="parameterType">
<xs:annotation>
<xs:documentation>Contains an optional annotation, a name and a value</xs:documentation>
</xs:annotation>
<xs:sequence>
<xs:element name="annotation" type="xs:string" minOccurs="0">
</xs:element>
<xs:element type="xs:Name" name="name">
</xs:element>
<xs:element type="xs:anySimpleType" name="value">
</xs:element>
</xs:sequence>
</xs:complexType>
<xs:complexType name="additionalInfoType">
<xs:annotation>
<xs:documentation>If an "additionalInfo" element is present, it must have at least on child element, which can be an "annotation" (without name-space) or any custom element with an "other" name-space</xs:documentation>
</xs:annotation>
<xs:choice>
<xs:sequence>
<xs:element name="annotation" type="xs:string">
</xs:element>
<xs:any processContents="lax" maxOccurs="unbounded" namespace="##other" minOccurs="0">
</xs:any>
</xs:sequence>
<xs:sequence>
<xs:any minOccurs="1" namespace="##other" maxOccurs="unbounded" processContents="lax">
</xs:any>
</xs:sequence>
</xs:choice>
</xs:complexType>
<xs:group name="actionInfo">
<xs:sequence>
<xs:element name="annotation" minOccurs="0" type="xs:string">
</xs:element>
<xs:element type="xs:anyURI" name="glossary">
</xs:element>
</xs:sequence>
</xs:group>
<xs:group name="generalBoundaryConditions">
<xs:annotation>
<xs:documentation>An array of anyBoundaryConditionType elements.</xs:documentation>
</xs:annotation>
<xs:sequence>
<xs:element name="boundaryCondition">
<xs:complexType>
<xs:choice>
<xs:sequence>
<xs:element type="anyBoundaryConditionType" name="x">
</xs:element>
<xs:element type="anyBoundaryConditionType" minOccurs="0" name="y">
</xs:element>
<xs:element name="z" minOccurs="0" type="anyBoundaryConditionType">
</xs:element>
<xs:element name="t" type="anyBoundaryConditionType">
</xs:element>
</xs:sequence>
<xs:sequence>
<xs:element type="anyBoundaryConditionType" name="t">
</xs:element>
<xs:element name="x" type="anyBoundaryConditionType">
</xs:element>
<xs:element name="y" minOccurs="0" type="anyBoundaryConditionType">
</xs:element>
<xs:element name="z" minOccurs="0" type="anyBoundaryConditionType">
</xs:element>
</xs:sequence>
</xs:choice>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:group>
<xs:simpleType name="anyBoundaryConditionType">
<xs:annotation>
<xs:documentation>Enumeration of possible boundary conditions</xs:documentation>
</xs:annotation>
<xs:restriction base="xs:NMTOKEN">
<xs:enumeration value="antiperiodic">
</xs:enumeration>
<xs:enumeration value="cstar">
</xs:enumeration>
<xs:enumeration value="dirichlet">
</xs:enumeration>
<xs:enumeration value="periodic">
</xs:enumeration>
<xs:enumeration value="open">
</xs:enumeration>
<xs:enumeration value="openSF">
</xs:enumeration>
</xs:restriction>
</xs:simpleType>
<xs:group name="openBoundaryConditions">
<xs:annotation>
<xs:documentation>An array of boundary condition elements with time direction forced to "open".</xs:documentation>
</xs:annotation>
<xs:sequence>
<xs:element name="boundaryCondition">
<xs:complexType>
<xs:choice>
<xs:sequence>
<xs:element name="x" type="anyBoundaryConditionType">
</xs:element>
<xs:element name="y" type="anyBoundaryConditionType" minOccurs="0">
</xs:element>
<xs:element name="z" type="anyBoundaryConditionType" minOccurs="0">
</xs:element>
<xs:element type="openBoundaryConditionType" name="t">
</xs:element>
</xs:sequence>
<xs:sequence>
<xs:element type="openBoundaryConditionType" name="t">
</xs:element>
<xs:element type="anyBoundaryConditionType" name="x">
</xs:element>
<xs:element name="y" type="anyBoundaryConditionType" minOccurs="0">
</xs:element>
<xs:element name="z" type="anyBoundaryConditionType" minOccurs="0">
</xs:element>
</xs:sequence>
</xs:choice>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:group>
<xs:simpleType name="openBoundaryConditionType">
<xs:restriction base="xs:NMTOKEN">
<xs:enumeration value="open">
</xs:enumeration>
</xs:restriction>
</xs:simpleType>
<xs:group name="cstarBoundaryConditions">
<xs:annotation>
<xs:documentation>An array of boundary condition elements with x-direction forced to "cstar".</xs:documentation>
</xs:annotation>
<xs:sequence>
<xs:element name="boundaryCondition">
<xs:complexType>
<xs:choice>
<xs:sequence>
<xs:element name="x" type="cstarBoundaryConditionType">
</xs:element>
<xs:element name="y" minOccurs="0" type="anyBoundaryConditionType">
</xs:element>
<xs:element minOccurs="0" type="anyBoundaryConditionType" name="z">
</xs:element>
<xs:element name="t" type="anyBoundaryConditionType">
</xs:element>
</xs:sequence>
<xs:sequence>
<xs:element type="anyBoundaryConditionType" name="t">
</xs:element>
<xs:element type="cstarBoundaryConditionType" name="x">
</xs:element>
<xs:element minOccurs="0" type="anyBoundaryConditionType" name="y">
</xs:element>
<xs:element type="anyBoundaryConditionType" minOccurs="0" name="z">
</xs:element>
</xs:sequence>
</xs:choice>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:group>
<xs:simpleType name="cstarBoundaryConditionType">
<xs:restriction base="xs:NMTOKEN">
<xs:enumeration value="cstar">
</xs:enumeration>
</xs:restriction>
</xs:simpleType>
<xs:group name="numberOfFlavours">
<xs:annotation>
<xs:documentation>The number of flavours of quarks that have the specific action</xs:documentation>
</xs:annotation>
<xs:sequence>
<xs:element name="numberOfFlavours" type="xs:integer">
</xs:element>
</xs:sequence>
</xs:group>
<xs:simpleType name="nonEmptyString">
<xs:restriction base="xs:string">
<xs:minLength value="1">
</xs:minLength>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="couplingType">
<xs:annotation>
<xs:documentation>All couplings are of this type, essentially a double</xs:documentation>
</xs:annotation>
<xs:restriction base="xs:double">
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="couplingFixedToZeroType">
<xs:annotation>
<xs:documentation>All couplings are of this type are fixed to value = 0</xs:documentation>
</xs:annotation>
<xs:restriction base="xs:double">
<xs:enumeration value="0">
</xs:enumeration>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="couplingFixedToOneType">
<xs:annotation>
<xs:documentation>All couplings are of this type are fixed to value = 1</xs:documentation>
</xs:annotation>
<xs:restriction base="xs:double">
<xs:enumeration value="1">
</xs:enumeration>
</xs:restriction>
</xs:simpleType>
<xs:complexType name="quarkCouplingsType">
<xs:annotation>
<xs:documentation>Contaings N couplings plus integer numberOfFlavours</xs:documentation>
</xs:annotation>
<xs:sequence>
<xs:group ref="numberOfFlavours">
</xs:group>
<xs:element type="couplingType" maxOccurs="unbounded" name="nCouplings">
</xs:element>
</xs:sequence>
</xs:complexType>
<xs:simpleType name="gaugeFixingType">
<xs:annotation>
<xs:documentation>Supported gauge-fixing types</xs:documentation>
</xs:annotation>
<xs:restriction base="xs:token">
<xs:enumeration value="coulomb">
</xs:enumeration>
<xs:enumeration value="feynman">
</xs:enumeration>
<xs:enumeration value="landau">
</xs:enumeration>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="additionalConstraintType">
<xs:annotation>
<xs:documentation>Supported methods of zero-mode regularization</xs:documentation>
</xs:annotation>
<xs:restriction base="xs:token">
<xs:enumeration value="qedL">
</xs:enumeration>
<xs:enumeration value="qedTL">
</xs:enumeration>
<xs:enumeration value="qedS">
</xs:enumeration>
</xs:restriction>
</xs:simpleType>
</xs:schema>
|