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.
- checksums.yaml +7 -0
- data/.gitignore +10 -0
- data/.rspec +3 -0
- data/.rspec_status +5 -0
- data/Gemfile +9 -0
- data/Gemfile.lock +38 -0
- data/LICENSE.txt +21 -0
- data/README.md +27 -0
- data/Rakefile +8 -0
- data/bin/console +15 -0
- data/bin/setup +8 -0
- data/exe/pkmlevel2 +22 -0
- data/lib/conv_PV_KM.rb +75 -0
- data/lib/conv_RN_TM.rb +73 -0
- data/lib/pkm_level2_converter.rb +107 -0
- data/lib/pkm_level2_converter/ka/pkm/1/XML-Schema_PKM.xsd +2847 -0
- data/lib/pkm_level2_converter/ka/pkm/1/XML-Schema_PKM_TX.xsd +221 -0
- data/lib/pkm_level2_converter/ka/pkm/2/XML-Schema_PKM.xsd +4082 -0
- data/lib/pkm_level2_converter/ka/pkm/2/XML-Schema_PKM.xsd.MD5 +1 -0
- data/lib/pkm_level2_converter/ka/pkm/2/XML-Schema_PKM_TX.xsd +178 -0
- data/lib/pkm_level2_converter/ka/pkm/2/XML-Schema_PKM_TX.xsd.MD5 +1 -0
- data/lib/pkm_level2_converter/version.rb +5 -0
- data/pkm_level2_converter.gemspec +39 -0
- metadata +96 -0
@@ -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,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: []
|