10 #include "xDataTOM_importXML_private.h"
12 #if defined __cplusplus
19 xDataTOM_interpolation *interpolation,
int index,
int length,
double accuracy );
26 xDataTOM_xDataInfo *xDI = &(TE->xDataInfo);
27 xDataXML_element *XMLChild;
28 xDataTOM_regionsXYs *regionsXYs;
31 regionsXYs = (xDataTOM_regionsXYs *) xDI->data;
32 regionsXYs->axes = &(xDI->axes);
34 if( ( regionsXYs->XYs = (xDataTOM_XYs *) smr_malloc2( smr, regionsXYs->length *
sizeof( xDataTOM_XYs ), 1,
"regionsXYs->XYs" ) ) == NULL )
goto err;
38 if( strcmp(
"axes", XMLChild->name ) == 0 ) {
40 else if( strcmp(
"region", XMLChild->name ) == 0 ) {
45 "invalid element '%s' in xData 'regionsXYs'", XMLChild->name );
63 xDataXML_element *XMLChild, *interpolationAxesElement = NULL, *dataElement = NULL;
64 xDataTOM_interpolation interpolation;
65 char const *sInterpolation;
72 if( strcmp(
"interpolationAxes", XMLChild->name ) == 0 ) {
73 if( interpolationAxesElement != NULL ) {
75 "multiple %s elements in element 'region'", XMLChild->name );
78 interpolationAxesElement = XMLChild; }
79 else if( strcmp(
"data", XMLChild->name ) == 0 ) {
80 if( dataElement != NULL ) {
82 "multiple %s elements in element 'region'", XMLChild->name );
85 dataElement = XMLChild; }
88 "invalid element '%s' in element 'region'", XMLChild->name );
92 if( interpolationAxesElement == NULL ) {
94 "missing 'interpolationAxes' element in element 'region'" );
99 "missing attribute 'interpolation'" );
103 if( dataElement == NULL ) {
105 "missing 'data' element in element 'region'" );
120 xDataTOM_interpolation *interpolation,
int index,
int length,
double accuracy ) {
122 return(
xDataXML_XYsDataToTOM( smr, XE, XYs, index, length, 0., accuracy, xDataTOM_subAxesType_intepolationAxes, 0, axes, interpolation ) );
125 #if defined __cplusplus
int xDataTOM_interpolation_setFromString(statusMessageReporting *smr, xDataTOM_interpolation *interpolation, char const *str)
static int xDataXML_regionsXYs_XYsToTOM(statusMessageReporting *smr, xDataXML_element *XE, xDataTOM_XYs *XYs, xDataTOM_axes *axes, xDataTOM_interpolation *interpolation, int index, int length, double accuracy)
char const * xDataXML_getAttributesValueInElement(xDataXML_element *element, char const *name)
int xDataXML_numberOfElementsByTagName(statusMessageReporting *, xDataXML_element *element, char const *tagName)
void * xDataXML_get_smrUserInterfaceFromElement(xDataXML_element *element)
int xDataTOM_smrLibraryID
char const * xDataTOM_regionsXYs_ID
xDataTOM_Int xDataXML_convertAttributeTo_xDataTOM_Int(statusMessageReporting *smr, xDataXML_element *element, char const *name, xDataTOM_Int *n, int required)
int xDataXML_XYsDataToTOM(statusMessageReporting *smr, xDataXML_element *XE, xDataTOM_XYs *XYs, int index, int length, double value, double accuracy, enum xDataTOM_subAxesType subAxesType, int axesOffest, xDataTOM_axes *axes, xDataTOM_interpolation *interpolation)
static int xDataXML_regionsXYs_regionToTOM(statusMessageReporting *smr, xDataXML_element *XE, xDataTOM_XYs *XYs, xDataTOM_axes *axes)
xDataXML_element * xDataXML_getNextElement(xDataXML_element *element)
int xDataXML_regionsXYsToTOM(statusMessageReporting *smr, xDataXML_element *XE, xDataTOM_element *TE)
xDataXML_element * xDataXML_getFirstElement(xDataXML_element *element)
void * xDataXML_initializeData(statusMessageReporting *smr, xDataXML_element *XE, xDataTOM_element *TE, char const *ID, size_t size)
int xDataXML_convertAttributeToDouble(statusMessageReporting *smr, xDataXML_element *element, char const *name, double *d, int required)