顯示具有 empty element tag 標籤的文章。 顯示所有文章
顯示具有 empty element tag 標籤的文章。 顯示所有文章

2013年8月2日 星期五

gSOAP -- Empty Element Tag 的產生規則整理

若一個 xml elemnt 為空,一般有兩種表示方式。
<tag></tag>
<tag />

那麼當使用 gSoap 建議的 onvif schema 產生程式碼後,如何確認哪些函數會生成 <tag />的形式呢?
gSOAP 的 stdsoap2.c中會透過soap_element_start_end_out()函數產生 "/>" 的標籤,而透過 onvif schema 所產生的程式碼,主要會透過呼叫 stdsoap2.c其中的三個函數 soap_element_href(), soap_element_null(), soap_element_nil()來產生 "/>" 的標籤。 
由於 gSoap 會自動根據 wsdl 產生 header file, 接著自動產生程式碼。
因此若我們想要強制其產生</>,則不應該手動呼叫上述的三個函數,
而應該了解其生成原理。藉著修改wsdl, 或是 header file, 來達成此功能。