Customize XML serialization with WSName and XMLName
Use the WSName and XMLName attributes to customize serialization at runtime and improve the readability of the XML output.
Formatting XML output with WSName and XMLName
This sample function returns the output in XML format as a string.
IMPORT com
TYPE profileType RECORD ... END RECORD
PUBLIC DEFINE myError RECORD ATTRIBUTE(WSError="My error")
code INTEGER,
reason STRING
END RECORD
PUBLIC FUNCTION getUsersList()
ATTRIBUTES (WSGet,
WSPath="/users",
WSDescription="Get list of users",
WSThrows="400:Invalid,404:NotAvailable" )
RETURNS (
DYNAMIC ARRAY ATTRIBUTE(WSName="All_users_list",WSMedia="application/xml") OF profileType
ATTRIBUTE(XMLName="User")
)
DEFINE usersList DYNAMIC ARRAY OF profileType
... function code
RETURN usersList
END FUNCTION
The output contains the tags specified by the attributes.
- The
WSName
attribute for the array gives<All_users_list>
as the root tag for the output. - The
XMLName
attribute(XMLName="User")
maps the BDL record (profileType
) and tags each element with<User>
in the XML document.Note: If you do not use the attributes, the names in the XML output are default names derived from DVM names, for example,"rv0
", which may not be user-friendly.
<All_users_list> <User> ... record content </User> <User> ... record content </User> ... </All_users_list>