msxml3: Use XSD regex quantifier format S{0, m} instead of S{, m}.

S{,m} is invalid in libxml2 2.9.11 and later, and was never valid
in the XSD specification or any XML implementation tested. We
should only use S{0,m} for our internal XSD schema used in XDR validation.

Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=51358
Signed-off-by: Damjan Jovanovic <damjan.jov@gmail.com>
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
This commit is contained in:
Damjan Jovanovic 2021-08-11 07:16:53 +02:00 committed by Alexandre Julliard
parent 5d869cad7a
commit 53f3cad7fb
2 changed files with 5 additions and 3 deletions

View File

@ -200,7 +200,7 @@
</xsd:annotation>
<xsd:restriction base="xsd:decimal">
<xsd:pattern value="([0-9]{,14})([.][0-9]{,4})?"/>
<xsd:pattern value="([0-9]{0,14})([.][0-9]{0,4})?"/>
</xsd:restriction>
</xsd:simpleType>
@ -539,7 +539,7 @@
</xsd:annotation>
<xsd:restriction base="xsd:string">
<xsd:pattern value="([0-9A-Fa-f]{4})([-]{,1}[0-9A-Fa-f]{4})*"/>
<xsd:pattern value="([0-9A-Fa-f]{4})([-]{0,1}[0-9A-Fa-f]{4})*"/>
</xsd:restriction>
</xsd:simpleType>

View File

@ -1115,7 +1115,9 @@ static void test_regex(void)
{ L"\\~", L"~", TRUE },
{ L"\\uCAFE", L"\xCAFE", TRUE },
/* non-BMP character in surrogate pairs: */
{ L"\\uD83D\\uDE00", L"\xD83D\xDE00", TRUE }
{ L"\\uD83D\\uDE00", L"\xD83D\xDE00", TRUE },
/* "x{,2}" is non-standard and only works on libxml2 <= v2.9.10 */
{ L"x{0,2}", L"x", FALSE }
};
int i;