System.Xml.DtdParser.HandleEntityEnd C# (CSharp) Méthode

HandleEntityEnd() private méthode

private HandleEntityEnd ( bool inLiteral ) : bool
inLiteral bool
Résultat bool
        private bool HandleEntityEnd(bool inLiteral)
        {
            SaveParsingBuffer();

            IDtdEntityInfo oldEntity;
            if (!_readerAdapter.PopEntity(out oldEntity, out _currentEntityId))
            {
                return false;
            }
            LoadParsingBuffer();

            if (oldEntity == null)
            {
                // external subset popped
                Debug.Assert(!ParsingInternalSubset || _freeFloatingDtd);
                Debug.Assert(_currentEntityId == 0);
                if (_scanningFunction == ScanningFunction.ParamEntitySpace)
                {
                    _scanningFunction = _savedScanningFunction;
                }
                return false;
            }

            if (oldEntity.IsExternal)
            {
                _externalEntitiesDepth--;
            }

            if (!inLiteral && _scanningFunction != ScanningFunction.ParamEntitySpace)
            {
                _savedScanningFunction = _scanningFunction;
                _scanningFunction = ScanningFunction.ParamEntitySpace;
            }

            return true;
        }