jadams-tresys commented on a change in pull request #570:
URL: https://github.com/apache/daffodil/pull/570#discussion_r638824778



##########
File path: 
daffodil-core/src/main/scala/org/apache/daffodil/dsom/RuntimePropertyMixins.scala
##########
@@ -654,6 +655,36 @@ trait SequenceRuntimeValuedPropertiesMixin
     }
   }
 
+  def checkDelimiterEscapeConflict(childTerm: Term): Unit = {
+    if (childTerm.optionEscapeScheme.isDefined &&
+        (childTerm.optionEscapeScheme.get.escapeKind == 
EscapeKind.EscapeCharacter) &&
+        (hasTerminator || hasSeparator)) {
+      val ecEv = childTerm.optionEscapeScheme.get.escapeCharacterEv
+      if (ecEv.isConstant) {

Review comment:
       I did some digging into adding runtime checks, which on the unparsing 
side was easy.  Parsing, however, did not seem straightforward.  It wouldn't be 
too bad to add checks agains initiators and terminators, but there is kind of a 
gap with how the escape scheme is part of the individual elements but the 
separator is part of the parent sequence.  I might be missing something 
obvious, but I didn't see a straight forward solution to this that wouldn't 
involve significant changes.




-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
[email protected]


Reply via email to