main/sw/source/filter/html/swhtml.cxx
// Aufruf fuer die allg. Reader-Schnittstelle
Aufruf fuer die allg. Reader-Schnittstelle
Aufruf fuer die allg . Reader - Schnittstelle
sal_uLong HTMLReader::Read( SwDoc &rDoc, const String& rBaseURL, SwPaM &rPam, const String & rName )
{
	if( !pStrm )
	{
		ASSERT( pStrm, "HTML-Read ohne Stream" );
		return ERR_SWG_READ_ERROR;
	}
	if( !bInsertMode )
	{
		Reader::SetNoOutlineNum( rDoc );
		Reader::ResetFrmFmts( rDoc );
		if( !rDoc.get(IDocumentSettingAccess::HTML_MODE) )
		{
            rDoc.InsertPoolItem( rPam, SwFmtPageDesc(
                rDoc.GetPageDescFromPool( RES_POOLPAGE_HTML, false )), 0 );
		}
	}
	rDoc.acquire();
	sal_uLong nRet = 0;
	SvParserRef xParser = new SwHTMLParser( &rDoc, rPam, *pStrm,
                                            rName, rBaseURL, !bInsertMode, pMedium,
											IsReadUTF8(),
                                            bIgnoreHTMLComments );
	SvParserState eState = xParser->CallParser();
	if( SVPAR_PENDING == eState )
		pStrm->ResetError();
	else if( SVPAR_ACCEPTED != eState )
	{
		String sErr( String::CreateFromInt32((sal_Int32)xParser->GetLineNr()));
		sErr += ',';
		sErr += String::CreateFromInt32((sal_Int32)xParser->GetLinePos());
		nRet = *new StringErrorInfo( ERR_FORMAT_ROWCOL, sErr,
									ERRCODE_BUTTON_OK | ERRCODE_MSG_ERROR );
	}
	return nRet;
}
sal_uLong HTMLReader :: Read ( SwDoc & rDoc , const String & rBaseURL , SwPaM & rPam , const String & rName ) { if ( ! pStrm ) { ASSERT ( pStrm , " " ) ; return ERR_SWG_READ_ERROR ; } if ( ! bInsertMode ) { Reader :: SetNoOutlineNum ( rDoc ) ; Reader :: ResetFrmFmts ( rDoc ) ; if ( ! rDoc . get ( IDocumentSettingAccess :: HTML_MODE ) ) { rDoc . InsertPoolItem ( rPam , SwFmtPageDesc ( rDoc . GetPageDescFromPool ( RES_POOLPAGE_HTML , false ) ) , 0 ) ; } } rDoc . acquire ( ) ; sal_uLong nRet = 0 ; SvParserRef xParser = new SwHTMLParser ( & rDoc , rPam , * pStrm , rName , rBaseURL , ! bInsertMode , pMedium , IsReadUTF8 ( ) , bIgnoreHTMLComments ) ; SvParserState eState = xParser -> CallParser ( ) ; if ( SVPAR_PENDING == eState ) pStrm -> ResetError ( ) ; else if ( SVPAR_ACCEPTED != eState ) { String sErr ( String :: CreateFromInt32 ( ( sal_Int32 ) xParser -> GetLineNr ( ) ) ) ; sErr += ' ' ; sErr += String :: CreateFromInt32 ( ( sal_Int32 ) xParser -> GetLinePos ( ) ) ; nRet = * new StringErrorInfo ( ERR_FORMAT_ROWCOL , sErr , ERRCODE_BUTTON_OK | ERRCODE_MSG_ERROR ) ; } return nRet ; }
Aufruf fuer die allg.
Aufruf fuer die allg .
// Die HTML-Seitenvorlage setzen, wenn des kein HTML-Dokument ist, // sonst ist sie schon gesetzt. // damit keiner das Doc klaut! // den Stream als Fehlernummer Transporter benutzen