2012-02-06 41 views
1

根據Embarcadero's documentation如何創建「新」功能,採用Delphi XSD數據綁定向導

調用生成的新...功能爲一個空文件創建TXMLDocument的實例,當你想創建中的所有數據您的應用程序:導入XSD for the Clinical Document Architecture

var 
    StockList: IXMLStockListType; 
begin 
    StockList := Newstocklist;  

_di_IStockListType StockList = NewStockListType(); 

不過,我並不在26833行代碼德爾福得到任何新...功能產生。

那麼,是什麼觸發了這些新功能的生成呢?

回答

3

如果您的XSD文檔在根級別包含多個xs:element(或simpletype,complextype,...)節點,則該向導無法確定根級別元素最終將成爲xml文檔的內容。在這種情況下,你必須自己寫Newxxx聲明:

var yourType : IXMLYourType; 
... 
yourType := NewXMLDocument.GetDocBinding(
       '<root level yourtype tagname>', 
       TXMLYourType, 
       '') as IXMLYourType; 

嘗試導入堅持到xsd的xml文檔,你會看到newxxx功能將會產生。

UPDATE

screenshot

如果你檢查你想要的根元素,新的,負載使用,並獲得創建功能類型的documentElementType。如果你不這樣做,你會得到這樣的警告:

warning

+0

哦,所以如果你導入的XSD本身,你就永遠無法獲得NewXXX功能? – 2012-02-06 17:06:52

+0

@Peter Turner:更新了我的答案 – whosrdaddy 2012-02-07 09:07:02