Мы пытаемся использовать базу данных SQL Server 2003 для наших тестовых записей и хотим получить быстрый способ получения вывода NUnit и NAnt и создания схемы и данных SQL. Есть ли простой способ сгенерировать схему SQL с использованием файла XSD, описывающего эти XML-документы?


Вы можете использовать XSD. Нет, я серьезно. Перейдите в командную строку, введите xsd и нажмите Enter.
Вот что вы увидите (усечено):
I:\>xsd
Microsoft (R) Xml Schemas/DataTypes support utility
[Microsoft (R) .NET Framework, Version 1.0.3705.0]
Copyright (C) Microsoft Corporation 1998-2001. All rights reserved.
xsd.exe -
Utility to generate schema or class files from given source.
xsd.exe <schema>.xsd /classes|dataset [/e:] [/l:] [/n:] [/o:] [/uri:]
xsd.exe <assembly>.dll|.exe [/outputdir:] [/type: [...]]
xsd.exe <instance>.xml [/outputdir:]
xsd.exe <schema>.xdr [/outputdir:]
Просто следуйте инструкциям.
Поскольку XSD неоднозначен с точки зрения отношений мастер-деталь, я сомневаюсь, что автоматическая генерация возможна.
Например, объявление типа
<xs:element name = "foo" type = "footype" minOccurs = "0" maxOccurs = "unbounded" />
может интерпретироваться как дочерняя таблица «foo» (1: n) или как отношение n: m.
minOccurs = "0" maxOccurs = "1" может быть столбцом, допускающим значение NULL, или необязательным отношением 1: 1.
type = "xs: string" maxOccurs = "1" - это строковый ((n) varchar) столбец или необязательный поиск; но type = "xs: string" maxOccurs = "unbounded" - это подробная таблица с (n) столбцом varchar.
Есть инструмент под названием ShreX, который может создавать схемы из xsd и вставлять из XML. Он пытается сделать это сам (вы можете аннотировать xsd, чтобы управлять им). Если вы хотите самостоятельно определять структуру, это может быть не то, что вам нужно.