Project

General

Profile

Files » SubSystem.xsd

Michel Condemine Admin, 12/19/2016 06:03 PM

 
1
<?xml version="1.0" encoding="utf-8"?>
2
<xs:schema targetNamespace="http://tempuri.org/XMLSchema.xsd"
3
    elementFormDefault="qualified"
4
    xmlns="http://tempuri.org/XMLSchema.xsd"
5
    xmlns:mstns="http://tempuri.org/XMLSchema.xsd"
6
    xmlns:xs="http://www.w3.org/2001/XMLSchema"
7
    xmlns:ua="http://opcfoundation.org/UA/2011/03/UANodeSet.xsd">
8
  <xs:import namespace="http://opcfoundation.org/UA/2011/03/UANodeSet.xsd" schemaLocation="UANodeSet.xsd"></xs:import>
9
  <xs:complexType name="UriTable">
10
    <xs:sequence>
11
      <xs:element name="Uri" type="xs:string" minOccurs="0" maxOccurs="unbounded"></xs:element>
12
    </xs:sequence>
13
  </xs:complexType>  
14
  
15
  <xs:element name="SubSystems" type="SubSystems"></xs:element>
16
  <xs:complexType name="SubSystems">
17
    <xs:sequence>
18
      <xs:element name="NamespaceUris" type ="UriTable" minOccurs="1" maxOccurs="unbounded"></xs:element>
19
      <xs:element name="SubSystem" type="SubSystem" minOccurs="1" maxOccurs="unbounded"></xs:element>
20
    </xs:sequence>
21
  </xs:complexType>
22
  <!-- définiton des sous-systèmes -->
23
  <xs:complexType name="SubSystem">
24
    <xs:sequence>
25
      <xs:element name="Tag" type="Tag" minOccurs="1" maxOccurs="unbounded"></xs:element>
26
    </xs:sequence>
27
    <xs:attribute name="SubSystemName" type="xs:string" use="required"></xs:attribute>
28
    <xs:attribute name="SubSystemId" type="ua:NodeId" use="required"></xs:attribute>
29
    <xs:attribute name ="VpiName" type="xs:string" use="required"></xs:attribute>
30
    <xs:attribute name="AccessMode" use="optional">
31
      <!-- This attribute indicate how the server will call the VPI : Poll, Subscribe or Both -->
32
      <xs:simpleType>
33
        <xs:restriction base="xs:string">
34
          <xs:enumeration value="Poll"></xs:enumeration>
35
          <xs:enumeration value="Subscribe"></xs:enumeration>
36
          <xs:enumeration value="Both"></xs:enumeration>
37
        </xs:restriction>
38
      </xs:simpleType>
39
    </xs:attribute>
40
    <xs:attribute name="FastestSamplingInterval" type="xs:double" use="optional"></xs:attribute>
41
  </xs:complexType>
42
  <!-- définition des tags -->
43
  <xs:complexType name="Tag">
44
    <xs:attribute name="Id" type="ua:NodeId"></xs:attribute>
45
    <xs:attribute name="Name" type="xs:string"></xs:attribute>
46
    <xs:attribute name="Description" type="xs:string"></xs:attribute>
47
    <xs:attribute name="Type">
48
      <xs:simpleType>
49
        <xs:restriction base="xs:string">
50
          <xs:enumeration value="Boolean"></xs:enumeration>
51
          <xs:enumeration value="SByte"></xs:enumeration>
52
          <xs:enumeration value="Byte"></xs:enumeration>
53
          <xs:enumeration value="Int16"></xs:enumeration>
54
          <xs:enumeration value="UInt16"></xs:enumeration>
55
          <xs:enumeration value="Int32"></xs:enumeration>
56
          <xs:enumeration value="UInt32"></xs:enumeration>
57
          <xs:enumeration value="Int64"></xs:enumeration>
58
          <xs:enumeration value="UInt64"></xs:enumeration>
59
          <xs:enumeration value="Float"></xs:enumeration>
60
          <xs:enumeration value="Double"></xs:enumeration>
61
          <xs:enumeration value="DateTime"></xs:enumeration>
62
          <xs:enumeration value="String"></xs:enumeration>
63
        </xs:restriction>
64
      </xs:simpleType>
65
    </xs:attribute>
66
    <xs:attribute name="Dimension" type="xs:unsignedInt"></xs:attribute>
67
    <xs:attribute name="NbElement" type="xs:unsignedInt"></xs:attribute>
68
    <xs:attribute name="AccessRight" default="Input_Output">
69
      <xs:simpleType>
70
        <xs:restriction base="xs:string">
71
          <xs:enumeration value="Input"></xs:enumeration>
72
          <xs:enumeration value="Output"></xs:enumeration>
73
          <xs:enumeration value="Input_Output"></xs:enumeration>
74
        </xs:restriction>
75
      </xs:simpleType>
76
    </xs:attribute>
77
    <xs:attribute name="Address" type="xs:string"></xs:attribute>
78
  </xs:complexType>
79
</xs:schema>
(3-3/5)