mirror of
https://gitlab.gnome.org/GNOME/libxml2.git
synced 2025-01-13 13:17:36 +03:00
add the testchar to 'make check' Volker Grabsch pointed out a typo
* Makefile.am: add the testchar to 'make check' * xmlschemas.c: Volker Grabsch pointed out a typo * xmlregexp.c: production [19] from XML Schemas regexps were a mistake removed in version REC-xmlschema-2-20041028, Volker Grabsch provided a patch to remove it * test/schemas/regexp-char-ref_0.xml test/schemas/regexp-char-ref_0.xsd test/schemas/regexp-char-ref_1.xsd result/schemas/regexp-char-ref_0_0 result/schemas/regexp-char-ref_1_0: Volker Grabsch also provided regession tests for this Daniel svn path=/trunk/; revision=3776
This commit is contained in:
parent
54bd29b79b
commit
bf9c1dad3a
12
ChangeLog
12
ChangeLog
@ -1,3 +1,15 @@
|
||||
Tue Aug 26 09:42:08 CEST 2008 Daniel Veillard <daniel@veillard.com>
|
||||
|
||||
* Makefile.am: add the testchar to 'make check'
|
||||
* xmlschemas.c: Volker Grabsch pointed out a typo
|
||||
* xmlregexp.c: production [19] from XML Schemas regexps were a
|
||||
mistake removed in version REC-xmlschema-2-20041028, Volker Grabsch
|
||||
provided a patch to remove it
|
||||
* test/schemas/regexp-char-ref_0.xml test/schemas/regexp-char-ref_0.xsd
|
||||
test/schemas/regexp-char-ref_1.xsd result/schemas/regexp-char-ref_0_0
|
||||
result/schemas/regexp-char-ref_1_0: Volker Grabsch also provided
|
||||
regession tests for this
|
||||
|
||||
Tue Aug 26 09:25:39 CEST 2008 Daniel Veillard <daniel@veillard.com>
|
||||
|
||||
* include/libxml/parser.h xinclude.c xmllint.c: patch based on
|
||||
|
@ -172,7 +172,7 @@ runxmlconf_LDADD= $(LDADDS)
|
||||
#testOOM_LDADD= $(LDADDS)
|
||||
|
||||
runtests:
|
||||
$(CHECKER) ./runtest$(EXEEXT) && $(CHECKER) ./testapi$(EXEEXT) && $(CHECKER) ./testdict$(EXEEXT) && $(CHECKER) ./runxmlconf$(EXEEXT)
|
||||
$(CHECKER) ./runtest$(EXEEXT) && $(CHECKER) ./testapi$(EXEEXT) && $(CHECKER) ./testchar$(EXEEXT)&& $(CHECKER) ./testdict$(EXEEXT) && $(CHECKER) ./runxmlconf$(EXEEXT)
|
||||
|
||||
check: all runtests
|
||||
|
||||
|
1
result/schemas/regexp-char-ref_0_0
Normal file
1
result/schemas/regexp-char-ref_0_0
Normal file
@ -0,0 +1 @@
|
||||
./test/schemas/regexp-char-ref_0.xml validates
|
1
result/schemas/regexp-char-ref_1_0
Normal file
1
result/schemas/regexp-char-ref_1_0
Normal file
@ -0,0 +1 @@
|
||||
./test/schemas/regexp-char-ref_0.xml validates
|
7
test/schemas/regexp-char-ref_0.xml
Normal file
7
test/schemas/regexp-char-ref_0.xml
Normal file
@ -0,0 +1,7 @@
|
||||
<?xml version="1.0"?>
|
||||
|
||||
<test test1="5"
|
||||
test2="6"
|
||||
test3="#"
|
||||
test4=";"
|
||||
test5="&" />
|
20
test/schemas/regexp-char-ref_0.xsd
Normal file
20
test/schemas/regexp-char-ref_0.xsd
Normal file
@ -0,0 +1,20 @@
|
||||
<?xml version="1.0"?>
|
||||
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
|
||||
|
||||
<xs:element name="test">
|
||||
<xs:complexType>
|
||||
<xs:attribute name="test1" type="myType"/>
|
||||
<xs:attribute name="test2" type="myType"/>
|
||||
<xs:attribute name="test3" type="myType"/>
|
||||
<xs:attribute name="test4" type="myType"/>
|
||||
<xs:attribute name="test5" type="myType"/>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
|
||||
<xs:simpleType name="myType">
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:pattern value="[56;&#]"/>
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
|
||||
</xs:schema>
|
20
test/schemas/regexp-char-ref_1.xsd
Normal file
20
test/schemas/regexp-char-ref_1.xsd
Normal file
@ -0,0 +1,20 @@
|
||||
<?xml version="1.0"?>
|
||||
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
|
||||
|
||||
<xs:element name="test">
|
||||
<xs:complexType>
|
||||
<xs:attribute name="test1" type="myType"/>
|
||||
<xs:attribute name="test2" type="myType"/>
|
||||
<xs:attribute name="test3" type="myType"/>
|
||||
<xs:attribute name="test4" type="myType"/>
|
||||
<xs:attribute name="test5" type="myType"/>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
|
||||
<xs:simpleType name="myType">
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:pattern value="[&#65;]"/>
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
|
||||
</xs:schema>
|
64
xmlregexp.c
64
xmlregexp.c
@ -4906,64 +4906,6 @@ xmlFAParseCharClassEsc(xmlRegParserCtxtPtr ctxt) {
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* xmlFAParseCharRef:
|
||||
* @ctxt: a regexp parser context
|
||||
*
|
||||
* [19] XmlCharRef ::= ( '&#' [0-9]+ ';' ) | (' &#x' [0-9a-fA-F]+ ';' )
|
||||
*/
|
||||
static int
|
||||
xmlFAParseCharRef(xmlRegParserCtxtPtr ctxt) {
|
||||
int ret = 0, cur;
|
||||
|
||||
if ((CUR != '&') || (NXT(1) != '#'))
|
||||
return(-1);
|
||||
NEXT;
|
||||
NEXT;
|
||||
cur = CUR;
|
||||
if (cur == 'x') {
|
||||
NEXT;
|
||||
cur = CUR;
|
||||
if (((cur >= '0') && (cur <= '9')) ||
|
||||
((cur >= 'a') && (cur <= 'f')) ||
|
||||
((cur >= 'A') && (cur <= 'F'))) {
|
||||
while (((cur >= '0') && (cur <= '9')) ||
|
||||
((cur >= 'a') && (cur <= 'f')) ||
|
||||
((cur >= 'A') && (cur <= 'F'))) {
|
||||
if ((cur >= '0') && (cur <= '9'))
|
||||
ret = ret * 16 + cur - '0';
|
||||
else if ((cur >= 'a') && (cur <= 'f'))
|
||||
ret = ret * 16 + 10 + (cur - 'a');
|
||||
else
|
||||
ret = ret * 16 + 10 + (cur - 'A');
|
||||
NEXT;
|
||||
cur = CUR;
|
||||
}
|
||||
} else {
|
||||
ERROR("Char ref: expecting [0-9A-F]");
|
||||
return(-1);
|
||||
}
|
||||
} else {
|
||||
if ((cur >= '0') && (cur <= '9')) {
|
||||
while ((cur >= '0') && (cur <= '9')) {
|
||||
ret = ret * 10 + cur - '0';
|
||||
NEXT;
|
||||
cur = CUR;
|
||||
}
|
||||
} else {
|
||||
ERROR("Char ref: expecting [0-9]");
|
||||
return(-1);
|
||||
}
|
||||
}
|
||||
if (cur != ';') {
|
||||
ERROR("Char ref: expecting ';'");
|
||||
return(-1);
|
||||
} else {
|
||||
NEXT;
|
||||
}
|
||||
return(ret);
|
||||
}
|
||||
|
||||
/**
|
||||
* xmlFAParseCharRange:
|
||||
* @ctxt: a regexp parser context
|
||||
@ -4985,12 +4927,6 @@ xmlFAParseCharRange(xmlRegParserCtxtPtr ctxt) {
|
||||
return;
|
||||
}
|
||||
|
||||
if ((CUR == '&') && (NXT(1) == '#')) {
|
||||
end = start = xmlFAParseCharRef(ctxt);
|
||||
xmlRegAtomAddRange(ctxt, ctxt->atom, ctxt->neg,
|
||||
XML_REGEXP_CHARVAL, start, end, NULL);
|
||||
return;
|
||||
}
|
||||
cur = CUR;
|
||||
if (cur == '\\') {
|
||||
NEXT;
|
||||
|
@ -15092,7 +15092,7 @@ xmlSchemaCheckSTPropsCorrect(xmlSchemaParserCtxtPtr ctxt,
|
||||
xmlSchemaPCustomErr(ctxt,
|
||||
XML_SCHEMAP_ST_PROPS_CORRECT_1,
|
||||
WXS_BASIC_CAST type, NULL,
|
||||
"A type, derived by list or union, must have"
|
||||
"A type, derived by list or union, must have "
|
||||
"the simple ur-type definition as base type, not '%s'",
|
||||
xmlSchemaGetComponentQName(&str, baseType));
|
||||
FREE_AND_NULL(str)
|
||||
|
Loading…
Reference in New Issue
Block a user