Update list of public id characters

This commit is contained in:
James Clark 1998-02-07 05:36:06 +00:00
parent 0a8e3db8c7
commit e83509516e

View File

@ -1164,6 +1164,11 @@ int PREFIX(isPublicId)(const ENCODING *enc, const char *ptr, const char *end,
case BT_QUEST: case BT_QUEST:
case BT_CR: case BT_CR:
case BT_LF: case BT_LF:
case BT_SEMI:
case BT_EXCL:
case BT_AST:
case BT_PERCNT:
case BT_NUM:
break; break;
case BT_S: case BT_S:
if (CHAR_MATCHES(enc, ptr, '\t')) { if (CHAR_MATCHES(enc, ptr, '\t')) {
@ -1173,13 +1178,19 @@ int PREFIX(isPublicId)(const ENCODING *enc, const char *ptr, const char *end,
break; break;
case BT_NAME: case BT_NAME:
case BT_NMSTRT: case BT_NMSTRT:
if (!(BYTE_TO_ASCII(enc, ptr) & ~0x7f) if (!(BYTE_TO_ASCII(enc, ptr) & ~0x7f))
&& !CHAR_MATCHES(enc, ptr, '_')) break;
default:
switch (BYTE_TO_ASCII(enc, ptr)) {
case 0x24: /* $ */
case 0x40: /* @ */
break; break;
default: default:
*badPtr = ptr; *badPtr = ptr;
return 0; return 0;
} }
break;
}
} }
return 1; return 1;
} }