Я пытаюсь спроектировать структуру XML для сбора выходных данных из электронной таблицы, которая содержит имя клиента и множество различных столбцов суммы.И есть полный ряд, а также.
У меня есть около 4 определений столбцов сумм, которые я хочу использовать как группу.Итак, я объявил группу под названием AmountsGroup, а затем использовал имя группы в качестве атрибута 'ref' в моем определении сложного типа.Вот как это выглядит
<xsd:complexType name="AmountByCustomerType">
<xsd:sequence>
<xsd:element name="Customer" type="xsd:string" />
<xsd:group ref="AmountsGroup" maxOccurs="unbounded"/>
</xsd:sequence>
</xsd:complexType>
<xsd:complexType name="AmountByCustomerTotalType">
<xsd:sequence>
<xsd:element name="Total" type="xsd:string" />
<xsd:group ref="AmountsGroup" />
</xsd:sequence>
</xsd:complexType>
<xsd:group name="AmountsGroup">
<xsd:sequence>
<xsd:element name="AmountByPeriod" type="AmountByPeriodType" maxOccurs="unbounded" />
<xsd:element name="NetAdjustments" type="xsd:decimal" />
<xsd:element name="OriginalSalesAmount" type="xsd:decimal" minOccurs="0"/>
<xsd:element name="RevisedAmount" type="xsd:decimal" />
</xsd:sequence>
</xsd:group>
Вот мои вопросы:
Я объявил группу как имеющую maxOccurs = "unbounded" в первом complexType, где ввторой complexType, который я пропустил, означая, что это должно произойти только один раз.Будет ли это работать правильно?Мне нужно много строк с информацией о клиенте и только одну строку с общей суммой.
В экземпляре XML документа не нужно нигде указывать имя этой группы - это правильно?
Есть ли лучший способ структурировать отдельные строки и общий тип структуры?
Это хорошая практика, когда я использую шаблон жалюзи?Я не хочу объявлять complexType с тех пор, как должен объявить элемент, который появится в документе экземпляра XML, добавив, таким образом, еще один уровень в дерево объектов XML.Есть ли способ использовать именованный тип без предоставления ему элемента самостоятельно?Я надеюсь, вы понимаете, что я пытаюсь сделать.
Есть мысли?