int main(int argc, char *argv[]) { struct Person *Carl = Person_Create("Carl Bycraft", 31, 74, 250); printf("%s is located at %p in memory.\n", Carl->Name, Carl); printf("----\n"); Person_Print(Carl); printf("----\n"); Carl->Age += 20; Carl->Weight -= 30; Carl->Height--; printf("----\n"); Person_Destroy(Carl); exit(EXIT_SUCCESS); }
int main(int argc, char *argv[]) { struct Person* person; /* object created by xsd2c */ struct Address* address; /* object created by xsd2c */ /* Create both objects */ address = Address_Create(); person = Person_Create(); /* Set some address data */ Address_Set_Street(address, "XsdStreet"); Address_Set_StreetNum(address, "12-A"); Address_Set_City(address, "Paris"); Address_Set_Zip(address, 12345); Address_Set_Land(address, "France"); /* Set some person data */ Person_Set_attr_id(person, "id0001"); Person_Set_Name(person, "John"); Person_Set_Lastname(person, "Smith"); Person_Set_Degree(person, 34); Person_Add_Project(person, "csoap"); Person_Add_Project(person, "xsd2c"); Person_Set_Address(person, address); /* Serialize the Person object. The 3 sax callback functions will just print the data to stdout */ Person_Sax_Serialize(person, "Employee", Writer_StartElement, Writer_Characters, Writer_EndElement, 0); /* Free both objects */ Person_Free(person); Address_Free(address); return 0; }