2023-INGIPRO-docs/XSD/platform/SemanticElements.xsd
2024-06-07 20:33:18 +03:00

522 lines
27 KiB
XML
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<?xml version="1.0" encoding="UTF-8"?>
<xs:schema
targetNamespace="http://www.ingipro.com/test/sem"
xmlns:xs="http://www.w3.org/2001/XMLSchema"
xmlns:doc="http://www.ingipro.com/test/doc"
xmlns:base="http://www.ingipro.com/test/base"
xmlns:share="http://www.ingipro.com/test/share"
xmlns:sem="http://www.ingipro.com/test/sem">
<xs:import namespace="http://www.ingipro.com/test/doc" schemaLocation="D:\DEV\!WORK\INGIPRO\XSD\platform\DocumentationElements.xsd"/>
<xs:import namespace="http://www.ingipro.com/test/base" schemaLocation="D:\DEV\!WORK\INGIPRO\XSD\platform\PlatformBasics.xsd"/>
<xs:import namespace="http://www.ingipro.com/test/share" schemaLocation="D:\DEV\!WORK\INGIPRO\XSD\platform\CommonTypes.xsd"/>
<xs:complexType name="DocumentFormID">
<xs:annotation><xs:documentation xml:lang="ru">
<term>идентификатор формы документа</term>
</xs:documentation></xs:annotation>
<xs:choice>
<xs:element name="OKUD" type="share:OKUD"/>
<xs:element name="Custom" type="base:AnyType"/>
</xs:choice>
</xs:complexType>
<xs:simpleType name="TaskID">
<xs:annotation><xs:documentation xml:lang="ru">
<term>идентификатор работы</term>
<description>планируемые и выполненные работы, определяемые идентификаторами (в рамках документации по строительному объекту)</description>
</xs:documentation></xs:annotation>
<xs:restriction base="base:String"/>
</xs:simpleType>
<xs:simpleType name="TaskKind">
<xs:annotation><xs:documentation xml:lang="ru">
<term>вид работы</term>
</xs:documentation></xs:annotation>
<xs:restriction base="base:String"/>
</xs:simpleType>
<xs:simpleType name="ProductID">
<xs:annotation><xs:documentation xml:lang="ru">
<term>идентификатор продукции</term>
<description>к продукции относятся конкретные материалы, полуфабрикаты, используемые при строительстве</description>
</xs:documentation></xs:annotation>
<xs:restriction base="base:String"/>
</xs:simpleType>
<xs:complexType name="PermittedUse">
<xs:annotation><xs:documentation xml:lang="ru">
<term>условия разрешенное использования</term>
</xs:documentation></xs:annotation>
<xs:sequence>
<xs:element name="LoadCapacity" type="base:Decimal">
<xs:annotation><xs:documentation xml:lang="ru">
<description>доля проектной нагрузки (от 0 до 1)</description>
</xs:documentation></xs:annotation>
</xs:element>
<xs:element name="Conditions" type="base:String" nillable="true">
<xs:annotation><xs:documentation xml:lang="ru">
<description>условия эксплуатации</description>
</xs:documentation></xs:annotation>
</xs:element>
</xs:sequence>
</xs:complexType>
<xs:complexType name="ReferenceTask">
<xs:annotation><xs:documentation xml:lang="ru">
<term>отсылка к работе (конструкции)</term>
</xs:documentation></xs:annotation>
<xs:sequence>
<xs:element name="TaskID" type="sem:TaskID"/>
<!-- INFO: элемент Act используется для отсылок к завершенным работам, для которых составлен акт -->
<xs:element name="Act" type="doc:ReferenceDocument" minOccurs="0"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="ReferenceProduct">
<xs:annotation><xs:documentation xml:lang="ru">
<term>отсылка к работе</term>
</xs:documentation></xs:annotation>
<xs:sequence>
<xs:element name="Product" type="sem:ProductID">
<xs:annotation><xs:documentation xml:lang="ru">
<term>идентификатор продукции</term>
</xs:documentation></xs:annotation>
</xs:element>
<xs:element name="DocumentID" type="doc:DocumentTitle" minOccurs="0" maxOccurs="unbounded">
<xs:annotation><xs:documentation xml:lang="ru">
<term>документ, подтверждающий соответствие продукции нормативным требованиям</term>
<description>сертификаты соответствия и паспорта качества, которым соответствуют данная продукция, содержащие требования, предъявляемые к данном продукции</description>
</xs:documentation></xs:annotation>
</xs:element>
</xs:sequence>
</xs:complexType>
<xs:complexType name="MaterialsInventory">
<xs:annotation><xs:documentation xml:lang="ru">
<term>список материалов и оборудования</term>
</xs:documentation></xs:annotation>
<xs:sequence>
<xs:element name="MaterialItem" type="sem:InventoryItem" maxOccurs="unbounded"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="InventoryItem">
<xs:annotation><xs:documentation xml:lang="ru">
<term>запись о хранимом материале</term>
</xs:documentation></xs:annotation>
<xs:sequence>
<xs:element name="ID" type="base:IndexNumber"/>
<xs:element name="ProductName" type="base:String"/>
<xs:element name="ProductType" type="base:String"/>
<xs:element name="Producer" type="base:String"/>
<xs:element name="ProductID" type="base:String"/>
<!-- TODO: сделать возможность вводить количество в штуках либо другие размерности для сыпучих / газов -->
<xs:element name="Ammount" type="base:String"/>
<xs:element name="Notes" type="base:String"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="ReferenceCCObject">
<xs:annotation>
<xs:documentation xml:lang="ru">
<term>объект капитального строительства</term>
</xs:documentation>
<xs:appinfo>
<shortRepresentation>Название: ${Name}\nАдрес: ${Address}</shortRepresentation>
<fullRepresentation>Тип: ${Type}\nНазвание: ${Name}\nАдрес: ${Address}\nЭтап: ${MilestoneName}\nУчасток: ${PartName}</fullRepresentation>
</xs:appinfo>
</xs:annotation>
<xs:sequence>
<xs:element name="Type" type="sem:ProjectType" minOccurs="0"/>
<xs:element name="Name" type="base:String">
<xs:annotation><xs:documentation xml:lang="ru">
<term>наименование проектной документации</term>
</xs:documentation></xs:annotation>
</xs:element>
<xs:element name="Address" type="share:Address" minOccurs="0">
<xs:annotation><xs:documentation xml:lang="ru">
<term>почтовый или строительный адрес объекта капитального строительства</term>
</xs:documentation></xs:annotation>
</xs:element>
<xs:element name="MilestoneName" type="base:String" minOccurs="0" maxOccurs="unbounded">
<xs:annotation><xs:documentation xml:lang="ru">
<term>название этапа</term>
</xs:documentation></xs:annotation>
</xs:element>
<xs:element name="PartName" type="base:String" minOccurs="0" maxOccurs="unbounded">
<xs:annotation><xs:documentation xml:lang="ru">
<term>название участка</term>
</xs:documentation></xs:annotation>
</xs:element>
<!-- TODO: краткие проектные характеристики? -->
</xs:sequence>
</xs:complexType>
<xs:simpleType name="ProjectType">
<xs:annotation><xs:documentation xml:lang="ru">
<term>тип работ в объекте капитального строительства</term>
</xs:documentation></xs:annotation>
<xs:restriction base="base:String">
<xs:enumeration value="строительство"/>
<xs:enumeration value="реконструкция"/>
<xs:enumeration value="ремонт"/>
</xs:restriction>
</xs:simpleType>
<xs:complexType name="ConstructionParty">
<xs:annotation>
<xs:documentation xml:lang="ru">
<term>участник строительной деятельности</term>
</xs:documentation>
<xs:appinfo>
<fullRepresentation>${Role}: ${Entity}, СРО ${SelfRegulatedOrganization}</fullRepresentation>
</xs:appinfo>
</xs:annotation>
<xs:sequence>
<xs:element name="Role" type="sem:ConstructionRole"/>
<xs:element name="Entity" type="share:LegalParty"/>
<xs:element name="SelfRegulatedOrganization" type="share:SelfRegulatedOrganization" minOccurs="0"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="Developer">
<xs:complexContent><xs:restriction base="sem:ConstructionParty">
<xs:sequence>
<xs:element name="Role" type="sem:ConstructionRole" fixed="застройщик"/>
<xs:element name="Entity" type="share:LegalParty"/>
<xs:element name="SelfRegulatedOrganization" type="share:SelfRegulatedOrganization" minOccurs="0"/>
</xs:sequence>
</xs:restriction></xs:complexContent>
</xs:complexType>
<xs:complexType name="Builder">
<xs:complexContent><xs:restriction base="sem:ConstructionParty">
<xs:sequence>
<xs:element name="Role" type="sem:ConstructionRole" fixed="лицо, осуществляющее строительство"/>
<xs:element name="Entity" type="share:LegalParty"/>
<xs:element name="SelfRegulatedOrganization" type="share:SelfRegulatedOrganization" minOccurs="0"/>
</xs:sequence>
</xs:restriction></xs:complexContent>
</xs:complexType>
<xs:complexType name="Executor">
<xs:complexContent><xs:restriction base="sem:ConstructionParty">
<xs:sequence>
<xs:element name="Role" type="sem:ConstructionRole" fixed="лицо, выполнившее работы"/>
<xs:element name="Entity" type="share:LegalParty"/>
<xs:element name="SelfRegulatedOrganization" type="share:SelfRegulatedOrganization" minOccurs="0"/>
</xs:sequence>
</xs:restriction></xs:complexContent>
</xs:complexType>
<xs:complexType name="Designer">
<xs:complexContent><xs:restriction base="sem:ConstructionParty">
<xs:sequence>
<xs:element name="Role" type="sem:ConstructionRole" fixed="лицо, осуществляющее подготовку проектной документации"/>
<xs:element name="Entity" type="share:LegalParty"/>
<xs:element name="SelfRegulatedOrganization" type="share:SelfRegulatedOrganization" minOccurs="0"/>
</xs:sequence>
</xs:restriction></xs:complexContent>
</xs:complexType>
<xs:complexType name="Customer">
<xs:complexContent><xs:restriction base="sem:ConstructionParty">
<xs:sequence>
<xs:element name="Role" type="sem:ConstructionRole" fixed="заказчик"/>
<xs:element name="Entity" type="share:LegalParty"/>
</xs:sequence>
</xs:restriction></xs:complexContent>
</xs:complexType>
<xs:complexType name="Supervisor">
<xs:complexContent><xs:restriction base="sem:ConstructionParty">
<xs:sequence>
<xs:element name="Role" type="sem:ConstructionRole" fixed="орган государственного строительного надзора"/>
<xs:element name="Entity" type="share:LegalParty"/>
</xs:sequence>
</xs:restriction></xs:complexContent>
</xs:complexType>
<xs:complexType name="CustomerController">
<xs:complexContent><xs:restriction base="sem:ConstructionParty">
<xs:sequence>
<xs:element name="Role" type="sem:ConstructionRole" fixed="лицо, представитель заказчика, осуществляющее строительный контроль"/>
<xs:element name="Entity" type="share:LegalParty"/>
</xs:sequence>
</xs:restriction></xs:complexContent>
</xs:complexType>
<xs:complexType name="UtilityProvider">
<xs:complexContent><xs:restriction base="sem:ConstructionParty">
<xs:sequence>
<xs:element name="Role" type="sem:ConstructionRole" fixed="организация, осуществляющая эксплуатацию сетей инженерно-технического обеспечения"/>
<xs:element name="Entity" type="share:LegalParty"/>
</xs:sequence>
</xs:restriction></xs:complexContent>
</xs:complexType>
<xs:complexType name="Installer">
<xs:complexContent><xs:restriction base="sem:ConstructionParty">
<xs:sequence>
<xs:element name="Role" type="sem:ConstructionRole" fixed="лицо, осуществляющее монтажные работы"/>
<xs:element name="Entity" type="share:LegalParty"/>
<xs:element name="SelfRegulatedOrganization" type="share:SelfRegulatedOrganization" minOccurs="0"/>
</xs:sequence>
</xs:restriction></xs:complexContent>
</xs:complexType>
<xs:complexType name="Comissioner">
<xs:complexContent><xs:restriction base="sem:ConstructionParty">
<xs:sequence>
<xs:element name="Role" type="sem:ConstructionRole" fixed="лицо, осуществляющее пусконаладочные работы"/>
<xs:element name="Entity" type="share:LegalParty"/>
<xs:element name="SelfRegulatedOrganization" type="share:SelfRegulatedOrganization" minOccurs="0"/>
</xs:sequence>
</xs:restriction></xs:complexContent>
</xs:complexType>
<xs:complexType name="Representative">
<xs:annotation><xs:documentation xml:lang="ru">
<term>представитель</term>
</xs:documentation></xs:annotation>
<xs:sequence>
<xs:element name="Ground" type="doc:Ground" maxOccurs="unbounded"/>
<xs:element name="Entity">
<xs:complexType><xs:sequence>
<xs:element name="RepresentedRole" type="sem:GlobalSignerRole"/>
<xs:element name="RepresentedID" type="base:String"/>
<xs:element name="Credentials" type="base:String" minOccurs="0"/>
<xs:element name="Position" type="base:String" minOccurs="0"/>
<xs:element name="RepresentativeEntity" type="share:LegalParty" minOccurs="0"/>
</xs:sequence></xs:complexType>
</xs:element>
</xs:sequence>
<xs:attribute name="elementType" fixed="RecurringElement" type="doc:ElementType" use="required"/>
</xs:complexType>
<!-- ~Строительный контроль~ -->
<xs:complexType name="ControlAction">
<xs:annotation><xs:documentation xml:lang="ru">
<term>запись строительного контрольного мероприятия</term>
</xs:documentation></xs:annotation>
<xs:sequence>
<xs:element name="ControlTask" type="sem:ReferenceTask">
<xs:annotation><xs:documentation xml:lang="ru">
<term>строительное контрольное мероприятие</term>
</xs:documentation></xs:annotation>
</xs:element>
<xs:element name="ControlledTask" type="sem:ReferenceTask">
<xs:annotation><xs:documentation xml:lang="ru">
<term>контролируемая работа</term>
</xs:documentation></xs:annotation>
</xs:element>
<xs:element name="ControlledObject" type="base:String">
<xs:annotation><xs:documentation xml:lang="ru">
<term>контролируемый объект</term>
</xs:documentation></xs:annotation>
</xs:element>
<xs:element name="Requirements"><xs:complexType>
<xs:annotation><xs:documentation xml:lang="ru">
<term>сведения о требованиях к контролируемому объекту</term>
</xs:documentation></xs:annotation>
<xs:sequence>
<xs:element name="Requirement" type="doc:DataOrDocument" maxOccurs="unbounded"/>
</xs:sequence>
</xs:complexType></xs:element>
<xs:element name="Assessments"><xs:complexType>
<xs:annotation><xs:documentation xml:lang="ru">
<term>сведения об оценке контролируемого объекта</term>
</xs:documentation></xs:annotation>
<xs:sequence>
<xs:element name="Assessment" type="sem:Assessment" maxOccurs="unbounded"/>
</xs:sequence>
</xs:complexType></xs:element>
<xs:element name="Resolution"><xs:complexType>
<xs:annotation><xs:documentation xml:lang="ru">
<term>строительное контрольное решение</term>
</xs:documentation></xs:annotation>
<xs:sequence>
<xs:element name="Discrepancies" type="sem:Discrepancies" nillable="true">
<xs:annotation>
<xs:documentation xml:lang="ru">
<term>заключительный набор сведений о несоответствиях контролируемого объекта</term>
</xs:documentation>
<xs:appinfo>
<nillRepresentation>отсутствуют</nillRepresentation>
</xs:appinfo>
</xs:annotation>
</xs:element>
<xs:element name="CorrectionTasks" nillable="true"><xs:complexType>
<xs:annotation>
<xs:documentation xml:lang="ru">
<term>задачи устранения несоответствий</term>
</xs:documentation>
<xs:appinfo>
<nillRepresentation>не требуются</nillRepresentation>
</xs:appinfo>
</xs:annotation>
<xs:sequence>
<xs:element name="CorrectionTask" type="sem:ReferenceTask" maxOccurs="unbounded"/>
</xs:sequence>
</xs:complexType></xs:element>
</xs:sequence>
</xs:complexType></xs:element>
</xs:sequence>
</xs:complexType>
<xs:complexType name="Assessment">
<xs:annotation><xs:documentation xml:lang="ru">
<term>оценка контролируемого объекта</term>
</xs:documentation></xs:annotation>
<xs:sequence>
<xs:element name="Measurement" type="doc:DataOrDocument" maxOccurs="unbounded">
<xs:annotation><xs:documentation xml:lang="ru">
<term>измерительные сведения</term>
</xs:documentation></xs:annotation>
</xs:element>
<xs:element name="Discrepancies" type="sem:Discrepancies" nillable="true">
<xs:annotation>
<xs:documentation xml:lang="ru">
<term>несоответствия контролируемого объекта</term>
</xs:documentation>
<xs:appinfo>
<nillRepresentation>несоответствия отсутствют</nillRepresentation>
</xs:appinfo>
</xs:annotation>
</xs:element>
</xs:sequence>
</xs:complexType>
<xs:complexType name="Discrepancies">
<xs:annotation>
<xs:documentation xml:lang="ru">
<term>набор сведений об отклонениях</term>
</xs:documentation>
<xs:appinfo>
<parentSchema>base:List</parentSchema>
</xs:appinfo>
</xs:annotation>
<xs:sequence>
<xs:element name="Discrepancy" type="base:DataElement" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence>
</xs:complexType>
<!-- ~действия - записи в журналах~ -->
<xs:complexType name="LogTaskExecution">
<xs:annotation><xs:documentation xml:lang="ru">
<term>запись о выполнении работы в процессе строительства</term>
</xs:documentation></xs:annotation>
<xs:complexContent><xs:restriction base="base:AnyType">
<xs:sequence>
<xs:element name="Date" type="base:Date"/>
<xs:element name="TaskID" type="sem:TaskID" maxOccurs="unbounded"/>
<xs:element name="BuilderRepShortName" type="base:String"/>
<xs:element name="BuilderRepPosition" type="base:String"/>
</xs:sequence>
</xs:restriction></xs:complexContent>
</xs:complexType>
<xs:complexType name="DeclareRepresentative">
<xs:annotation><xs:documentation xml:lang="ru">
<term>объявление представителя</term>
</xs:documentation></xs:annotation>
<xs:complexContent><xs:restriction base="base:AnyType">
<xs:sequence>
<xs:element name="RepresentedID" type="base:String" minOccurs="0"/>
<xs:element name="Credentials" type="base:String"/>
<xs:element name="RepresentedRole" type="base:String" minOccurs="0"/>
<xs:element name="Position" type="base:String" minOccurs="0"/>
<xs:element name="Ground" type="doc:DocumentTitle"/>
<xs:element name="SignatureSertificate" type="doc:SignatureSertificate"/>
</xs:sequence>
</xs:restriction></xs:complexContent>
</xs:complexType>
<xs:complexType name="LogTestProcedure">
<xs:annotation><xs:documentation xml:lang="ru">
<term>информация о проведении теста</term>
</xs:documentation></xs:annotation>
<xs:sequence>
<xs:element name="TestID" type="base:String"/>
<xs:element name="Description" type="base:String"/>
<xs:element name="Action" type="base:String" maxOccurs="unbounded"/>
<xs:element name="Assertion" type="base:String" minOccurs="0" maxOccurs="unbounded"/>
<xs:element name="Result" type="base:String" minOccurs="0"/>
<xs:element name="Comment" type="base:String" minOccurs="0"/>
</xs:sequence>
</xs:complexType>
<!-- ~предметные перечисления~ -->
<xs:simpleType name="ObservationType">
<xs:annotation><xs:documentation xml:lang="ru">
<term>вид осмотра</term>
</xs:documentation></xs:annotation>
<xs:restriction base="base:String">
<xs:enumeration value="сплошной"/>
<xs:enumeration value="выборочный"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="ConstructionRole">
<xs:annotation><xs:documentation xml:lang="ru">
<term>роли субъектов в капитальном строительстве</term>
</xs:documentation></xs:annotation>
<xs:restriction base="base:String">
<!-- Customer -->
<xs:enumeration value="заказчик"/>
<!-- Developer -->
<xs:enumeration value="застройщик"/>
<!-- Builder -->
<xs:enumeration value="лицо, осуществляющее строительство"/>
<!-- Designer -->
<xs:enumeration value="лицо, осуществляющее подготовку проектной документации"/>
<!-- Executor -->
<xs:enumeration value="лицо, выполнившее работы"/>
<!-- Installer -->
<xs:enumeration value="лицо, осуществляющее монтажные работы"/>
<!-- Comissioner -->
<xs:enumeration value="лицо, осуществляющее пусконаладочные работы"/>
<!-- CustomerController -->
<xs:enumeration value="лицо, представитель заказчика, осуществляющее строительный контроль"/>
<!-- Supervisor -->
<xs:enumeration value="орган государственного строительного надзора"/>
<!-- UtilityProvider -->
<xs:enumeration value="организация, осуществляющая эксплуатацию сетей инженерно-технического обеспечения"/>
<xs:enumeration value="подрядчик"/>
<xs:enumeration value="субподрядчик"/>
<!-- гражданско-правовые отношения -->
<xs:enumeration value="заказчик (по договору)"/>
<xs:enumeration value="подрядчик (по договору)"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="GlobalSignerRole">
<xs:annotation><xs:documentation xml:lang="ru">
<term>роли подписантов в капитальном строительстве</term>
</xs:documentation></xs:annotation>
<xs:restriction base="base:String">
<xs:enumeration value="представитель застройщика"/>
<xs:enumeration value="представитель заказчика"/>
<xs:enumeration value="представитель застройщика по вопросам строительного контроля"/>
<xs:enumeration value="представитель лица, осуществляющего строительство"/>
<xs:enumeration value="представитель лица, осуществляющего строительство, по вопросам строительного контроля"/>
<xs:enumeration value="представитель лица, осуществляющего подготовку проектной документации, по вопросам авторского надзора"/>
<xs:enumeration value="представитель лица, выполнившего работы"/>
<xs:enumeration value="представитель лица, осуществляющего монтажные работы"/>
<xs:enumeration value="представитель лица, осуществляющего пусконаладочные работы"/>
<xs:enumeration value="представитель лица, осуществляющего подготовку проектной документации"/>
<xs:enumeration value="должностное лицо органа государственного строительного надзора"/>
<xs:enumeration value="представитель организации, осуществляющей эксплуатацию сетей инженерно-технического обеспечения"/>
<xs:enumeration value="инженерно-технический персонал"/>
<xs:enumeration value="представитель иного участника"/>
<xs:enumeration value="представитель заказчика (ГПО)"/>
<xs:enumeration value="представитель подрядчика (ГПО)"/>
</xs:restriction>
</xs:simpleType>
</xs:schema>