// This file is generated by WOK (CPPExt).
// Please do not edit this file; modify original file instead.
// The copyright and license terms as defined for the original file apply to 
// this header file considered to be the "object code" form of the original source.

#ifndef _XmlLDrivers_DocumentStorageDriver_HeaderFile
#define _XmlLDrivers_DocumentStorageDriver_HeaderFile

#include <Standard.hxx>
#include <Standard_DefineHandle.hxx>
#include <Handle_XmlLDrivers_DocumentStorageDriver.hxx>

#include <Handle_XmlMDF_ADriverTable.hxx>
#include <XmlLDrivers_SequenceOfNamespaceDef.hxx>
#include <TCollection_ExtendedString.hxx>
#include <XmlObjMgt_SRelocationTable.hxx>
#include <PCDM_StorageDriver.hxx>
#include <Handle_CDM_Document.hxx>
#include <Standard_Boolean.hxx>
#include <XmlObjMgt_Element.hxx>
#include <Standard_Integer.hxx>
#include <Handle_CDM_MessageDriver.hxx>
class XmlMDF_ADriverTable;
class TCollection_ExtendedString;
class CDM_Document;
class TCollection_AsciiString;
class CDM_MessageDriver;



class XmlLDrivers_DocumentStorageDriver : public PCDM_StorageDriver
{

public:

  
  Standard_EXPORT XmlLDrivers_DocumentStorageDriver(const TCollection_ExtendedString& theCopyright);
  
  Standard_EXPORT virtual   TCollection_ExtendedString SchemaName()  const;
  
  Standard_EXPORT virtual   void Write (const Handle(CDM_Document)& theDocument, const TCollection_ExtendedString& theFileName) ;
  
  Standard_EXPORT virtual   Handle(XmlMDF_ADriverTable) AttributeDrivers (const Handle(CDM_MessageDriver)& theMsgDriver) ;




  DEFINE_STANDARD_RTTI(XmlLDrivers_DocumentStorageDriver)

protected:

  
  Standard_EXPORT virtual   Standard_Boolean WriteToDomDocument (const Handle(CDM_Document)& theDocument, XmlObjMgt_Element& thePDoc, const TCollection_ExtendedString& theFileName) ;
  
  Standard_EXPORT virtual   Standard_Integer MakeDocument (const Handle(CDM_Document)& theDocument, XmlObjMgt_Element& thePDoc) ;
  
  Standard_EXPORT   void AddNamespace (const TCollection_AsciiString& thePrefix, const TCollection_AsciiString& theURI) ;
  
  Standard_EXPORT virtual   Standard_Boolean WriteShapeSection (XmlObjMgt_Element& thePDoc) ;

  Handle(XmlMDF_ADriverTable) myDrivers;
  XmlObjMgt_SRelocationTable myRelocTable;


private: 


  XmlLDrivers_SequenceOfNamespaceDef mySeqOfNS;
  TCollection_ExtendedString myCopyright;


};







#endif // _XmlLDrivers_DocumentStorageDriver_HeaderFile
