** Print the contact information */
| 1554 | ** Print the contact information |
| 1555 | */ |
| 1556 | void msOWSPrintContactInfo( FILE *stream, const char *tabspace, |
| 1557 | int nVersion, hashTableObj *metadata, |
| 1558 | const char *namespaces ) |
| 1559 | { |
| 1560 | /* contact information is a required element in 1.0.7 but the */ |
| 1561 | /* sub-elements such as ContactPersonPrimary, etc. are not! */ |
| 1562 | /* In 1.1.0, ContactInformation becomes optional. */ |
| 1563 | if (nVersion > OWS_1_0_0) |
| 1564 | { |
| 1565 | msIO_fprintf(stream, "%s<ContactInformation>\n", tabspace); |
| 1566 | |
| 1567 | /* ContactPersonPrimary is optional, but when present then all its */ |
| 1568 | /* sub-elements are mandatory */ |
| 1569 | |
| 1570 | if(msOWSLookupMetadata(metadata, namespaces, "contactperson") || |
| 1571 | msOWSLookupMetadata(metadata, namespaces, "contactorganization")) |
| 1572 | { |
| 1573 | msIO_fprintf(stream, "%s <ContactPersonPrimary>\n", tabspace); |
| 1574 | |
| 1575 | msOWSPrintEncodeMetadata(stream, metadata, namespaces, "contactperson", |
| 1576 | OWS_WARN, " <ContactPerson>%s</ContactPerson>\n", NULL); |
| 1577 | msOWSPrintEncodeMetadata(stream, metadata, namespaces, "contactorganization", |
| 1578 | OWS_WARN, " <ContactOrganization>%s</ContactOrganization>\n", |
| 1579 | NULL); |
| 1580 | msIO_fprintf(stream, "%s </ContactPersonPrimary>\n", tabspace); |
| 1581 | } |
| 1582 | |
| 1583 | if(msOWSLookupMetadata(metadata, namespaces, "contactposition")) |
| 1584 | { |
| 1585 | msOWSPrintEncodeMetadata(stream, metadata, namespaces, "contactposition", |
| 1586 | OWS_NOERR, " <ContactPosition>%s</ContactPosition>\n", |
| 1587 | NULL); |
| 1588 | } |
| 1589 | |
| 1590 | /* ContactAdress is optional, but when present then all its */ |
| 1591 | /* sub-elements are mandatory */ |
| 1592 | if(msOWSLookupMetadata( metadata, namespaces, "addresstype" ) || |
| 1593 | msOWSLookupMetadata( metadata, namespaces, "address" ) || |
| 1594 | msOWSLookupMetadata( metadata, namespaces, "city" ) || |
| 1595 | msOWSLookupMetadata( metadata, namespaces, "stateorprovince" ) || |
| 1596 | msOWSLookupMetadata( metadata, namespaces, "postcode" ) || |
| 1597 | msOWSLookupMetadata( metadata, namespaces, "country" )) |
| 1598 | { |
| 1599 | msIO_fprintf(stream, "%s <ContactAddress>\n", tabspace); |
| 1600 | |
| 1601 | msOWSPrintEncodeMetadata(stream, metadata, namespaces,"addresstype", OWS_WARN, |
| 1602 | " <AddressType>%s</AddressType>\n", NULL); |
| 1603 | msOWSPrintEncodeMetadata(stream, metadata, namespaces, "address", OWS_WARN, |
| 1604 | " <Address>%s</Address>\n", NULL); |
| 1605 | msOWSPrintEncodeMetadata(stream, metadata, namespaces, "city", OWS_WARN, |
| 1606 | " <City>%s</City>\n", NULL); |
| 1607 | msOWSPrintEncodeMetadata(stream, metadata, namespaces, "stateorprovince", |
| 1608 | OWS_WARN," <StateOrProvince>%s</StateOrProvince>\n", NULL); |
| 1609 | msOWSPrintEncodeMetadata(stream, metadata, namespaces, "postcode", OWS_WARN, |
| 1610 | " <PostCode>%s</PostCode>\n", NULL); |
| 1611 | msOWSPrintEncodeMetadata(stream, metadata, namespaces, "country", OWS_WARN, |
| 1612 | " <Country>%s</Country>\n", NULL); |
| 1613 | msIO_fprintf(stream, "%s </ContactAddress>\n", tabspace); |
no test coverage detected