Exemplo n.º 1
0
InputSource SourceFromStream(const char8 *description, FILE *file)
{
    Entity e;

    e = NewExternalEntity("",0,description,0,0);
    if(!strchr8(description, '/'))
	EntitySetBaseURL(e, default_base_url());
    
    return NewInputSource(e, MakeFILE16FromFILE(file, "r"));
}
Exemplo n.º 2
0
InputSource SourceFromFILE16(const char8 *description, FILE16 *file16)
{
	Entity e;

	e = NewExternalEntity(0, 0, description, 0, 0);
	if(!strchr8(description, '/'))
	{
	char8 *base = default_base_url();
	EntitySetBaseURL(e, base);
	Free(base);
	}

	return NewInputSource(e, file16);
}
Exemplo n.º 3
0
InputSource EntityOpen(Entity e)
{
	FILE16 *f16;
	char8 *r_url;

	if(e->type == ET_external)
	{
	const char8 *url = EntityURL(e);

	if(!url || !(f16 = url_open(url, 0, "r", &r_url)))
		return 0;
	if(r_url && !e->base_url)
		EntitySetBaseURL(e, r_url);
	Free(r_url);
	}
	else
	{
	f16 = MakeFILE16FromString((char *)e->text, -1, "r");
	}

	return NewInputSource(e, f16);
}