InDesign SDK  20.5
 All Classes Namespaces Functions Variables Typedefs Enumerations Enumerator Friends Groups Pages
IDataTransform Class Referenceabstract

#include <IDataTransform.h>

Inheritance diagram for IDataTransform:
IPMUnknown

Public Types

enum  { kDefaultIID = IID_IDATATRANSFORM }
 
enum  { kLowPriority = 0, kMediumPriority = 500, kHighPriority = 1000 }
 
typedef std::map< PMString,
PMString
Parameters
 

Public Member Functions

virtual int32 GetPriority () const =0
 
virtual Parameters GetParameters (IDataServicesOptions *options, IPMStream *dataStream) const =0
 
virtual IPMStreamTransformStream (IDataServicesOptions *options, IPMStream *dataStream, IPMUnknown *transformData)=0
 
virtual IPMStreamTransformStream (IDataServicesOptions *options, IPMStream *dataStream, ISAXAttributes *attrs, const Parameters &params)=0
 
virtual IPMStreamTransformStream (IDataServicesOptions *options, IPMStream *dataStream, const Parameters &params)=0
 
virtual IPMStreamTransformStream (IPMStream *dataStream, IPMStream *xslStream)=0
 
virtual bool16 CanTransform (IDataServicesOptions *options, IPMStream *dataStream, IPMUnknown *transformData) const =0
 
virtual bool16 CanTransform (IDataServicesOptions *options, IPMStream *dataStream) const =0
 
virtual bool16 CanTransform (IDataServicesOptions *options, IPMStream *dataStream, ISAXAttributes *attrs) const =0
 
virtual IPMStreamGetSchema (IDataServicesOptions *options, IPMStream *dataStream, IPMUnknown *transformData)=0
 
virtual IPMStreamGetSchema (IDataServicesOptions *options, IPMStream *dataStream, const Parameters &params)=0
 
- Public Member Functions inherited from IPMUnknown
virtual IPMUnknownQueryInterface (PMIID interfaceID) const =0
 
virtual void AddRef () const =0
 
virtual void Release () const =0
 

Detailed Description

Class responsible for data transformation.

Member Function Documentation

virtual bool16 IDataTransform::CanTransform (IDataServicesOptions * options,
IPMStreamdataStream,
IPMUnknowntransformData 
) const
pure virtual

Returns true if this transform can transform the data given the transformData.

Parameters
dataStreamspecifies the stream containing the data to be transformed.
transformDataspecified an interface that describes how the data should be transformed. The data usually contains a reference to a file that describes how to transform the data.
Returns
bool16
virtual bool16 IDataTransform::CanTransform (IDataServicesOptions * options,
IPMStreamdataStream 
) const
pure virtual

Returns true if this transform can transform the data. The data either has the transform instructions embedded in the data or a reference to the transform instructions embedded in the data.

Parameters
dataStreamspecifies the stream containing the data to be transformed.
Returns
bool16
virtual bool16 IDataTransform::CanTransform (IDataServicesOptions * options,
IPMStreamdataStream,
ISAXAttributesattrs 
) const
pure virtual

Returns true if this transform can transform the data using a transform language of type "type".

Parameters
attrsspecifies attributes that specify how to transform the stream.
Returns
bool16
virtual int32 IDataTransform::GetPriority () const
pure virtual

GetPriority returns the priority of the transform. The priority determines what order the transform get a chance at transforming the data.

Returns
priority
virtual IPMStream* IDataTransform::GetSchema (IDataServicesOptions * options,
IPMStreamdataStream,
IPMUnknowntransformData 
)
pure virtual

Get the schema of the data source. The schema describes the data fields and may contain additional information about the ui names of the data fields and the primary key. Here is an example:

<key type="text" uiname="Key"> <image type="image" uiname="Image"> <date type="text" uiname="Date"> <filename type="text" uiname="File Name"> </schema>

Parameters
dataStreamspecifies the stream containing the data.
transformDataspecifies data that describes how the transformation.
Returns
IPMStream or nil if schema s not provided. Check for ErrorUtils::PMGetGlobalErrorCode().
virtual IPMStream* IDataTransform::GetSchema (IDataServicesOptions * options,
IPMStreamdataStream,
const Parameters & params 
)
pure virtual
Get the schema of the data source. The schema describes the data fields and may contain 

additional information about the ui names of the data fields and the primary key.

Parameters
options??
dataStreamspecifies the stream containing the data.
paramsspecifies the parameters required by the transformer to transform the data
Returns
IPMStream or nil if schema s not provided. Check for ErrorUtils::PMGetGlobalErrorCode().
virtual IPMStream* IDataTransform::TransformStream (IDataServicesOptions * options,
IPMStreamdataStream,
IPMUnknowntransformData 
)
pure virtual

Transform a stream, typically XML from one format to another. Everything is stream based. Returns a new stream, which has been transformed. Caller is responsible for releasing the new stream.

Parameters
dataStreamspecifies the stream containing the data.
transformDataspecifies data that describes how the transformation.
Returns
IPMStream
virtual IPMStream* IDataTransform::TransformStream (IDataServicesOptions * options,
IPMStreamdataStream,
ISAXAttributesattrs,
const Parameters & params 
)
pure virtual

Transform a stream, typically XML from one format to another. Everything is stream based. Returns a new stream, which has been transformed. Caller is responsible for releasing the new stream.

Parameters
dataStreamspecifies the stream containing the data.
attrsspecifies attributes that specify how to transform the stream.
Returns
IPMStream
virtual IPMStream* IDataTransform::TransformStream (IDataServicesOptions * options,
IPMStreamdataStream,
const Parameters & params 
)
pure virtual

Transform a stream, typically XML from one format to another. Everything is stream based. Returns a new stream, which has been transformed. Caller is responsible for releasing the new stream. This method assumes that the dataStream has information describing what transformation should be applied to the stream. For XML data this will typically be done with an xml-stylesheet processing instruction.

Parameters
dataStreamspecifies the stream containing the data.
Returns
IPMStream
virtual IPMStream* IDataTransform::TransformStream (IPMStreamdataStream,
IPMStreamxslStream 
)
pure virtual

Transform a stream, typically XML from one format to another. Everything is stream based. Returns a new stream, which has been transformed. Caller is responsible for releasing the new stream. this method requires that the client pass in both the stream to be transformed and the stream to use for the transform.

Parameters
dataStreamspecifies the stream containing the data.
xslStreamspecifies the stream containing the transform.
Returns
IPMStream