?? xmlrole.c
字號:
int tok,
const char *ptr,
const char *end,
const ENCODING *enc)
{
switch (tok) {
case XML_TOK_PROLOG_S:
return XML_ROLE_NONE;
case XML_TOK_NAME:
if (XmlNameMatchesAscii(enc, ptr, end, KW_SYSTEM)) {
state->handler = entity4;
return XML_ROLE_NONE;
}
if (XmlNameMatchesAscii(enc, ptr, end, KW_PUBLIC)) {
state->handler = entity3;
return XML_ROLE_NONE;
}
break;
case XML_TOK_LITERAL:
state->handler = declClose;
return XML_ROLE_ENTITY_VALUE;
}
return common(state, tok);
}
static
int entity3(PROLOG_STATE *state,
int tok,
const char *ptr ATTR_UNUSED,
const char *end ATTR_UNUSED,
const ENCODING *enc ATTR_UNUSED)
{
switch (tok) {
case XML_TOK_PROLOG_S:
return XML_ROLE_NONE;
case XML_TOK_LITERAL:
state->handler = entity4;
return XML_ROLE_ENTITY_PUBLIC_ID;
}
return common(state, tok);
}
static
int entity4(PROLOG_STATE *state,
int tok,
const char *ptr ATTR_UNUSED,
const char *end ATTR_UNUSED,
const ENCODING *enc ATTR_UNUSED)
{
switch (tok) {
case XML_TOK_PROLOG_S:
return XML_ROLE_NONE;
case XML_TOK_LITERAL:
state->handler = entity5;
return XML_ROLE_ENTITY_SYSTEM_ID;
}
return common(state, tok);
}
static
int entity5(PROLOG_STATE *state,
int tok,
const char *ptr,
const char *end,
const ENCODING *enc)
{
switch (tok) {
case XML_TOK_PROLOG_S:
return XML_ROLE_NONE;
case XML_TOK_DECL_CLOSE:
setTopLevel(state);
return XML_ROLE_EXTERNAL_GENERAL_ENTITY_NO_NOTATION;
case XML_TOK_NAME:
if (XmlNameMatchesAscii(enc, ptr, end, KW_NDATA)) {
state->handler = entity6;
return XML_ROLE_NONE;
}
break;
}
return common(state, tok);
}
static
int entity6(PROLOG_STATE *state,
int tok,
const char *ptr ATTR_UNUSED,
const char *end ATTR_UNUSED,
const ENCODING *enc ATTR_UNUSED)
{
switch (tok) {
case XML_TOK_PROLOG_S:
return XML_ROLE_NONE;
case XML_TOK_NAME:
state->handler = declClose;
return XML_ROLE_ENTITY_NOTATION_NAME;
}
return common(state, tok);
}
static
int entity7(PROLOG_STATE *state,
int tok,
const char *ptr,
const char *end,
const ENCODING *enc)
{
switch (tok) {
case XML_TOK_PROLOG_S:
return XML_ROLE_NONE;
case XML_TOK_NAME:
if (XmlNameMatchesAscii(enc, ptr, end, KW_SYSTEM)) {
state->handler = entity9;
return XML_ROLE_NONE;
}
if (XmlNameMatchesAscii(enc, ptr, end, KW_PUBLIC)) {
state->handler = entity8;
return XML_ROLE_NONE;
}
break;
case XML_TOK_LITERAL:
state->handler = declClose;
return XML_ROLE_ENTITY_VALUE;
}
return common(state, tok);
}
static
int entity8(PROLOG_STATE *state,
int tok,
const char *ptr ATTR_UNUSED,
const char *end ATTR_UNUSED,
const ENCODING *enc ATTR_UNUSED)
{
switch (tok) {
case XML_TOK_PROLOG_S:
return XML_ROLE_NONE;
case XML_TOK_LITERAL:
state->handler = entity9;
return XML_ROLE_ENTITY_PUBLIC_ID;
}
return common(state, tok);
}
static
int entity9(PROLOG_STATE *state,
int tok,
const char *ptr ATTR_UNUSED,
const char *end ATTR_UNUSED,
const ENCODING *enc ATTR_UNUSED)
{
switch (tok) {
case XML_TOK_PROLOG_S:
return XML_ROLE_NONE;
case XML_TOK_LITERAL:
state->handler = declClose;
return XML_ROLE_ENTITY_SYSTEM_ID;
}
return common(state, tok);
}
static
int notation0(PROLOG_STATE *state,
int tok,
const char *ptr ATTR_UNUSED,
const char *end ATTR_UNUSED,
const ENCODING *enc ATTR_UNUSED)
{
switch (tok) {
case XML_TOK_PROLOG_S:
return XML_ROLE_NONE;
case XML_TOK_NAME:
state->handler = notation1;
return XML_ROLE_NOTATION_NAME;
}
return common(state, tok);
}
static
int notation1(PROLOG_STATE *state,
int tok,
const char *ptr,
const char *end,
const ENCODING *enc)
{
switch (tok) {
case XML_TOK_PROLOG_S:
return XML_ROLE_NONE;
case XML_TOK_NAME:
if (XmlNameMatchesAscii(enc, ptr, end, KW_SYSTEM)) {
state->handler = notation3;
return XML_ROLE_NONE;
}
if (XmlNameMatchesAscii(enc, ptr, end, KW_PUBLIC)) {
state->handler = notation2;
return XML_ROLE_NONE;
}
break;
}
return common(state, tok);
}
static
int notation2(PROLOG_STATE *state,
int tok,
const char *ptr ATTR_UNUSED,
const char *end ATTR_UNUSED,
const ENCODING *enc ATTR_UNUSED)
{
switch (tok) {
case XML_TOK_PROLOG_S:
return XML_ROLE_NONE;
case XML_TOK_LITERAL:
state->handler = notation4;
return XML_ROLE_NOTATION_PUBLIC_ID;
}
return common(state, tok);
}
static
int notation3(PROLOG_STATE *state,
int tok,
const char *ptr ATTR_UNUSED,
const char *end ATTR_UNUSED,
const ENCODING *enc ATTR_UNUSED)
{
switch (tok) {
case XML_TOK_PROLOG_S:
return XML_ROLE_NONE;
case XML_TOK_LITERAL:
state->handler = declClose;
return XML_ROLE_NOTATION_SYSTEM_ID;
}
return common(state, tok);
}
static
int notation4(PROLOG_STATE *state,
int tok,
const char *ptr ATTR_UNUSED,
const char *end ATTR_UNUSED,
const ENCODING *enc ATTR_UNUSED)
{
switch (tok) {
case XML_TOK_PROLOG_S:
return XML_ROLE_NONE;
case XML_TOK_LITERAL:
state->handler = declClose;
return XML_ROLE_NOTATION_SYSTEM_ID;
case XML_TOK_DECL_CLOSE:
setTopLevel(state);
return XML_ROLE_NOTATION_NO_SYSTEM_ID;
}
return common(state, tok);
}
static
int attlist0(PROLOG_STATE *state,
int tok,
const char *ptr ATTR_UNUSED,
const char *end ATTR_UNUSED,
const ENCODING *enc ATTR_UNUSED)
{
switch (tok) {
case XML_TOK_PROLOG_S:
return XML_ROLE_NONE;
case XML_TOK_NAME:
case XML_TOK_PREFIXED_NAME:
state->handler = attlist1;
return XML_ROLE_ATTLIST_ELEMENT_NAME;
}
return common(state, tok);
}
static
int attlist1(PROLOG_STATE *state,
int tok,
const char *ptr ATTR_UNUSED,
const char *end ATTR_UNUSED,
const ENCODING *enc ATTR_UNUSED)
{
switch (tok) {
case XML_TOK_PROLOG_S:
return XML_ROLE_NONE;
case XML_TOK_DECL_CLOSE:
setTopLevel(state);
return XML_ROLE_NONE;
case XML_TOK_NAME:
case XML_TOK_PREFIXED_NAME:
state->handler = attlist2;
return XML_ROLE_ATTRIBUTE_NAME;
}
return common(state, tok);
}
static
int attlist2(PROLOG_STATE *state,
int tok,
const char *ptr,
const char *end,
const ENCODING *enc)
{
switch (tok) {
case XML_TOK_PROLOG_S:
return XML_ROLE_NONE;
case XML_TOK_NAME:
{
static const char *types[] = {
KW_CDATA,
KW_ID,
KW_IDREF,
KW_IDREFS,
KW_ENTITY,
KW_ENTITIES,
KW_NMTOKEN,
KW_NMTOKENS,
};
int i;
for (i = 0; i < (int)(sizeof(types)/sizeof(types[0])); i++)
if (XmlNameMatchesAscii(enc, ptr, end, types[i])) {
state->handler = attlist8;
return XML_ROLE_ATTRIBUTE_TYPE_CDATA + i;
}
}
if (XmlNameMatchesAscii(enc, ptr, end, KW_NOTATION)) {
state->handler = attlist5;
return XML_ROLE_NONE;
}
break;
case XML_TOK_OPEN_PAREN:
state->handler = attlist3;
return XML_ROLE_NONE;
}
return common(state, tok);
}
static
int attlist3(PROLOG_STATE *state,
int tok,
const char *ptr ATTR_UNUSED,
const char *end ATTR_UNUSED,
const ENCODING *enc ATTR_UNUSED)
{
switch (tok) {
case XML_TOK_PROLOG_S:
return XML_ROLE_NONE;
case XML_TOK_NMTOKEN:
case XML_TOK_NAME:
case XML_TOK_PREFIXED_NAME:
state->handler = attlist4;
return XML_ROLE_ATTRIBUTE_ENUM_VALUE;
}
return common(state, tok);
}
static
int attlist4(PROLOG_STATE *state,
int tok,
const char *ptr ATTR_UNUSED,
const char *end ATTR_UNUSED,
const ENCODING *enc ATTR_UNUSED)
{
switch (tok) {
case XML_TOK_PROLOG_S:
return XML_ROLE_NONE;
case XML_TOK_CLOSE_PAREN:
state->handler = attlist8;
return XML_ROLE_NONE;
case XML_TOK_OR:
state->handler = attlist3;
return XML_ROLE_NONE;
}
return common(state, tok);
}
static
int attlist5(PROLOG_STATE *state,
int tok,
const char *ptr ATTR_UNUSED,
const char *end ATTR_UNUSED,
const ENCODING *enc ATTR_UNUSED)
{
switch (tok) {
case XML_TOK_PROLOG_S:
return XML_ROLE_NONE;
case XML_TOK_OPEN_PAREN:
state->handler = attlist6;
return XML_ROLE_NONE;
}
return common(state, tok);
}
static
int attlist6(PROLOG_STATE *state,
int tok,
const char *ptr ATTR_UNUSED,
const char *end ATTR_UNUSED,
const ENCODING *enc ATTR_UNUSED)
{
switch (tok) {
case XML_TOK_PROLOG_S:
return XML_ROLE_NONE;
case XML_TOK_NAME:
state->handler = attlist7;
return XML_ROLE_ATTRIBUTE_NOTATION_VALUE;
}
return common(state, tok);
}
static
int attlist7(PROLOG_STATE *state,
int tok,
const char *ptr ATTR_UNUSED,
const char *end ATTR_UNUSED,
const ENCODING *enc ATTR_UNUSED)
{
switch (tok) {
case XML_TOK_PROLOG_S:
return XML_ROLE_NONE;
case XML_TOK_CLOSE_PAREN:
state->handler = attlist8;
return XML_ROLE_NONE;
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -