ipxact-ruby 0.11.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (142) hide show
  1. data/.autotest +15 -0
  2. data/.gitignore +2 -0
  3. data/README.html +89 -0
  4. data/README.mdown +91 -0
  5. data/Rakefile +31 -0
  6. data/VERSION +1 -0
  7. data/autotest/discover.rb +17 -0
  8. data/lib/ipxact.rb +263 -0
  9. data/lib/ipxact/component.rb +235 -0
  10. data/lib/ipxact/parser.rb +27 -0
  11. data/lib/ipxact/parser/bus_data_parser.rb +229 -0
  12. data/lib/ipxact/parser/component_data_parser.rb +309 -0
  13. data/lib/ipxact/parser/platform_data_parser.rb +63 -0
  14. data/lib/ipxact/pathfinder/graph_pathfinder.rb +191 -0
  15. data/lib/ipxact/platform.rb +43 -0
  16. data/schemas/abstractionDefinition.xsd +332 -0
  17. data/schemas/abstractor.xsd +156 -0
  18. data/schemas/autoConfigure.xsd +226 -0
  19. data/schemas/busDefinition.xsd +99 -0
  20. data/schemas/busInterface.xsd +640 -0
  21. data/schemas/commonStructures.xsd +189 -0
  22. data/schemas/component.xsd +253 -0
  23. data/schemas/configurable.xsd +82 -0
  24. data/schemas/constraints.xsd +283 -0
  25. data/schemas/design.xsd +105 -0
  26. data/schemas/designConfig.xsd +144 -0
  27. data/schemas/file.xsd +560 -0
  28. data/schemas/fileType.xsd +86 -0
  29. data/schemas/generator.xsd +240 -0
  30. data/schemas/identifier.xsd +93 -0
  31. data/schemas/index.xsd +67 -0
  32. data/schemas/memoryMap.xsd +1007 -0
  33. data/schemas/model.xsd +291 -0
  34. data/schemas/port.xsd +441 -0
  35. data/schemas/signalDrivers.xsd +220 -0
  36. data/schemas/simpleTypes.xsd +90 -0
  37. data/schemas/subInstances.xsd +256 -0
  38. data/spec/integration/bus_data_extraction_spec.rb +105 -0
  39. data/spec/integration/data_calculation_spec.rb +133 -0
  40. data/spec/integration/data_construction_spec.rb +52 -0
  41. data/spec/integration/general_spec.rb +121 -0
  42. data/spec/test_data/spiritconsortium.org/Leon2TLM/PV/pv_initiator_port.h +135 -0
  43. data/spec/test_data/spiritconsortium.org/Leon2TLM/PV/pv_initiator_port.tpp +247 -0
  44. data/spec/test_data/spiritconsortium.org/Leon2TLM/PV/pv_initiator_port_base.h +189 -0
  45. data/spec/test_data/spiritconsortium.org/Leon2TLM/PV/pv_router.h +205 -0
  46. data/spec/test_data/spiritconsortium.org/Leon2TLM/PV/pv_router.tpp +278 -0
  47. data/spec/test_data/spiritconsortium.org/Leon2TLM/PV/pv_slave_base.h +115 -0
  48. data/spec/test_data/spiritconsortium.org/Leon2TLM/PV/pv_slave_base.tpp +126 -0
  49. data/spec/test_data/spiritconsortium.org/Leon2TLM/PV/pv_target_port.h +168 -0
  50. data/spec/test_data/spiritconsortium.org/Leon2TLM/PV/pv_target_port_base.h +133 -0
  51. data/spec/test_data/spiritconsortium.org/Leon2TLM/PV/pv_tlm_if.h +280 -0
  52. data/spec/test_data/spiritconsortium.org/Leon2TLM/PV/user_types.h +38 -0
  53. data/spec/test_data/spiritconsortium.org/Leon2TLM/SystemTLM1/Leon2Platform/Leon2Platform.xml +77 -0
  54. data/spec/test_data/spiritconsortium.org/Leon2TLM/SystemTLM1/Leon2Platform/design_Leon2Platform.xml +156 -0
  55. data/spec/test_data/spiritconsortium.org/Leon2TLM/SystemTLM1/Leon2Platform/tlmsrc/Leon2Platform.h +149 -0
  56. data/spec/test_data/spiritconsortium.org/Leon2TLM/SystemTLM1/apbSubSystem/apbSubSystem.xml +406 -0
  57. data/spec/test_data/spiritconsortium.org/Leon2TLM/SystemTLM1/apbSubSystem/design_apbSubSystem.xml +135 -0
  58. data/spec/test_data/spiritconsortium.org/Leon2TLM/SystemTLM1/apbSubSystem/tlmsrc/apbSubSystem.h +133 -0
  59. data/spec/test_data/spiritconsortium.org/Leon2TLM/SystemTLM2/Leon2Platform/Leon2Platform.xml +77 -0
  60. data/spec/test_data/spiritconsortium.org/Leon2TLM/SystemTLM2/Leon2Platform/design_Leon2Platform.xml +157 -0
  61. data/spec/test_data/spiritconsortium.org/Leon2TLM/SystemTLM2/Leon2Platform/tlmsrc/Leon2Platform.h +150 -0
  62. data/spec/test_data/spiritconsortium.org/Leon2TLM/SystemTLM2/apbSubSystem/apbSubSystem.xml +422 -0
  63. data/spec/test_data/spiritconsortium.org/Leon2TLM/SystemTLM2/apbSubSystem/designConfig_apbSubSystem.xml +79 -0
  64. data/spec/test_data/spiritconsortium.org/Leon2TLM/SystemTLM2/apbSubSystem/design_apbSubSystem.xml +184 -0
  65. data/spec/test_data/spiritconsortium.org/Leon2TLM/SystemTLM2/apbSubSystem/tlmsrc/apbSubSystem.h +164 -0
  66. data/spec/test_data/spiritconsortium.org/Leon2TLM/SystemTLM3/Leon2Platform/Leon2Platform.xml +105 -0
  67. data/spec/test_data/spiritconsortium.org/Leon2TLM/SystemTLM3/Leon2Platform/design_Leon2Platform.xml +157 -0
  68. data/spec/test_data/spiritconsortium.org/Leon2TLM/SystemTLM3/Leon2Platform/tlmsrc/Leon2Platform.h +152 -0
  69. data/spec/test_data/spiritconsortium.org/Leon2TLM/SystemTLM3/apbSubSystem/apbSubSystem.xml +429 -0
  70. data/spec/test_data/spiritconsortium.org/Leon2TLM/SystemTLM3/apbSubSystem/designConfig_apbSubSystem.xml +64 -0
  71. data/spec/test_data/spiritconsortium.org/Leon2TLM/SystemTLM3/apbSubSystem/design_apbSubSystem.xml +150 -0
  72. data/spec/test_data/spiritconsortium.org/Leon2TLM/SystemTLM3/apbSubSystem/tlmsrc/apbSubSystem.h +167 -0
  73. data/spec/test_data/spiritconsortium.org/Leon2TLM/ahbbus/1.4/ahbbus22.xml +236 -0
  74. data/spec/test_data/spiritconsortium.org/Leon2TLM/ahbbus/1.4/tlmsrc/ahbbus.h +52 -0
  75. data/spec/test_data/spiritconsortium.org/Leon2TLM/ahbram/1.4/ahbram.xml +184 -0
  76. data/spec/test_data/spiritconsortium.org/Leon2TLM/ahbram/1.4/tlmsrc/ahbram.cc +93 -0
  77. data/spec/test_data/spiritconsortium.org/Leon2TLM/ahbram/1.4/tlmsrc/ahbram.h +77 -0
  78. data/spec/test_data/spiritconsortium.org/Leon2TLM/apbbus/1.4/apbbus8.xml +544 -0
  79. data/spec/test_data/spiritconsortium.org/Leon2TLM/apbbus/1.4/tlmsrc/apbbus.h +55 -0
  80. data/spec/test_data/spiritconsortium.org/Leon2TLM/apbmst/1.4/apbmst.xml +209 -0
  81. data/spec/test_data/spiritconsortium.org/Leon2TLM/apbmst/1.4/tlmsrc/apbmst.h +53 -0
  82. data/spec/test_data/spiritconsortium.org/Leon2TLM/apbram/1.0/apbram.xml +395 -0
  83. data/spec/test_data/spiritconsortium.org/Leon2TLM/apbram/1.0/hdlsrc/apbram.cc +89 -0
  84. data/spec/test_data/spiritconsortium.org/Leon2TLM/apbram/1.0/hdlsrc/apbram.h +69 -0
  85. data/spec/test_data/spiritconsortium.org/Leon2TLM/apbram/1.0/hdlsrc/apbram.v +82 -0
  86. data/spec/test_data/spiritconsortium.org/Leon2TLM/apbram/1.0/hdlsrc/apbram.vhd +132 -0
  87. data/spec/test_data/spiritconsortium.org/Leon2TLM/cgu/1.4/cgu.xml +686 -0
  88. data/spec/test_data/spiritconsortium.org/Leon2TLM/cgu/1.4/tlmsrc/cgu.cc +121 -0
  89. data/spec/test_data/spiritconsortium.org/Leon2TLM/cgu/1.4/tlmsrc/cgu.h +81 -0
  90. data/spec/test_data/spiritconsortium.org/Leon2TLM/cgu/1.5/cgu.xml +707 -0
  91. data/spec/test_data/spiritconsortium.org/Leon2TLM/cgu/1.5/tlmsrc/cgu.cc +121 -0
  92. data/spec/test_data/spiritconsortium.org/Leon2TLM/cgu/1.5/tlmsrc/cgu.h +81 -0
  93. data/spec/test_data/spiritconsortium.org/Leon2TLM/dma/1.4/dma.xml +272 -0
  94. data/spec/test_data/spiritconsortium.org/Leon2TLM/dma/1.4/tlmsrc/dma.cc +230 -0
  95. data/spec/test_data/spiritconsortium.org/Leon2TLM/dma/1.4/tlmsrc/dma.h +116 -0
  96. data/spec/test_data/spiritconsortium.org/Leon2TLM/irqctrl/1.4/irqctrl.xml +530 -0
  97. data/spec/test_data/spiritconsortium.org/Leon2TLM/irqctrl/1.4/tlmsrc/irqctrl.cc +211 -0
  98. data/spec/test_data/spiritconsortium.org/Leon2TLM/irqctrl/1.4/tlmsrc/irqctrl.h +108 -0
  99. data/spec/test_data/spiritconsortium.org/Leon2TLM/processor/1.4/processor.xml +423 -0
  100. data/spec/test_data/spiritconsortium.org/Leon2TLM/processor/1.4/tlmsrc/processor.cc +331 -0
  101. data/spec/test_data/spiritconsortium.org/Leon2TLM/processor/1.4/tlmsrc/processor.h +121 -0
  102. data/spec/test_data/spiritconsortium.org/Leon2TLM/pv2apb/1.0/pv2apb.xml +240 -0
  103. data/spec/test_data/spiritconsortium.org/Leon2TLM/pv2apb/1.0/tlmsrc/pv2apb.cc +153 -0
  104. data/spec/test_data/spiritconsortium.org/Leon2TLM/pv2apb/1.0/tlmsrc/pv2apb.h +77 -0
  105. data/spec/test_data/spiritconsortium.org/Leon2TLM/pv2tac/1.0/pv2tac.xml +154 -0
  106. data/spec/test_data/spiritconsortium.org/Leon2TLM/pv2tac/1.0/tlmsrc/pv2tac.cc +114 -0
  107. data/spec/test_data/spiritconsortium.org/Leon2TLM/pv2tac/1.0/tlmsrc/pv2tac.h +67 -0
  108. data/spec/test_data/spiritconsortium.org/Leon2TLM/rgu/1.4/rgu.xml +766 -0
  109. data/spec/test_data/spiritconsortium.org/Leon2TLM/rgu/1.4/tlmsrc/rgu.cc +126 -0
  110. data/spec/test_data/spiritconsortium.org/Leon2TLM/rgu/1.4/tlmsrc/rgu.h +105 -0
  111. data/spec/test_data/spiritconsortium.org/Leon2TLM/scmlAdaptor/1.0/scmlAdaptor.xml +154 -0
  112. data/spec/test_data/spiritconsortium.org/Leon2TLM/scmlAdaptor/1.0/tlmsrc/scmladaptor.cc +100 -0
  113. data/spec/test_data/spiritconsortium.org/Leon2TLM/scmlAdaptor/1.0/tlmsrc/scmladaptor.h +62 -0
  114. data/spec/test_data/spiritconsortium.org/Leon2TLM/serial_device/1.0/serial_device.xml +151 -0
  115. data/spec/test_data/spiritconsortium.org/Leon2TLM/serial_device/1.0/tlmsrc/serial_device.h +85 -0
  116. data/spec/test_data/spiritconsortium.org/Leon2TLM/timers/1.4/timers.xml +460 -0
  117. data/spec/test_data/spiritconsortium.org/Leon2TLM/timers/1.4/tlmsrc/timers.cc +201 -0
  118. data/spec/test_data/spiritconsortium.org/Leon2TLM/timers/1.4/tlmsrc/timers.h +102 -0
  119. data/spec/test_data/spiritconsortium.org/Leon2TLM/uart_scml/1.0/tlmsrc/inc/uart.h +152 -0
  120. data/spec/test_data/spiritconsortium.org/Leon2TLM/uart_scml/1.0/tlmsrc/inc/uart_fifo.h +113 -0
  121. data/spec/test_data/spiritconsortium.org/Leon2TLM/uart_scml/1.0/tlmsrc/inc/uart_memory_map.h +96 -0
  122. data/spec/test_data/spiritconsortium.org/Leon2TLM/uart_scml/1.0/tlmsrc/inc/uart_types.h +60 -0
  123. data/spec/test_data/spiritconsortium.org/Leon2TLM/uart_scml/1.0/tlmsrc/src/uart.cc +125 -0
  124. data/spec/test_data/spiritconsortium.org/Leon2TLM/uart_scml/1.0/tlmsrc/src/uart_interrupt_handler.cc +136 -0
  125. data/spec/test_data/spiritconsortium.org/Leon2TLM/uart_scml/1.0/tlmsrc/src/uart_register_bank.cc +129 -0
  126. data/spec/test_data/spiritconsortium.org/Leon2TLM/uart_scml/1.0/tlmsrc/src/uart_serial_tx_rx.cc +145 -0
  127. data/spec/test_data/spiritconsortium.org/Leon2TLM/uart_scml/1.0/uart_scml.xml +372 -0
  128. data/spec/test_data/spiritconsortium.org/Leon2TLM/uart_tac/1.0/tlmsrc/include/Leon2_uart.h +216 -0
  129. data/spec/test_data/spiritconsortium.org/Leon2TLM/uart_tac/1.0/tlmsrc/include/def_Leon2_uart.h +34 -0
  130. data/spec/test_data/spiritconsortium.org/Leon2TLM/uart_tac/1.0/tlmsrc/include/tlm_field.h +72 -0
  131. data/spec/test_data/spiritconsortium.org/Leon2TLM/uart_tac/1.0/tlmsrc/include/tlm_register.h +129 -0
  132. data/spec/test_data/spiritconsortium.org/Leon2TLM/uart_tac/1.0/tlmsrc/include/tlmreg_Leon2_uart.h +133 -0
  133. data/spec/test_data/spiritconsortium.org/Leon2TLM/uart_tac/1.0/tlmsrc/src/Leon2_uart.cc +316 -0
  134. data/spec/test_data/spiritconsortium.org/Leon2TLM/uart_tac/1.0/tlmsrc/src/tlmreg_Leon2_uart.cc +197 -0
  135. data/spec/test_data/spiritconsortium.org/Leon2TLM/uart_tac/1.0/tlmsrc/src/user_specific_Leon2_uart.cc +146 -0
  136. data/spec/test_data/spiritconsortium.org/Leon2TLM/uart_tac/1.0/uart_tac.xml +222 -0
  137. data/spec/unit/component_spec.rb +98 -0
  138. data/spec/unit/graph_pathfinder_spec.rb +128 -0
  139. data/spec/unit/interconnect_spec.rb +177 -0
  140. data/spec/unit/ipxact_spec.rb +69 -0
  141. data/spec/unit/platform_spec.rb +34 -0
  142. metadata +225 -0
@@ -0,0 +1,86 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <!--
3
+ // Description : fileType.xsd
4
+ // Author: The SPIRIT Consortium Schema Working Group
5
+ //
6
+ // Revision: $Revision: 1525 $
7
+ // Date: $Date: 2009-05-27 16:15:02 -0500 (Wed, 27 May 2009) $
8
+ //
9
+ // Copyright (c) 2005, 2006, 2007, 2008, 2009 The SPIRIT Consortium.
10
+ //
11
+ // This work forms part of a deliverable of The SPIRIT Consortium.
12
+ //
13
+ // Use of these materials are governed by the legal terms and conditions
14
+ // outlined in the disclaimer available from www.spiritconsortium.org.
15
+ //
16
+ // This source file is provided on an AS IS basis. The SPIRIT
17
+ // Consortium disclaims any warranty express or implied including
18
+ // any warranty of merchantability and fitness for use for a
19
+ // particular purpose.
20
+ //
21
+ // The user of the source file shall indemnify and hold The SPIRIT
22
+ // Consortium and its members harmless from any damages or liability.
23
+ // Users are requested to provide feedback to The SPIRIT Consortium
24
+ // using either mailto:feedback@lists.spiritconsortium.org or the forms at
25
+ // http://www.spiritconsortium.org/about/contact_us/
26
+ //
27
+ // This file may be copied, and distributed, WITHOUT
28
+ // modifications; this notice must be included on any copy.
29
+ -->
30
+ <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:spirit="http://www.spiritconsortium.org/XMLSchema/SPIRIT/1.5" targetNamespace="http://www.spiritconsortium.org/XMLSchema/SPIRIT/1.5" elementFormDefault="qualified" attributeFormDefault="qualified">
31
+ <xs:group name="fileType">
32
+ <xs:annotation>
33
+ <xs:documentation>The type of a file refenced by IP-XACT.
34
+ Either: fileType - a known IP-XACT file type, or userFileType - a file type not yet known by IP-XACT. If multiple types are specified, the order is important. The first type is the primary type of the file and the latter types are types that may be embedded in the file. For example a Verilog file containing PSL assertions.</xs:documentation>
35
+ </xs:annotation>
36
+ <xs:choice>
37
+ <xs:element name="fileType">
38
+ <xs:annotation>
39
+ <xs:documentation>Enumerated file types known by IP-XACT.</xs:documentation>
40
+ </xs:annotation>
41
+ <xs:simpleType>
42
+ <xs:restriction base="xs:string">
43
+ <xs:enumeration value="unknown"/>
44
+ <xs:enumeration value="cSource"/>
45
+ <xs:enumeration value="cppSource"/>
46
+ <xs:enumeration value="asmSource"/>
47
+ <xs:enumeration value="vhdlSource"/>
48
+ <xs:enumeration value="vhdlSource-87"/>
49
+ <xs:enumeration value="vhdlSource-93"/>
50
+ <xs:enumeration value="verilogSource"/>
51
+ <xs:enumeration value="verilogSource-95"/>
52
+ <xs:enumeration value="verilogSource-2001"/>
53
+ <xs:enumeration value="swObject"/>
54
+ <xs:enumeration value="swObjectLibrary"/>
55
+ <xs:enumeration value="vhdlBinaryLibrary"/>
56
+ <xs:enumeration value="verilogBinaryLibrary"/>
57
+ <xs:enumeration value="unelaboratedHdl"/>
58
+ <xs:enumeration value="executableHdl"/>
59
+ <xs:enumeration value="systemVerilogSource"/>
60
+ <xs:enumeration value="systemVerilogSource-3.0"/>
61
+ <xs:enumeration value="systemVerilogSource-3.1"/>
62
+ <xs:enumeration value="systemCSource"/>
63
+ <xs:enumeration value="systemCSource-2.0"/>
64
+ <xs:enumeration value="systemCSource-2.0.1"/>
65
+ <xs:enumeration value="systemCSource-2.1"/>
66
+ <xs:enumeration value="systemCSource-2.2"/>
67
+ <xs:enumeration value="veraSource"/>
68
+ <xs:enumeration value="eSource"/>
69
+ <xs:enumeration value="perlSource"/>
70
+ <xs:enumeration value="tclSource"/>
71
+ <xs:enumeration value="OVASource"/>
72
+ <xs:enumeration value="SVASource"/>
73
+ <xs:enumeration value="pslSource"/>
74
+ <xs:enumeration value="systemVerilogSource-3.1a"/>
75
+ <xs:enumeration value="SDC"/>
76
+ </xs:restriction>
77
+ </xs:simpleType>
78
+ </xs:element>
79
+ <xs:element name="userFileType" type="xs:string">
80
+ <xs:annotation>
81
+ <xs:documentation>Free form file type, not - yet - known by IP-XACT .</xs:documentation>
82
+ </xs:annotation>
83
+ </xs:element>
84
+ </xs:choice>
85
+ </xs:group>
86
+ </xs:schema>
@@ -0,0 +1,240 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <!--
3
+ // Description : generator.xsd
4
+ // Author: The SPIRIT Consortium Schema Working Group
5
+ //
6
+ // Revision: $Revision: 1506 $
7
+ // Date: $Date: 2009-04-26 01:51:56 -0500 (Sun, 26 Apr 2009) $
8
+ //
9
+ // Copyright (c) 2005, 2006, 2007, 2008, 2009 The SPIRIT Consortium.
10
+ //
11
+ // This work forms part of a deliverable of The SPIRIT Consortium.
12
+ //
13
+ // Use of these materials are governed by the legal terms and conditions
14
+ // outlined in the disclaimer available from www.spiritconsortium.org.
15
+ //
16
+ // This source file is provided on an AS IS basis. The SPIRIT
17
+ // Consortium disclaims any warranty express or implied including
18
+ // any warranty of merchantability and fitness for use for a
19
+ // particular purpose.
20
+ //
21
+ // The user of the source file shall indemnify and hold The SPIRIT
22
+ // Consortium and its members harmless from any damages or liability.
23
+ // Users are requested to provide feedback to The SPIRIT Consortium
24
+ // using either mailto:feedback@lists.spiritconsortium.org or the forms at
25
+ // http://www.spiritconsortium.org/about/contact_us/
26
+ //
27
+ // This file may be copied, and distributed, WITHOUT
28
+ // modifications; this notice must be included on any copy.
29
+ -->
30
+ <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:spirit="http://www.spiritconsortium.org/XMLSchema/SPIRIT/1.5" targetNamespace="http://www.spiritconsortium.org/XMLSchema/SPIRIT/1.5" elementFormDefault="qualified" attributeFormDefault="qualified">
31
+ <xs:include schemaLocation="file.xsd"/>
32
+ <xs:include schemaLocation="identifier.xsd"/>
33
+ <xs:include schemaLocation="commonStructures.xsd"/>
34
+ <xs:element name="generatorChain">
35
+ <xs:complexType>
36
+ <xs:sequence>
37
+ <xs:group ref="spirit:versionedIdentifier"/>
38
+ <xs:choice maxOccurs="unbounded">
39
+ <xs:element name="generatorChainSelector">
40
+ <xs:annotation>
41
+ <xs:documentation>Select other generator chain files for inclusion into this chain. The boolean attribute "unique" (default false) specifies that only a single generator is valid in this context. If more that one generator is selected based on the selection criteria, DE will prompt the user to resolve to a single generator.</xs:documentation>
42
+ </xs:annotation>
43
+ <xs:complexType>
44
+ <xs:choice>
45
+ <xs:element ref="spirit:groupSelector"/>
46
+ <xs:element name="generatorChainRef" type="spirit:libraryRefType">
47
+ <xs:annotation>
48
+ <xs:documentation>Select another generator chain using the unique identifier of this generator chain.</xs:documentation>
49
+ </xs:annotation>
50
+ </xs:element>
51
+ </xs:choice>
52
+ <xs:attribute name="unique" type="xs:boolean" use="optional" default="false">
53
+ <xs:annotation>
54
+ <xs:documentation>Specifies that only a single generator is valid in this context. If more that one generator is selcted based on the selection criteria, DE will prompt the user to resolve to a single generator.</xs:documentation>
55
+ </xs:annotation>
56
+ </xs:attribute>
57
+ </xs:complexType>
58
+ </xs:element>
59
+ <xs:element name="componentGeneratorSelector" type="spirit:generatorSelectorType">
60
+ <xs:annotation>
61
+ <xs:documentation>Selects generators declared in components of the current design for inclusion into this generator chain.</xs:documentation>
62
+ </xs:annotation>
63
+ </xs:element>
64
+ <xs:element ref="spirit:generator"/>
65
+ </xs:choice>
66
+ <xs:element name="chainGroup" type="xs:Name" minOccurs="0" maxOccurs="unbounded">
67
+ <xs:annotation>
68
+ <xs:documentation>Identifies this generator chain as belonging to the named group. This is used by other generator chains to select this chain for programmatic inclusion.</xs:documentation>
69
+ </xs:annotation>
70
+ </xs:element>
71
+ <xs:element ref="spirit:displayName" minOccurs="0"/>
72
+ <xs:element ref="spirit:description" minOccurs="0"/>
73
+ <xs:element ref="spirit:choices" minOccurs="0"/>
74
+ <xs:element ref="spirit:vendorExtensions" minOccurs="0"/>
75
+ </xs:sequence>
76
+ <xs:attribute name="hidden" type="xs:boolean" use="optional" default="false">
77
+ <xs:annotation>
78
+ <xs:documentation>If this attribute is true then the generator should not be presented to the user, it may be part of a chain and has no useful meaning when invoked standalone.</xs:documentation>
79
+ </xs:annotation>
80
+ </xs:attribute>
81
+ </xs:complexType>
82
+ </xs:element>
83
+ <xs:element name="generator">
84
+ <xs:annotation>
85
+ <xs:documentation>Specifies a set of generators.</xs:documentation>
86
+ </xs:annotation>
87
+ <xs:complexType>
88
+ <xs:complexContent>
89
+ <xs:extension base="spirit:generatorType"/>
90
+ </xs:complexContent>
91
+ </xs:complexType>
92
+ </xs:element>
93
+ <xs:element name="componentGenerator">
94
+ <xs:annotation>
95
+ <xs:documentation>Specifies a set of component generators. The scope attribute applies to component generators and specifies whether the generator should be run for each instance of the entity (or module) or just once for all instances of the entity.</xs:documentation>
96
+ </xs:annotation>
97
+ <xs:complexType>
98
+ <xs:complexContent>
99
+ <xs:extension base="spirit:instanceGeneratorType"/>
100
+ </xs:complexContent>
101
+ </xs:complexType>
102
+ </xs:element>
103
+ <xs:element name="abstractorGenerator" type="spirit:instanceGeneratorType">
104
+ <xs:annotation>
105
+ <xs:documentation>Specifies a set of abstractor generators. The scope attribute applies to abstractor generators and specifies whether the generator should be run for each instance of the entity (or module) or just once for all instances of the entity.</xs:documentation>
106
+ </xs:annotation>
107
+ </xs:element>
108
+ <xs:element name="groupSelector">
109
+ <xs:annotation>
110
+ <xs:documentation>Specifies a set of group names used to select subsequent generators. The attribute "multipleGroupOperator" specifies the OR or AND selection operator if there is more than one group name (default=OR).</xs:documentation>
111
+ </xs:annotation>
112
+ <xs:complexType>
113
+ <xs:sequence>
114
+ <xs:element name="name" type="xs:Name" maxOccurs="unbounded">
115
+ <xs:annotation>
116
+ <xs:documentation>Specifies a generator group name or a generator chain group name to be selected for inclusion in the generator chain.</xs:documentation>
117
+ </xs:annotation>
118
+ </xs:element>
119
+ </xs:sequence>
120
+ <xs:attribute name="multipleGroupSelectionOperator" use="optional" default="or">
121
+ <xs:annotation>
122
+ <xs:documentation>Specifies the OR or AND selection operator if there is more than one group name.</xs:documentation>
123
+ </xs:annotation>
124
+ <xs:simpleType>
125
+ <xs:restriction base="xs:Name">
126
+ <xs:enumeration value="and"/>
127
+ <xs:enumeration value="or"/>
128
+ </xs:restriction>
129
+ </xs:simpleType>
130
+ </xs:attribute>
131
+ </xs:complexType>
132
+ </xs:element>
133
+ <xs:element name="phase">
134
+ <xs:annotation>
135
+ <xs:documentation>This is an non-negative floating point number that is used to sequence when a generator is run. The generators are run in order starting with zero. There may be multiple generators with the same phase number. In this case, the order should not matter with respect to other generators at the same phase. If no phase number is given the generator will be considered in the "last" phase and these generators will be run in the order in which they are encountered while processing generator elements.</xs:documentation>
136
+ </xs:annotation>
137
+ <xs:complexType>
138
+ <xs:simpleContent>
139
+ <xs:extension base="xs:float"/>
140
+ </xs:simpleContent>
141
+ </xs:complexType>
142
+ </xs:element>
143
+ <xs:complexType name="instanceGeneratorType">
144
+ <xs:complexContent>
145
+ <xs:extension base="spirit:generatorType">
146
+ <xs:sequence>
147
+ <xs:element name="group" type="xs:Name" minOccurs="0" maxOccurs="unbounded">
148
+ <xs:annotation>
149
+ <xs:documentation>An identifier to specify the generator group. This is used by generator chains for selecting which generators to run.</xs:documentation>
150
+ </xs:annotation>
151
+ </xs:element>
152
+ </xs:sequence>
153
+ <xs:attribute name="scope" use="optional" default="instance">
154
+ <xs:annotation>
155
+ <xs:documentation>The scope attribute applies to component generators and specifies whether the generator should be run for each instance of the entity (or module) or just once for all instances of the entity.</xs:documentation>
156
+ </xs:annotation>
157
+ <xs:simpleType>
158
+ <xs:restriction base="xs:string">
159
+ <xs:enumeration value="instance"/>
160
+ <xs:enumeration value="entity"/>
161
+ </xs:restriction>
162
+ </xs:simpleType>
163
+ </xs:attribute>
164
+ </xs:extension>
165
+ </xs:complexContent>
166
+ </xs:complexType>
167
+ <xs:complexType name="generatorSelectorType">
168
+ <xs:sequence>
169
+ <xs:element ref="spirit:groupSelector"/>
170
+ </xs:sequence>
171
+ </xs:complexType>
172
+ <xs:element name="componentGenerators">
173
+ <xs:annotation>
174
+ <xs:documentation>List of component generators.</xs:documentation>
175
+ </xs:annotation>
176
+ <xs:complexType>
177
+ <xs:sequence>
178
+ <xs:element ref="spirit:componentGenerator" maxOccurs="unbounded"/>
179
+ </xs:sequence>
180
+ </xs:complexType>
181
+ </xs:element>
182
+ <xs:element name="abstractorGenerators">
183
+ <xs:annotation>
184
+ <xs:documentation>List of abstractor generators.</xs:documentation>
185
+ </xs:annotation>
186
+ <xs:complexType>
187
+ <xs:sequence>
188
+ <xs:element ref="spirit:abstractorGenerator" maxOccurs="unbounded"/>
189
+ </xs:sequence>
190
+ </xs:complexType>
191
+ </xs:element>
192
+ <xs:complexType name="generatorType">
193
+ <xs:annotation>
194
+ <xs:documentation>Types of generators</xs:documentation>
195
+ </xs:annotation>
196
+ <xs:sequence>
197
+ <xs:group ref="spirit:nameGroup"/>
198
+ <xs:element ref="spirit:phase" minOccurs="0"/>
199
+ <xs:element ref="spirit:parameters" minOccurs="0"/>
200
+ <xs:element name="apiType" minOccurs="0">
201
+ <xs:annotation>
202
+ <xs:documentation>Indicates the type of API used by the generator. Valid value are TGI, and none. If this element is not present, TGI is assumed.</xs:documentation>
203
+ </xs:annotation>
204
+ <xs:simpleType>
205
+ <xs:restriction base="xs:token">
206
+ <xs:enumeration value="TGI"/>
207
+ <xs:enumeration value="none"/>
208
+ </xs:restriction>
209
+ </xs:simpleType>
210
+ </xs:element>
211
+ <xs:element name="transportMethods" minOccurs="0">
212
+ <xs:complexType>
213
+ <xs:sequence>
214
+ <xs:element name="transportMethod">
215
+ <xs:annotation>
216
+ <xs:documentation>Defines a SOAP transport protocol other than HTTP which is supported by this generator. The only other currently supported protocol is 'file'.</xs:documentation>
217
+ </xs:annotation>
218
+ <xs:simpleType>
219
+ <xs:restriction base="xs:token">
220
+ <xs:enumeration value="file"/>
221
+ </xs:restriction>
222
+ </xs:simpleType>
223
+ </xs:element>
224
+ </xs:sequence>
225
+ </xs:complexType>
226
+ </xs:element>
227
+ <xs:element name="generatorExe" type="spirit:spiritURI">
228
+ <xs:annotation>
229
+ <xs:documentation>The pathname to the executable file that implements the generator</xs:documentation>
230
+ </xs:annotation>
231
+ </xs:element>
232
+ <xs:element ref="spirit:vendorExtensions" minOccurs="0"/>
233
+ </xs:sequence>
234
+ <xs:attribute name="hidden" type="xs:boolean" use="optional" default="false">
235
+ <xs:annotation>
236
+ <xs:documentation>If this attribute is true then the generator should not be presented to the user, it may be part of a chain and has no useful meaning when invoked standalone.</xs:documentation>
237
+ </xs:annotation>
238
+ </xs:attribute>
239
+ </xs:complexType>
240
+ </xs:schema>
@@ -0,0 +1,93 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <!--
3
+ // Description : identifier.xsd
4
+ // Author: The SPIRIT Consortium Schema Working Group
5
+ //
6
+ // Revision: $Revision: 1526 $
7
+ // Date: $Date: 2009-05-27 16:31:29 -0500 (Wed, 27 May 2009) $
8
+ //
9
+ // Copyright (c) 2005, 2006, 2007, 2008, 2009 The SPIRIT Consortium.
10
+ //
11
+ // This work forms part of a deliverable of The SPIRIT Consortium.
12
+ //
13
+ // Use of these materials are governed by the legal terms and conditions
14
+ // outlined in the disclaimer available from www.spiritconsortium.org.
15
+ //
16
+ // This source file is provided on an AS IS basis. The SPIRIT
17
+ // Consortium disclaims any warranty express or implied including
18
+ // any warranty of merchantability and fitness for use for a
19
+ // particular purpose.
20
+ //
21
+ // The user of the source file shall indemnify and hold The SPIRIT
22
+ // Consortium and its members harmless from any damages or liability.
23
+ // Users are requested to provide feedback to The SPIRIT Consortium
24
+ // using either mailto:feedback@lists.spiritconsortium.org or the forms at
25
+ // http://www.spiritconsortium.org/about/contact_us/
26
+ //
27
+ // This file may be copied, and distributed, WITHOUT
28
+ // modifications; this notice must be included on any copy.
29
+ -->
30
+ <xs:schema xmlns:spirit="http://www.spiritconsortium.org/XMLSchema/SPIRIT/1.5" xmlns:xs="http://www.w3.org/2001/XMLSchema" targetNamespace="http://www.spiritconsortium.org/XMLSchema/SPIRIT/1.5" elementFormDefault="qualified" attributeFormDefault="qualified">
31
+ <xs:group name="baseIdentifier">
32
+ <xs:annotation>
33
+ <xs:documentation>Base IP-XACT identifier group. Identify an IP-XACT document by its by vendor, library and name.</xs:documentation>
34
+ </xs:annotation>
35
+ <xs:sequence/>
36
+ </xs:group>
37
+ <xs:group name="versionedIdentifier">
38
+ <xs:annotation>
39
+ <xs:documentation>This group of elements identifies a top level item (e.g. a component or a bus definition) with vendor, library, name and a version number. </xs:documentation>
40
+ </xs:annotation>
41
+ <xs:sequence>
42
+ <xs:element name="vendor" type="xs:Name">
43
+ <xs:annotation>
44
+ <xs:documentation>Name of the vendor who supplies this file.</xs:documentation>
45
+ </xs:annotation>
46
+ </xs:element>
47
+ <xs:element name="library" type="xs:Name">
48
+ <xs:annotation>
49
+ <xs:documentation>Name of the logical library this element belongs to. </xs:documentation>
50
+ </xs:annotation>
51
+ </xs:element>
52
+ <xs:element name="name" type="xs:NMTOKEN">
53
+ <xs:annotation>
54
+ <xs:documentation>The name of the object. </xs:documentation>
55
+ </xs:annotation>
56
+ </xs:element>
57
+ <xs:element name="version" type="xs:NMTOKEN">
58
+ <xs:annotation>
59
+ <xs:documentation>Indicates the version of the named element.</xs:documentation>
60
+ </xs:annotation>
61
+ </xs:element>
62
+ </xs:sequence>
63
+ </xs:group>
64
+ <xs:attributeGroup name="libraryRefGroup">
65
+ <xs:annotation>
66
+ <xs:documentation>Base IP-XACT document reference. Contains vendor, library, name and version attributes.</xs:documentation>
67
+ </xs:annotation>
68
+ <xs:attribute name="vendor" type="xs:Name" use="required"/>
69
+ <xs:attribute name="library" type="xs:Name" use="required"/>
70
+ <xs:attribute name="name" type="xs:NMTOKEN" use="required"/>
71
+ <xs:attribute name="version" type="xs:NMTOKEN" use="required"/>
72
+ </xs:attributeGroup>
73
+ <xs:complexType name="libraryRefType">
74
+ <xs:annotation>
75
+ <xs:documentation>Base IP-XACT document reference type. Contains vendor, library, name and version attributes.</xs:documentation>
76
+ </xs:annotation>
77
+ <xs:attributeGroup ref="spirit:libraryRefGroup">
78
+ <xs:annotation>
79
+ <xs:documentation>Base IP-XACT document reference. Contains vendor, library, name and version attributes.</xs:documentation>
80
+ </xs:annotation>
81
+ </xs:attributeGroup>
82
+ </xs:complexType>
83
+ <xs:complexType name="resolvedLibraryRefType">
84
+ <xs:annotation>
85
+ <xs:documentation>Resolved IP-XACT document reference type. Contains vendor, library, name and version attributes and the URI of the referenced IP-XACT document</xs:documentation>
86
+ </xs:annotation>
87
+ <xs:simpleContent>
88
+ <xs:extension base="xs:anyURI">
89
+ <xs:attributeGroup ref="spirit:libraryRefGroup"/>
90
+ </xs:extension>
91
+ </xs:simpleContent>
92
+ </xs:complexType>
93
+ </xs:schema>
data/schemas/index.xsd ADDED
@@ -0,0 +1,67 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <!--
3
+ // Description: index.xsd
4
+ // Author: The SPIRIT Consortium Schema Working Group
5
+ //
6
+ // Revision: $Revision: 1506 $
7
+ // Date: $Date: 2009-04-26 01:51:56 -0500 (Sun, 26 Apr 2009) $
8
+ //
9
+ // Copyright (c) 2005, 2006, 2007, 2008, 2009 The SPIRIT Consortium.
10
+ //
11
+ // This work forms part of a deliverable of The SPIRIT Consortium.
12
+ //
13
+ // Use of these materials are governed by the legal terms and conditions
14
+ // outlined in the disclaimer available from www.spiritconsortium.org.
15
+ //
16
+ // This source file is provided on an AS IS basis. The SPIRIT
17
+ // Consortium disclaims any warranty express or implied including
18
+ // any warranty of merchantability and fitness for use for a
19
+ // particular purpose.
20
+ //
21
+ // The user of the source file shall indemnify and hold The SPIRIT
22
+ // Consortium and its members harmless from any damages or liability.
23
+ // Users are requested to provide feedback to The SPIRIT Consortium
24
+ // using either mailto:feedback@lists.spiritconsortium.org or the forms at
25
+ // http://www.spiritconsortium.org/about/contact_us/
26
+ //
27
+ // This file may be copied, and distributed, WITHOUT
28
+ // modifications; this notice must be included on any copy.
29
+ -->
30
+ <xs:schema xmlns:spirit="http://www.spiritconsortium.org/XMLSchema/SPIRIT/1.5" xmlns:xs="http://www.w3.org/2001/XMLSchema" targetNamespace="http://www.spiritconsortium.org/XMLSchema/SPIRIT/1.5" elementFormDefault="qualified" attributeFormDefault="qualified">
31
+ <xs:include schemaLocation="busDefinition.xsd"/>
32
+ <xs:include schemaLocation="component.xsd"/>
33
+ <xs:include schemaLocation="design.xsd"/>
34
+ <xs:include schemaLocation="designConfig.xsd"/>
35
+ <xs:include schemaLocation="abstractionDefinition.xsd"/>
36
+ <xs:include schemaLocation="abstractor.xsd"/>
37
+ <xs:group name="IPXACTDocumentTypes">
38
+ <xs:annotation>
39
+ <xs:documentation>This IP-XACT schema documentation is part of the IP-XACT standard deliverables. The diagrams in this documentation represent the relationships between elements of the schema together with their attributes and expected values. Valid IP-XACT XML files must have a top-level type that is one of the elements listed here.</xs:documentation>
40
+ </xs:annotation>
41
+ <xs:choice>
42
+ <xs:element ref="spirit:busDefinition">
43
+ <xs:annotation>
44
+ <xs:documentation>To define all elements and attributes supported when defining a bus.</xs:documentation>
45
+ </xs:annotation>
46
+ </xs:element>
47
+ <xs:element ref="spirit:abstractionDefinition"/>
48
+ <xs:element ref="spirit:component">
49
+ <xs:annotation>
50
+ <xs:documentation>To define all elements and attributes supported when defining a component.</xs:documentation>
51
+ </xs:annotation>
52
+ </xs:element>
53
+ <xs:element ref="spirit:abstractor"/>
54
+ <xs:element ref="spirit:design">
55
+ <xs:annotation>
56
+ <xs:documentation>To define all elements and attributes supported when defining a design and its configured components</xs:documentation>
57
+ </xs:annotation>
58
+ </xs:element>
59
+ <xs:element ref="spirit:generatorChain">
60
+ <xs:annotation>
61
+ <xs:documentation>To define all elements and attributes supported for defining generator chains.</xs:documentation>
62
+ </xs:annotation>
63
+ </xs:element>
64
+ <xs:element ref="spirit:designConfiguration"/>
65
+ </xs:choice>
66
+ </xs:group>
67
+ </xs:schema>