You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@plc4x.apache.org by cd...@apache.org on 2019/02/25 17:23:44 UTC

[incubator-plc4x] 01/01: - Updated the

This is an automated email from the ASF dual-hosted git repository.

cdutz pushed a commit to branch feature/daffodil-2.3.0
in repository https://gitbox.apache.org/repos/asf/incubator-plc4x.git

commit 49a6a164a529d96ef1a8fdc9cab04a49bfd96cf0
Author: Christofer Dutz <ch...@c-ware.de>
AuthorDate: Mon Feb 25 18:23:30 2019 +0100

    - Updated the
---
 examples/hello-world-plc4x/pom.xml                 |   6 +
 pom.xml                                            |  19 +-
 protocols/s7/pom.xml                               |  22 +-
 .../apache/plc4x/protocols/s7/protocol.dfdl.xsd    |  38 ++--
 .../plc4x/protocols/AbstractProtocolTest.java      |   6 +-
 .../org/apache/plc4x/protocols/s7/ManualTest.java  |  82 ++++++++
 .../org/apache/plc4x/protocols/s7/protocol.tdml    | 223 ++++++++++-----------
 sandbox/dynamic-driver-base/pom.xml                |  13 +-
 8 files changed, 268 insertions(+), 141 deletions(-)

diff --git a/examples/hello-world-plc4x/pom.xml b/examples/hello-world-plc4x/pom.xml
index fbd1b74..7374b3b 100644
--- a/examples/hello-world-plc4x/pom.xml
+++ b/examples/hello-world-plc4x/pom.xml
@@ -50,6 +50,12 @@
       <scope>runtime</scope>
     </dependency>
     <dependency>
+      <groupId>org.apache.plc4x.sandbox</groupId>
+      <artifactId>plc4j-dynamic-driver-s7</artifactId>
+      <version>0.4.0-SNAPSHOT</version>
+      <scope>runtime</scope>
+    </dependency>
+    <dependency>
       <groupId>org.apache.plc4x</groupId>
       <artifactId>plc4j-driver-simulated</artifactId>
       <version>0.4.0-SNAPSHOT</version>
diff --git a/pom.xml b/pom.xml
index d259a84..81b0d27 100644
--- a/pom.xml
+++ b/pom.xml
@@ -110,7 +110,7 @@
     <commons-pool2.version>2.6.0</commons-pool2.version>
     <commons-text.version>1.4</commons-text.version>
     <crc.version>1.0.1</crc.version>
-    <daffodil.version>2.2.0</daffodil.version>
+    <daffodil.version>2.3.0</daffodil.version>
     <elasticsearch.version>6.4.2</elasticsearch.version>
     <equalsverifier.version>3.0.2</equalsverifier.version>
     <findbugs.version>3.0.1</findbugs.version>
@@ -367,7 +367,12 @@
       </dependency>
       <dependency>
         <groupId>org.apache.daffodil</groupId>
-        <artifactId>daffodil-tdml_2.12</artifactId>
+        <artifactId>daffodil-tdml-lib_2.12</artifactId>
+        <version>${daffodil.version}</version>
+      </dependency>
+      <dependency>
+        <groupId>org.apache.daffodil</groupId>
+        <artifactId>daffodil-tdml-processor_2.12</artifactId>
         <version>${daffodil.version}</version>
       </dependency>
       <dependency>
@@ -1311,6 +1316,16 @@
         <enabled>true</enabled>
       </snapshots>
     </repository>
+    <repository>
+      <id>daffodil-release</id>
+      <url>https://repository.apache.org/content/repositories/orgapachedaffodil-1008/</url>
+      <releases>
+        <enabled>true</enabled>
+      </releases>
+      <snapshots>
+        <enabled>true</enabled>
+      </snapshots>
+    </repository>
   </repositories>
 
   <profiles>
diff --git a/protocols/s7/pom.xml b/protocols/s7/pom.xml
index ca8211d..1d72079 100644
--- a/protocols/s7/pom.xml
+++ b/protocols/s7/pom.xml
@@ -35,7 +35,7 @@
   <dependencies>
     <dependency>
       <groupId>org.apache.daffodil</groupId>
-      <artifactId>daffodil-tdml_2.12</artifactId>
+      <artifactId>daffodil-tdml-lib_2.12</artifactId>
       <scope>test</scope>
     </dependency>
     <dependency>
@@ -44,10 +44,30 @@
       <scope>test</scope>
     </dependency>
     <dependency>
+      <groupId>org.apache.daffodil</groupId>
+      <artifactId>daffodil-tdml-lib_2.12</artifactId>
+      <scope>test</scope>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.daffodil</groupId>
+      <artifactId>daffodil-japi_2.12</artifactId>
+      <version>${daffodil.version}</version>
+      <scope>test</scope>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.daffodil</groupId>
+      <artifactId>daffodil-tdml-processor_2.12</artifactId>
+      <scope>test</scope>
+    </dependency>
+    <dependency>
       <groupId>org.scala-lang</groupId>
       <artifactId>scala-library</artifactId>
       <scope>test</scope>
     </dependency>
+    <dependency>
+      <groupId>commons-codec</groupId>
+      <artifactId>commons-codec</artifactId>
+    </dependency>
   </dependencies>
 
 </project>
\ No newline at end of file
diff --git a/protocols/s7/src/main/resources/org/apache/plc4x/protocols/s7/protocol.dfdl.xsd b/protocols/s7/src/main/resources/org/apache/plc4x/protocols/s7/protocol.dfdl.xsd
index 8f3e640..6b8745c 100644
--- a/protocols/s7/src/main/resources/org/apache/plc4x/protocols/s7/protocol.dfdl.xsd
+++ b/protocols/s7/src/main/resources/org/apache/plc4x/protocols/s7/protocol.dfdl.xsd
@@ -35,10 +35,12 @@
                              alignment="1" alignmentUnits="bits"
                              leadingSkip="0" trailingSkip="0"
                              textPadKind="none" ignoreCase="no"
+                             textBidi="no" floating="no"
                              encoding="utf-8" truncateSpecifiedLengthString="no"
                              initiator="" terminator=""
                              sequenceKind="ordered" separator=""
-                             escapeSchemeRef="" initiatedContent="no"/>
+                             escapeSchemeRef="" initiatedContent="no"
+                             encodingErrorPolicy="replace"/>
             </dfdl:defineFormat>
             <dfdl:format ref="s7:s7FullFormat"/>
         </xs:appinfo>
@@ -167,7 +169,7 @@
             <!-- Length of the COTP header data -->
             <xs:element name="headerLength" type="s7:byte"/>
             <xs:element name="type" type="s7:CotpTpduType"/>
-            <xs:choice dfdl:choiceDispatchKey="{type}">
+            <xs:choice dfdl:choiceDispatchKey="{xs:string(type)}">
                 <xs:element dfdl:choiceBranchKey="224" ref="s7:CotpTpduConnectionRequest"/>
                 <xs:element dfdl:choiceBranchKey="208" ref="s7:CotpTpduConnectionResponse"/>
                 <xs:element dfdl:choiceBranchKey="128" ref="s7:CotpTpduDisconnectRequest"/>
@@ -268,7 +270,7 @@
                         <xs:sequence>
                             <xs:element name="type" type="s7:CotpParameterType"/>
                             <xs:element name="parameterLength" type="s7:byte"/>
-                            <xs:choice dfdl:choiceDispatchKey="{type}">
+                            <xs:choice dfdl:choiceDispatchKey="{xs:string(type)}">
                                 <xs:element dfdl:choiceBranchKey="192" ref="s7:CotpParameterTpduSize"/>
                                 <xs:element dfdl:choiceBranchKey="193" ref="s7:CotpParameterCallingTsap"/>
                                 <xs:element dfdl:choiceBranchKey="194" ref="s7:CotpParameterCalledTsap"/>
@@ -349,7 +351,7 @@
                 (no error code or error class). As mapping to the same type is not allowed,
                 we map to strings and use that as choice-key.
             -->
-            <xs:choice dfdl:choiceDispatchKey="{type}">
+            <xs:choice dfdl:choiceDispatchKey="{xs:string(type)}">
                 <xs:element dfdl:choiceBranchKey="1" ref="s7:S7RequestMessage"/>
                 <xs:element dfdl:choiceBranchKey="3" ref="s7:S7ResponseMessage"/>
                 <xs:element dfdl:choiceBranchKey="7" ref="s7:S7UserDataMessage"/>
@@ -375,7 +377,7 @@
                                 <xs:complexType>
                                     <xs:sequence>
                                         <xs:element name="type" type="s7:byte"/>
-                                        <xs:choice dfdl:choiceDispatchKey="{type}">
+                                        <xs:choice dfdl:choiceDispatchKey="{xs:string(type)}">
                                             <xs:element dfdl:choiceBranchKey="240"
                                                         ref="s7:S7GeneralParameterSetupCommunication"/>
                                             <xs:element dfdl:choiceBranchKey="4" ref="s7:S7RequestParameterReadVar"/>
@@ -412,7 +414,7 @@
                                 <xs:complexType>
                                     <xs:sequence>
                                         <xs:choice
-                                            dfdl:choiceDispatchKey="{../../parameters[1]/parameter[dfdl:occursIndex()]/type}">
+                                            dfdl:choiceDispatchKey="{xs:string(../../parameters[1]/parameter[dfdl:occursIndex()]/type)}">
                                             <xs:element dfdl:choiceBranchKey="240"
                                                         ref="s7:S7GeneralPayloadSetupCommunication"/>
                                             <xs:element dfdl:choiceBranchKey="4" ref="s7:S7RequestPayloadReadVar"/>
@@ -451,7 +453,7 @@
                                 <xs:complexType>
                                     <xs:sequence>
                                         <xs:element name="type" type="s7:byte"/>
-                                        <xs:choice dfdl:choiceDispatchKey="{type}">
+                                        <xs:choice dfdl:choiceDispatchKey="{xs:string(type)}">
                                             <xs:element dfdl:choiceBranchKey="240"
                                                         ref="s7:S7GeneralParameterSetupCommunication"/>
                                             <xs:element dfdl:choiceBranchKey="4" ref="s7:S7ResponseParameterReadVar"/>
@@ -488,7 +490,7 @@
                                 <xs:complexType>
                                     <xs:sequence>
                                         <xs:choice
-                                            dfdl:choiceDispatchKey="{../../parameters[1]/parameter[dfdl:occursIndex()]/type}">
+                                            dfdl:choiceDispatchKey="{xs:string(../../parameters[1]/parameter[dfdl:occursIndex()]/type)}">
                                             <xs:element dfdl:choiceBranchKey="240"
                                                         ref="s7:S7GeneralPayloadSetupCommunication"/>
                                             <xs:element dfdl:choiceBranchKey="4" ref="s7:S7ResponsePayloadReadVar"/>
@@ -523,7 +525,7 @@
                                 <xs:complexType>
                                     <xs:sequence>
                                         <xs:element name="type" type="s7:byte"/>
-                                        <xs:choice dfdl:choiceDispatchKey="{type}">
+                                        <xs:choice dfdl:choiceDispatchKey="{xs:string(type)}">
                                             <xs:element dfdl:choiceBranchKey="0"
                                                         ref="s7:S7UserDataParameterCPUService"/>
                                         </xs:choice>
@@ -558,7 +560,7 @@
                                 <xs:complexType>
                                     <xs:sequence>
                                         <xs:choice
-                                            dfdl:choiceDispatchKey="{../../parameters[1]/parameter[dfdl:occursIndex()]/type}">
+                                            dfdl:choiceDispatchKey="{xs:string(../../parameters[1]/parameter[dfdl:occursIndex()]/type)}">
                                             <xs:element dfdl:choiceBranchKey="0"
                                                         ref="s7:S7UserDataPayloadCpuServices"/>
                                         </xs:choice>
@@ -632,7 +634,7 @@
                                 <xs:complexType>
                                     <xs:sequence>
                                         <xs:element name="type" type="s7:byte"/>
-                                        <xs:choice dfdl:choiceDispatchKey="{type}">
+                                        <xs:choice dfdl:choiceDispatchKey="{xs:string(type)}">
                                             <xs:element dfdl:choiceBranchKey="18"
                                                         ref="s7:S7RequestParameterReadVarAnyItem"/>
                                         </xs:choice>
@@ -690,7 +692,7 @@
                                 <xs:complexType>
                                     <xs:sequence>
                                         <xs:element name="type" type="s7:byte"/>
-                                        <xs:choice dfdl:choiceDispatchKey="{type}">
+                                        <xs:choice dfdl:choiceDispatchKey="{xs:string(type)}">
                                             <xs:element dfdl:choiceBranchKey="18"
                                                         ref="s7:S7RequestParameterWriteVarAnyItem"/>
                                         </xs:choice>
@@ -769,7 +771,7 @@
                                                     dfdl:occursCountKind="expression" dfdl:occursCount="{../../partialListCount}">
                                             <xs:complexType>
                                                 <xs:sequence>
-                                                    <xs:choice dfdl:choiceDispatchKey="{../../../sslId[1]}">
+                                                    <xs:choice dfdl:choiceDispatchKey="{xs:string(../../../sslId[1])}">
                                                         <xs:element dfdl:choiceBranchKey="17"
                                                                     ref="s7:S7ResponsePayloadCpuServicesSslDataRecordModuleIdentification"/>
                                                     </xs:choice>
@@ -822,9 +824,9 @@
                                 the rest is transferred in "bytes"
                             -->
                             <xs:element name="lengthInBytes" type="s7:short" dfdl:inputValueCalc="{
-                                    if((../transportSize eq 3) or (../transportSize eq 4) or (../transportSize eq 5))
-                                            then fn:ceiling(../rawLength div 8)
-                                            else ../rawLength}"/>
+                                    xs:unsignedShort(if((../transportSize eq 3) or (../transportSize eq 4) or (../transportSize eq 5))
+                                            then fn:ceiling(xs:double(../rawLength div 8))
+                                            else ../rawLength)}"/>
                             <xs:element name="data" type="xs:hexBinary"
                                         dfdl:byteOrder="bigEndian" dfdl:lengthUnits="bytes" dfdl:lengthKind="explicit"
                                         dfdl:length="{../lengthInBytes}"/>
@@ -863,9 +865,9 @@
                                 the rest is transferred in "bytes"
                             -->
                             <xs:element name="lengthInBytes" type="s7:short" dfdl:inputValueCalc="{
-                                    if((../transportSize eq 3) or (../transportSize eq 4) or (../transportSize eq 5))
+                                    xs:unsignedShort(if((../transportSize eq 3) or (../transportSize eq 4) or (../transportSize eq 5))
                                             then fn:ceiling(../rawLength div 8)
-                                            else ../rawLength}"/>
+                                            else ../rawLength)}"/>
                             <xs:element name="data" type="xs:hexBinary"
                                         dfdl:byteOrder="bigEndian" dfdl:lengthUnits="bytes" dfdl:lengthKind="explicit"
                                         dfdl:length="{../lengthInBytes}"/>
diff --git a/protocols/s7/src/test/java/org/apache/plc4x/protocols/AbstractProtocolTest.java b/protocols/s7/src/test/java/org/apache/plc4x/protocols/AbstractProtocolTest.java
index 70efdbc..2301e61 100644
--- a/protocols/s7/src/test/java/org/apache/plc4x/protocols/AbstractProtocolTest.java
+++ b/protocols/s7/src/test/java/org/apache/plc4x/protocols/AbstractProtocolTest.java
@@ -40,7 +40,11 @@ public abstract class AbstractProtocolTest {
     @TestFactory
     public List<DynamicTest> getTestsuiteTests() {
         DFDLTestSuite testSuite = new DFDLTestSuite(Misc.getRequiredResource(testsuiteName), true, true, false,
-            Runner.defaultRoundTripDefaultDefault(), Runner.defaultValidationDefaultDefault());
+            Runner.defaultRoundTripDefaultDefault(),
+            Runner.defaultValidationDefaultDefault(),
+            Runner.defaultImplementationsDefaultDefault(),
+            Runner.defaultShouldDoErrorComparisonOnCrossTests(),
+            Runner.defaultShouldDoWarningComparisonOnCrossTests());
         List<DynamicTest> dynamicTests = new LinkedList<>();
         Iterator<String> iterator = testSuite.testCaseMap().keySet().iterator();
         while (iterator.hasNext()) {
diff --git a/protocols/s7/src/test/java/org/apache/plc4x/protocols/s7/ManualTest.java b/protocols/s7/src/test/java/org/apache/plc4x/protocols/s7/ManualTest.java
new file mode 100644
index 0000000..f95251d
--- /dev/null
+++ b/protocols/s7/src/test/java/org/apache/plc4x/protocols/s7/ManualTest.java
@@ -0,0 +1,82 @@
+/*
+ Licensed to the Apache Software Foundation (ASF) under one
+ or more contributor license agreements.  See the NOTICE file
+ distributed with this work for additional information
+ regarding copyright ownership.  The ASF licenses this file
+ to you under the Apache License, Version 2.0 (the
+ "License"); you may not use this file except in compliance
+ with the License.  You may obtain a copy of the License at
+
+     http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing,
+ software distributed under the License is distributed on an
+ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ KIND, either express or implied.  See the License for the
+ specific language governing permissions and limitations
+ under the License.
+ */
+
+package org.apache.plc4x.protocols.s7;
+
+import org.apache.commons.codec.binary.Hex;
+import org.apache.daffodil.japi.Compiler;
+import org.apache.daffodil.japi.*;
+import org.apache.daffodil.japi.infoset.JDOMInfosetOutputter;
+import org.apache.daffodil.japi.io.InputSourceDataInputStream;
+import org.jdom2.Document;
+import org.jdom2.output.Format;
+import org.jdom2.output.XMLOutputter;
+
+import java.io.ByteArrayInputStream;
+import java.net.URI;
+import java.net.URL;
+import java.util.List;
+
+public class ManualTest {
+
+    public static void main(String[] args) throws Exception {
+        Compiler c = Daffodil.compiler();
+        c.setValidateDFDLSchemas(true);
+        URL schemaUrl = ManualTest.class.getClassLoader().getResource("org/apache/plc4x/protocols/s7/protocol.dfdl.xsd");
+        if (schemaUrl != null) {
+            URI schemaUri = schemaUrl.toURI();
+            ProcessorFactory pf = c.compileSource(schemaUri);
+            DataProcessor dp = pf.onPath("/");
+            logDiagnosticInformation(dp);
+
+            /*byte[] packet = Hex.decodeHex(
+                    "0300004002f080320300" +
+                    "0000010002002b000004" +
+                    "07ff0300010000ff04002000000000ff0400080000ff0500100000ff0400080000ff0400100000ff04000800");*/
+            byte[] packet = Hex.decodeHex(
+                "0300004002f080320300" +
+                "0000010002002b000004" +
+                "07ff0300010000ff04002000000000ff0400080000ff0500100000ff0400080000ff0400100000ff04000800");
+
+
+            // After having enough bytes available, process the current package.
+            JDOMInfosetOutputter outputter = new JDOMInfosetOutputter();
+            ParseResult byteMessage = dp.parse(
+                new InputSourceDataInputStream(new ByteArrayInputStream(packet)), outputter);
+            if (byteMessage.isError()) {
+                logDiagnosticInformation(byteMessage);
+                return;
+            }
+
+            // Get the resulting XML document from the parser.
+            Document message = outputter.getResult();
+
+            System.out.println(new XMLOutputter(Format.getPrettyFormat()).outputString(message));
+        }
+    }
+
+    protected static void logDiagnosticInformation(WithDiagnostics withDiagnostics) {
+        List<Diagnostic> diags = withDiagnostics.getDiagnostics();
+        for (Diagnostic d : diags) {
+            System.err.println(d.getSomeMessage());
+        }
+    }
+
+
+}
diff --git a/protocols/s7/src/test/resources/org/apache/plc4x/protocols/s7/protocol.tdml b/protocols/s7/src/test/resources/org/apache/plc4x/protocols/s7/protocol.tdml
index 5efa67d..ae5bddc 100644
--- a/protocols/s7/src/test/resources/org/apache/plc4x/protocols/s7/protocol.tdml
+++ b/protocols/s7/src/test/resources/org/apache/plc4x/protocols/s7/protocol.tdml
@@ -19,7 +19,6 @@
   -->
 
 <testSuite xmlns:dfdl="http://www.ogf.org/dfdl/dfdl-1.0/"
-           xmlns:test="plc4x-protocol-test"
            xmlns:tdml="http://www.ibm.com/xmlns/dfdl/testData"
            xmlns:s7="http://plc4x.apache.org/s7"
            xmlns:xs="http://www.w3.org/2001/XMLSchema"
@@ -36,7 +35,7 @@
         <dfdl:format ref="s7:s7FullFormat"/>
 
         <!-- Define the root element name and type -->
-        <xs:element name="tpktMessage" type="s7:TpktMessageType"/>
+        <!--xs:element name="TpktMessage" type="s7:TpktMessageType"/-->
     </tdml:defineSchema>
 
     <!--
@@ -44,7 +43,7 @@
         It's a TPKT package containing a COTP connection-response payload.
     -->
     <tdml:parserTestCase name="TPKT: tpktPacketContainingCotpConnectResponse"
-                         root="tpktMessage"
+                         root="TpktMessage"
                          model="s7Schema"
                          description="Simple TKPT packet which contains a COTP Connection-Response as payload.">
         <!-- Define the input -->
@@ -56,7 +55,7 @@
         <tdml:infoset>
             <tdml:dfdlInfoset>
                 <!-- Referencing what we defined as root element in the defineSchema section -->
-                <test:tpktMessage>
+                <s7:TpktMessage>
                     <magicByte>3</magicByte>
                     <reserved>0</reserved>
                     <length>22</length>
@@ -92,7 +91,7 @@
                             </parameters>
                         </CotpTpduConnectionResponse>
                     </userData>
-                </test:tpktMessage>
+                </s7:TpktMessage>
             </tdml:dfdlInfoset>
         </tdml:infoset>
     </tdml:parserTestCase>
@@ -101,7 +100,7 @@
         In this test-case the packet doesn't start with the required magic byte 0x03.
     -->
     <tdml:parserTestCase name="TPKT: invalidMagicByte"
-                         root="tpktMessage"
+                         root="TpktMessage"
                          model="s7Schema">
         <tdml:document>
             <tdml:documentPart type="byte">0400001611D00001000200C00109C1020100C2020102</tdml:documentPart>
@@ -117,7 +116,7 @@
         length provided in the packet header (Too short)
     -->
     <tdml:parserTestCase name="TPKT: tooShortPayload"
-                         root="tpktMessage"
+                         root="TpktMessage"
                          model="s7Schema">
         <tdml:document>
             <tdml:documentPart type="byte">0300001611D00001000200C00109C102010</tdml:documentPart>
@@ -133,7 +132,7 @@
         length provided in the packet header (Too long)
     -->
     <tdml:parserTestCase name="TPKT: tooLongPayload"
-                         root="tpktMessage"
+                         root="TpktMessage"
                          model="s7Schema">
         <tdml:document>
             <tdml:documentPart type="byte">0300001611D00001000200C00109C1020100C20201021234567890</tdml:documentPart>
@@ -151,7 +150,7 @@
     -->
 
     <tdml:parserTestCase name="COTP: typeConnectionRequest"
-                         root="tpktMessage"
+                         root="TpktMessage"
                          model="s7Schema"
                          description="Minimal valid COTP Connection Request TPDU">
         <tdml:document>
@@ -160,7 +159,7 @@
 
         <tdml:infoset>
             <tdml:dfdlInfoset>
-                <test:tpktMessage>
+                <s7:TpktMessage>
                     <magicByte>3</magicByte>
                     <reserved>0</reserved>
                     <length>7</length>
@@ -173,13 +172,13 @@
                             <protocolClass>0</protocolClass>
                         </CotpTpduConnectionRequest>
                     </userData>
-                </test:tpktMessage>
+                </s7:TpktMessage>
             </tdml:dfdlInfoset>
         </tdml:infoset>
     </tdml:parserTestCase>
 
     <tdml:parserTestCase name="COTP: typeConnectionResponse"
-                         root="tpktMessage"
+                         root="TpktMessage"
                          model="s7Schema"
                          description="Minimal valid COTP Connection Response TPDU">
         <tdml:document>
@@ -188,7 +187,7 @@
 
         <tdml:infoset>
             <tdml:dfdlInfoset>
-                <test:tpktMessage>
+                <s7:TpktMessage>
                     <magicByte>3</magicByte>
                     <reserved>0</reserved>
                     <length>7</length>
@@ -201,13 +200,13 @@
                             <protocolClass>0</protocolClass>
                         </CotpTpduConnectionResponse>
                     </userData>
-                </test:tpktMessage>
+                </s7:TpktMessage>
             </tdml:dfdlInfoset>
         </tdml:infoset>
     </tdml:parserTestCase>
 
     <tdml:parserTestCase name="COTP: typeDisconnectionRequest"
-                         root="tpktMessage"
+                         root="TpktMessage"
                          model="s7Schema"
                          description="Minimal valid COTP Disconnection Request TPDU">
         <!-- Define the input -->
@@ -218,7 +217,7 @@
         <!-- Define the expected output -->
         <tdml:infoset>
             <tdml:dfdlInfoset>
-                <test:tpktMessage>
+                <s7:TpktMessage>
                     <magicByte>3</magicByte>
                     <reserved>0</reserved>
                     <length>7</length>
@@ -231,13 +230,13 @@
                             <disconnectReason>0</disconnectReason>
                         </CotpTpduDisconnectRequest>
                     </userData>
-                </test:tpktMessage>
+                </s7:TpktMessage>
             </tdml:dfdlInfoset>
         </tdml:infoset>
     </tdml:parserTestCase>
 
     <tdml:parserTestCase name="COTP: typeDisconnectionResponse"
-                         root="tpktMessage"
+                         root="TpktMessage"
                          model="s7Schema"
                          description="Minimal valid COTP Disconnection Response TPDU">
         <!-- Define the input -->
@@ -248,7 +247,7 @@
         <!-- Define the expected output -->
         <tdml:infoset>
             <tdml:dfdlInfoset>
-                <test:tpktMessage>
+                <s7:TpktMessage>
                     <magicByte>3</magicByte>
                     <reserved>0</reserved>
                     <length>6</length>
@@ -260,13 +259,13 @@
                             <sourceReference>2</sourceReference>
                         </CotpTpduDisconnectResponse>
                     </userData>
-                </test:tpktMessage>
+                </s7:TpktMessage>
             </tdml:dfdlInfoset>
         </tdml:infoset>
     </tdml:parserTestCase>
 
     <tdml:parserTestCase name="COTP: typeError"
-                         root="tpktMessage"
+                         root="TpktMessage"
                          model="s7Schema"
                          description="Minimal valid COTP Error TPDU">
         <!-- Define the input -->
@@ -277,7 +276,7 @@
         <!-- Define the expected output -->
         <tdml:infoset>
             <tdml:dfdlInfoset>
-                <test:tpktMessage>
+                <s7:TpktMessage>
                     <magicByte>3</magicByte>
                     <reserved>0</reserved>
                     <length>5</length>
@@ -289,13 +288,13 @@
                             <rejectCause>2</rejectCause>
                         </CotpTpduError>
                     </userData>
-                </test:tpktMessage>
+                </s7:TpktMessage>
             </tdml:dfdlInfoset>
         </tdml:infoset>
     </tdml:parserTestCase>
 
     <tdml:parserTestCase name="COTP: typeData"
-                         root="tpktMessage"
+                         root="TpktMessage"
                          model="s7Schema"
                          description="Minimal valid COTP Data TPDU">
         <!-- Define the input -->
@@ -306,7 +305,7 @@
         <!-- Define the expected output -->
         <tdml:infoset>
             <tdml:dfdlInfoset>
-                <test:tpktMessage>
+                <s7:TpktMessage>
                     <magicByte>3</magicByte>
                     <reserved>0</reserved>
                     <length>3</length>
@@ -318,13 +317,13 @@
                             <tpduRef>2</tpduRef>
                         </CotpTpduData>
                     </userData>
-                </test:tpktMessage>
+                </s7:TpktMessage>
             </tdml:dfdlInfoset>
         </tdml:infoset>
     </tdml:parserTestCase>
 
     <tdml:parserTestCase name="COTP: typeDataEndOfTransmission"
-                         root="tpktMessage"
+                         root="TpktMessage"
                          model="s7Schema"
                          description="Minimal valid COTP Data (End Of Transmission) TPDU">
         <!-- Define the input -->
@@ -335,7 +334,7 @@
         <!-- Define the expected output -->
         <tdml:infoset>
             <tdml:dfdlInfoset>
-                <test:tpktMessage>
+                <s7:TpktMessage>
                     <magicByte>3</magicByte>
                     <reserved>0</reserved>
                     <length>3</length>
@@ -347,13 +346,13 @@
                             <tpduRef>2</tpduRef>
                         </CotpTpduData>
                     </userData>
-                </test:tpktMessage>
+                </s7:TpktMessage>
             </tdml:dfdlInfoset>
         </tdml:infoset>
     </tdml:parserTestCase>
 
     <tdml:parserTestCase name="COTP: invalid type"
-                         root="tpktMessage"
+                         root="TpktMessage"
                          model="s7Schema"
                          description="Invalid type code">
         <tdml:document>
@@ -372,7 +371,7 @@
     -->
 
     <tdml:parserTestCase name="COTP: parameterTpduSize"
-                         root="tpktMessage"
+                         root="TpktMessage"
                          model="s7Schema"
                          description="parameterTpduSize">
         <!-- Define the input -->
@@ -383,7 +382,7 @@
         <!-- Define the expected output -->
         <tdml:infoset>
             <tdml:dfdlInfoset>
-                <test:tpktMessage>
+                <s7:TpktMessage>
                     <magicByte>3</magicByte>
                     <reserved>0</reserved>
                     <length>10</length>
@@ -405,13 +404,13 @@
                             </parameters>
                         </CotpTpduConnectionRequest>
                     </userData>
-                </test:tpktMessage>
+                </s7:TpktMessage>
             </tdml:dfdlInfoset>
         </tdml:infoset>
     </tdml:parserTestCase>
 
     <tdml:parserTestCase name="COTP: parameterCallingTsap"
-                         root="tpktMessage"
+                         root="TpktMessage"
                          model="s7Schema"
                          description="parameterCallingTsap">
         <!-- Define the input -->
@@ -422,7 +421,7 @@
         <!-- Define the expected output -->
         <tdml:infoset>
             <tdml:dfdlInfoset>
-                <test:tpktMessage>
+                <s7:TpktMessage>
                     <magicByte>3</magicByte>
                     <reserved>0</reserved>
                     <length>11</length>
@@ -444,13 +443,13 @@
                             </parameters>
                         </CotpTpduConnectionRequest>
                     </userData>
-                </test:tpktMessage>
+                </s7:TpktMessage>
             </tdml:dfdlInfoset>
         </tdml:infoset>
     </tdml:parserTestCase>
 
     <tdml:parserTestCase name="COTP: parameterCalledTsap"
-                         root="tpktMessage"
+                         root="TpktMessage"
                          model="s7Schema"
                          description="parameterCalledTsap">
         <!-- Define the input -->
@@ -461,7 +460,7 @@
         <!-- Define the expected output -->
         <tdml:infoset>
             <tdml:dfdlInfoset>
-                <test:tpktMessage>
+                <s7:TpktMessage>
                     <magicByte>3</magicByte>
                     <reserved>0</reserved>
                     <length>11</length>
@@ -483,13 +482,13 @@
                             </parameters>
                         </CotpTpduConnectionRequest>
                     </userData>
-                </test:tpktMessage>
+                </s7:TpktMessage>
             </tdml:dfdlInfoset>
         </tdml:infoset>
     </tdml:parserTestCase>
 
     <tdml:parserTestCase name="COTP: parameterChecksum"
-                         root="tpktMessage"
+                         root="TpktMessage"
                          model="s7Schema"
                          description="parameterChecksum">
         <!-- Define the input -->
@@ -500,7 +499,7 @@
         <!-- Define the expected output -->
         <tdml:infoset>
             <tdml:dfdlInfoset>
-                <test:tpktMessage>
+                <s7:TpktMessage>
                     <magicByte>3</magicByte>
                     <reserved>0</reserved>
                     <length>10</length>
@@ -522,13 +521,13 @@
                             </parameters>
                         </CotpTpduConnectionRequest>
                     </userData>
-                </test:tpktMessage>
+                </s7:TpktMessage>
             </tdml:dfdlInfoset>
         </tdml:infoset>
     </tdml:parserTestCase>
 
     <tdml:parserTestCase name="COTP: parameterDisconnectAdditionalInformation"
-                         root="tpktMessage"
+                         root="TpktMessage"
                          model="s7Schema"
                          description="parameterDisconnectAdditionalInformation">
         <!-- Define the input -->
@@ -539,7 +538,7 @@
         <!-- Define the expected output -->
         <tdml:infoset>
             <tdml:dfdlInfoset>
-                <test:tpktMessage>
+                <s7:TpktMessage>
                     <magicByte>3</magicByte>
                     <reserved>0</reserved>
                     <length>15</length>
@@ -561,13 +560,13 @@
                             </parameters>
                         </CotpTpduConnectionRequest>
                     </userData>
-                </test:tpktMessage>
+                </s7:TpktMessage>
             </tdml:dfdlInfoset>
         </tdml:infoset>
     </tdml:parserTestCase>
 
     <tdml:parserTestCase name="COTP: invalid parameter type"
-                         root="tpktMessage"
+                         root="TpktMessage"
                          model="s7Schema"
                          description="Invalid parameter type">
         <tdml:document>
@@ -586,7 +585,7 @@
     -->
 
     <tdml:parserTestCase name="COTP: scenarioConnectionRequest"
-                         root="tpktMessage"
+                         root="TpktMessage"
                          model="s7Schema"
                          description="COTP Connection request used for initiating an S7 protocol connection.">
         <!-- Define the input -->
@@ -597,7 +596,7 @@
         <!-- Define the expected output -->
         <tdml:infoset>
             <tdml:dfdlInfoset>
-                <test:tpktMessage>
+                <s7:TpktMessage>
                     <magicByte>3</magicByte>
                     <reserved>0</reserved>
                     <length>18</length>
@@ -633,13 +632,13 @@
                             </parameters>
                         </CotpTpduConnectionRequest>
                     </userData>
-                </test:tpktMessage>
+                </s7:TpktMessage>
             </tdml:dfdlInfoset>
         </tdml:infoset>
     </tdml:parserTestCase>
 
     <tdml:parserTestCase name="COTP: scenarioConnectionResponse"
-                         root="tpktMessage"
+                         root="TpktMessage"
                          model="s7Schema"
                          description="Minimal valid COTP Message">
         <!-- Define the input -->
@@ -650,7 +649,7 @@
         <!-- Define the expected output -->
         <tdml:infoset>
             <tdml:dfdlInfoset>
-                <test:tpktMessage>
+                <s7:TpktMessage>
                     <magicByte>3</magicByte>
                     <reserved>0</reserved>
                     <length>18</length>
@@ -686,13 +685,13 @@
                             </parameters>
                         </CotpTpduConnectionResponse>
                     </userData>
-                </test:tpktMessage>
+                </s7:TpktMessage>
             </tdml:dfdlInfoset>
         </tdml:infoset>
     </tdml:parserTestCase>
 
     <tdml:parserTestCase name="COTP: scenarioDataTpdu"
-                         root="tpktMessage"
+                         root="TpktMessage"
                          model="s7Schema"
                          description="Typical Data TPDU used for transferring S7 packets.">
         <!-- Define the input -->
@@ -704,7 +703,7 @@
         <!-- Define the expected output -->
         <tdml:infoset>
             <tdml:dfdlInfoset>
-                <test:tpktMessage>
+                <s7:TpktMessage>
                     <magicByte>3</magicByte>
                     <reserved>0</reserved>
                     <length>31</length>
@@ -754,13 +753,13 @@
                             </S7RequestMessage>
                         </userData>
                     </userData>
-                </test:tpktMessage>
+                </s7:TpktMessage>
             </tdml:dfdlInfoset>
         </tdml:infoset>
     </tdml:parserTestCase>
 
     <tdml:parserTestCase name="S7: Setup Communication Request"
-                         root="tpktMessage"
+                         root="TpktMessage"
                          model="s7Schema">
         <!-- Define the input -->
         <tdml:document>
@@ -770,7 +769,7 @@
         <!-- Define the expected output -->
         <tdml:infoset>
             <tdml:dfdlInfoset>
-                <test:tpktMessage>
+                <s7:TpktMessage>
                     <magicByte>3</magicByte>
                     <reserved>0</reserved>
                     <length>25</length>
@@ -808,13 +807,13 @@
                             </S7RequestMessage>
                         </userData>
                     </userData>
-                </test:tpktMessage>
+                </s7:TpktMessage>
             </tdml:dfdlInfoset>
         </tdml:infoset>
     </tdml:parserTestCase>
 
     <tdml:parserTestCase name="S7: Setup Communication Response"
-                         root="tpktMessage"
+                         root="TpktMessage"
                          model="s7Schema">
         <!-- Define the input -->
         <tdml:document>
@@ -824,7 +823,7 @@
         <!-- Define the expected output -->
         <tdml:infoset>
             <tdml:dfdlInfoset>
-                <test:tpktMessage>
+                <s7:TpktMessage>
                     <magicByte>3</magicByte>
                     <reserved>0</reserved>
                     <length>27</length>
@@ -864,13 +863,13 @@
                             </S7ResponseMessage>
                         </userData>
                     </userData>
-                </test:tpktMessage>
+                </s7:TpktMessage>
             </tdml:dfdlInfoset>
         </tdml:infoset>
     </tdml:parserTestCase>
 
     <tdml:parserTestCase name="S7: Read SZL CPU Function Request"
-                         root="tpktMessage"
+                         root="TpktMessage"
                          model="s7Schema">
         <!-- Define the input -->
         <tdml:document>
@@ -881,7 +880,7 @@
         <!-- Define the expected output -->
         <tdml:infoset>
             <tdml:dfdlInfoset>
-                <test:tpktMessage>
+                <s7:TpktMessage>
                     <magicByte>3</magicByte>
                     <reserved>0</reserved>
                     <length>33</length>
@@ -928,13 +927,13 @@
                             </S7UserDataMessage>
                         </userData>
                     </userData>
-                </test:tpktMessage>
+                </s7:TpktMessage>
             </tdml:dfdlInfoset>
         </tdml:infoset>
     </tdml:parserTestCase>
 
     <tdml:parserTestCase name="S7: Read SZL CPU Function Response"
-                         root="tpktMessage"
+                         root="TpktMessage"
                          model="s7Schema">
         <!-- Define the input -->
         <tdml:document>
@@ -946,7 +945,7 @@
         <!-- Define the expected output -->
         <tdml:infoset>
             <tdml:dfdlInfoset>
-                <test:tpktMessage>
+                <s7:TpktMessage>
                     <magicByte>3</magicByte>
                     <reserved>0</reserved>
                     <length>153</length>
@@ -1038,13 +1037,13 @@
                             </S7UserDataMessage>
                         </userData>
                     </userData>
-                </test:tpktMessage>
+                </s7:TpktMessage>
             </tdml:dfdlInfoset>
         </tdml:infoset>
     </tdml:parserTestCase>
 
     <tdml:parserTestCase name="S7: Read Var Request (Single Item)"
-                         root="tpktMessage"
+                         root="TpktMessage"
                          model="s7Schema">
         <!-- Define the input -->
         <tdml:document>
@@ -1055,7 +1054,7 @@
         <!-- Define the expected output -->
         <tdml:infoset>
             <tdml:dfdlInfoset>
-                <test:tpktMessage>
+                <s7:TpktMessage>
                     <magicByte>3</magicByte>
                     <reserved>0</reserved>
                     <length>31</length>
@@ -1105,13 +1104,13 @@
                             </S7RequestMessage>
                         </userData>
                     </userData>
-                </test:tpktMessage>
+                </s7:TpktMessage>
             </tdml:dfdlInfoset>
         </tdml:infoset>
     </tdml:parserTestCase>
 
     <tdml:parserTestCase name="S7: Read Var Response (Single Item)"
-                         root="tpktMessage"
+                         root="TpktMessage"
                          model="s7Schema">
         <!-- Define the input -->
         <tdml:document>
@@ -1122,7 +1121,7 @@
         <!-- Define the expected output -->
         <tdml:infoset>
             <tdml:dfdlInfoset>
-                <test:tpktMessage>
+                <s7:TpktMessage>
                     <magicByte>3</magicByte>
                     <reserved>0</reserved>
                     <length>29</length>
@@ -1168,13 +1167,13 @@
                             </S7ResponseMessage>
                         </userData>
                     </userData>
-                </test:tpktMessage>
+                </s7:TpktMessage>
             </tdml:dfdlInfoset>
         </tdml:infoset>
     </tdml:parserTestCase>
 
     <tdml:parserTestCase name="S7: Read Var Request (Mixed Items)"
-                         root="tpktMessage"
+                         root="TpktMessage"
                          model="s7Schema">
         <!-- Define the input -->
         <tdml:document>
@@ -1185,7 +1184,7 @@
 
         <tdml:infoset>
             <tdml:dfdlInfoset>
-                <test:tpktMessage>
+                <s7:TpktMessage>
                     <magicByte>3</magicByte>
                     <reserved>0</reserved>
                     <length>103</length>
@@ -1313,13 +1312,13 @@
                             </S7RequestMessage>
                         </userData>
                     </userData>
-                </test:tpktMessage>
+                </s7:TpktMessage>
             </tdml:dfdlInfoset>
         </tdml:infoset>
     </tdml:parserTestCase>
 
     <tdml:parserTestCase name="S7: Read Var Response (Mixed Items)"
-                         root="tpktMessage"
+                         root="TpktMessage"
                          model="s7Schema">
         <!-- Define the input -->
         <tdml:document>
@@ -1330,7 +1329,7 @@
 
         <tdml:infoset>
             <tdml:dfdlInfoset>
-                <test:tpktMessage>
+                <s7:TpktMessage>
                     <magicByte>3</magicByte>
                     <reserved>0</reserved>
                     <length>64</length>
@@ -1421,13 +1420,13 @@
                             </S7ResponseMessage>
                         </userData>
                     </userData>
-                </test:tpktMessage>
+                </s7:TpktMessage>
             </tdml:dfdlInfoset>
         </tdml:infoset>
     </tdml:parserTestCase>
 
     <tdml:parserTestCase name="S7: Read Var Response (Mixed Items with odd number of bytes)"
-                         root="tpktMessage"
+                         root="TpktMessage"
                          model="s7Schema">
         <!-- Define the input -->
         <tdml:document>
@@ -1438,7 +1437,7 @@
 
         <tdml:infoset>
             <tdml:dfdlInfoset>
-                <test:tpktMessage>
+                <s7:TpktMessage>
                     <magicByte>3</magicByte>
                     <reserved>0</reserved>
                     <length>40</length>
@@ -1500,13 +1499,13 @@
                             </S7ResponseMessage>
                         </userData>
                     </userData>
-                </test:tpktMessage>
+                </s7:TpktMessage>
             </tdml:dfdlInfoset>
         </tdml:infoset>
     </tdml:parserTestCase>
 
     <tdml:parserTestCase name="S7: Read Var Request (No Filling Bytes)"
-                         root="tpktMessage"
+                         root="TpktMessage"
                          model="s7Schema">
         <!-- Define the input -->
         <tdml:document>
@@ -1517,7 +1516,7 @@
 
         <tdml:infoset>
             <tdml:dfdlInfoset>
-                <test:tpktMessage>
+                <s7:TpktMessage>
                     <magicByte>3</magicByte>
                     <reserved>0</reserved>
                     <length>55</length>
@@ -1593,13 +1592,13 @@
                             </S7RequestMessage>
                         </userData>
                     </userData>
-                </test:tpktMessage>
+                </s7:TpktMessage>
             </tdml:dfdlInfoset>
         </tdml:infoset>
     </tdml:parserTestCase>
 
     <tdml:parserTestCase name="S7: Read Var Response (No Filling Bytes)"
-                         root="tpktMessage"
+                         root="TpktMessage"
                          model="s7Schema">
         <!-- Define the input -->
         <tdml:document>
@@ -1610,7 +1609,7 @@
 
         <tdml:infoset>
             <tdml:dfdlInfoset>
-                <test:tpktMessage>
+                <s7:TpktMessage>
                     <magicByte>3</magicByte>
                     <reserved>0</reserved>
                     <length>41</length>
@@ -1670,13 +1669,13 @@
                             </S7ResponseMessage>
                         </userData>
                     </userData>
-                </test:tpktMessage>
+                </s7:TpktMessage>
             </tdml:dfdlInfoset>
         </tdml:infoset>
     </tdml:parserTestCase>
 
     <tdml:parserTestCase name="S7: Read Var Request (With Filling Bytes)"
-                         root="tpktMessage"
+                         root="TpktMessage"
                          model="s7Schema">
         <!-- Define the input -->
         <tdml:document>
@@ -1687,7 +1686,7 @@
 
         <tdml:infoset>
             <tdml:dfdlInfoset>
-                <test:tpktMessage>
+                <s7:TpktMessage>
                     <magicByte>3</magicByte>
                     <reserved>0</reserved>
                     <length>67</length>
@@ -1776,13 +1775,13 @@
                             </S7RequestMessage>
                         </userData>
                     </userData>
-                </test:tpktMessage>
+                </s7:TpktMessage>
             </tdml:dfdlInfoset>
         </tdml:infoset>
     </tdml:parserTestCase>
 
     <tdml:parserTestCase name="S7: Read Var Response (With Filling Bytes)"
-                         root="tpktMessage"
+                         root="TpktMessage"
                          model="s7Schema">
         <!-- Define the input -->
         <tdml:document>
@@ -1793,7 +1792,7 @@
 
         <tdml:infoset>
             <tdml:dfdlInfoset>
-                <test:tpktMessage>
+                <s7:TpktMessage>
                     <magicByte>3</magicByte>
                     <reserved>0</reserved>
                     <length>44</length>
@@ -1863,13 +1862,13 @@
                             </S7ResponseMessage>
                         </userData>
                     </userData>
-                </test:tpktMessage>
+                </s7:TpktMessage>
             </tdml:dfdlInfoset>
         </tdml:infoset>
     </tdml:parserTestCase>
 
     <tdml:parserTestCase name="S7: Write Var Request (Single Item)"
-                         root="tpktMessage"
+                         root="TpktMessage"
                          model="s7Schema">
         <!-- Define the input -->
         <tdml:document>
@@ -1881,7 +1880,7 @@
         <!-- Define the expected output -->
         <tdml:infoset>
             <tdml:dfdlInfoset>
-                <test:tpktMessage>
+                <s7:TpktMessage>
                     <magicByte>3</magicByte>
                     <reserved>0</reserved>
                     <length>39</length>
@@ -1940,13 +1939,13 @@
                             </S7RequestMessage>
                         </userData>
                     </userData>
-                </test:tpktMessage>
+                </s7:TpktMessage>
             </tdml:dfdlInfoset>
         </tdml:infoset>
     </tdml:parserTestCase>
 
     <tdml:parserTestCase name="S7: Write Var Response (Single Item)"
-                         root="tpktMessage"
+                         root="TpktMessage"
                          model="s7Schema">
         <!-- Define the input -->
         <tdml:document>
@@ -1956,7 +1955,7 @@
         <!-- Define the expected output -->
         <tdml:infoset>
             <tdml:dfdlInfoset>
-                <test:tpktMessage>
+                <s7:TpktMessage>
                     <magicByte>3</magicByte>
                     <reserved>0</reserved>
                     <length>22</length>
@@ -1998,13 +1997,13 @@
                             </S7ResponseMessage>
                         </userData>
                     </userData>
-                </test:tpktMessage>
+                </s7:TpktMessage>
             </tdml:dfdlInfoset>
         </tdml:infoset>
     </tdml:parserTestCase>
 
     <tdml:parserTestCase name="S7: Read Var Request (Multiple Items)"
-                         root="tpktMessage"
+                         root="TpktMessage"
                          model="s7Schema">
         <!-- Define the input -->
         <tdml:document>
@@ -2016,7 +2015,7 @@
         <!-- Define the expected output -->
         <tdml:infoset>
             <tdml:dfdlInfoset>
-                <test:tpktMessage>
+                <s7:TpktMessage>
                     <magicByte>3</magicByte>
                     <reserved>0</reserved>
                     <length>79</length>
@@ -2118,13 +2117,13 @@
                             </S7RequestMessage>
                         </userData>
                     </userData>
-                </test:tpktMessage>
+                </s7:TpktMessage>
             </tdml:dfdlInfoset>
         </tdml:infoset>
     </tdml:parserTestCase>
 
     <tdml:parserTestCase name="S7: Read Var Response (Multiple Items)"
-                         root="tpktMessage"
+                         root="TpktMessage"
                          model="s7Schema">
         <!-- Define the input -->
         <tdml:document>
@@ -2136,7 +2135,7 @@
         <!-- Define the expected output -->
         <tdml:infoset>
             <tdml:dfdlInfoset>
-                <test:tpktMessage>
+                <s7:TpktMessage>
                     <magicByte>3</magicByte>
                     <reserved>0</reserved>
                     <length>121</length>
@@ -2210,13 +2209,13 @@
                             </S7ResponseMessage>
                         </userData>
                     </userData>
-                </test:tpktMessage>
+                </s7:TpktMessage>
             </tdml:dfdlInfoset>
         </tdml:infoset>
     </tdml:parserTestCase>
 
     <tdml:parserTestCase name="S7: Write Var Request (Multiple Items)"
-                         root="tpktMessage"
+                         root="TpktMessage"
                          model="s7Schema">
         <!-- Define the input -->
         <tdml:document>
@@ -2228,7 +2227,7 @@
         <!-- Define the expected output -->
         <tdml:infoset>
             <tdml:dfdlInfoset>
-                <test:tpktMessage>
+                <s7:TpktMessage>
                     <magicByte>3</magicByte>
                     <reserved>0</reserved>
                     <length>195</length>
@@ -2367,13 +2366,13 @@
                             </S7RequestMessage>
                         </userData>
                     </userData>
-                </test:tpktMessage>
+                </s7:TpktMessage>
             </tdml:dfdlInfoset>
         </tdml:infoset>
     </tdml:parserTestCase>
 
     <tdml:parserTestCase name="S7: Write Var Response (Multiple Items)"
-                         root="tpktMessage"
+                         root="TpktMessage"
                          model="s7Schema">
         <!-- Define the input -->
         <tdml:document>
@@ -2383,7 +2382,7 @@
         <!-- Define the expected output -->
         <tdml:infoset>
             <tdml:dfdlInfoset>
-                <test:tpktMessage>
+                <s7:TpktMessage>
                     <magicByte>3</magicByte>
                     <reserved>0</reserved>
                     <length>26</length>
@@ -2437,7 +2436,7 @@
                             </S7ResponseMessage>
                         </userData>
                     </userData>
-                </test:tpktMessage>
+                </s7:TpktMessage>
             </tdml:dfdlInfoset>
         </tdml:infoset>
     </tdml:parserTestCase>
diff --git a/sandbox/dynamic-driver-base/pom.xml b/sandbox/dynamic-driver-base/pom.xml
index ea25bac..bb34128 100644
--- a/sandbox/dynamic-driver-base/pom.xml
+++ b/sandbox/dynamic-driver-base/pom.xml
@@ -51,7 +51,12 @@
     <dependency>
       <groupId>org.apache.daffodil</groupId>
       <artifactId>daffodil-japi_2.12</artifactId>
-      <version>2.2.0</version>
+      <version>${daffodil.version}</version>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.daffodil</groupId>
+      <artifactId>daffodil-runtime1_2.12</artifactId>
+      <version>${daffodil.version}</version>
     </dependency>
     <dependency>
       <groupId>org.apache.commons</groupId>
@@ -64,14 +69,8 @@
       <version>2.0.6</version>
     </dependency>
     <dependency>
-      <groupId>org.apache.daffodil</groupId>
-      <artifactId>daffodil-runtime1_2.12</artifactId>
-      <version>2.2.0</version>
-    </dependency>
-    <dependency>
       <groupId>org.scala-lang</groupId>
       <artifactId>scala-library</artifactId>
-      <version>2.12.6</version>
     </dependency>
 
     <dependency>