Lines Matching defs:dtd
591 const XML_Char *nameSep, DTD *dtd);
1067 DTD *dtd) {
1124 if (dtd)
1125 parser->m_dtd = dtd;
1164 if (dtd) {
2837 DTD *const dtd = parser->m_dtd;
2933 name = poolStoreString(&dtd->pool, enc, s + enc->minBytesPerChar,
2937 entity = (ENTITY *)lookup(parser, &dtd->generalEntities, name, 0);
2938 poolDiscard(&dtd->pool);
2943 if (! dtd->hasParamEntityRefs || dtd->standalone) {
3338 DTD *const dtd = parser->m_dtd; /* save one level of indirection */
3353 = (ELEMENT_TYPE *)lookup(parser, &dtd->elementTypes, tagNamePtr->str, 0);
3355 const XML_Char *name = poolCopyString(&dtd->pool, tagNamePtr->str);
3358 elementType = (ELEMENT_TYPE *)lookup(parser, &dtd->elementTypes, name,
3629 id = (ATTRIBUTE_ID *)lookup(parser, &dtd->attributeIds, s, 0);
3738 } else if (dtd->defaultPrefix.binding) {
3739 binding = dtd->defaultPrefix.binding;
4732 DTD *const dtd = parser->m_dtd;
4853 parser, &dtd->paramEntities, externalSubsetName, sizeof(ENTITY));
4857 dtd->hasParamEntityRefs = XML_TRUE;
4878 if (dtd->keepProcessing && parser->m_declEntity) {
4880 = poolStoreString(&dtd->pool, enc, s + enc->minBytesPerChar,
4886 poolFinish(&dtd->pool);
4913 XML_Bool hadParamEntityRefs = dtd->hasParamEntityRefs;
4914 dtd->hasParamEntityRefs = XML_TRUE;
4917 ENTITY *entity = (ENTITY *)lookup(parser, &dtd->paramEntities,
4929 dtd->paramEntityRead = XML_FALSE;
4934 if (dtd->paramEntityRead) {
4935 if (! dtd->standalone && parser->m_notStandaloneHandler
4940 is no external subset and we must reset dtd->hasParamEntityRefs
4943 dtd->hasParamEntityRefs = hadParamEntityRefs;
4944 /* end of DTD - no need to update dtd->keepProcessing */
4960 XML_Bool hadParamEntityRefs = dtd->hasParamEntityRefs;
4961 dtd->hasParamEntityRefs = XML_TRUE;
4964 ENTITY *entity = (ENTITY *)lookup(parser, &dtd->paramEntities,
4969 dtd->paramEntityRead = XML_FALSE;
4974 if (dtd->paramEntityRead) {
4975 if (! dtd->standalone && parser->m_notStandaloneHandler
4980 is no external subset and we must reset dtd->hasParamEntityRefs
4983 dtd->hasParamEntityRefs = hadParamEntityRefs;
4984 /* end of DTD - no need to update dtd->keepProcessing */
5029 if (dtd->keepProcessing && parser->m_attlistDeclHandler)
5034 if (dtd->keepProcessing && parser->m_attlistDeclHandler) {
5052 if (dtd->keepProcessing) {
5081 if (dtd->keepProcessing) {
5085 s + enc->minBytesPerChar, next - enc->minBytesPerChar, &dtd->pool,
5089 attVal = poolStart(&dtd->pool);
5090 poolFinish(&dtd->pool);
5118 if (dtd->keepProcessing) {
5126 parser->m_declEntity->textPtr = poolStart(&dtd->entityValuePool);
5128 = (int)(poolLength(&dtd->entityValuePool));
5129 poolFinish(&dtd->entityValuePool);
5139 poolDiscard(&dtd->entityValuePool);
5167 dtd->hasParamEntityRefs = XML_TRUE;
5183 if (! dtd->standalone
5195 parser, &dtd->paramEntities, externalSubsetName, sizeof(ENTITY));
5203 if (dtd->keepProcessing && parser->m_declEntity) {
5205 = poolStoreString(&dtd->pool, enc, s + enc->minBytesPerChar,
5210 poolFinish(&dtd->pool);
5229 if (dtd->keepProcessing && parser->m_declEntity
5240 if (dtd->keepProcessing && parser->m_declEntity) {
5242 = poolStoreString(&dtd->pool, enc, s, next);
5245 poolFinish(&dtd->pool);
5268 if (dtd->keepProcessing) {
5269 const XML_Char *name = poolStoreString(&dtd->pool, enc, s, next);
5272 parser->m_declEntity = (ENTITY *)lookup(parser, &dtd->generalEntities,
5277 poolDiscard(&dtd->pool);
5280 poolFinish(&dtd->pool);
5292 poolDiscard(&dtd->pool);
5298 if (dtd->keepProcessing) {
5299 const XML_Char *name = poolStoreString(&dtd->pool, enc, s, next);
5302 parser->m_declEntity = (ENTITY *)lookup(parser, &dtd->paramEntities,
5307 poolDiscard(&dtd->pool);
5310 poolFinish(&dtd->pool);
5322 poolDiscard(&dtd->pool);
5426 if (dtd->scaffIndex) {
5438 parser, dtd->scaffIndex, parser->m_groupSize * sizeof(int));
5441 dtd->scaffIndex = new_scaff_index;
5453 if (dtd->in_eldecl) {
5457 assert(dtd->scaffIndex != NULL);
5458 dtd->scaffIndex[dtd->scaffLevel] = myindex;
5459 dtd->scaffLevel++;
5460 dtd->scaffold[myindex].type = XML_CTYPE_SEQ;
5469 if (dtd->in_eldecl && parser->m_elementDeclHandler)
5475 if (dtd->in_eldecl
5477 && (dtd->scaffold[dtd->scaffIndex[dtd->scaffLevel - 1]].type
5479 dtd->scaffold[dtd->scaffIndex[dtd->scaffLevel - 1]].type
5489 dtd->hasParamEntityRefs = XML_TRUE;
5491 dtd->keepProcessing = dtd->standalone;
5495 name = poolStoreString(&dtd->pool, enc, s + enc->minBytesPerChar,
5499 entity = (ENTITY *)lookup(parser, &dtd->paramEntities, name, 0);
5500 poolDiscard(&dtd->pool);
5506 && (dtd->standalone ? ! parser->m_openInternalEntities
5507 : ! dtd->hasParamEntityRefs)) {
5534 dtd->keepProcessing = dtd->standalone;
5556 dtd->paramEntityRead = XML_FALSE;
5569 if (! dtd->paramEntityRead) {
5570 dtd->keepProcessing = dtd->standalone;
5574 dtd->keepProcessing = dtd->standalone;
5579 if (! dtd->standalone && parser->m_notStandaloneHandler
5591 dtd->scaffLevel = 0;
5592 dtd->scaffCount = 0;
5593 dtd->in_eldecl = XML_TRUE;
5600 if (dtd->in_eldecl) {
5617 dtd->in_eldecl = XML_FALSE;
5622 if (dtd->in_eldecl) {
5623 dtd->scaffold[dtd->scaffIndex[dtd->scaffLevel - 1]].type
5642 if (dtd->in_eldecl) {
5651 dtd->scaffold[myindex].type = XML_CTYPE_NAME;
5652 dtd->scaffold[myindex].quant = quant;
5657 dtd->scaffold[myindex].name = name;
5663 if (nameLen > UINT_MAX - dtd->contentStringLen) {
5667 dtd->contentStringLen += (unsigned)nameLen;
5685 if (dtd->in_eldecl) {
5688 dtd->scaffLevel--;
5689 dtd->scaffold[dtd->scaffIndex[dtd->scaffLevel]].quant = quant;
5690 if (dtd->scaffLevel == 0) {
5699 dtd->in_eldecl = XML_FALSE;
5700 dtd->contentStringLen = 0;
5728 if (dtd->keepProcessing && parser->m_entityDeclHandler)
5736 if (dtd->keepProcessing && parser->m_attlistDeclHandler)
6000 DTD *const dtd = parser->m_dtd; /* save one level of indirection */
6091 entity = (ENTITY *)lookup(parser, &dtd->generalEntities, name, 0);
6096 if (pool == &dtd->pool) /* are we called from prolog? */
6101 (dtd->standalone ? ! parser->m_openInternalEntities
6102 : ! dtd->hasParamEntityRefs);
6104 checkEntityDecl = ! dtd->hasParamEntityRefs || dtd->standalone;
6201 DTD *const dtd = parser->m_dtd; /* save one level of indirection */
6202 STRING_POOL *pool = &(dtd->entityValuePool);
6243 entity = (ENTITY *)lookup(parser, &dtd->paramEntities, name, 0);
6252 dtd->keepProcessing = dtd->standalone;
6263 dtd->paramEntityRead = XML_FALSE;
6276 if (! dtd->paramEntityRead)
6277 dtd->keepProcessing = dtd->standalone;
6279 dtd->keepProcessing = dtd->standalone;
6585 DTD *const dtd = parser->m_dtd; /* save one level of indirection */
6592 if (! poolAppendChar(&dtd->pool, *s))
6595 if (! poolAppendChar(&dtd->pool, XML_T('\0')))
6597 prefix = (PREFIX *)lookup(parser, &dtd->prefixes, poolStart(&dtd->pool),
6601 if (prefix->name == poolStart(&dtd->pool))
6602 poolFinish(&dtd->pool);
6604 poolDiscard(&dtd->pool);
6615 DTD *const dtd = parser->m_dtd; /* save one level of indirection */
6618 if (! poolAppendChar(&dtd->pool, XML_T('\0')))
6620 name = poolStoreString(&dtd->pool, enc, start, end);
6625 id = (ATTRIBUTE_ID *)lookup(parser, &dtd->attributeIds, name,
6630 poolDiscard(&dtd->pool);
6632 poolFinish(&dtd->pool);
6640 id->prefix = &dtd->defaultPrefix;
6642 id->prefix = (PREFIX *)lookup(parser, &dtd->prefixes, name + 6,
6652 if (! poolAppendChar(&dtd->pool, name[j]))
6655 if (! poolAppendChar(&dtd->pool, XML_T('\0')))
6657 id->prefix = (PREFIX *)lookup(parser, &dtd->prefixes,
6658 poolStart(&dtd->pool), sizeof(PREFIX));
6661 if (id->prefix->name == poolStart(&dtd->pool))
6662 poolFinish(&dtd->pool);
6664 poolDiscard(&dtd->pool);
6677 DTD *const dtd = parser->m_dtd; /* save one level of indirection */
6681 if (dtd->defaultPrefix.binding) {
6686 len = dtd->defaultPrefix.binding->uriLen;
6691 dtd->defaultPrefix.binding->uri[i])) {
6717 hashTableIterInit(&iter, &(dtd->prefixes));
6750 hashTableIterInit(&iter, &(dtd->generalEntities));
6777 DTD *const dtd = parser->m_dtd; /* save one level of indirection */
6785 e = (ENTITY *)lookup(parser, &dtd->generalEntities,
6796 prefix = &dtd->defaultPrefix;
6801 = (PREFIX *)lookup(parser, &dtd->prefixes,
6806 prefix->name = poolCopyString(&dtd->pool, prefix->name);
7578 DTD *const dtd = parser->m_dtd; /* save one level of indirection */
7582 if (! dtd->scaffIndex) {
7592 dtd->scaffIndex = (int *)MALLOC(parser, parser->m_groupSize * sizeof(int));
7593 if (! dtd->scaffIndex)
7595 dtd->scaffIndex[0] = 0;
7598 if (dtd->scaffCount >= dtd->scaffSize) {
7600 if (dtd->scaffold) {
7602 if (dtd->scaffSize > UINT_MAX / 2u) {
7610 if (dtd->scaffSize > (size_t)(-1) / 2u / sizeof(CONTENT_SCAFFOLD)) {
7616 parser, dtd->scaffold, dtd->scaffSize * 2 * sizeof(CONTENT_SCAFFOLD));
7619 dtd->scaffSize *= 2;
7625 dtd->scaffSize = INIT_SCAFFOLD_ELEMENTS;
7627 dtd->scaffold = temp;
7629 next = dtd->scaffCount++;
7630 me = &dtd->scaffold[next];
7631 if (dtd->scaffLevel) {
7633 = &dtd->scaffold[dtd->scaffIndex[dtd->scaffLevel - 1]];
7635 dtd->scaffold[parent->lastchild].nextsib = next;
7652 DTD *const dtd = parser->m_dtd; /* save one level of indirection */
7661 if (dtd->scaffCount > (size_t)(-1) / sizeof(XML_Content)) {
7664 if (dtd->contentStringLen > (size_t)(-1) / sizeof(XML_Char)) {
7668 if (dtd->scaffCount * sizeof(XML_Content)
7669 > (size_t)(-1) - dtd->contentStringLen * sizeof(XML_Char)) {
7673 const size_t allocsize = (dtd->scaffCount * sizeof(XML_Content)
7674 + (dtd->contentStringLen * sizeof(XML_Char)));
7695 * to array dtd->scaffold) in field "numchildren".
7699 * at that time) and puts the real data from dtd->scaffold in.
7730 XML_Content *const destLimit = &ret[dtd->scaffCount];
7732 str = (XML_Char *)&ret[dtd->scaffCount];
7742 dest->type = dtd->scaffold[src_node].type;
7743 dest->quant = dtd->scaffold[src_node].quant;
7747 src = dtd->scaffold[src_node].name;
7760 dest->numchildren = dtd->scaffold[src_node].childcnt;
7764 for (i = 0, cn = dtd->scaffold[src_node].firstchild;
7765 i < dest->numchildren; i++, cn = dtd->scaffold[cn].nextsib)
7776 DTD *const dtd = parser->m_dtd; /* save one level of indirection */
7777 const XML_Char *name = poolStoreString(&dtd->pool, enc, ptr, end);
7782 ret = (ELEMENT_TYPE *)lookup(parser, &dtd->elementTypes, name,
7787 poolDiscard(&dtd->pool);
7789 poolFinish(&dtd->pool);