1026 lines
38 KiB
XML
1026 lines
38 KiB
XML
<?xml version="1.0"?>
|
|
|
|
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"
|
|
xmlns:dsr="http://dicom.offis.de/dcmsr"
|
|
targetNamespace="http://dicom.offis.de/dcmsr"
|
|
elementFormDefault="qualified">
|
|
|
|
<!-- Copyright Comment -->
|
|
|
|
<xsd:annotation>
|
|
<xsd:documentation xml:lang="en">
|
|
XML Schema for DCMTK tools dsr2xml and xml2dsr.
|
|
Copyright (C) 2003-2019, OFFIS e.V. and J. Riesmeier
|
|
All rights reserved. See COPYRIGHT file for details.
|
|
</xsd:documentation>
|
|
</xsd:annotation>
|
|
|
|
<!-- Starting Element -->
|
|
|
|
<xsd:element name="report" type="dsr:Report"/>
|
|
|
|
<!-- Complex Types (1st level) -->
|
|
|
|
<xsd:complexType name="Report">
|
|
<xsd:sequence>
|
|
<xsd:element name="sopclass" type="dsr:SOPClass"/>
|
|
<xsd:element name="charset" type="dsr:Charset" minOccurs="0"/>
|
|
<xsd:element name="timezone" type="dsr:Timezone" minOccurs="0"/>
|
|
<xsd:element name="modality" type="dsr:Modality" minOccurs="0"/>
|
|
<xsd:choice>
|
|
<xsd:element name="manufacturer" type="xsd:string" minOccurs="0"/>
|
|
<xsd:element name="device" type="dsr:Device"/>
|
|
</xsd:choice>
|
|
<xsd:element name="synchronization" type="dsr:Synchronization" minOccurs="0"/>
|
|
<xsd:element name="referringphysician" type="dsr:ReferringPhysician" minOccurs="0"/>
|
|
<xsd:element name="patient" type="dsr:Patient"/>
|
|
<xsd:element name="study" type="dsr:Study"/>
|
|
<xsd:element name="series" type="dsr:Series"/>
|
|
<xsd:element name="instance" type="dsr:Instance"/>
|
|
<xsd:element name="coding" type="dsr:Coding" minOccurs="0"/>
|
|
<xsd:element name="evidence" type="dsr:Evidence" minOccurs="0" maxOccurs="2"/>
|
|
<xsd:element name="reference" type="dsr:Reference" minOccurs="0"/>
|
|
<xsd:element name="document" type="dsr:Document"/>
|
|
</xsd:sequence>
|
|
<xsd:attribute name="type" type="dsr:ReportType"/>
|
|
</xsd:complexType>
|
|
|
|
<!-- Complex Types (2nd level) -->
|
|
|
|
<xsd:complexType name="SOPClass">
|
|
<xsd:simpleContent>
|
|
<xsd:extension base="xsd:string">
|
|
<xsd:attribute name="uid" type="dsr:UniqueIdentifier" use="required"/>
|
|
</xsd:extension>
|
|
</xsd:simpleContent>
|
|
</xsd:complexType>
|
|
|
|
<xsd:complexType name="Device">
|
|
<xsd:sequence>
|
|
<xsd:element name="manufacturer" type="dsr:LongString" minOccurs="0"/>
|
|
<xsd:element name="model" type="dsr:LongString"/>
|
|
<xsd:element name="serial" type="dsr:LongString" minOccurs="0"/>
|
|
<xsd:element name="version" type="dsr:LongString" minOccurs="0"/>
|
|
</xsd:sequence>
|
|
</xsd:complexType>
|
|
|
|
<xsd:complexType name="Synchronization">
|
|
<xsd:sequence>
|
|
<xsd:element name="trigger" type="dsr:SynchronizationTrigger"/>
|
|
<xsd:element name="acquisitiontime" type="dsr:YesNo"/>
|
|
</xsd:sequence>
|
|
<xsd:attribute name="uid" type="dsr:UniqueIdentifier" use="required"/>
|
|
</xsd:complexType>
|
|
|
|
<xsd:complexType name="ReferringPhysician">
|
|
<xsd:sequence>
|
|
<xsd:element name="name" type="dsr:PersonName" minOccurs="0"/>
|
|
</xsd:sequence>
|
|
</xsd:complexType>
|
|
|
|
<xsd:complexType name="Patient">
|
|
<xsd:sequence>
|
|
<xsd:element name="id" type="dsr:LongString" minOccurs="0"/>
|
|
<xsd:element name="issuer" type="dsr:LongString" minOccurs="0"/>
|
|
<xsd:element name="name" type="dsr:PersonName" minOccurs="0"/>
|
|
<xsd:element name="birthday" minOccurs="0">
|
|
<xsd:complexType>
|
|
<xsd:sequence>
|
|
<xsd:element name="date" type="dsr:Date" minOccurs="0"/>
|
|
</xsd:sequence>
|
|
</xsd:complexType>
|
|
</xsd:element>
|
|
<xsd:element name="sex" type="dsr:Sex" minOccurs="0"/>
|
|
</xsd:sequence>
|
|
</xsd:complexType>
|
|
|
|
<xsd:complexType name="Study">
|
|
<xsd:sequence>
|
|
<xsd:element name="id" type="dsr:ShortString" minOccurs="0"/>
|
|
<xsd:element name="date" type="dsr:Date" minOccurs="0"/>
|
|
<xsd:element name="time" type="dsr:Time" minOccurs="0"/>
|
|
<xsd:element name="accession" minOccurs="0">
|
|
<xsd:complexType>
|
|
<xsd:sequence>
|
|
<xsd:element name="number" type="dsr:ShortString" minOccurs="0"/>
|
|
</xsd:sequence>
|
|
</xsd:complexType>
|
|
</xsd:element>
|
|
<xsd:element name="description" type="dsr:LongString" minOccurs="0"/>
|
|
</xsd:sequence>
|
|
<xsd:attribute name="uid" type="dsr:UniqueIdentifier" use="required"/>
|
|
</xsd:complexType>
|
|
|
|
<xsd:complexType name="Series">
|
|
<xsd:sequence>
|
|
<xsd:element name="number" type="dsr:IntegerString" minOccurs="0"/>
|
|
<xsd:element name="date" type="dsr:Date" minOccurs="0"/>
|
|
<xsd:element name="time" type="dsr:Time" minOccurs="0"/>
|
|
<xsd:element name="protocol" type="dsr:LongString" minOccurs="0"/>
|
|
<xsd:element name="description" type="dsr:LongString" minOccurs="0"/>
|
|
</xsd:sequence>
|
|
<xsd:attribute name="uid" type="dsr:UniqueIdentifier" use="required"/>
|
|
</xsd:complexType>
|
|
|
|
<xsd:complexType name="Instance">
|
|
<xsd:sequence>
|
|
<xsd:element name="number" type="dsr:IntegerString" minOccurs="0"/>
|
|
<xsd:element name="creation" minOccurs="0">
|
|
<xsd:complexType>
|
|
<xsd:sequence>
|
|
<xsd:element name="date" type="dsr:Date" minOccurs="0"/>
|
|
<xsd:element name="time" type="dsr:Time" minOccurs="0"/>
|
|
</xsd:sequence>
|
|
<xsd:attribute name="uid" type="dsr:UniqueIdentifier"/>
|
|
</xsd:complexType>
|
|
</xsd:element>
|
|
</xsd:sequence>
|
|
<xsd:attribute name="uid" type="dsr:UniqueIdentifier" use="required"/>
|
|
</xsd:complexType>
|
|
|
|
<xsd:complexType name="Coding">
|
|
<xsd:sequence>
|
|
<xsd:element name="scheme" minOccurs="0" maxOccurs="unbounded">
|
|
<xsd:complexType>
|
|
<xsd:sequence>
|
|
<xsd:element name="registry" type="dsr:LongString" minOccurs="0"/>
|
|
<xsd:element name="uid" type="dsr:UniqueIdentifier" minOccurs="0"/>
|
|
<xsd:element name="id" type="dsr:ShortText" minOccurs="0"/>
|
|
<xsd:element name="name" type="dsr:ShortText" minOccurs="0"/>
|
|
<xsd:element name="version" type="dsr:ShortString" minOccurs="0"/>
|
|
<xsd:element name="organization" type="dsr:ShortText" minOccurs="0"/>
|
|
</xsd:sequence>
|
|
<xsd:attribute name="designator" type="dsr:ShortString" use="required"/>
|
|
</xsd:complexType>
|
|
</xsd:element>
|
|
</xsd:sequence>
|
|
</xsd:complexType>
|
|
|
|
<xsd:complexType name="Evidence">
|
|
<xsd:group ref="dsr:ReferencedSOPInstancesGroup"/>
|
|
<xsd:attribute name="type" type="dsr:EvidenceType" use="required"/>
|
|
</xsd:complexType>
|
|
|
|
<xsd:complexType name="Reference">
|
|
<xsd:sequence>
|
|
<xsd:element name="value" minOccurs="0" maxOccurs="unbounded">
|
|
<xsd:complexType>
|
|
<xsd:complexContent>
|
|
<xsd:extension base="dsr:ReferencedSOP">
|
|
<xsd:sequence>
|
|
<xsd:element name="purpose" type="dsr:Code"/>
|
|
</xsd:sequence>
|
|
</xsd:extension>
|
|
</xsd:complexContent>
|
|
</xsd:complexType>
|
|
</xsd:element>
|
|
</xsd:sequence>
|
|
</xsd:complexType>
|
|
|
|
<xsd:complexType name="Document">
|
|
<xsd:sequence>
|
|
<xsd:element name="preliminary" minOccurs="0">
|
|
<xsd:complexType>
|
|
<xsd:attribute name="flag" type="dsr:PreliminaryFlag" use="required"/>
|
|
</xsd:complexType>
|
|
</xsd:element>
|
|
<xsd:element name="completion" minOccurs="0">
|
|
<!-- made "completion" optional to match 'KO', too -->
|
|
<xsd:complexType>
|
|
<xsd:sequence>
|
|
<xsd:element name="description" type="dsr:LongString" minOccurs="0"/>
|
|
</xsd:sequence>
|
|
<xsd:attribute name="flag" type="dsr:CompletionFlag" use="required"/>
|
|
</xsd:complexType>
|
|
</xsd:element>
|
|
<xsd:element name="verification" minOccurs="0">
|
|
<!-- made "verification" optional to match 'KO', too -->
|
|
<xsd:complexType>
|
|
<xsd:sequence>
|
|
<xsd:element name="observer" minOccurs="0" maxOccurs="unbounded">
|
|
<xsd:complexType>
|
|
<xsd:sequence>
|
|
<xsd:element name="datetime" type="dsr:DateTime"/>
|
|
<xsd:element name="name" type="dsr:PersonName"/>
|
|
<xsd:element name="code" type="dsr:Code" minOccurs="0"/>
|
|
<xsd:element name="organization" type="dsr:LongString"/>
|
|
</xsd:sequence>
|
|
<xsd:attribute name="pos" type="xsd:positiveInteger"/>
|
|
</xsd:complexType>
|
|
</xsd:element>
|
|
</xsd:sequence>
|
|
<xsd:attribute name="flag" type="dsr:VerificationFlag" use="required"/>
|
|
</xsd:complexType>
|
|
</xsd:element>
|
|
<xsd:element name="predecessor" type="dsr:ReferencedSOPInstances" minOccurs="0"/>
|
|
<xsd:element name="identical" type="dsr:ReferencedSOPInstances" minOccurs="0"/>
|
|
<xsd:element name="content" type="dsr:Content"/>
|
|
</xsd:sequence>
|
|
</xsd:complexType>
|
|
|
|
<!-- Complex Types (3rd level) -->
|
|
|
|
<xsd:complexType name="Content">
|
|
<xsd:sequence>
|
|
<xsd:element name="date" type="dsr:Date"/>
|
|
<xsd:element name="time" type="dsr:Time"/>
|
|
<xsd:element name="container">
|
|
<!-- special handling for root content item -->
|
|
<xsd:complexType>
|
|
<xsd:sequence>
|
|
<!-- template identification only for container items -->
|
|
<xsd:element name="template" type="dsr:Template" minOccurs="0"/>
|
|
<xsd:element name="concept" type="dsr:Code"/>
|
|
<xsd:element name="observation" type="dsr:Observation" minOccurs="0"/>
|
|
<!-- open question: is at least one child content item required? -->
|
|
<xsd:group ref="dsr:ContentItem" minOccurs="0" maxOccurs="unbounded"/>
|
|
</xsd:sequence>
|
|
<xsd:attribute name="id" type="xsd:nonNegativeInteger"/>
|
|
<xsd:attribute name="flag" type="dsr:ContinuityFlag" use="required"/>
|
|
</xsd:complexType>
|
|
</xsd:element>
|
|
</xsd:sequence>
|
|
</xsd:complexType>
|
|
|
|
<xsd:complexType name="ReferencedSOPInstances">
|
|
<xsd:group ref="dsr:ReferencedSOPInstancesGroup"/>
|
|
</xsd:complexType>
|
|
|
|
<xsd:complexType name="Code">
|
|
<xsd:group ref="dsr:CodeGroup"/>
|
|
</xsd:complexType>
|
|
|
|
<!-- Complex Types (4th level) -->
|
|
|
|
<xsd:complexType name="Template">
|
|
<xsd:sequence>
|
|
<xsd:element name="resource" type="dsr:MappingResource"/>
|
|
<xsd:element name="id" type="dsr:CodeString"/>
|
|
</xsd:sequence>
|
|
</xsd:complexType>
|
|
|
|
<xsd:complexType name="Observation">
|
|
<xsd:sequence>
|
|
<xsd:element name="datetime" type="dsr:DateTime" minOccurs="0"/>
|
|
</xsd:sequence>
|
|
<xsd:attribute name="uid" type="dsr:UniqueIdentifier"/>
|
|
</xsd:complexType>
|
|
|
|
<xsd:complexType name="ReferencedSOP">
|
|
<xsd:sequence>
|
|
<xsd:element name="sopclass" type="dsr:SOPClass"/>
|
|
<xsd:element name="instance">
|
|
<xsd:complexType>
|
|
<xsd:attribute name="uid" type="dsr:UniqueIdentifier" use="required"/>
|
|
</xsd:complexType>
|
|
</xsd:element>
|
|
</xsd:sequence>
|
|
</xsd:complexType>
|
|
|
|
<!-- Complex Types (5th level) -->
|
|
|
|
<xsd:complexType name="MappingResource">
|
|
<xsd:simpleContent>
|
|
<xsd:extension base="dsr:CodeString">
|
|
<xsd:attribute name="uid" type="dsr:UniqueIdentifier"/>
|
|
</xsd:extension>
|
|
</xsd:simpleContent>
|
|
</xsd:complexType>
|
|
|
|
<!-- Groups -->
|
|
|
|
<xsd:group name="CodeGroup">
|
|
<xsd:sequence>
|
|
<xsd:element name="value" type="dsr:ShortString"/>
|
|
<xsd:element name="scheme">
|
|
<xsd:complexType>
|
|
<xsd:sequence>
|
|
<xsd:element name="designator" type="dsr:ShortString"/>
|
|
<xsd:element name="version" type="dsr:ShortString" minOccurs="0"/>
|
|
</xsd:sequence>
|
|
</xsd:complexType>
|
|
</xsd:element>
|
|
<xsd:element name="meaning" type="dsr:LongString"/>
|
|
</xsd:sequence>
|
|
</xsd:group>
|
|
|
|
<xsd:group name="NumericGroup">
|
|
<xsd:sequence>
|
|
<xsd:element name="value" type="dsr:DecimalString"/>
|
|
<xsd:element name="float" type="dsr:FloatingPointDouble" minOccurs="0"/>
|
|
<xsd:element name="rational" minOccurs="0">
|
|
<xsd:complexType>
|
|
<xsd:sequence>
|
|
<xsd:element name="numerator" type="dsr:SignedLong"/>
|
|
<xsd:element name="denominator" type="dsr:UnsignedLong"/>
|
|
</xsd:sequence>
|
|
</xsd:complexType>
|
|
</xsd:element>
|
|
<xsd:element name="unit" type="dsr:Code"/>
|
|
</xsd:sequence>
|
|
</xsd:group>
|
|
|
|
<xsd:group name="ReferencedSOPInstancesGroup">
|
|
<xsd:sequence>
|
|
<xsd:element name="study" minOccurs="0" maxOccurs="unbounded">
|
|
<xsd:complexType>
|
|
<xsd:sequence>
|
|
<xsd:element name="series" minOccurs="1" maxOccurs="unbounded">
|
|
<xsd:complexType>
|
|
<xsd:sequence>
|
|
<xsd:element name="aetitle" type="dsr:ApplicationEntity" minOccurs="0"/>
|
|
<xsd:element name="location" minOccurs="0">
|
|
<xsd:complexType>
|
|
<xsd:attribute name="uid" type="dsr:UniqueIdentifier"/>
|
|
</xsd:complexType>
|
|
</xsd:element>
|
|
<xsd:element name="fileset" minOccurs="0">
|
|
<xsd:complexType>
|
|
<xsd:simpleContent>
|
|
<xsd:extension base="dsr:ShortString">
|
|
<xsd:attribute name="uid" type="dsr:UniqueIdentifier"/>
|
|
</xsd:extension>
|
|
</xsd:simpleContent>
|
|
</xsd:complexType>
|
|
</xsd:element>
|
|
<xsd:element name="value" minOccurs="1" maxOccurs="unbounded">
|
|
<xsd:complexType>
|
|
<xsd:complexContent>
|
|
<xsd:extension base="dsr:ReferencedSOP">
|
|
<xsd:sequence>
|
|
<xsd:element name="purpose" type="dsr:Code" minOccurs="0"/>
|
|
</xsd:sequence>
|
|
</xsd:extension>
|
|
</xsd:complexContent>
|
|
</xsd:complexType>
|
|
</xsd:element>
|
|
</xsd:sequence>
|
|
<xsd:attribute name="uid" type="dsr:UniqueIdentifier" use="required"/>
|
|
</xsd:complexType>
|
|
</xsd:element>
|
|
</xsd:sequence>
|
|
<xsd:attribute name="uid" type="dsr:UniqueIdentifier" use="required"/>
|
|
</xsd:complexType>
|
|
</xsd:element>
|
|
</xsd:sequence>
|
|
</xsd:group>
|
|
|
|
<xsd:group name="ContentItem">
|
|
<xsd:choice>
|
|
<xsd:group ref="dsr:TextItem"/>
|
|
<xsd:group ref="dsr:CodeItem"/>
|
|
<xsd:group ref="dsr:NumItem"/>
|
|
<xsd:group ref="dsr:DateTimeItem"/>
|
|
<xsd:group ref="dsr:DateItem"/>
|
|
<xsd:group ref="dsr:TimeItem"/>
|
|
<xsd:group ref="dsr:UIDRefItem"/>
|
|
<xsd:group ref="dsr:PNameItem"/>
|
|
<xsd:group ref="dsr:SCoordItem"/>
|
|
<xsd:group ref="dsr:SCoord3DItem"/>
|
|
<xsd:group ref="dsr:TCoordItem"/>
|
|
<xsd:group ref="dsr:CompositeItem"/>
|
|
<xsd:group ref="dsr:ImageItem"/>
|
|
<xsd:group ref="dsr:WaveformItem"/>
|
|
<xsd:group ref="dsr:ContainerItem"/>
|
|
<xsd:group ref="dsr:ReferenceItem"/>
|
|
</xsd:choice>
|
|
</xsd:group>
|
|
|
|
<xsd:group name="TextItem">
|
|
<xsd:sequence>
|
|
<xsd:element name="text">
|
|
<xsd:complexType>
|
|
<xsd:sequence>
|
|
<xsd:element name="relationship" type="dsr:RelationshipType"/>
|
|
<xsd:element name="concept" type="dsr:Code"/>
|
|
<xsd:element name="observation" type="dsr:Observation" minOccurs="0"/>
|
|
<xsd:group ref="dsr:ContentItem" minOccurs="0" maxOccurs="unbounded"/>
|
|
<xsd:element name="value" type="dsr:UnlimitedText"/>
|
|
</xsd:sequence>
|
|
<xsd:attribute name="id" type="xsd:nonNegativeInteger"/>
|
|
</xsd:complexType>
|
|
</xsd:element>
|
|
</xsd:sequence>
|
|
</xsd:group>
|
|
|
|
<xsd:group name="CodeItem">
|
|
<xsd:sequence>
|
|
<xsd:element name="code">
|
|
<xsd:complexType>
|
|
<xsd:sequence>
|
|
<xsd:element name="relationship" type="dsr:RelationshipType"/>
|
|
<xsd:element name="concept" type="dsr:Code"/>
|
|
<xsd:element name="observation" type="dsr:Observation" minOccurs="0"/>
|
|
<xsd:group ref="dsr:ContentItem" minOccurs="0" maxOccurs="unbounded"/>
|
|
<xsd:group ref="dsr:CodeGroup"/>
|
|
</xsd:sequence>
|
|
<xsd:attribute name="id" type="xsd:nonNegativeInteger"/>
|
|
</xsd:complexType>
|
|
</xsd:element>
|
|
</xsd:sequence>
|
|
</xsd:group>
|
|
|
|
<xsd:group name="NumItem">
|
|
<xsd:sequence>
|
|
<xsd:element name="num">
|
|
<xsd:complexType>
|
|
<xsd:sequence>
|
|
<xsd:element name="relationship" type="dsr:RelationshipType"/>
|
|
<xsd:element name="concept" type="dsr:Code"/>
|
|
<xsd:element name="observation" type="dsr:Observation" minOccurs="0"/>
|
|
<xsd:group ref="dsr:ContentItem" minOccurs="0" maxOccurs="unbounded"/>
|
|
<xsd:group ref="dsr:NumericGroup" minOccurs="0"/>
|
|
<xsd:element name="qualifier" type="dsr:Code" minOccurs="0"/>
|
|
</xsd:sequence>
|
|
<xsd:attribute name="id" type="xsd:nonNegativeInteger"/>
|
|
</xsd:complexType>
|
|
</xsd:element>
|
|
</xsd:sequence>
|
|
</xsd:group>
|
|
|
|
<xsd:group name="DateTimeItem">
|
|
<xsd:sequence>
|
|
<xsd:element name="datetime">
|
|
<xsd:complexType>
|
|
<xsd:sequence>
|
|
<xsd:element name="relationship" type="dsr:RelationshipType"/>
|
|
<xsd:element name="concept" type="dsr:Code"/>
|
|
<xsd:element name="observation" type="dsr:Observation" minOccurs="0"/>
|
|
<xsd:group ref="dsr:ContentItem" minOccurs="0" maxOccurs="unbounded"/>
|
|
<xsd:element name="value" type="dsr:DateTime"/>
|
|
</xsd:sequence>
|
|
<xsd:attribute name="id" type="xsd:nonNegativeInteger"/>
|
|
</xsd:complexType>
|
|
</xsd:element>
|
|
</xsd:sequence>
|
|
</xsd:group>
|
|
|
|
<xsd:group name="DateItem">
|
|
<xsd:sequence>
|
|
<xsd:element name="date">
|
|
<xsd:complexType>
|
|
<xsd:sequence>
|
|
<xsd:element name="relationship" type="dsr:RelationshipType"/>
|
|
<xsd:element name="concept" type="dsr:Code"/>
|
|
<xsd:element name="observation" type="dsr:Observation" minOccurs="0"/>
|
|
<xsd:group ref="dsr:ContentItem" minOccurs="0" maxOccurs="unbounded"/>
|
|
<xsd:element name="value" type="dsr:Date"/>
|
|
</xsd:sequence>
|
|
<xsd:attribute name="id" type="xsd:nonNegativeInteger"/>
|
|
</xsd:complexType>
|
|
</xsd:element>
|
|
</xsd:sequence>
|
|
</xsd:group>
|
|
|
|
<xsd:group name="TimeItem">
|
|
<xsd:sequence>
|
|
<xsd:element name="time">
|
|
<xsd:complexType>
|
|
<xsd:sequence>
|
|
<xsd:element name="relationship" type="dsr:RelationshipType"/>
|
|
<xsd:element name="concept" type="dsr:Code"/>
|
|
<xsd:element name="observation" type="dsr:Observation" minOccurs="0"/>
|
|
<xsd:group ref="dsr:ContentItem" minOccurs="0" maxOccurs="unbounded"/>
|
|
<xsd:element name="value" type="dsr:Time"/>
|
|
</xsd:sequence>
|
|
<xsd:attribute name="id" type="xsd:nonNegativeInteger"/>
|
|
</xsd:complexType>
|
|
</xsd:element>
|
|
</xsd:sequence>
|
|
</xsd:group>
|
|
|
|
<xsd:group name="UIDRefItem">
|
|
<xsd:sequence>
|
|
<xsd:element name="uidref">
|
|
<xsd:complexType>
|
|
<xsd:sequence>
|
|
<xsd:element name="relationship" type="dsr:RelationshipType"/>
|
|
<xsd:element name="concept" type="dsr:Code"/>
|
|
<xsd:element name="observation" type="dsr:Observation" minOccurs="0"/>
|
|
<xsd:group ref="dsr:ContentItem" minOccurs="0" maxOccurs="unbounded"/>
|
|
<xsd:element name="value" type="dsr:UniqueIdentifier"/>
|
|
</xsd:sequence>
|
|
<xsd:attribute name="id" type="xsd:nonNegativeInteger"/>
|
|
</xsd:complexType>
|
|
</xsd:element>
|
|
</xsd:sequence>
|
|
</xsd:group>
|
|
|
|
<xsd:group name="PNameItem">
|
|
<xsd:sequence>
|
|
<xsd:element name="pname">
|
|
<xsd:complexType>
|
|
<xsd:sequence>
|
|
<xsd:element name="relationship" type="dsr:RelationshipType"/>
|
|
<xsd:element name="concept" type="dsr:Code"/>
|
|
<xsd:element name="observation" type="dsr:Observation" minOccurs="0"/>
|
|
<xsd:group ref="dsr:ContentItem" minOccurs="0" maxOccurs="unbounded"/>
|
|
<xsd:element name="value" type="dsr:PersonName"/>
|
|
</xsd:sequence>
|
|
<xsd:attribute name="id" type="xsd:nonNegativeInteger"/>
|
|
</xsd:complexType>
|
|
</xsd:element>
|
|
</xsd:sequence>
|
|
</xsd:group>
|
|
|
|
<xsd:group name="SCoordItem">
|
|
<xsd:sequence>
|
|
<xsd:element name="scoord">
|
|
<xsd:complexType>
|
|
<xsd:sequence>
|
|
<xsd:element name="relationship" type="dsr:RelationshipType"/>
|
|
<xsd:element name="concept" type="dsr:Code" minOccurs="0"/>
|
|
<xsd:element name="observation" type="dsr:Observation" minOccurs="0"/>
|
|
<xsd:group ref="dsr:ContentItem" minOccurs="0" maxOccurs="unbounded"/>
|
|
<xsd:element name="data" type="dsr:FloatPairList"/>
|
|
<xsd:element name="fiducial" minOccurs="0">
|
|
<xsd:complexType>
|
|
<xsd:attribute name="uid" type="dsr:UniqueIdentifier" use="required"/>
|
|
</xsd:complexType>
|
|
</xsd:element>
|
|
</xsd:sequence>
|
|
<xsd:attribute name="type" type="dsr:SCoordType" use="required"/>
|
|
<xsd:attribute name="id" type="xsd:nonNegativeInteger"/>
|
|
</xsd:complexType>
|
|
</xsd:element>
|
|
</xsd:sequence>
|
|
</xsd:group>
|
|
|
|
<xsd:group name="SCoord3DItem">
|
|
<xsd:sequence>
|
|
<xsd:element name="scoord3d">
|
|
<xsd:complexType>
|
|
<xsd:sequence>
|
|
<xsd:element name="relationship" type="dsr:RelationshipType"/>
|
|
<xsd:element name="concept" type="dsr:Code" minOccurs="0"/>
|
|
<xsd:element name="observation" type="dsr:Observation" minOccurs="0"/>
|
|
<xsd:group ref="dsr:ContentItem" minOccurs="0" maxOccurs="unbounded"/>
|
|
<xsd:element name="data">
|
|
<xsd:complexType>
|
|
<xsd:simpleContent>
|
|
<xsd:extension base="dsr:FloatTripletList">
|
|
<xsd:attribute name="uid" type="dsr:UniqueIdentifier" use="required"/>
|
|
</xsd:extension>
|
|
</xsd:simpleContent>
|
|
</xsd:complexType>
|
|
</xsd:element>
|
|
<xsd:element name="fiducial" minOccurs="0">
|
|
<xsd:complexType>
|
|
<xsd:attribute name="uid" type="dsr:UniqueIdentifier" use="required"/>
|
|
</xsd:complexType>
|
|
</xsd:element>
|
|
</xsd:sequence>
|
|
<xsd:attribute name="type" type="dsr:SCoord3DType" use="required"/>
|
|
<xsd:attribute name="id" type="xsd:nonNegativeInteger"/>
|
|
</xsd:complexType>
|
|
</xsd:element>
|
|
</xsd:sequence>
|
|
</xsd:group>
|
|
|
|
<xsd:group name="TCoordItem">
|
|
<xsd:sequence>
|
|
<xsd:element name="tcoord">
|
|
<xsd:complexType>
|
|
<xsd:sequence>
|
|
<xsd:element name="relationship" type="dsr:RelationshipType"/>
|
|
<xsd:element name="concept" type="dsr:Code" minOccurs="0"/>
|
|
<xsd:element name="observation" type="dsr:Observation" minOccurs="0"/>
|
|
<xsd:group ref="dsr:ContentItem" minOccurs="0" maxOccurs="unbounded"/>
|
|
<xsd:element name="data">
|
|
<xsd:complexType>
|
|
<xsd:simpleContent>
|
|
<!-- need to further specialize the data type (depending on 'type') -->
|
|
<xsd:extension base="xsd:string">
|
|
<xsd:attribute name="type" type="dsr:TCoordDataType" use="required"/>
|
|
</xsd:extension>
|
|
</xsd:simpleContent>
|
|
</xsd:complexType>
|
|
</xsd:element>
|
|
</xsd:sequence>
|
|
<xsd:attribute name="type" type="dsr:TCoordType" use="required"/>
|
|
<xsd:attribute name="id" type="xsd:nonNegativeInteger"/>
|
|
</xsd:complexType>
|
|
</xsd:element>
|
|
</xsd:sequence>
|
|
</xsd:group>
|
|
|
|
<xsd:group name="CompositeItem">
|
|
<xsd:sequence>
|
|
<xsd:element name="composite">
|
|
<xsd:complexType>
|
|
<xsd:sequence>
|
|
<xsd:element name="relationship" type="dsr:RelationshipType"/>
|
|
<xsd:element name="concept" type="dsr:Code" minOccurs="0"/>
|
|
<xsd:element name="observation" type="dsr:Observation" minOccurs="0"/>
|
|
<xsd:group ref="dsr:ContentItem" minOccurs="0" maxOccurs="unbounded"/>
|
|
<xsd:element name="value" type="dsr:ReferencedSOP"/>
|
|
</xsd:sequence>
|
|
<xsd:attribute name="id" type="xsd:nonNegativeInteger"/>
|
|
</xsd:complexType>
|
|
</xsd:element>
|
|
</xsd:sequence>
|
|
</xsd:group>
|
|
|
|
<xsd:group name="ImageItem">
|
|
<xsd:sequence>
|
|
<xsd:element name="image">
|
|
<xsd:complexType>
|
|
<xsd:sequence>
|
|
<xsd:element name="relationship" type="dsr:RelationshipType"/>
|
|
<xsd:element name="concept" type="dsr:Code" minOccurs="0"/>
|
|
<xsd:element name="observation" type="dsr:Observation" minOccurs="0"/>
|
|
<xsd:group ref="dsr:ContentItem" minOccurs="0" maxOccurs="unbounded"/>
|
|
<xsd:element name="value">
|
|
<xsd:complexType>
|
|
<xsd:complexContent>
|
|
<xsd:extension base="dsr:ReferencedSOP">
|
|
<xsd:sequence>
|
|
<xsd:choice>
|
|
<xsd:element name="frames" type="dsr:IntegerList" minOccurs="0"/>
|
|
<xsd:element name="segments" type="dsr:IntegerList" minOccurs="0"/>
|
|
</xsd:choice>
|
|
<xsd:element name="pstate" type="dsr:ReferencedSOP" minOccurs="0"/>
|
|
<xsd:element name="mapping" type="dsr:ReferencedSOP" minOccurs="0"/>
|
|
</xsd:sequence>
|
|
</xsd:extension>
|
|
</xsd:complexContent>
|
|
</xsd:complexType>
|
|
</xsd:element>
|
|
</xsd:sequence>
|
|
<xsd:attribute name="id" type="xsd:nonNegativeInteger"/>
|
|
</xsd:complexType>
|
|
</xsd:element>
|
|
</xsd:sequence>
|
|
</xsd:group>
|
|
|
|
<xsd:group name="WaveformItem">
|
|
<xsd:sequence>
|
|
<xsd:element name="waveform">
|
|
<xsd:complexType>
|
|
<xsd:sequence>
|
|
<xsd:element name="relationship" type="dsr:RelationshipType"/>
|
|
<xsd:element name="concept" type="dsr:Code" minOccurs="0"/>
|
|
<xsd:element name="observation" type="dsr:Observation" minOccurs="0"/>
|
|
<xsd:group ref="dsr:ContentItem" minOccurs="0" maxOccurs="unbounded"/>
|
|
<xsd:element name="value">
|
|
<xsd:complexType>
|
|
<xsd:complexContent>
|
|
<xsd:extension base="dsr:ReferencedSOP">
|
|
<xsd:sequence>
|
|
<xsd:element name="channels" type="dsr:IntegerPairList" minOccurs="0"/>
|
|
</xsd:sequence>
|
|
</xsd:extension>
|
|
</xsd:complexContent>
|
|
</xsd:complexType>
|
|
</xsd:element>
|
|
</xsd:sequence>
|
|
<xsd:attribute name="id" type="xsd:nonNegativeInteger"/>
|
|
</xsd:complexType>
|
|
</xsd:element>
|
|
</xsd:sequence>
|
|
</xsd:group>
|
|
|
|
<xsd:group name="ContainerItem">
|
|
<xsd:sequence>
|
|
<xsd:element name="container">
|
|
<xsd:complexType>
|
|
<xsd:sequence>
|
|
<!-- template identification only for container items -->
|
|
<xsd:element name="template" type="dsr:Template" minOccurs="0"/>
|
|
<xsd:element name="relationship" type="dsr:RelationshipType"/>
|
|
<xsd:element name="concept" type="dsr:Code" minOccurs="0"/>
|
|
<xsd:element name="observation" type="dsr:Observation" minOccurs="0"/>
|
|
<xsd:group ref="dsr:ContentItem" maxOccurs="unbounded"/>
|
|
</xsd:sequence>
|
|
<xsd:attribute name="flag" type="dsr:ContinuityFlag" use="required"/>
|
|
<xsd:attribute name="id" type="xsd:nonNegativeInteger"/>
|
|
</xsd:complexType>
|
|
</xsd:element>
|
|
</xsd:sequence>
|
|
</xsd:group>
|
|
|
|
<xsd:group name="ReferenceItem">
|
|
<xsd:sequence>
|
|
<xsd:element name="reference">
|
|
<xsd:complexType>
|
|
<xsd:sequence>
|
|
<xsd:element name="relationship" type="dsr:RelationshipType"/>
|
|
</xsd:sequence>
|
|
<xsd:attribute name="id" type="xsd:nonNegativeInteger"/>
|
|
<xsd:attribute name="ref" type="xsd:nonNegativeInteger" use="required"/>
|
|
</xsd:complexType>
|
|
</xsd:element>
|
|
</xsd:sequence>
|
|
</xsd:group>
|
|
|
|
<!-- Defined Terms / Enumerated Values -->
|
|
|
|
<xsd:simpleType name="ReportType">
|
|
<xsd:restriction base="xsd:string">
|
|
<xsd:enumeration value="Basic Text SR"/>
|
|
<xsd:enumeration value="Enhanced SR"/>
|
|
<xsd:enumeration value="Comprehensive SR"/>
|
|
<xsd:enumeration value="Key Object Selection Document"/>
|
|
<xsd:enumeration value="Mammography CAD SR"/>
|
|
<xsd:enumeration value="Chest CAD SR"/>
|
|
<xsd:enumeration value="Colon CAD SR"/>
|
|
<xsd:enumeration value="Procedure Log"/>
|
|
<xsd:enumeration value="X-Ray Radiation Dose SR"/>
|
|
<xsd:enumeration value="Spectacle Prescription Report"/>
|
|
<xsd:enumeration value="Macular Grid Thickness and Volume Report"/>
|
|
<xsd:enumeration value="Implantation Plan SR Document"/>
|
|
<xsd:enumeration value="Comprehensive 3D SR"/>
|
|
<xsd:enumeration value="Radiopharmaceutical Radiation Dose SR"/>
|
|
<xsd:enumeration value="Extensible SR"/>
|
|
<xsd:enumeration value="Acquisition Context SR"/>
|
|
<xsd:enumeration value="Simplified Adult Echo SR"/>
|
|
<xsd:enumeration value="Patient Radiation Dose SR"/>
|
|
<xsd:enumeration value="Performed Imaging Agent Administration SR"/>
|
|
<xsd:enumeration value="Planned Imaging Agent Administration SR"/>
|
|
</xsd:restriction>
|
|
</xsd:simpleType>
|
|
|
|
<xsd:simpleType name="EvidenceType">
|
|
<xsd:restriction base="xsd:string">
|
|
<xsd:enumeration value="Current Requested Procedure"/>
|
|
<xsd:enumeration value="Pertinent Other"/>
|
|
</xsd:restriction>
|
|
</xsd:simpleType>
|
|
|
|
<xsd:simpleType name="RelationshipType">
|
|
<xsd:restriction base="xsd:string">
|
|
<xsd:enumeration value="CONTAINS"/>
|
|
<xsd:enumeration value="HAS OBS CONTEXT"/>
|
|
<xsd:enumeration value="HAS ACQ CONTEXT"/>
|
|
<xsd:enumeration value="HAS CONCEPT MOD"/>
|
|
<xsd:enumeration value="HAS PROPERTIES"/>
|
|
<xsd:enumeration value="INFERRED FROM"/>
|
|
<xsd:enumeration value="SELECTED FROM"/>
|
|
</xsd:restriction>
|
|
</xsd:simpleType>
|
|
|
|
<xsd:simpleType name="SCoordType">
|
|
<xsd:restriction base="xsd:string">
|
|
<xsd:enumeration value="POINT"/>
|
|
<xsd:enumeration value="MULTIPOINT"/>
|
|
<xsd:enumeration value="POLYLINE"/>
|
|
<xsd:enumeration value="CIRCLE"/>
|
|
<xsd:enumeration value="ELLIPSE"/>
|
|
</xsd:restriction>
|
|
</xsd:simpleType>
|
|
|
|
<xsd:simpleType name="SCoord3DType">
|
|
<xsd:restriction base="xsd:string">
|
|
<xsd:enumeration value="POINT"/>
|
|
<xsd:enumeration value="MULTIPOINT"/>
|
|
<xsd:enumeration value="POLYLINE"/>
|
|
<xsd:enumeration value="POLYGON"/>
|
|
<xsd:enumeration value="ELLIPSE"/>
|
|
<xsd:enumeration value="ELLIPSOID"/>
|
|
</xsd:restriction>
|
|
</xsd:simpleType>
|
|
|
|
<xsd:simpleType name="TCoordType">
|
|
<xsd:restriction base="xsd:string">
|
|
<xsd:enumeration value="POINT"/>
|
|
<xsd:enumeration value="MULTIPOINT"/>
|
|
<xsd:enumeration value="SEGMENT"/>
|
|
<xsd:enumeration value="MULTISEGMENT"/>
|
|
<xsd:enumeration value="BEGIN"/>
|
|
<xsd:enumeration value="END"/>
|
|
</xsd:restriction>
|
|
</xsd:simpleType>
|
|
|
|
<xsd:simpleType name="TCoordDataType">
|
|
<xsd:restriction base="xsd:string">
|
|
<xsd:enumeration value="SAMPLE POSITION"/>
|
|
<xsd:enumeration value="TIME OFFSET"/>
|
|
<xsd:enumeration value="DATETIME"/>
|
|
</xsd:restriction>
|
|
</xsd:simpleType>
|
|
|
|
<xsd:simpleType name="PreliminaryFlag">
|
|
<xsd:restriction base="xsd:string">
|
|
<xsd:enumeration value="PRELIMINARY"/>
|
|
<xsd:enumeration value="FINAL"/>
|
|
</xsd:restriction>
|
|
</xsd:simpleType>
|
|
|
|
<xsd:simpleType name="CompletionFlag">
|
|
<xsd:restriction base="xsd:string">
|
|
<xsd:enumeration value="PARTIAL"/>
|
|
<xsd:enumeration value="COMPLETE"/>
|
|
</xsd:restriction>
|
|
</xsd:simpleType>
|
|
|
|
<xsd:simpleType name="VerificationFlag">
|
|
<xsd:restriction base="xsd:string">
|
|
<xsd:enumeration value="VERIFIED"/>
|
|
<xsd:enumeration value="UNVERIFIED"/>
|
|
</xsd:restriction>
|
|
</xsd:simpleType>
|
|
|
|
<xsd:simpleType name="ContinuityFlag">
|
|
<xsd:restriction base="xsd:string">
|
|
<xsd:enumeration value="SEPARATE"/>
|
|
<xsd:enumeration value="CONTINUOUS"/>
|
|
</xsd:restriction>
|
|
</xsd:simpleType>
|
|
|
|
<xsd:simpleType name="SynchronizationTrigger">
|
|
<xsd:restriction base="xsd:string">
|
|
<xsd:enumeration value="SOURCE"/>
|
|
<xsd:enumeration value="EXTERNAL"/>
|
|
<xsd:enumeration value="PASSTHRU"/>
|
|
<xsd:enumeration value="NO TRIGGER"/>
|
|
</xsd:restriction>
|
|
</xsd:simpleType>
|
|
|
|
<xsd:simpleType name="Charset">
|
|
<xsd:restriction base="xsd:string">
|
|
<xsd:enumeration value="ISO_IR 6"/>
|
|
<xsd:enumeration value="ISO_IR 100"/>
|
|
<xsd:enumeration value="ISO_IR 101"/>
|
|
<xsd:enumeration value="ISO_IR 109"/>
|
|
<xsd:enumeration value="ISO_IR 110"/>
|
|
<xsd:enumeration value="ISO_IR 144"/>
|
|
<xsd:enumeration value="ISO_IR 127"/>
|
|
<xsd:enumeration value="ISO_IR 126"/>
|
|
<xsd:enumeration value="ISO_IR 138"/>
|
|
<xsd:enumeration value="ISO_IR 148"/>
|
|
<xsd:enumeration value="ISO_IR 166"/>
|
|
<xsd:enumeration value="ISO 2022 IR 13\ISO 2022 IR 87"/>
|
|
<xsd:enumeration value="ISO 2022 IR 6\ISO 2022 IR 149"/>
|
|
<xsd:enumeration value="ISO 2022 IR 6\ISO 2022 IR 58"/>
|
|
<xsd:enumeration value="GB18030"/>
|
|
<xsd:enumeration value="GBK"/>
|
|
<xsd:enumeration value="ISO_IR 192"/>
|
|
</xsd:restriction>
|
|
</xsd:simpleType>
|
|
|
|
<xsd:simpleType name="Modality">
|
|
<xsd:restriction base="xsd:string">
|
|
<xsd:enumeration value="SR"/>
|
|
<xsd:enumeration value="KO"/>
|
|
</xsd:restriction>
|
|
</xsd:simpleType>
|
|
|
|
<xsd:simpleType name="Sex">
|
|
<xsd:restriction base="xsd:string">
|
|
<xsd:enumeration value="M"/>
|
|
<xsd:enumeration value="F"/>
|
|
<xsd:enumeration value="O"/>
|
|
</xsd:restriction>
|
|
</xsd:simpleType>
|
|
|
|
<xsd:simpleType name="YesNo">
|
|
<xsd:restriction base="xsd:string">
|
|
<xsd:enumeration value="YES"/>
|
|
<xsd:enumeration value="NO"/>
|
|
</xsd:restriction>
|
|
</xsd:simpleType>
|
|
|
|
<!-- Value Representations -->
|
|
|
|
<xsd:simpleType name="SignedLong">
|
|
<xsd:restriction base="xsd:int"/>
|
|
</xsd:simpleType>
|
|
|
|
<xsd:simpleType name="UnsignedLong">
|
|
<xsd:restriction base="xsd:unsignedInt"/>
|
|
</xsd:simpleType>
|
|
|
|
<xsd:simpleType name="FloatingPointDouble">
|
|
<xsd:restriction base="xsd:double"/>
|
|
</xsd:simpleType>
|
|
|
|
<xsd:simpleType name="IntegerString">
|
|
<xsd:restriction base="xsd:integer">
|
|
<xsd:totalDigits value="12"/>
|
|
</xsd:restriction>
|
|
</xsd:simpleType>
|
|
|
|
<xsd:simpleType name="DecimalString">
|
|
<xsd:restriction base="xsd:string">
|
|
<xsd:pattern value="[-+]?[0-9]*\.?[0-9]+([eE][-+]?[0-9]+)?"/>
|
|
<xsd:maxLength value="16"/>
|
|
</xsd:restriction>
|
|
</xsd:simpleType>
|
|
|
|
<xsd:simpleType name="ShortString">
|
|
<xsd:restriction base="xsd:string">
|
|
<xsd:minLength value="1"/>
|
|
<xsd:maxLength value="16"/>
|
|
</xsd:restriction>
|
|
</xsd:simpleType>
|
|
|
|
<xsd:simpleType name="LongString">
|
|
<xsd:restriction base="xsd:string">
|
|
<xsd:minLength value="1"/>
|
|
<xsd:maxLength value="64"/>
|
|
</xsd:restriction>
|
|
</xsd:simpleType>
|
|
|
|
<xsd:simpleType name="ShortText">
|
|
<xsd:restriction base="xsd:string">
|
|
<xsd:minLength value="1"/>
|
|
<xsd:maxLength value="1024"/>
|
|
</xsd:restriction>
|
|
</xsd:simpleType>
|
|
|
|
<xsd:simpleType name="UnlimitedText">
|
|
<xsd:restriction base="xsd:string">
|
|
<xsd:minLength value="1"/>
|
|
</xsd:restriction>
|
|
</xsd:simpleType>
|
|
|
|
<xsd:simpleType name="CodeString">
|
|
<xsd:restriction base="xsd:string">
|
|
<xsd:pattern value="[A-Za-z0-9_ ]{1,16}"/>
|
|
</xsd:restriction>
|
|
</xsd:simpleType>
|
|
|
|
<xsd:simpleType name="ApplicationEntity">
|
|
<xsd:restriction base="xsd:string">
|
|
<xsd:minLength value="1"/>
|
|
<xsd:maxLength value="16"/>
|
|
</xsd:restriction>
|
|
</xsd:simpleType>
|
|
|
|
<xsd:simpleType name="UniqueIdentifier">
|
|
<xsd:restriction base="xsd:string">
|
|
<xsd:maxLength value="64"/>
|
|
<xsd:pattern value="(([1-9][0-9]*)|0)(\.([1-9][0-9]*|0))+"/>
|
|
</xsd:restriction>
|
|
</xsd:simpleType>
|
|
|
|
<xsd:simpleType name="Date">
|
|
<xsd:restriction base="xsd:date">
|
|
<xsd:pattern value="[0-9]{4}\-[0-9]{2}\-[0-9]{2}"/>
|
|
</xsd:restriction>
|
|
</xsd:simpleType>
|
|
|
|
<xsd:simpleType name="Time">
|
|
<xsd:restriction base="xsd:time">
|
|
<xsd:pattern value="[0-9]{2}:[0-9]{2}(:[0-9]{2})?"/>
|
|
</xsd:restriction>
|
|
</xsd:simpleType>
|
|
|
|
<xsd:simpleType name="DateTime">
|
|
<!-- cannot use xsd:dateTime here since this would make the "seconds" part mandatory -->
|
|
<xsd:restriction base="xsd:string">
|
|
<xsd:pattern value="[0-9]{4}\-[0-9]{2}\-[0-9]{2}T[0-9]{2}:[0-9]{2}(:[0-9]{2}([\-+][0-9]{2}:[0-9]{2})?)?"/>
|
|
</xsd:restriction>
|
|
</xsd:simpleType>
|
|
|
|
<xsd:complexType name="PersonName">
|
|
<!-- minLength? -->
|
|
<xsd:sequence>
|
|
<xsd:element name="prefix" type="xsd:string" minOccurs="0"/>
|
|
<xsd:element name="first" type="xsd:string" minOccurs="0"/>
|
|
<xsd:element name="middle" type="xsd:string" minOccurs="0"/>
|
|
<xsd:element name="last" type="xsd:string" minOccurs="0"/>
|
|
<xsd:element name="suffix" type="xsd:string" minOccurs="0"/>
|
|
</xsd:sequence>
|
|
</xsd:complexType>
|
|
|
|
<!-- Other Data Types -->
|
|
|
|
<xsd:simpleType name="Timezone">
|
|
<xsd:restriction base="xsd:string">
|
|
<xsd:pattern value="[\-+][0-9]{4}"/>
|
|
</xsd:restriction>
|
|
</xsd:simpleType>
|
|
|
|
<xsd:simpleType name="IntegerList">
|
|
<xsd:restriction base="xsd:string">
|
|
<xsd:pattern value="\d+(,\d+)*"/>
|
|
</xsd:restriction>
|
|
</xsd:simpleType>
|
|
|
|
<xsd:simpleType name="IntegerPairList">
|
|
<xsd:restriction base="xsd:string">
|
|
<xsd:pattern value="\d+/\d+(,\d+/\d+)*"/>
|
|
</xsd:restriction>
|
|
</xsd:simpleType>
|
|
|
|
<xsd:simpleType name="FloatList">
|
|
<xsd:restriction base="xsd:string">
|
|
<xsd:pattern value="[\-+]?\d+(\.\d+)?(,[\-+]?\d+(\.\d+)?)*"/>
|
|
</xsd:restriction>
|
|
</xsd:simpleType>
|
|
|
|
<xsd:simpleType name="FloatPairList">
|
|
<xsd:restriction base="xsd:string">
|
|
<xsd:pattern value="[\-+]?\d+(\.\d+)?/[\-+]?\d+(\.\d+)?(,[\-+]?\d+(\.\d+)?/[\-+]?\d+(\.\d+)?)*"/>
|
|
</xsd:restriction>
|
|
</xsd:simpleType>
|
|
|
|
<xsd:simpleType name="FloatTripletList">
|
|
<xsd:restriction base="xsd:string">
|
|
<xsd:pattern value="[\-+]?\d+(\.\d+)?/[\-+]?\d+(\.\d+)?/[\-+]?\d+(\.\d+)?(,[\-+]?\d+(\.\d+)?/[\-+]?\d+(\.\d+)?/[\-+]?\d+(\.\d+)?)*"/>
|
|
</xsd:restriction>
|
|
</xsd:simpleType>
|
|
|
|
</xsd:schema>
|