pkm_level2_converter 0.1.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1 @@
1
+ fad5c8711005a03330485502117a9c5a *XML-Schema_PKM.xsd
@@ -0,0 +1,178 @@
1
+ <?xml version="1.0" encoding="utf-8"?>
2
+ <xs:schema version="1.7.1-SNAPSHOT"
3
+ targetNamespace="http://vdv/ka/pkm/2"
4
+ xmlns:tns="http://vdv/ka/pkm/2"
5
+ xmlns:ion="http://vdv/ka/ion/2"
6
+ xmlns:ct="http://vdv/ka/common/types/2"
7
+ xmlns:ka="http://vdv/ka/common/2"
8
+ xmlns:pkm="http://vdv/ka/pkm/2"
9
+ xmlns:xs="http://www.w3.org/2001/XMLSchema"
10
+ xmlns:xmime="http://www.w3.org/2005/05/xmlmime">
11
+
12
+ <xs:import namespace="http://vdv/ka/common/types/2" schemaLocation="../../../ka/common/types/2/XML-Schema_Common_Types.xsd" />
13
+ <xs:import namespace="http://vdv/ka/common/2" schemaLocation="../../../ka/common/2/XML-Schema_KA_Common.xsd" />
14
+ <xs:import namespace="http://vdv/ka/ion/2" schemaLocation="../../../ka/ion/2/XML-Schema_ION.xsd" />
15
+ <xs:include xmlns="http://vdv/ka/pkm/2" schemaLocation="../../../ka/pkm/2/XML-Schema_PKM.xsd"/>
16
+
17
+ <xs:annotation>
18
+ <xs:documentation>
19
+ Ersetzt XML-Schema_PKM_TX aus der Version 1.3.0 mit Namensraum http://vdv/ka/pkm/1.
20
+ Fuer das neue Modul (zusammen mit KA Release 1.6.0) wird der neue Namensraum http://vdv/ka/pkm/2 verwendet.
21
+ Die Hilfsdatentypen (TX_MODUL, etc.) in diesem Schema mussten aufgrund des neuen
22
+ Namensraumes gedoppelt werden.
23
+ </xs:documentation>
24
+ </xs:annotation>
25
+
26
+ <xs:simpleType name="Modulversion_NUMMER">
27
+ <xs:annotation>
28
+ <xs:documentation>
29
+ Die Modulversion_NUMMER identifiziert einen Ergebnisstand innerhalb eines Entwicklungszyklus.
30
+ Eine gueltige Modulversion_NUMMER ist groeßer als 0.
31
+ </xs:documentation>
32
+ </xs:annotation>
33
+ <xs:restriction base="ct:ReferenceNumberFour"/>
34
+ </xs:simpleType>
35
+
36
+ <xs:simpleType name="Modulstatus_CODE">
37
+ <xs:annotation>
38
+ <xs:documentation>
39
+ Der Modulstatus_CODE gibt den Bearbeitungsstatus eines Produkt- oder Kontrollmoduls an.
40
+ </xs:documentation>
41
+ </xs:annotation>
42
+ <xs:restriction base="ct:ReferenceNumberOne">
43
+ <xs:enumeration value="0">
44
+ <xs:annotation>
45
+ <xs:documentation>Undefiniert</xs:documentation>
46
+ </xs:annotation>
47
+ </xs:enumeration>
48
+ <xs:enumeration value="1">
49
+ <xs:annotation>
50
+ <xs:documentation>Entwurf</xs:documentation>
51
+ </xs:annotation>
52
+ </xs:enumeration>
53
+ <xs:enumeration value="2">
54
+ <xs:annotation>
55
+ <xs:documentation>Freigegeben</xs:documentation>
56
+ </xs:annotation>
57
+ </xs:enumeration>
58
+ </xs:restriction>
59
+ </xs:simpleType>
60
+
61
+ <xs:complexType name="TX_MODUL" abstract="true">
62
+ <xs:annotation>
63
+ <xs:documentation>
64
+ Ein TX_MODUL gilt für alle Transaktionsdatensaetze zur Verteilung von Produkt- und Kontrollmodulen.
65
+ Dieser Datensatz enthaelt Auszuege aus den Modul- und Versionsdaten eines Moduls.
66
+ </xs:documentation>
67
+ </xs:annotation>
68
+ <xs:sequence>
69
+ <xs:element name="modulgueltigkeitsbeginn" type="ct:DateTimeCompact"/>
70
+ <xs:element name="modulversion" type="tns:Modulversion_NUMMER"/>
71
+ <xs:element name="modulstatus" type="tns:Modulstatus_CODE"/>
72
+ <xs:element name="schnittstellenversion" type="ion:PrintableString"/>
73
+ <xs:element name="modulnamenszusatz" type="ion:PrintableString"/>
74
+ <xs:element name="bemerkung" type="ion:PrintableString"/>
75
+ </xs:sequence>
76
+ </xs:complexType>
77
+
78
+
79
+ <xs:complexType name="TX_MODUL_Daten">
80
+ <xs:annotation>
81
+ <xs:documentation>
82
+ Ein TX_MODUL_Daten ist die Auspraegung eines TX_MODUL,
83
+ der genau dann verwendet wird, wenn der Transaktionsdatensatz
84
+ zur Verteilung von Produkt- bzw. Kontrollmodul ein
85
+ entsprechendes Modul enthaelt.
86
+ </xs:documentation>
87
+ </xs:annotation>
88
+ <xs:complexContent>
89
+ <xs:extension base="tns:TX_MODUL" />
90
+ </xs:complexContent>
91
+ </xs:complexType>
92
+
93
+ <xs:complexType name="TX_MODUL_Bereitstellung">
94
+ <xs:annotation>
95
+ <xs:documentation>
96
+ Ein TX_MODUL_Bereitstellung ist die Auspraegung eines TX_MODUL,
97
+ wenn der Transaktionsdatensatz zur Verteilung von Produkt- bzw.
98
+ Kontrollmodul kein Modul, sondern nur Informationen zum Download
99
+ des entsprechenden Moduls enthaelt.
100
+ </xs:documentation>
101
+ </xs:annotation>
102
+ <xs:complexContent>
103
+ <xs:extension base="tns:TX_MODUL">
104
+ <xs:sequence>
105
+ <xs:element name="url" type="ion:PrintableString"></xs:element>
106
+ <xs:element name="bereitstellungsdatum" type="ct:DateCompact"></xs:element>
107
+ </xs:sequence>
108
+ </xs:extension>
109
+ </xs:complexContent>
110
+ </xs:complexType>
111
+
112
+ <xs:complexType name="TX_MODUL_Lieferung">
113
+ <xs:annotation>
114
+ <xs:documentation>
115
+ Ein TX_MODUL_Lieferung ist die Auspraegung eines TX_MODUL,
116
+ wenn der Transaktionsdatensatz zur Verteilung von Produkt- bzw.
117
+ Kontrollmodul kein Modul, sondern Angaben zur anderweitigen
118
+ Lieferung des entsprechenden Moduls enthaelt.
119
+ </xs:documentation>
120
+ </xs:annotation>
121
+ <xs:complexContent>
122
+ <xs:extension base="tns:TX_MODUL">
123
+ <xs:sequence>
124
+ <xs:element name="lieferart" type="ion:PrintableString"></xs:element>
125
+ <xs:element name="sendedatum" type="ct:DateCompact"></xs:element>
126
+ </xs:sequence>
127
+ </xs:extension>
128
+ </xs:complexContent>
129
+ </xs:complexType>
130
+
131
+ <xs:complexType name="TXVPVTM_Type">
132
+ <xs:annotation>
133
+ <xs:documentation>
134
+ Verteilung von PV-Tarifmodulen, auf deren Basis die Preisberechnung
135
+ fuer die ausgegebenen Berechtigungen erfolgt.
136
+ Mit TXVPVTM werden Tarifmodule vom PV u.a. an das Produktclearing uebermittelt.
137
+ Die Struktur enthaelt neben den eigentlichen Daten des Tarifmoduls auch
138
+ ergaenzende Informationen zum Modul, zur Lieferung und Bereitstellung.
139
+ Als innerer Datentyp wird
140
+ </xs:documentation>
141
+ </xs:annotation>
142
+ <xs:complexContent>
143
+ <xs:extension base="ion:TX_BASE_Type">
144
+ <xs:sequence>
145
+ <xs:element name="modulinformation" type="tns:TX_MODUL"/>
146
+ <xs:element name="pvtarifmodul" type="xs:base64Binary" xmime:expectedContentTypes='application/gzip'>
147
+ <xs:annotation>
148
+ <xs:documentation>
149
+ Dieses Element enthaelt die PKM Beschreibung in XML,
150
+ deren Format in pkm:XML-PVTarifmodul bzw.
151
+ http://vdv/ka/pkm/2:XML-PVTarifmodul definiert wird.
152
+ Die Daten liegen im XML Format vor, die im gzip Format (RFC1952) komprimiert und anschliessend
153
+ Base64 codiert sind.
154
+ Um die PKM Beschreibungsdaten zu erhalten, muss eine Dekodierung von Base64 nach Binary
155
+ stattfinden. Dieses Binaerformat ist dann gezippt und kann nach Umwandeln in eine Datei
156
+ mit einer Standard-Software auf Windows oder Unix entpackt werden.
157
+ Das Einbetten der XML-Struktur in gezippten Base64 bietet zum einen den Vorteil der
158
+ Komprimierung von ca. 10:1. Zum anderen ist ein weiterer Vorteil, dass die XSD-Validierung nicht
159
+ bei Annahme der Nachricht stattfindet sondern zu einem spaeteren Zeitpunkt
160
+ durchgefuehrt werden kann. Damit kann die Annahme eines PKM-Moduls synchron erfolgen.
161
+ </xs:documentation>
162
+ </xs:annotation>
163
+ </xs:element>
164
+ </xs:sequence>
165
+ </xs:extension>
166
+ </xs:complexContent>
167
+ </xs:complexType>
168
+
169
+ <xs:element name="TXVPVTM" type="tns:TXVPVTM_Type">
170
+ <xs:annotation>
171
+ <xs:documentation>
172
+ Element zur Verwendung im ION (WSDL). Verteilung von PV-Tarifmodulen,
173
+ auf deren Basis die Preisberechnung fuer die ausgegebenen Berechtigungen erfolgt.
174
+ </xs:documentation>
175
+ </xs:annotation>
176
+ </xs:element>
177
+
178
+ </xs:schema>
@@ -0,0 +1 @@
1
+ d610f7403ee7f1df9c4cb1e28b711081 *XML-Schema_PKM_TX.xsd
@@ -0,0 +1,5 @@
1
+ # frozen_string_literal: true
2
+
3
+ module PkmLevel2Converter
4
+ VERSION = "0.1.2"
5
+ end
@@ -0,0 +1,39 @@
1
+ # frozen_string_literal: true
2
+
3
+ require_relative "lib/pkm_level2_converter/version"
4
+
5
+ Gem::Specification.new do |spec|
6
+ spec.name = "pkm_level2_converter"
7
+ spec.version = PkmLevel2Converter::VERSION
8
+ spec.authors = ["Francis Doege"]
9
+ spec.email = ["hello@francisdoege.com"]
10
+
11
+ spec.summary = "Converts PKM modules for testing"
12
+ # spec.description = "TODO: Write a longer description or delete this line."
13
+ spec.homepage = "https://rubygems.org/gems/pkm_level2_converter"
14
+ spec.license = "MIT"
15
+ spec.required_ruby_version = ">= 2.4.0"
16
+
17
+ #spec.metadata["allowed_push_host"] = "TODO: Set to 'http://mygemserver.com'"
18
+
19
+ spec.metadata["homepage_uri"] = spec.homepage
20
+ spec.metadata["source_code_uri"] = "https://github.com/justusjonas74/pkm_level2_converter"
21
+ #spec.metadata["changelog_uri"] = "TODO: Put your gem's CHANGELOG.md URL here."
22
+
23
+ # Specify which files should be added to the gem when it is released.
24
+ # The `git ls-files -z` loads the files in the RubyGem that have been added into git.
25
+ spec.files = Dir.chdir(File.expand_path(__dir__)) do
26
+ `git ls-files -z`.split("\x0").reject { |f| f.match(%r{\A(?:test|spec|features)/}) }
27
+ end
28
+ spec.bindir = "exe"
29
+ spec.executables = spec.files.grep(%r{\Aexe/}) { |f| File.basename(f) }
30
+ spec.require_paths = ["lib"]
31
+
32
+ # Uncomment to register a new dependency of your gem
33
+ # spec.add_dependency "example-gem", "~> 1.0"
34
+ spec.add_dependency "nokogiri", "~> 1.10.4"
35
+ spec.add_development_dependency "rspec", "~> 3.2"
36
+
37
+ # For more information and examples about making a new gem, checkout our
38
+ # guide at: https://bundler.io/guides/creating_gem.html
39
+ end
metadata ADDED
@@ -0,0 +1,96 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: pkm_level2_converter
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.1.2
5
+ platform: ruby
6
+ authors:
7
+ - Francis Doege
8
+ autorequire:
9
+ bindir: exe
10
+ cert_chain: []
11
+ date: 2021-06-18 00:00:00.000000000 Z
12
+ dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: nokogiri
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - "~>"
18
+ - !ruby/object:Gem::Version
19
+ version: 1.10.4
20
+ type: :runtime
21
+ prerelease: false
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - "~>"
25
+ - !ruby/object:Gem::Version
26
+ version: 1.10.4
27
+ - !ruby/object:Gem::Dependency
28
+ name: rspec
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - "~>"
32
+ - !ruby/object:Gem::Version
33
+ version: '3.2'
34
+ type: :development
35
+ prerelease: false
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - "~>"
39
+ - !ruby/object:Gem::Version
40
+ version: '3.2'
41
+ description:
42
+ email:
43
+ - hello@francisdoege.com
44
+ executables:
45
+ - pkmlevel2
46
+ extensions: []
47
+ extra_rdoc_files: []
48
+ files:
49
+ - ".gitignore"
50
+ - ".rspec"
51
+ - ".rspec_status"
52
+ - Gemfile
53
+ - Gemfile.lock
54
+ - LICENSE.txt
55
+ - README.md
56
+ - Rakefile
57
+ - bin/console
58
+ - bin/setup
59
+ - exe/pkmlevel2
60
+ - lib/conv_PV_KM.rb
61
+ - lib/conv_RN_TM.rb
62
+ - lib/pkm_level2_converter.rb
63
+ - lib/pkm_level2_converter/ka/pkm/1/XML-Schema_PKM.xsd
64
+ - lib/pkm_level2_converter/ka/pkm/1/XML-Schema_PKM_TX.xsd
65
+ - lib/pkm_level2_converter/ka/pkm/2/XML-Schema_PKM.xsd
66
+ - lib/pkm_level2_converter/ka/pkm/2/XML-Schema_PKM.xsd.MD5
67
+ - lib/pkm_level2_converter/ka/pkm/2/XML-Schema_PKM_TX.xsd
68
+ - lib/pkm_level2_converter/ka/pkm/2/XML-Schema_PKM_TX.xsd.MD5
69
+ - lib/pkm_level2_converter/version.rb
70
+ - pkm_level2_converter.gemspec
71
+ homepage: https://rubygems.org/gems/pkm_level2_converter
72
+ licenses:
73
+ - MIT
74
+ metadata:
75
+ homepage_uri: https://rubygems.org/gems/pkm_level2_converter
76
+ source_code_uri: https://github.com/justusjonas74/pkm_level2_converter
77
+ post_install_message:
78
+ rdoc_options: []
79
+ require_paths:
80
+ - lib
81
+ required_ruby_version: !ruby/object:Gem::Requirement
82
+ requirements:
83
+ - - ">="
84
+ - !ruby/object:Gem::Version
85
+ version: 2.4.0
86
+ required_rubygems_version: !ruby/object:Gem::Requirement
87
+ requirements:
88
+ - - ">="
89
+ - !ruby/object:Gem::Version
90
+ version: '0'
91
+ requirements: []
92
+ rubygems_version: 3.1.6
93
+ signing_key:
94
+ specification_version: 4
95
+ summary: Converts PKM modules for testing
96
+ test_files: []