Подтвердить что ты не робот

XSD для классов Delphi без привязки XML

Возможно, это было задано раньше, но я не нашел его в отношении Delphi - я использовал XSD.exe в Visual Studio, который делает именно это: преобразует XSD в 'plain vanilla' классы, представляющие объекты, указанные в XSD, - не связанные с XML-документами-классами для создания структур в XSD, а не доступа к данным, которые соответствуют структуре, изложенной в XSD.

Я ищу утилиту или продукт, который будет делать это (это не стоит больших денег...): Пример: у меня есть такая схема:

<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" attributeFormDefault="unqualified">
    <xs:element name="TDelphiClass">
        <xs:complexType>
            <xs:sequence>
                <xs:element ref="ID"/>
                <xs:element ref="ConnectionString"/>
                <xs:element ref="Group"/>
            </xs:sequence>
        </xs:complexType>
    </xs:element>
    <xs:element name="ID" type="xs:integer"/>
    <xs:element name="ConnectionString" type="xs:string"/>
    <xs:element name="Group"type="xs:double"/>
</xs:schema>

Я хочу создать модуль/класс Delphi, который выглядит так:

unit uDelphiClass;

interface

uses
  Classes, SysUtils;

type
  TDelphiClass = class(TObject)
    fID: Integer;
    fConnectionString: string;
    fGroup: Double;
  end;

implementation

end.
4b9b3361

Ответ 1

Чтение между строками (используйте меньше аббревиатур, например VS имеет несколько значений, даже при вычислении), и вы, вероятно, использовали инструмент XSD.EXE в Visual Studio или .NET SDK для генерации исходного кода на языке С# или VB.NET.

Если у вас Delphi Prism, вы можете использовать XSD.EXE для генерировать исходный код Delphi Prism.

Язык Delphi Prism очень близок к родному языку Delphi, так что это даст вам начало.

Это также должно работать с пробником Delphi Prism.

BTW: Почему вы не хотите использовать собственный код Delphi, сгенерированный XML Data Binding Wizard автономным способом? Он основан на интерфейсе, но довольно быстро и работает очень хорошо.

Ответ 2

http://sourceforge.net/projects/xxsd2code/ генерирует С++, С#, С++/CLI и Java - и похоже, что включенные классы LanguageWriter не слишком сложны расширить их для Delphi. Java LanguageWriter, например, имеет менее 400 строк. Если есть интерес к сообществу Delphi, это может быть реализовано и внесено в короткий промежуток времени...