You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@daffodil.apache.org by "John Interrante (Jira)" <ji...@apache.org> on 2020/07/10 13:52:00 UTC
[jira] [Comment Edited] (DAFFODIL-2363) pattern facet can't use
notation. Makes validating NUL very hard.
[ https://issues.apache.org/jira/browse/DAFFODIL-2363?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17155485#comment-17155485 ]
John Interrante edited comment on DAFFODIL-2363 at 7/10/20, 1:51 PM:
---------------------------------------------------------------------
I went to <[https://www.freeformatter.com/xml-validator-xsd.html]> and tried Steve's pattern:
{code:xml}
(�|)*
{code}
It doesn't work there; the validator returned the message
{code:xml}
Character Reference "�" Is An Invalid XML Character.
{code}
DFDL allows the character entity %NUL; to be used instead so the pattern still might work in DFDL.
was (Author: interran):
I went to <[https://www.freeformatter.com/xml-validator-xsd.html]> and tried Steve's pattern: (�|)*. It doesn't work there; the validator returned the message `Character Reference "�" Is An Invalid XML Character.`
DFDL allows the character entity %NUL; to be used instead of � so the pattern still might work in DFDL.
> pattern facet can't use  notation. Makes validating NUL very hard.
> ---------------------------------------------------------------------------
>
> Key: DAFFODIL-2363
> URL: https://issues.apache.org/jira/browse/DAFFODIL-2363
> Project: Daffodil
> Issue Type: Bug
> Components: Back End
> Affects Versions: 2.7.0
> Reporter: Mike Beckerle
> Priority: Major
> Fix For: 3.0.0
>
>
> See test_nulPattern1.
> This bug is a real pain in the neck.
> I want to capture NUL padding regions and insure they are all NUL.
> These come through to XML as These U+E000 characters. I need to insure that the string contains only those.
> So I'd like to use a
> {code:xml}
> <xs:simpleType name="allNULStringType>
> <xs:restriction base="xs:string">
> <xs:pattern value="*"/>
> </xs:restriction>
> </xs:simpleType>
> {code}
> I consider this data well-formed (should parse) even if other bytes are there that aren't NUL, but such data is invalid. So I want the facet to check for all NUL chars (or these E000 things that Daffodil puts in XML because XML can't contain actual NUL chars).
> The test fails with
> {code:java}
> org.apache.daffodil.tdml.TDMLExceptionImpl: (Implementation: daffodil) Validation errors found where none were expected by the test case.
> Validation Error: ex:foo failed facet checks due to: facet pattern(s): *
> {code}
> If github does the right thing that pattern will look like the E000 box char and *.
--
This message was sent by Atlassian Jira
(v8.3.4#803005)