2016-08-05 1 views
0

Какова точка в объявлении элемента как сложного типа, который имеет только один дочерний элемент?XML-схема: сложный тип только с одним ребенком

Я получил файл XSD, из которого я привожу следующий отрывок:

<xsd:element name="From"> 
    <xsd:complexType> 
     <xsd:sequence> 
      <xsd:element name="Address" type="xsd:anyURI"/> 
     </xsd:sequence> 
    </xsd:complexType> 
</xsd:element> 
  
<xsd:element name="To" type="xsd:anyURI"/> 

Я понимаю, что от элемента (который должен произойти один раз и только один раз в его родителя) состоит из последовательности (которая должна встречаются один раз и только один раз), состоящий из единственного элемента Address, который должен встречаться один раз и только один раз и является URI.

В то время как элемент To (который должен встречаться один раз и только один раз в его родительском элементе) является URI.

Я прав? Я что-то упустил?

Когда дело доходит до вставки данных, пользователь должен вставить один и только один URI в элементе Address элемента From и один и только один URI непосредственно в элементе To.

Какая точка определяется как сложный тип при определении как простой тип?

Когда речь заходит о дизайне Пользовательский интерфейс для вставки «To» и «From» URI оба представлены текстовым полем, которое должно быть проверено как хорошо сформированный URI.

При преобразовании такой структуры XSD в базу данных SQL Server как «To», так и «From» являются только полем varchar в таблице, представляющей родительский элемент (не показан в моей отрывке), которые должны быть проверены как колодец сформированный URI.

Но я все еще думаю, что у меня отсутствует важная разница. Я?

ответ

1

Возможные причины включают в себя:

  • Вы сдерживая существующий дизайн документа, который позволяет другим детям, а также (например, С/Имя или несколько экземпляров из/Адрес)
  • Вы предусмотреть будущее расширение, позволяет другим детям также
  • Вы следуете за соглашением о разработке (или с использованием набора инструментов дизайна), для которого требуется элемент, имя которого является типом значения (Адрес), а другое - указывает на отношение к родительскому элементу (From)
1

Вы не пропуская ничего: TMTOWTDI (есть более чем один способ сделать это) относится к XSD (и к XML в целом) и предоставляет несколько вариантов дизайна, в том числе:

  • XML attribute vs XML element considerations одна может принять решение на основе будущих ожиданий расширения для подконструкции Address, регулирующих организационные или промышленные соглашения и т. д.
  • Элемент parent From может быть расширен, чтобы включать в себя другие семантически релевантные элементы, такие как как Person.
  • Существующий OO или реляционный дизайн может быть нацелен на то, чтобы лучше соответствовать From - Address сложный шаблон типа.