private void ParseExternalSubset()
{
Debug.Assert(_externalEntitiesDepth == 0);
// push external subset
if (!_readerAdapter.PushExternalSubset(_systemId, _publicId))
{
return;
}
Uri baseUri = _readerAdapter.BaseUri;
if (baseUri != null)
{
_externalDtdBaseUri = baseUri.ToString();
}
_externalEntitiesDepth++;
LoadParsingBuffer();
// parse
ParseSubset();
#if DEBUG
Debug.Assert( readerAdapter.EntityStackLength == 0 ||
( freeFloatingDtd && readerAdapter.EntityStackLength == 1 ) );
#endif
}