HyperNIEM 5

Disclaimer: This tool was developed by Tom Carlson Consulting LLC. It was created from the official distribution of the data model. Tom Carlson Consulting LLC makes neither claim nor warranty that this tool provides an accurate representation of the NIEM data model. For official and authoritative representations, please visit the official NIEM release website.


<?xml version="1.0" encoding="UTF-8"?>
<xs:schema targetNamespace="http://release.niem.gov/niem/proxy/niem-xs/5.0/" version="1" xml:lang="en-US" xsi:schemaLocation="http://release.niem.gov/niem/appinfo/5.0/ ../utility/appinfo.xsd http://release.niem.gov/niem/conformanceTargets/3.0/ ../utility/conformanceTargets.xsd" ct:conformanceTargets="http://reference.niem.gov/niem/specification/naming-and-design-rules/5.0/#ReferenceSchemaDocument"
  xmlns:appinfo="http://release.niem.gov/niem/appinfo/5.0/"
  xmlns:ct="http://release.niem.gov/niem/conformanceTargets/3.0/"
  xmlns:niem-xs="http://release.niem.gov/niem/proxy/niem-xs/5.0/"
  xmlns:structures="http://release.niem.gov/niem/structures/5.0/"
  xmlns:xs="http://www.w3.org/2001/XMLSchema"
  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  <xs:annotation>
    <xs:documentation>Proxy types that carry dictionary metadata and have XML data type simple contents.</xs:documentation>
    <xs:appinfo>
      <appinfo:LocalTerm term="maxInclusive" definition="An inclusive maximum value. To be valid, a value must be less than or equal to the value of xs:maxInclusive."/>
    </xs:appinfo>
  </xs:annotation>
  <xs:import namespace="http://release.niem.gov/niem/structures/5.0/" schemaLocation="../utility/structures.xsd"/>
  <xs:complexType name="anyURI">
    <xs:annotation>
      <xs:documentation>A data type for a Uniform Resource Identifier Reference (URI).  A value can be absolute or relative, and may have an optional fragment identifier (i.e., it may be a URI Reference).</xs:documentation>
    </xs:annotation>
    <xs:simpleContent>
      <xs:extension base="xs:anyURI">
        <xs:attributeGroup ref="structures:SimpleObjectAttributeGroup"/>
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>
  <xs:complexType name="base64Binary">
    <xs:annotation>
      <xs:documentation>A data type for Base64-encoded binary data.</xs:documentation>
    </xs:annotation>
    <xs:simpleContent>
      <xs:extension base="xs:base64Binary">
        <xs:attributeGroup ref="structures:SimpleObjectAttributeGroup"/>
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>
  <xs:complexType name="boolean">
    <xs:annotation>
      <xs:documentation>A data type for binary-valued logic (true/false).</xs:documentation>
    </xs:annotation>
    <xs:simpleContent>
      <xs:extension base="xs:boolean">
        <xs:attributeGroup ref="structures:SimpleObjectAttributeGroup"/>
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>
  <xs:complexType name="byte">
    <xs:annotation>
      <xs:documentation>A data type that is derived from short by setting the value of maxInclusive to be 127 and minInclusive to be -128.</xs:documentation>
    </xs:annotation>
    <xs:simpleContent>
      <xs:extension base="xs:byte">
        <xs:attributeGroup ref="structures:SimpleObjectAttributeGroup"/>
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>
  <xs:complexType name="date">
    <xs:annotation>
      <xs:documentation>A data type for a calendar date with the format CCYY-MM-DD.</xs:documentation>
    </xs:annotation>
    <xs:simpleContent>
      <xs:extension base="xs:date">
        <xs:attributeGroup ref="structures:SimpleObjectAttributeGroup"/>
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>
  <xs:complexType name="dateTime">
    <xs:annotation>
      <xs:documentation>A data type for objects with integer-valued year, month, day, hour and minute properties, a decimal-valued second property, and a boolean timezoned property.</xs:documentation>
    </xs:annotation>
    <xs:simpleContent>
      <xs:extension base="xs:dateTime">
        <xs:attributeGroup ref="structures:SimpleObjectAttributeGroup"/>
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>
  <xs:complexType name="decimal">
    <xs:annotation>
      <xs:documentation>A data type for arbitrary precision decimal numbers.</xs:documentation>
    </xs:annotation>
    <xs:simpleContent>
      <xs:extension base="xs:decimal">
        <xs:attributeGroup ref="structures:SimpleObjectAttributeGroup"/>
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>
  <xs:complexType name="double">
    <xs:annotation>
      <xs:documentation>A data type that is patterned after the IEEE double-precision 64-bit floating point type [IEEE 754-1985]. The basic value space of double consists of the values m x 2^e, where m is an integer whose absolute value is less than 2^53, and e is an integer between -1075 and 970, inclusive. In addition to the basic value space described above, the value space of double also contains the following three special values: positive and negative infinity and not-a-number (NaN).</xs:documentation>
    </xs:annotation>
    <xs:simpleContent>
      <xs:extension base="xs:double">
        <xs:attributeGroup ref="structures:SimpleObjectAttributeGroup"/>
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>
  <xs:complexType name="duration">
    <xs:annotation>
      <xs:documentation>A data type for a duration of time with the format PnYnMnDTnHnMnS, where nY is the number of years, nM is the number of months, nD is the number of days, nH is the number of hours, nM is the number of minutes, and nS is the number of seconds.</xs:documentation>
    </xs:annotation>
    <xs:simpleContent>
      <xs:extension base="xs:duration">
        <xs:attributeGroup ref="structures:SimpleObjectAttributeGroup"/>
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>
  <xs:complexType name="float">
    <xs:annotation>
      <xs:documentation>A data type that is patterned after the IEEE single-precision 32-bit floating point type [IEEE 754-1985]. The basic value space of float consists of the values m x 2^e, where m is an integer whose absolute value is less than 2^24, and e is an integer between -149 and 104, inclusive. In addition to the basic value space described above, the value space of float also contains the following three special values: positive and negative infinity and not-a-number (NaN).</xs:documentation>
    </xs:annotation>
    <xs:simpleContent>
      <xs:extension base="xs:float">
        <xs:attributeGroup ref="structures:SimpleObjectAttributeGroup"/>
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>
  <xs:complexType name="gDay">
    <xs:annotation>
      <xs:documentation>A data type for a gregorian day that recurs, specifically a day of the month such as the 5th of the month. Arbitrary recurring days are not supported by this datatype. The value space of gDay is the space of a set of calendar dates as defined in Section 3 of [ISO 8601]. Specifically, it is a set of one-day long, monthly periodic instances.</xs:documentation>
    </xs:annotation>
    <xs:simpleContent>
      <xs:extension base="xs:gDay">
        <xs:attributeGroup ref="structures:SimpleObjectAttributeGroup"/>
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>
  <xs:complexType name="gMonth">
    <xs:annotation>
      <xs:documentation>A data type for a Gregorian month with the format --MM--.</xs:documentation>
    </xs:annotation>
    <xs:simpleContent>
      <xs:extension base="xs:gMonth">
        <xs:attributeGroup ref="structures:SimpleObjectAttributeGroup"/>
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>
  <xs:complexType name="gMonthDay">
    <xs:annotation>
      <xs:documentation>A data type for a gregorian date that recurs, specifically a day of the year such as the third of May. Arbitrary recurring dates are not supported by this datatype. The value space of gMonthDay is the set of calendar dates, as defined in Section 3 of [ISO 8601]. Specifically, it is a set of one-day long, annually periodic instances.</xs:documentation>
    </xs:annotation>
    <xs:simpleContent>
      <xs:extension base="xs:gMonthDay">
        <xs:attributeGroup ref="structures:SimpleObjectAttributeGroup"/>
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>
  <xs:complexType name="gYear">
    <xs:annotation>
      <xs:documentation>A data type for a Gregorian calendar year with the format CCYY.</xs:documentation>
    </xs:annotation>
    <xs:simpleContent>
      <xs:extension base="xs:gYear">
        <xs:attributeGroup ref="structures:SimpleObjectAttributeGroup"/>
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>
  <xs:complexType name="gYearMonth">
    <xs:annotation>
      <xs:documentation>A data type for a specific gregorian month in a specific gregorian year.</xs:documentation>
    </xs:annotation>
    <xs:simpleContent>
      <xs:extension base="xs:gYearMonth">
        <xs:attributeGroup ref="structures:SimpleObjectAttributeGroup"/>
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>
  <xs:complexType name="hexBinary">
    <xs:annotation>
      <xs:documentation>A data type for hex-encoded binary data.</xs:documentation>
    </xs:annotation>
    <xs:simpleContent>
      <xs:extension base="xs:hexBinary">
        <xs:attributeGroup ref="structures:SimpleObjectAttributeGroup"/>
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>
  <xs:complexType name="int">
    <xs:annotation>
      <xs:documentation>A data type that is derived from long by setting the value of maxInclusive to be 2147483647 and minInclusive to be -2147483648.</xs:documentation>
    </xs:annotation>
    <xs:simpleContent>
      <xs:extension base="xs:int">
        <xs:attributeGroup ref="structures:SimpleObjectAttributeGroup"/>
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>
  <xs:complexType name="integer">
    <xs:annotation>
      <xs:documentation>A data type for the standard mathematical concept of integer numbers.</xs:documentation>
    </xs:annotation>
    <xs:simpleContent>
      <xs:extension base="xs:integer">
        <xs:attributeGroup ref="structures:SimpleObjectAttributeGroup"/>
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>
  <xs:complexType name="language">
    <xs:annotation>
      <xs:documentation>A data type that represents natural language identifiers as defined by by [RFC 3066].</xs:documentation>
    </xs:annotation>
    <xs:simpleContent>
      <xs:extension base="xs:language">
        <xs:attributeGroup ref="structures:SimpleObjectAttributeGroup"/>
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>
  <xs:complexType name="long">
    <xs:annotation>
      <xs:documentation>A data type that is derived from integer by setting the value of maxInclusive to be 9223372036854775807 and minInclusive to be -9223372036854775808.</xs:documentation>
    </xs:annotation>
    <xs:simpleContent>
      <xs:extension base="xs:long">
        <xs:attributeGroup ref="structures:SimpleObjectAttributeGroup"/>
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>
  <xs:complexType name="negativeInteger">
    <xs:annotation>
      <xs:documentation>A data type that is derived from nonPositiveInteger by setting the value of maxInclusive to be -1.</xs:documentation>
    </xs:annotation>
    <xs:simpleContent>
      <xs:extension base="xs:negativeInteger">
        <xs:attributeGroup ref="structures:SimpleObjectAttributeGroup"/>
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>
  <xs:complexType name="nonNegativeInteger">
    <xs:annotation>
      <xs:documentation>A data type for an integer with a minimum value of 0.</xs:documentation>
    </xs:annotation>
    <xs:simpleContent>
      <xs:extension base="xs:nonNegativeInteger">
        <xs:attributeGroup ref="structures:SimpleObjectAttributeGroup"/>
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>
  <xs:complexType name="nonPositiveInteger">
    <xs:annotation>
      <xs:documentation>A data type for a lexical representation consisting of an optional preceding sign followed by a finite-length sequence of decimal digits.</xs:documentation>
    </xs:annotation>
    <xs:simpleContent>
      <xs:extension base="xs:nonPositiveInteger">
        <xs:attributeGroup ref="structures:SimpleObjectAttributeGroup"/>
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>
  <xs:complexType name="normalizedString">
    <xs:annotation>
      <xs:documentation>A data type that represents white space normalized strings. The value space of normalizedString is the set of strings that do not contain the carriage return, line feed nor tab characters.</xs:documentation>
    </xs:annotation>
    <xs:simpleContent>
      <xs:extension base="xs:normalizedString">
        <xs:attributeGroup ref="structures:SimpleObjectAttributeGroup"/>
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>
  <xs:complexType name="positiveInteger">
    <xs:annotation>
      <xs:documentation>A data type that is derived from nonNegativeInteger by setting the value of minInclusive to be 1.</xs:documentation>
    </xs:annotation>
    <xs:simpleContent>
      <xs:extension base="xs:positiveInteger">
        <xs:attributeGroup ref="structures:SimpleObjectAttributeGroup"/>
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>
  <xs:complexType name="short">
    <xs:annotation>
      <xs:documentation>A data type that is derived from int by setting the value of maxInclusive to be 32767 and minInclusive to be -32768.</xs:documentation>
    </xs:annotation>
    <xs:simpleContent>
      <xs:extension base="xs:short">
        <xs:attributeGroup ref="structures:SimpleObjectAttributeGroup"/>
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>
  <xs:complexType name="string">
    <xs:annotation>
      <xs:documentation>A data type for character strings in XML.</xs:documentation>
    </xs:annotation>
    <xs:simpleContent>
      <xs:extension base="xs:string">
        <xs:attributeGroup ref="structures:SimpleObjectAttributeGroup"/>
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>
  <xs:complexType name="time">
    <xs:annotation>
      <xs:documentation>A data type for an instant of time with the format hh:mm:ss.sss.</xs:documentation>
    </xs:annotation>
    <xs:simpleContent>
      <xs:extension base="xs:time">
        <xs:attributeGroup ref="structures:SimpleObjectAttributeGroup"/>
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>
  <xs:complexType name="token">
    <xs:annotation>
      <xs:documentation>A data type for tokenized strings.</xs:documentation>
    </xs:annotation>
    <xs:simpleContent>
      <xs:extension base="xs:token">
        <xs:attributeGroup ref="structures:SimpleObjectAttributeGroup"/>
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>
  <xs:complexType name="unsignedByte">
    <xs:annotation>
      <xs:documentation>A data type that is derived from unsignedShort by setting the value of maxInclusive to be 255.</xs:documentation>
    </xs:annotation>
    <xs:simpleContent>
      <xs:extension base="xs:unsignedByte">
        <xs:attributeGroup ref="structures:SimpleObjectAttributeGroup"/>
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>
  <xs:complexType name="unsignedInt">
    <xs:annotation>
      <xs:documentation>A data type that is derived from unsignedLong by setting the value of maxInclusive to be 4294967295.</xs:documentation>
    </xs:annotation>
    <xs:simpleContent>
      <xs:extension base="xs:unsignedInt">
        <xs:attributeGroup ref="structures:SimpleObjectAttributeGroup"/>
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>
  <xs:complexType name="unsignedLong">
    <xs:annotation>
      <xs:documentation>A data type that is derived from nonNegativeInteger by setting the value of maxInclusive to be 18446744073709551615.</xs:documentation>
    </xs:annotation>
    <xs:simpleContent>
      <xs:extension base="xs:unsignedLong">
        <xs:attributeGroup ref="structures:SimpleObjectAttributeGroup"/>
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>
  <xs:complexType name="unsignedShort">
    <xs:annotation>
      <xs:documentation>A data type that is derived from unsignedInt by setting the value of maxInclusive to be 65535.</xs:documentation>
    </xs:annotation>
    <xs:simpleContent>
      <xs:extension base="xs:unsignedShort">
        <xs:attributeGroup ref="structures:SimpleObjectAttributeGroup"/>
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>
</xs:schema>