Lines Matching refs:dtd

561                                const XML_Char *nameSep, DTD *dtd);
975 DTD *dtd) {
1032 if (dtd)
1033 parser->m_dtd = dtd;
1072 if (dtd) {
2752 DTD *const dtd = parser->m_dtd;
2848 name = poolStoreString(&dtd->pool, enc, s + enc->minBytesPerChar,
2852 entity = (ENTITY *)lookup(parser, &dtd->generalEntities, name, 0);
2853 poolDiscard(&dtd->pool);
2858 if (! dtd->hasParamEntityRefs || dtd->standalone) {
3253 DTD *const dtd = parser->m_dtd; /* save one level of indirection */
3268 = (ELEMENT_TYPE *)lookup(parser, &dtd->elementTypes, tagNamePtr->str, 0);
3270 const XML_Char *name = poolCopyString(&dtd->pool, tagNamePtr->str);
3273 elementType = (ELEMENT_TYPE *)lookup(parser, &dtd->elementTypes, name,
3544 id = (ATTRIBUTE_ID *)lookup(parser, &dtd->attributeIds, s, 0);
3653 } else if (dtd->defaultPrefix.binding) {
3654 binding = dtd->defaultPrefix.binding;
4647 DTD *const dtd = parser->m_dtd;
4766 parser, &dtd->paramEntities, externalSubsetName, sizeof(ENTITY));
4770 dtd->hasParamEntityRefs = XML_TRUE;
4791 if (dtd->keepProcessing && parser->m_declEntity) {
4793 = poolStoreString(&dtd->pool, enc, s + enc->minBytesPerChar,
4799 poolFinish(&dtd->pool);
4826 XML_Bool hadParamEntityRefs = dtd->hasParamEntityRefs;
4827 dtd->hasParamEntityRefs = XML_TRUE;
4830 ENTITY *entity = (ENTITY *)lookup(parser, &dtd->paramEntities,
4842 dtd->paramEntityRead = XML_FALSE;
4847 if (dtd->paramEntityRead) {
4848 if (! dtd->standalone && parser->m_notStandaloneHandler
4853 is no external subset and we must reset dtd->hasParamEntityRefs
4856 dtd->hasParamEntityRefs = hadParamEntityRefs;
4857 /* end of DTD - no need to update dtd->keepProcessing */
4873 XML_Bool hadParamEntityRefs = dtd->hasParamEntityRefs;
4874 dtd->hasParamEntityRefs = XML_TRUE;
4877 ENTITY *entity = (ENTITY *)lookup(parser, &dtd->paramEntities,
4882 dtd->paramEntityRead = XML_FALSE;
4887 if (dtd->paramEntityRead) {
4888 if (! dtd->standalone && parser->m_notStandaloneHandler
4893 is no external subset and we must reset dtd->hasParamEntityRefs
4896 dtd->hasParamEntityRefs = hadParamEntityRefs;
4897 /* end of DTD - no need to update dtd->keepProcessing */
4942 if (dtd->keepProcessing && parser->m_attlistDeclHandler)
4947 if (dtd->keepProcessing && parser->m_attlistDeclHandler) {
4965 if (dtd->keepProcessing) {
4994 if (dtd->keepProcessing) {
4998 s + enc->minBytesPerChar, next - enc->minBytesPerChar, &dtd->pool,
5002 attVal = poolStart(&dtd->pool);
5003 poolFinish(&dtd->pool);
5031 if (dtd->keepProcessing) {
5036 parser->m_declEntity->textPtr = poolStart(&dtd->entityValuePool);
5038 = (int)(poolLength(&dtd->entityValuePool));
5039 poolFinish(&dtd->entityValuePool);
5049 poolDiscard(&dtd->entityValuePool);
5058 dtd->hasParamEntityRefs = XML_TRUE;
5074 if (! dtd->standalone
5086 parser, &dtd->paramEntities, externalSubsetName, sizeof(ENTITY));
5094 if (dtd->keepProcessing && parser->m_declEntity) {
5096 = poolStoreString(&dtd->pool, enc, s + enc->minBytesPerChar,
5101 poolFinish(&dtd->pool);
5110 if (dtd->keepProcessing && parser->m_declEntity
5121 if (dtd->keepProcessing && parser->m_declEntity) {
5123 = poolStoreString(&dtd->pool, enc, s, next);
5126 poolFinish(&dtd->pool);
5149 if (dtd->keepProcessing) {
5150 const XML_Char *name = poolStoreString(&dtd->pool, enc, s, next);
5153 parser->m_declEntity = (ENTITY *)lookup(parser, &dtd->generalEntities,
5158 poolDiscard(&dtd->pool);
5161 poolFinish(&dtd->pool);
5173 poolDiscard(&dtd->pool);
5179 if (dtd->keepProcessing) {
5180 const XML_Char *name = poolStoreString(&dtd->pool, enc, s, next);
5183 parser->m_declEntity = (ENTITY *)lookup(parser, &dtd->paramEntities,
5188 poolDiscard(&dtd->pool);
5191 poolFinish(&dtd->pool);
5203 poolDiscard(&dtd->pool);
5307 if (dtd->scaffIndex) {
5319 parser, dtd->scaffIndex, parser->m_groupSize * sizeof(int));
5322 dtd->scaffIndex = new_scaff_index;
5334 if (dtd->in_eldecl) {
5338 assert(dtd->scaffIndex != NULL);
5339 dtd->scaffIndex[dtd->scaffLevel] = myindex;
5340 dtd->scaffLevel++;
5341 dtd->scaffold[myindex].type = XML_CTYPE_SEQ;
5350 if (dtd->in_eldecl && parser->m_elementDeclHandler)
5356 if (dtd->in_eldecl
5358 && (dtd->scaffold[dtd->scaffIndex[dtd->scaffLevel - 1]].type
5360 dtd->scaffold[dtd->scaffIndex[dtd->scaffLevel - 1]].type
5370 dtd->hasParamEntityRefs = XML_TRUE;
5372 dtd->keepProcessing = dtd->standalone;
5376 name = poolStoreString(&dtd->pool, enc, s + enc->minBytesPerChar,
5380 entity = (ENTITY *)lookup(parser, &dtd->paramEntities, name, 0);
5381 poolDiscard(&dtd->pool);
5387 && (dtd->standalone ? ! parser->m_openInternalEntities
5388 : ! dtd->hasParamEntityRefs)) {
5415 dtd->keepProcessing = dtd->standalone;
5437 dtd->paramEntityRead = XML_FALSE;
5450 if (! dtd->paramEntityRead) {
5451 dtd->keepProcessing = dtd->standalone;
5455 dtd->keepProcessing = dtd->standalone;
5460 if (! dtd->standalone && parser->m_notStandaloneHandler
5472 dtd->scaffLevel = 0;
5473 dtd->scaffCount = 0;
5474 dtd->in_eldecl = XML_TRUE;
5481 if (dtd->in_eldecl) {
5498 dtd->in_eldecl = XML_FALSE;
5503 if (dtd->in_eldecl) {
5504 dtd->scaffold[dtd->scaffIndex[dtd->scaffLevel - 1]].type
5523 if (dtd->in_eldecl) {
5532 dtd->scaffold[myindex].type = XML_CTYPE_NAME;
5533 dtd->scaffold[myindex].quant = quant;
5538 dtd->scaffold[myindex].name = name;
5544 if (nameLen > UINT_MAX - dtd->contentStringLen) {
5548 dtd->contentStringLen += (unsigned)nameLen;
5566 if (dtd->in_eldecl) {
5569 dtd->scaffLevel--;
5570 dtd->scaffold[dtd->scaffIndex[dtd->scaffLevel]].quant = quant;
5571 if (dtd->scaffLevel == 0) {
5580 dtd->in_eldecl = XML_FALSE;
5581 dtd->contentStringLen = 0;
5609 if (dtd->keepProcessing && parser->m_entityDeclHandler)
5617 if (dtd->keepProcessing && parser->m_attlistDeclHandler)
5886 DTD *const dtd = parser->m_dtd; /* save one level of indirection */
5977 entity = (ENTITY *)lookup(parser, &dtd->generalEntities, name, 0);
5982 if (pool == &dtd->pool) /* are we called from prolog? */
5987 (dtd->standalone ? ! parser->m_openInternalEntities
5988 : ! dtd->hasParamEntityRefs);
5990 checkEntityDecl = ! dtd->hasParamEntityRefs || dtd->standalone;
6086 DTD *const dtd = parser->m_dtd; /* save one level of indirection */
6087 STRING_POOL *pool = &(dtd->entityValuePool);
6130 entity = (ENTITY *)lookup(parser, &dtd->paramEntities, name, 0);
6139 dtd->keepProcessing = dtd->standalone;
6150 dtd->paramEntityRead = XML_FALSE;
6163 if (! dtd->paramEntityRead)
6164 dtd->keepProcessing = dtd->standalone;
6166 dtd->keepProcessing = dtd->standalone;
6445 DTD *const dtd = parser->m_dtd; /* save one level of indirection */
6452 if (! poolAppendChar(&dtd->pool, *s))
6455 if (! poolAppendChar(&dtd->pool, XML_T('\0')))
6457 prefix = (PREFIX *)lookup(parser, &dtd->prefixes, poolStart(&dtd->pool),
6461 if (prefix->name == poolStart(&dtd->pool))
6462 poolFinish(&dtd->pool);
6464 poolDiscard(&dtd->pool);
6475 DTD *const dtd = parser->m_dtd; /* save one level of indirection */
6478 if (! poolAppendChar(&dtd->pool, XML_T('\0')))
6480 name = poolStoreString(&dtd->pool, enc, start, end);
6485 id = (ATTRIBUTE_ID *)lookup(parser, &dtd->attributeIds, name,
6490 poolDiscard(&dtd->pool);
6492 poolFinish(&dtd->pool);
6500 id->prefix = &dtd->defaultPrefix;
6502 id->prefix = (PREFIX *)lookup(parser, &dtd->prefixes, name + 6,
6512 if (! poolAppendChar(&dtd->pool, name[j]))
6515 if (! poolAppendChar(&dtd->pool, XML_T('\0')))
6517 id->prefix = (PREFIX *)lookup(parser, &dtd->prefixes,
6518 poolStart(&dtd->pool), sizeof(PREFIX));
6521 if (id->prefix->name == poolStart(&dtd->pool))
6522 poolFinish(&dtd->pool);
6524 poolDiscard(&dtd->pool);
6537 DTD *const dtd = parser->m_dtd; /* save one level of indirection */
6541 if (dtd->defaultPrefix.binding) {
6546 len = dtd->defaultPrefix.binding->uriLen;
6551 dtd->defaultPrefix.binding->uri[i])) {
6577 hashTableIterInit(&iter, &(dtd->prefixes));
6610 hashTableIterInit(&iter, &(dtd->generalEntities));
6633 DTD *const dtd = parser->m_dtd; /* save one level of indirection */
6641 e = (ENTITY *)lookup(parser, &dtd->generalEntities,
6652 prefix = &dtd->defaultPrefix;
6657 = (PREFIX *)lookup(parser, &dtd->prefixes,
6662 prefix->name = poolCopyString(&dtd->pool, prefix->name);
7424 DTD *const dtd = parser->m_dtd; /* save one level of indirection */
7428 if (! dtd->scaffIndex) {
7429 dtd->scaffIndex = (int *)MALLOC(parser, parser->m_groupSize * sizeof(int));
7430 if (! dtd->scaffIndex)
7432 dtd->scaffIndex[0] = 0;
7435 if (dtd->scaffCount >= dtd->scaffSize) {
7437 if (dtd->scaffold) {
7439 if (dtd->scaffSize > UINT_MAX / 2u) {
7447 if (dtd->scaffSize > (size_t)(-1) / 2u / sizeof(CONTENT_SCAFFOLD)) {
7453 parser, dtd->scaffold, dtd->scaffSize * 2 * sizeof(CONTENT_SCAFFOLD));
7456 dtd->scaffSize *= 2;
7462 dtd->scaffSize = INIT_SCAFFOLD_ELEMENTS;
7464 dtd->scaffold = temp;
7466 next = dtd->scaffCount++;
7467 me = &dtd->scaffold[next];
7468 if (dtd->scaffLevel) {
7470 = &dtd->scaffold[dtd->scaffIndex[dtd->scaffLevel - 1]];
7472 dtd->scaffold[parent->lastchild].nextsib = next;
7489 DTD *const dtd = parser->m_dtd; /* save one level of indirection */
7498 if (dtd->scaffCount > (size_t)(-1) / sizeof(XML_Content)) {
7501 if (dtd->contentStringLen > (size_t)(-1) / sizeof(XML_Char)) {
7505 if (dtd->scaffCount * sizeof(XML_Content)
7506 > (size_t)(-1) - dtd->contentStringLen * sizeof(XML_Char)) {
7510 const size_t allocsize = (dtd->scaffCount * sizeof(XML_Content)
7511 + (dtd->contentStringLen * sizeof(XML_Char)));
7532 * to array dtd->scaffold) in field "numchildren".
7536 * at that time) and puts the real data from dtd->scaffold in.
7567 XML_Content *const destLimit = &ret[dtd->scaffCount];
7569 str = (XML_Char *)&ret[dtd->scaffCount];
7579 dest->type = dtd->scaffold[src_node].type;
7580 dest->quant = dtd->scaffold[src_node].quant;
7584 src = dtd->scaffold[src_node].name;
7597 dest->numchildren = dtd->scaffold[src_node].childcnt;
7601 for (i = 0, cn = dtd->scaffold[src_node].firstchild;
7602 i < dest->numchildren; i++, cn = dtd->scaffold[cn].nextsib)
7613 DTD *const dtd = parser->m_dtd; /* save one level of indirection */
7614 const XML_Char *name = poolStoreString(&dtd->pool, enc, ptr, end);
7619 ret = (ELEMENT_TYPE *)lookup(parser, &dtd->elementTypes, name,
7624 poolDiscard(&dtd->pool);
7626 poolFinish(&dtd->pool);