Viewing XML file: NeuroMLFiles/Schemata/Miscellaneous/HDF5-File.xsd
Download this file
Validate this file against current (v1.8.1) Schema
Validate this file against all Schemata
Edit this file and revalidate it
<?xml version="1.0" encoding="UTF-8"?>
<!-- edited with XML Spy v4.2 U (http://www.xmlspy.com) by Robert McGrath (NCSA) -->
<!--W3C Schema generated by XML Spy v4.2 U (http://www.xmlspy.com)-->
<xs:schema targetNamespace="http://hdf.ncsa.uiuc.edu/DTDs/HDF5-File"
xmlns:xs="http://www.w3.org/2001/XMLSchema"
xmlns:hdf5="http://hdf.ncsa.uiuc.edu/DTDs/HDF5-File"
elementFormDefault="unqualified" attributeFormDefault="unqualified">
<xs:element name="ArrayDimension">
<xs:complexType>
<xs:attribute name="DimSize" type="xs:string" default="0"/>
<xs:attribute name="DimPerm" type="xs:string" default="0">
<xs:annotation>
<xs:documentation>This feature is not implemented in HDF5. This attribute should be ignored (and deleted as soon as possible).</xs:documentation>
</xs:annotation>
</xs:attribute>
</xs:complexType>
</xs:element>
<xs:element name="ArrayType">
<xs:complexType>
<xs:sequence>
<xs:element ref="hdf5:ArrayDimension" maxOccurs="32"/>
<xs:element ref="hdf5:DataType"/>
</xs:sequence>
<xs:attribute name="Ndims" type="xs:string"/>
</xs:complexType>
</xs:element>
<xs:element name="AtomicType">
<xs:complexType>
<xs:choice>
<xs:element ref="hdf5:IntegerType"/>
<xs:element ref="hdf5:FloatType"/>
<xs:element ref="hdf5:StringType"/>
<xs:element ref="hdf5:TimeType"/>
<xs:element ref="hdf5:BitfieldType"/>
<xs:element ref="hdf5:OpaqueType"/>
<xs:element ref="hdf5:ReferenceType"/>
<xs:element ref="hdf5:EnumType"/>
</xs:choice>
</xs:complexType>
</xs:element>
<xs:element name="Attribute">
<xs:complexType>
<xs:sequence>
<xs:element ref="hdf5:Dataspace"/>
<xs:element ref="hdf5:DataType"/>
<xs:element ref="hdf5:Data"/>
</xs:sequence>
<xs:attribute name="Name" type="xs:string" use="required"/>
</xs:complexType>
</xs:element>
<xs:element name="BitfieldType">
<xs:complexType>
<xs:attribute name="ByteOrder" use="required">
<xs:simpleType>
<xs:restriction base="xs:NMTOKEN">
<xs:enumeration value="BE"/>
<xs:enumeration value="LE"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="Size" use="required">
<xs:simpleType>
<xs:restriction base="xs:NMTOKEN">
<xs:enumeration value="1"/>
<xs:enumeration value="2"/>
<xs:enumeration value="4"/>
<xs:enumeration value="8"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
</xs:complexType>
</xs:element>
<xs:element name="ChunkDimension">
<xs:complexType>
<xs:attribute name="DimSize" type="xs:string" default="0"/>
</xs:complexType>
</xs:element>
<xs:element name="ChunkedLayout">
<xs:complexType>
<xs:sequence>
<xs:element name="Compression" minOccurs="0">
<xs:annotation>
<xs:documentation>This element is denigrated. Compression is one of the required filters</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element ref="hdf5:ChunkDimension" maxOccurs="32"/>
<xs:element ref="hdf5:RequiredFilter" minOccurs="0" maxOccurs="32"/>
</xs:sequence>
<xs:attribute name="Ndims" type="xs:string" use="required"/>
</xs:complexType>
</xs:element>
<xs:element name="CompactLayout">
<xs:complexType/>
</xs:element>
<xs:element name="ComplexDataspace">
<xs:annotation>
<xs:documentation>This option is not implemented.</xs:documentation>
</xs:annotation>
<xs:complexType/>
</xs:element>
<xs:element name="CompoundType">
<xs:complexType>
<xs:sequence maxOccurs="unbounded">
<xs:element ref="hdf5:Field"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="Compression">
<xs:annotation>
<xs:documentation>This element is denigrated, compression filters are under RequiredFilters</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:string"/>
</xs:simpleType>
</xs:element>
<xs:element name="ContiguousLayout">
<xs:complexType/>
</xs:element>
<xs:element name="Data">
<xs:complexType>
<xs:choice>
<xs:element ref="hdf5:NativeHDF5"/>
<xs:element ref="hdf5:DataFromFile"/>
<xs:element ref="hdf5:NoData"/>
</xs:choice>
</xs:complexType>
</xs:element>
<xs:element name="DataFromFile" type="xs:string">
<xs:annotation>
<xs:documentation>Format of the data in this element is not defined.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="DataType">
<xs:complexType>
<xs:choice>
<xs:element ref="hdf5:AtomicType"/>
<xs:element ref="hdf5:CompoundType"/>
<xs:element ref="hdf5:VLType"/>
<xs:element ref="hdf5:ArrayType"/>
</xs:choice>
</xs:complexType>
</xs:element>
<xs:element name="Dataset">
<xs:complexType>
<xs:choice>
<xs:element ref="hdf5:DatasetPtr"/>
<xs:sequence>
<xs:element ref="hdf5:StorageLayout" minOccurs="0"/>
<xs:element ref="hdf5:FillValueInfo" minOccurs="0"/>
<xs:element ref="hdf5:Dataspace"/>
<xs:choice>
<xs:element ref="hdf5:DataType"/>
<xs:element ref="hdf5:NamedDataTypePtr"/>
</xs:choice>
<xs:element ref="hdf5:Attribute" minOccurs="0" maxOccurs="unbounded"/>
<xs:element ref="hdf5:Data"/>
</xs:sequence>
</xs:choice>
<xs:attribute name="Name" type="xs:string" use="required"/>
<xs:attribute name="OBJ-XID" type="xs:ID" use="required"/>
<xs:attribute name="H5Path" type="xs:string" use="required"/>
<xs:attribute name="Parents" type="xs:IDREFS" use="required"/>
<xs:attribute name="H5ParentPaths" type="xs:string" use="required"/>
</xs:complexType>
</xs:element>
<xs:element name="DatasetPtr">
<xs:complexType>
<xs:attribute name="OBJ-XID" type="xs:IDREF" use="required"/>
<xs:attribute name="H5Path" type="xs:string" use="required"/>
</xs:complexType>
</xs:element>
<xs:element name="Dataspace">
<xs:complexType>
<xs:choice>
<xs:element ref="hdf5:ScalarDataspace"/>
<xs:element ref="hdf5:SimpleDataspace"/>
<xs:element ref="hdf5:ComplexDataspace"/>
</xs:choice>
</xs:complexType>
</xs:element>
<xs:element name="Dimension">
<xs:complexType>
<xs:attribute name="DimSize" type="xs:string" default="0"/>
<xs:attribute name="MaxDimSize" type="xs:string"/>
</xs:complexType>
</xs:element>
<xs:element name="EnumElement" type="xs:string"/>
<xs:element name="EnumType">
<xs:complexType>
<xs:sequence maxOccurs="unbounded">
<xs:element ref="hdf5:DataType"/>
<xs:sequence minOccurs="0" maxOccurs="unbounded">
<xs:element ref="hdf5:EnumElement"/>
<xs:element ref="hdf5:EnumValue"/>
</xs:sequence>
</xs:sequence>
<xs:attribute name="Nelems" type="xs:string" use="required"/>
</xs:complexType>
</xs:element>
<xs:element name="EnumValue" type="xs:string"/>
<xs:element name="ExternalFileInfo">
<xs:complexType>
<xs:attribute name="FileName" type="xs:string"/>
<xs:attribute name="ExternalFileOffset" type="xs:string"/>
<xs:attribute name="ExternalFileSize" type="xs:string"/>
</xs:complexType>
</xs:element>
<xs:element name="ExternalLayout">
<xs:complexType>
<xs:sequence maxOccurs="unbounded">
<xs:element ref="hdf5:ExternalFileInfo"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="Field">
<xs:complexType>
<xs:sequence>
<xs:element ref="hdf5:DataType"/>
</xs:sequence>
<xs:attribute name="FieldName" type="xs:string" use="required"/>
</xs:complexType>
</xs:element>
<xs:element name="FloatType">
<xs:complexType>
<xs:attribute name="ByteOrder" use="required">
<xs:simpleType>
<xs:restriction base="xs:NMTOKEN">
<xs:enumeration value="BE"/>
<xs:enumeration value="LE"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="Size" use="required">
<xs:simpleType>
<xs:restriction base="xs:NMTOKEN">
<xs:enumeration value="4"/>
<xs:enumeration value="8"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="SignBitLocation" type="xs:string" use="required"/>
<xs:attribute name="ExponentBits" type="xs:string" use="required"/>
<xs:attribute name="ExponentLocation" type="xs:string" use="required"/>
<xs:attribute name="MantissaBits" type="xs:string" use="required"/>
<xs:attribute name="MantissaLocation" type="xs:string" use="required"/>
</xs:complexType>
</xs:element>
<xs:element name="Group">
<xs:complexType>
<xs:choice>
<xs:element ref="hdf5:GroupPtr"/>
<xs:sequence>
<xs:element ref="hdf5:Attribute" minOccurs="0" maxOccurs="unbounded"/>
<xs:choice minOccurs="0" maxOccurs="unbounded">
<xs:element ref="hdf5:Group"/>
<xs:element ref="hdf5:Dataset"/>
<xs:element ref="hdf5:NamedDataType"/>
<xs:element ref="hdf5:SoftLink"/>
</xs:choice>
</xs:sequence>
</xs:choice>
<xs:attribute name="Name" type="xs:string" use="required"/>
<xs:attribute name="OBJ-XID" type="xs:ID" use="required"/>
<xs:attribute name="H5Path" type="xs:string" use="required"/>
<xs:attribute name="Parents" type="xs:IDREFS" use="required"/>
<xs:attribute name="H5ParentPaths" type="xs:string" use="required"/>
</xs:complexType>
</xs:element>
<xs:element name="GroupPtr">
<xs:complexType>
<xs:attribute name="OBJ-XID" type="xs:IDREF" use="required"/>
<xs:attribute name="H5Path" type="xs:string" use="required"/>
<xs:attribute name="Parents" type="xs:IDREFS" use="required"/>
<xs:attribute name="H5ParentPaths" type="xs:string" use="required"/>
</xs:complexType>
</xs:element>
<xs:element name="HDF5-File">
<xs:complexType>
<xs:sequence>
<xs:element ref="hdf5:UserBlock" minOccurs="0"/>
<xs:element ref="hdf5:SuperBlock" minOccurs="0"/>
<xs:element ref="hdf5:RootGroup"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="IntegerType">
<xs:complexType>
<xs:attribute name="ByteOrder" use="required">
<xs:simpleType>
<xs:restriction base="xs:NMTOKEN">
<xs:enumeration value="BE"/>
<xs:enumeration value="LE"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="Sign" use="required">
<xs:simpleType>
<xs:restriction base="xs:NMTOKEN">
<xs:enumeration value="true"/>
<xs:enumeration value="false"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="Size" use="required">
<xs:simpleType>
<xs:restriction base="xs:NMTOKEN">
<xs:enumeration value="1"/>
<xs:enumeration value="2"/>
<xs:enumeration value="4"/>
<xs:enumeration value="8"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
</xs:complexType>
</xs:element>
<xs:element name="NamedDataType">
<xs:complexType>
<xs:choice>
<xs:element ref="hdf5:NamedDataTypePtr"/>
<xs:sequence>
<xs:element ref="hdf5:Attribute" minOccurs="0" maxOccurs="unbounded"/>
<xs:element ref="hdf5:DataType"/>
</xs:sequence>
</xs:choice>
<xs:attribute name="Name" type="xs:string" use="required"/>
<xs:attribute name="OBJ-XID" type="xs:ID" use="required"/>
<xs:attribute name="H5Path" type="xs:string" use="optional"/>
<xs:attribute name="Parents" type="xs:IDREFS" use="required"/>
<xs:attribute name="H5ParentPaths" type="xs:string" use="required"/>
</xs:complexType>
</xs:element>
<xs:element name="NamedDataTypePtr">
<xs:complexType>
<xs:attribute name="OBJ-XID" type="xs:IDREF" use="required"/>
<xs:attribute name="H5Path" type="xs:string" use="optional"/>
</xs:complexType>
</xs:element>
<xs:element name="NativeHDF5">
<xs:annotation>
<xs:documentation>This element needs to be refined to implement a structured pointer to a file+dataset+selection</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:attribute name="xlink_type" type="xs:string" fixed="locator"/>
<xs:attribute name="xlink_href" type="xs:string" use="required"/>
<xs:attribute name="H5Path" type="xs:string" use="required"/>
<xs:attribute name="H5ObjectType" use="required">
<xs:simpleType>
<xs:restriction base="xs:NMTOKEN">
<xs:enumeration value="HDF5Attribute"/>
<xs:enumeration value="HDF5Dataset"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="OBJ-XID" type="xs:ID" use="required"/>
<xs:attribute name="start" type="xs:string"/>
<xs:attribute name="nelems" type="xs:string" use="required"/>
<xs:attribute name="stride" type="xs:string"/>
<xs:attribute name="block" type="xs:string"/>
</xs:complexType>
</xs:element>
<xs:element name="NoData">
<xs:complexType>
<xs:attribute name="FillValue" type="xs:string" default="0"/>
</xs:complexType>
</xs:element>
<xs:element name="ObjectReferenceType">
<xs:complexType/>
</xs:element>
<xs:element name="OpaqueType">
<xs:complexType>
<xs:attribute name="Tag" type="xs:string" use="required"/>
<xs:attribute name="Size" type="xs:string" use="required"/>
</xs:complexType>
</xs:element>
<xs:element name="ReferenceType">
<xs:complexType>
<xs:choice>
<xs:element ref="hdf5:ObjectReferenceType"/>
<xs:element ref="hdf5:RegionReferenceType"/>
</xs:choice>
</xs:complexType>
</xs:element>
<xs:element name="RegionReferenceType">
<xs:annotation>
<xs:documentation>This element is not specified yet in this schema.</xs:documentation>
</xs:annotation>
<xs:complexType/>
</xs:element>
<xs:element name="RootGroup">
<xs:complexType>
<xs:sequence>
<xs:element ref="hdf5:Attribute" minOccurs="0" maxOccurs="unbounded"/>
<xs:choice minOccurs="0" maxOccurs="unbounded">
<xs:element ref="hdf5:Group"/>
<xs:element ref="hdf5:Dataset"/>
<xs:element ref="hdf5:NamedDataType"/>
<xs:element ref="hdf5:SoftLink"/>
</xs:choice>
</xs:sequence>
<xs:attribute name="Name" type="xs:string" fixed="/"/>
<xs:attribute name="OBJ-XID" type="xs:ID" use="required"/>
<xs:attribute name="H5Path" type="xs:string" use="required" fixed="/"/>
</xs:complexType>
</xs:element>
<xs:element name="ScalarDataspace">
<xs:complexType/>
</xs:element>
<xs:element name="SimpleDataspace">
<xs:complexType>
<xs:sequence maxOccurs="32">
<xs:element ref="hdf5:Dimension"/>
</xs:sequence>
<xs:attribute name="Ndims" use="required">
<xs:simpleType>
<xs:restriction base="xs:positiveInteger">
<xs:minInclusive value="1"/>
<xs:maxInclusive value="32"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
</xs:complexType>
</xs:element>
<xs:element name="SoftLink">
<xs:complexType>
<xs:attribute name="LinkName" type="xs:string" use="required"/>
<xs:attribute name="TargetPath" type="xs:string" use="required"/>
<xs:attribute name="TargetObj" type="xs:IDREF"/>
<xs:attribute name="OBJ-XID" type="xs:ID" use="required"/>
<xs:attribute name="H5SourcePath" type="xs:string" use="required"/>
<xs:attribute name="Parents" type="xs:IDREFS" use="required"/>
<xs:attribute name="H5ParentPaths" type="xs:string" use="required"/>
</xs:complexType>
</xs:element>
<xs:element name="StorageLayout">
<xs:complexType>
<xs:choice>
<xs:element ref="hdf5:ContiguousLayout"/>
<xs:element ref="hdf5:ChunkedLayout"/>
<xs:element ref="hdf5:CompactLayout"/>
<xs:element ref="hdf5:ExternalLayout"/>
</xs:choice>
</xs:complexType>
</xs:element>
<xs:element name="StringType">
<xs:complexType>
<xs:attribute name="Cset" use="required">
<xs:simpleType>
<xs:restriction base="xs:NMTOKEN">
<xs:enumeration value="H5T_CSET_ASCII"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="StrSize" type="xs:string" use="required"/>
<xs:attribute name="StrPad" use="required">
<xs:simpleType>
<xs:restriction base="xs:NMTOKEN">
<xs:enumeration value="H5T_STR_NULLTERM"/>
<xs:enumeration value="H5T_STR_NULLPAD"/>
<xs:enumeration value="H5T_STR_SPACEPAD"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
</xs:complexType>
</xs:element>
<xs:element name="SuperBlock">
<xs:complexType>
<xs:attribute name="FormatVersion" type="xs:string" use="required"/>
<xs:attribute name="LengthSize" type="xs:string" use="required"/>
<xs:attribute name="OffsetSize" type="xs:string" use="required"/>
</xs:complexType>
</xs:element>
<xs:element name="TimeType">
<xs:complexType/>
</xs:element>
<xs:element name="UserBlock" type="xs:string"/>
<xs:element name="VLType">
<xs:complexType>
<xs:sequence>
<xs:element ref="hdf5:DataType"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="RequiredFilter">
<xs:complexType>
<xs:choice>
<xs:element ref="hdf5:Deflate" minOccurs="0"/>
<xs:element ref="hdf5:Fletcher32" minOccurs="0"/>
<xs:element ref="hdf5:Shuffle" minOccurs="0"/>
<xs:element ref="hdf5:SZIP" minOccurs="0"/>
</xs:choice>
</xs:complexType>
</xs:element>
<xs:element name="Deflate">
<xs:complexType>
<xs:attribute name="Level" use="optional" default="6">
<xs:simpleType>
<xs:restriction base="xs:int">
<xs:minInclusive value="1"/>
<xs:maxInclusive value="9"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
</xs:complexType>
</xs:element>
<xs:element name="Fletcher32"/>
<xs:element name="Shuffle"/>
<xs:element name="SZIP">
<xs:complexType>
<xs:attribute name="Pixels_per_block" type="xs:nonNegativeInteger" use="required"/>
<xs:attribute name="Mode" use="optional">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:enumeration value="Hardware"/>
<xs:enumeration value="K13"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="Coding" use="optional" default="Entropy">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:enumeration value="Entropy"/>
<xs:enumeration value="NN"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="ByteOrder" use="required">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:enumeration value="LSB"/>
<xs:enumeration value="MSB"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="Header" use="optional">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:enumeration value="Raw"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
</xs:complexType>
</xs:element>
<xs:element name="FillValueInfo">
<xs:complexType>
<xs:sequence>
<xs:element ref="hdf5:FillValue"/>
</xs:sequence>
<xs:attribute name="AllocationTime" use="required">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:enumeration value="Early"/>
<xs:enumeration value="Late"/>
<xs:enumeration value="Incremental"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="FillTime" use="required">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:enumeration value="FillOnAlloc"/>
<xs:enumeration value="FillNever"/>
<xs:enumeration value="FillIfSet"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
</xs:complexType>
</xs:element>
<xs:element name="FillValue">
<xs:complexType>
<xs:choice>
<xs:element ref="hdf5:Data"/>
<xs:element ref="hdf5:NoFill"/>
</xs:choice>
</xs:complexType>
</xs:element>
<xs:element name="NoFill"/>
</xs:schema>
|