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/domains/infrastructureProtection/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:ip="http://release.niem.gov/niem/domains/infrastructureProtection/5.0/"
  xmlns:nc="http://release.niem.gov/niem/niem-core/5.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>Infrastructure Protection</xs:documentation>
  </xs:annotation>
  <xs:import namespace="http://release.niem.gov/niem/niem-core/5.0/" schemaLocation="../niem-core.xsd"/>
  <xs:import namespace="http://release.niem.gov/niem/proxy/niem-xs/5.0/" schemaLocation="../adapters/niem-xs.xsd"/>
  <xs:import namespace="http://release.niem.gov/niem/structures/5.0/" schemaLocation="../utility/structures.xsd"/>
  <xs:complexType name="AssetCategoryType">
    <xs:annotation>
      <xs:documentation>A data type for a kind of asset.</xs:documentation>
    </xs:annotation>
    <xs:complexContent>
      <xs:extension base="structures:ObjectType">
        <xs:sequence>
          <xs:element ref="ip:AssetCategoryName" minOccurs="0" maxOccurs="unbounded"/>
          <xs:element ref="ip:AssetCategoryID" minOccurs="0" maxOccurs="unbounded"/>
          <xs:element ref="ip:SubSegmentName" minOccurs="0" maxOccurs="unbounded"/>
          <xs:element ref="ip:Asset" minOccurs="0" maxOccurs="unbounded"/>
          <xs:element ref="ip:AssetCategoryDescriptionText" minOccurs="0" maxOccurs="unbounded"/>
          <xs:element ref="ip:AssetCategoryAugmentationPoint" minOccurs="0" maxOccurs="unbounded"/>
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:simpleType name="AssetStatusCodeSimpleType">
    <xs:annotation>
      <xs:documentation>A data type for a status of an asset.</xs:documentation>
    </xs:annotation>
    <xs:restriction base="xs:token">
      <xs:enumeration value="1">
        <xs:annotation>
          <xs:documentation>Functioning</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="2">
        <xs:annotation>
          <xs:documentation>Temporarily Out of Service</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="3">
        <xs:annotation>
          <xs:documentation>Retired</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
    </xs:restriction>
  </xs:simpleType>
  <xs:complexType name="AssetStatusCodeType">
    <xs:annotation>
      <xs:documentation>A data type for a status of an asset.</xs:documentation>
    </xs:annotation>
    <xs:simpleContent>
      <xs:extension base="ip:AssetStatusCodeSimpleType">
        <xs:attributeGroup ref="structures:SimpleObjectAttributeGroup"/>
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>
  <xs:complexType name="AssetType">
    <xs:annotation>
      <xs:documentation>A data type for an asset in an infrastructure.</xs:documentation>
    </xs:annotation>
    <xs:complexContent>
      <xs:extension base="structures:ObjectType">
        <xs:sequence>
          <xs:element ref="ip:AssetName" minOccurs="0" maxOccurs="unbounded"/>
          <xs:element ref="ip:AssetID" minOccurs="0" maxOccurs="unbounded"/>
          <xs:element ref="ip:AssetAliasName" minOccurs="0" maxOccurs="unbounded"/>
          <xs:element ref="ip:AssetStatusCode" minOccurs="0" maxOccurs="unbounded"/>
          <xs:element ref="ip:AssetCategoryName" minOccurs="0" maxOccurs="unbounded"/>
          <xs:element ref="nc:Organization" minOccurs="0" maxOccurs="unbounded"/>
          <xs:element ref="nc:Person" minOccurs="0" maxOccurs="unbounded"/>
          <xs:element ref="nc:ContactInformation" minOccurs="0" maxOccurs="unbounded"/>
          <xs:element ref="nc:Location" minOccurs="0" maxOccurs="unbounded"/>
          <xs:element ref="ip:AssetAugmentationPoint" minOccurs="0" maxOccurs="unbounded"/>
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:complexType name="SectorType">
    <xs:annotation>
      <xs:documentation>A data type for a sector (i.e., major grouping of critical infrastructure) to which the asset belongs. There are 18 such Sectors as outlined in the National Infrastructure Protection Plan.</xs:documentation>
    </xs:annotation>
    <xs:complexContent>
      <xs:extension base="structures:ObjectType">
        <xs:sequence>
          <xs:element ref="ip:SectorName" minOccurs="0" maxOccurs="unbounded"/>
          <xs:element ref="ip:SubSector" minOccurs="0" maxOccurs="unbounded"/>
          <xs:element ref="ip:SectorTaxonomyID" minOccurs="0" maxOccurs="unbounded"/>
          <xs:element ref="ip:SectorTaxonomyDescriptionText" minOccurs="0" maxOccurs="unbounded"/>
          <xs:element ref="ip:SectorAugmentationPoint" minOccurs="0" maxOccurs="unbounded"/>
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:complexType name="SegmentType">
    <xs:annotation>
      <xs:documentation>A data type for a major grouping within the subsector to which the asset belongs.</xs:documentation>
    </xs:annotation>
    <xs:complexContent>
      <xs:extension base="structures:ObjectType">
        <xs:sequence>
          <xs:element ref="ip:SegmentName" minOccurs="0" maxOccurs="unbounded"/>
          <xs:element ref="ip:SegmentTaxonomyID" minOccurs="0" maxOccurs="unbounded"/>
          <xs:element ref="ip:SubSectorName" minOccurs="0" maxOccurs="unbounded"/>
          <xs:element ref="ip:SubSegment" minOccurs="0" maxOccurs="unbounded"/>
          <xs:element ref="ip:SegmentTaxonomyDescriptionText" minOccurs="0" maxOccurs="unbounded"/>
          <xs:element ref="ip:SegmentAugmentationPoint" minOccurs="0" maxOccurs="unbounded"/>
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:complexType name="SubsectorType">
    <xs:annotation>
      <xs:documentation>A data type for a major grouping within the sector to which the asset belongs.</xs:documentation>
    </xs:annotation>
    <xs:complexContent>
      <xs:extension base="structures:ObjectType">
        <xs:sequence>
          <xs:element ref="ip:SubSectorName" minOccurs="0" maxOccurs="unbounded"/>
          <xs:element ref="ip:SubSectorTaxonomyID" minOccurs="0" maxOccurs="unbounded"/>
          <xs:element ref="ip:SectorName" minOccurs="0" maxOccurs="unbounded"/>
          <xs:element ref="ip:Segment" minOccurs="0" maxOccurs="unbounded"/>
          <xs:element ref="ip:SubSectorTaxonomyDescriptionText" minOccurs="0" maxOccurs="unbounded"/>
          <xs:element ref="ip:SubsectorAugmentationPoint" minOccurs="0" maxOccurs="unbounded"/>
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:complexType name="SubsegmentType">
    <xs:annotation>
      <xs:documentation>A data type for a major grouping within the segment to which the asset belongs.</xs:documentation>
    </xs:annotation>
    <xs:complexContent>
      <xs:extension base="structures:ObjectType">
        <xs:sequence>
          <xs:element ref="ip:SubSegmentName" minOccurs="0" maxOccurs="unbounded"/>
          <xs:element ref="ip:SubSegmentTaxonomyID" minOccurs="0" maxOccurs="unbounded"/>
          <xs:element ref="ip:SegmentName" minOccurs="0" maxOccurs="unbounded"/>
          <xs:element ref="ip:AssetCategory" minOccurs="0" maxOccurs="unbounded"/>
          <xs:element ref="ip:SubSegmentDescriptionText" minOccurs="0" maxOccurs="unbounded"/>
          <xs:element ref="ip:SubsegmentAugmentationPoint" minOccurs="0" maxOccurs="unbounded"/>
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:element name="Asset" type="ip:AssetType" nillable="true">
    <xs:annotation>
      <xs:documentation>A data type for an asset in an infrastructure.</xs:documentation>
    </xs:annotation>
  </xs:element>
  <xs:element name="AssetAliasName" type="nc:TextType" nillable="true">
    <xs:annotation>
      <xs:documentation>An additional name, acronym, or identifier used to call out the asset</xs:documentation>
    </xs:annotation>
  </xs:element>
  <xs:element name="AssetAugmentationPoint" abstract="true">
    <xs:annotation>
      <xs:documentation>An augmentation point for AssetType.</xs:documentation>
    </xs:annotation>
  </xs:element>
  <xs:element name="AssetCategory" type="ip:AssetCategoryType" nillable="true">
    <xs:annotation>
      <xs:documentation>A category for a kind of asset.</xs:documentation>
    </xs:annotation>
  </xs:element>
  <xs:element name="AssetCategoryAugmentationPoint" abstract="true">
    <xs:annotation>
      <xs:documentation>An augmentation point for AssetCategoryType.</xs:documentation>
    </xs:annotation>
  </xs:element>
  <xs:element name="AssetCategoryDescriptionText" type="nc:TextType" nillable="true">
    <xs:annotation>
      <xs:documentation>A description of the Asset Category based on the description provided in the Infrastructure Data Taxonomy (IDT).</xs:documentation>
    </xs:annotation>
  </xs:element>
  <xs:element name="AssetCategoryID" type="niem-xs:string" nillable="true">
    <xs:annotation>
      <xs:documentation>An identifier of a kind of asset.</xs:documentation>
    </xs:annotation>
  </xs:element>
  <xs:element name="AssetCategoryName" type="nc:TextType" nillable="true">
    <xs:annotation>
      <xs:documentation>A category name for a kind of asset.</xs:documentation>
    </xs:annotation>
  </xs:element>
  <xs:element name="AssetID" type="niem-xs:string" nillable="true">
    <xs:annotation>
      <xs:documentation>A database-unique identifier for asset.</xs:documentation>
    </xs:annotation>
  </xs:element>
  <xs:element name="AssetName" type="nc:TextType" nillable="true">
    <xs:annotation>
      <xs:documentation>A name of asset (as determined by asset owner or identified on legal documentation)</xs:documentation>
    </xs:annotation>
  </xs:element>
  <xs:element name="AssetStatusCode" type="ip:AssetStatusCodeType" nillable="true">
    <xs:annotation>
      <xs:documentation>A status of an asset.</xs:documentation>
    </xs:annotation>
  </xs:element>
  <xs:element name="Sector" type="ip:SectorType" nillable="true">
    <xs:annotation>
      <xs:documentation>A sector (i.e., major grouping for infrastructure) to which the asset belongs. There are 18 such Sectors as outlined in the National Infrastructure Protection Plan.</xs:documentation>
    </xs:annotation>
  </xs:element>
  <xs:element name="SectorAugmentationPoint" abstract="true">
    <xs:annotation>
      <xs:documentation>An augmentation point for SectorType.</xs:documentation>
    </xs:annotation>
  </xs:element>
  <xs:element name="SectorName" type="nc:TextType" nillable="true">
    <xs:annotation>
      <xs:documentation>A major grouping name of critical infrastructure to which the facility belongs.</xs:documentation>
    </xs:annotation>
  </xs:element>
  <xs:element name="SectorTaxonomyDescriptionText" type="nc:TextType" nillable="true">
    <xs:annotation>
      <xs:documentation>A description of the Sector based on the description provided in the Infrastructure Data Taxonomy (IDT).</xs:documentation>
    </xs:annotation>
  </xs:element>
  <xs:element name="SectorTaxonomyID" type="niem-xs:string" nillable="true">
    <xs:annotation>
      <xs:documentation>An identifier of each sector as used in the Taxonomy -see Infrastructure Taxonomy Version 3.</xs:documentation>
    </xs:annotation>
  </xs:element>
  <xs:element name="Segment" type="ip:SegmentType" nillable="true">
    <xs:annotation>
      <xs:documentation>A major grouping within the subsector to which the asset belongs.</xs:documentation>
    </xs:annotation>
  </xs:element>
  <xs:element name="SegmentAugmentationPoint" abstract="true">
    <xs:annotation>
      <xs:documentation>An augmentation point for SegmentType.</xs:documentation>
    </xs:annotation>
  </xs:element>
  <xs:element name="SegmentName" type="nc:TextType" nillable="true">
    <xs:annotation>
      <xs:documentation>A major grouping name for infrastructure to which the asset belongs.</xs:documentation>
    </xs:annotation>
  </xs:element>
  <xs:element name="SegmentTaxonomyDescriptionText" type="nc:TextType" nillable="true">
    <xs:annotation>
      <xs:documentation>A description of the Segment based on the description provided in the Infrastructure Data Taxonomy (IDT).</xs:documentation>
    </xs:annotation>
  </xs:element>
  <xs:element name="SegmentTaxonomyID" type="niem-xs:string" nillable="true">
    <xs:annotation>
      <xs:documentation>A major grouping identifier of an infrastructure to which the asset belongs.</xs:documentation>
    </xs:annotation>
  </xs:element>
  <xs:element name="SubSector" type="ip:SubsectorType" nillable="true">
    <xs:annotation>
      <xs:documentation>A major grouping within the sector to which the asset belongs -see Infrastructure Taxonomy Version 3.</xs:documentation>
    </xs:annotation>
  </xs:element>
  <xs:element name="SubsectorAugmentationPoint" abstract="true">
    <xs:annotation>
      <xs:documentation>An augmentation point for SubsectorType.</xs:documentation>
    </xs:annotation>
  </xs:element>
  <xs:element name="SubSectorName" type="nc:TextType" nillable="true">
    <xs:annotation>
      <xs:documentation>A major grouping name for infrastructure to which the asset belongs.</xs:documentation>
    </xs:annotation>
  </xs:element>
  <xs:element name="SubSectorTaxonomyDescriptionText" type="nc:TextType" nillable="true">
    <xs:annotation>
      <xs:documentation>A description of the Sub Sector based on the description provided in the Infrastructure Data Taxonomy (IDT).</xs:documentation>
    </xs:annotation>
  </xs:element>
  <xs:element name="SubSectorTaxonomyID" type="niem-xs:string" nillable="true">
    <xs:annotation>
      <xs:documentation>A major grouping identifier of an infrastructure to which the asset belongs.</xs:documentation>
    </xs:annotation>
  </xs:element>
  <xs:element name="SubSegment" type="ip:SubsegmentType" nillable="true">
    <xs:annotation>
      <xs:documentation>A data type for a major grouping within the segment to which the asset belongs.</xs:documentation>
    </xs:annotation>
  </xs:element>
  <xs:element name="SubsegmentAugmentationPoint" abstract="true">
    <xs:annotation>
      <xs:documentation>An augmentation point for SubsegmentType.</xs:documentation>
    </xs:annotation>
  </xs:element>
  <xs:element name="SubSegmentDescriptionText" type="nc:TextType" nillable="true">
    <xs:annotation>
      <xs:documentation>A description of the Sub Segment based on the description provided in the Infrastructure Data Taxonomy (IDT).</xs:documentation>
    </xs:annotation>
  </xs:element>
  <xs:element name="SubSegmentName" type="nc:TextType" nillable="true">
    <xs:annotation>
      <xs:documentation>A major grouping name for infrastructure to which the asset belongs.</xs:documentation>
    </xs:annotation>
  </xs:element>
  <xs:element name="SubSegmentTaxonomyID" type="niem-xs:string" nillable="true">
    <xs:annotation>
      <xs:documentation>A major grouping identifier of an infrastructure to which the asset belongs.</xs:documentation>
    </xs:annotation>
  </xs:element>
</xs:schema>