XML тег Choice проблема с биндингом

Maks_f
Дата: 09.06.2009 23:07:49
Господа есть вопрос вот участок схемы формата FB2 которую мне надо сбиндить для того чтобы работать с фалами такого формата.

<xs:complexType name="authorType">

<xs:annotation>

<xs:documentation>Information about a single author</xs:documentation>

</xs:annotation>

<xs:choice>

<xs:sequence>

<xs:element name="first-name" type="textFieldType"/>

<xs:element name="middle-name" type="textFieldType" minOccurs="0"/>

<xs:element name="last-name" type="textFieldType"/>

<xs:element name="nickname" type="textFieldType" minOccurs="0"/>

<xs:element name="home-page" type="xs:string" minOccurs="0" maxOccurs="unbounded"/>

<xs:element name="email" type="xs:string" minOccurs="0" maxOccurs="unbounded"/>

</xs:sequence>

<xs:sequence>

<xs:element name="nickname" type="textFieldType"/>

<xs:element name="home-page" type="xs:string" minOccurs="0"/>

<xs:element name="email" type="xs:string" minOccurs="0"/>

</xs:sequence>

</xs:choice>

</xs:complexType>


и вот что генерит 7 делфи на такой участок схемы


IXMLAuthorType = interface(IXMLNode)
['{B28FF6BE-1861-477B-92AE-CE7F73281CD5}']
{ Property Accessors }
function Get_Firstname: IXMLTextFieldType;
function Get_Middlename: IXMLTextFieldType;
function Get_Lastname: IXMLTextFieldType;
function Get_Nickname: IXMLTextFieldType;
function Get_Homepage: IXMLString_List;
function Get_Email: IXMLString_List;
function Get_Nickname: IXMLTextFieldType;
function Get_Homepage: WideString;
function Get_Email: WideString;
procedure Set_Homepage(Value: WideString);
procedure Set_Email(Value: WideString);
{ Methods & Properties }
property Firstname: IXMLTextFieldType read Get_Firstname;
property Middlename: IXMLTextFieldType read Get_Middlename;
property Lastname: IXMLTextFieldType read Get_Lastname;
property Nickname: IXMLTextFieldType read Get_Nickname;
property Homepage: IXMLString_List read Get_Homepage;
property Email: IXMLString_List read Get_Email;
property Nickname: IXMLTextFieldType read Get_Nickname;
property Homepage: WideString read Get_Homepage write Set_Homepage;
property Email: WideString read Get_Email write Set_Email;
end;

Вполне естественно что при компиляции ругань на повтороно объявленные процедуры - подскажите как биндинг заставить нормально обрабатывать Choice
Альт
Дата: 10.06.2009 04:59:43
Зачем xsd-схему валидации биндить, я спросонок не понял... вы ее читать собрались? или сверяемый ею xml?
Maks_f
Дата: 10.06.2009 14:43:27
Я собираюсь читать и создавать файлы соотвествующие этой схеме