xsd тот же элемент, различные типы?

Я думаю лучшие идеи, изобретенные, так как 1980-е будут теми, что мы не знаем. Или потому что они являются столь маленькими и повсеместными, что unnoticable, или потому что их популярность действительно не взлетела.

Один пример первого Перетаскивание для выбора части текста . Я полагаю, что это сначала появилось на Macintosh в 1984. Перед этим у Вас были отдельные кнопки для выбора начала выбора и конца выбора. Довольно обременительный.

пример последнего (может быть) Визуальные Языки программирования . Я не говорю как гиперкарта, я имею в виду как Макс/MSP, Прографик, Кварцевый Компоновщик, каналы Yahoo, и т.д. В данный момент они - действительно ниша, но как я вижу его, то, что нет действительно ничего мешающего им быть столь же выразительным и мощным как стандартный язык программирования, за исключением доли завоеванного внимания.

Визуальные языки программирования эффективно осуществляют парадигму функционального программирования ссылочной прозрачности. Это - действительно полезное свойство для кода, чтобы иметь. Путем они осуществляют, это не искусственно ни один - это просто на основании метафоры, которую они используют.

VPL's делает программирование доступным для людей, которые иначе не смогли бы программировать, такие как люди с трудностями с языком, как дислексия или даже просто неспециалисты, которые должны сделать на скорую руку простое средство экономии времени. Профессиональные программисты могут насмехаться над этим, но лично, я думаю, что было бы замечательно, если бы программирование стало действительно повсеместным навыком, как грамотность.

Как есть хотя, VPL's является reall нишевой интерес и действительно не получил особенно господствующую тенденцию.

, Что мы должны сделать по-другому

, все студенты информатики должны быть обязаны удваиваться главный - связь CS, главного с одними из гуманитарных наук . Рисование, литература, дизайн, психология, история, английский язык, безотносительно. Большая проблема - то, что промышленность заполняется с людьми, которые имеют действительно узкое и лишенное воображения понимание мира и поэтому не могут начать воображать компьютер, работающий любой значительно по-другому, чем это уже делает. (если это помогает, можно предположить, что я говорю о ком-то другом, чем Вы, человек, читающий это.) Математика является большой, но в конце это - просто инструмент для достижения. нам нужны эксперты, которые понимают природу креативности, кто также понимает технологию .

, Но даже если у нас есть они, должна быть среда, где существует возможность, что выполнение чего-то нового стоило бы риска. В 100 раз более вероятно, что что-либо действительно новое отклоняется из руки, скорее злобно . ( ньютон является примером этого). , таким образом, нам нужен намного более высокий допуск для отказа . Мы не должны бояться попробовать идею, которая перестала работать в прошлом. Мы не должны полностью отклонять наши собственные отказы - и мы должны учиться распознавать, когда мы перестали работать. Мы не должны рассматривать отказ как плохую вещь, и таким образом, мы не должны лгать нам или другим об этом. Мы должны просто привыкнуть к нему, потому что это - примерно единственная константа в этой постоянно меняющейся промышленности. Вскрытия полезны в этом отношении.

Одной из более интересных вещей, о smalltalk, я думаю, не был сам язык, но процесс, который использовался для прибытия в дизайн smalltalk. Повторяющийся процесс проектирования, проходя много много изменений - Но также и очень тщательно и критически определяя дефекты существующей системы, и находя решения в следующем. Чем больше перспектив и более широкое перспективы, которые мы имеем на ситуации, тем лучше мы можем судить, где ошибки и проблемы. Только изучите информатику. Исследование столько других учебных дисциплин, сколько можно заставиться интересоваться.

15
задан marc_s 20 August 2009 в 13:50
поделиться

1 ответ

Нет, вы действительно не можете этого сделать. У вас есть один вариант - создать сложный тип PersonOrOrgSender по строкам:

  <xsd:complexType name="PersonOrOrgType">
    <xsd:choice>
      <xsd:element minOccurs="0" name="PersonSender" type="PersonType" />
      <xsd:element minOccurs="0" name="OrgSender" type="OrganizationType" />
    </xsd:choice>
  </xsd:complexType>

, а затем сделать своего «отправителя» экземпляром этого типа:

<xsd:element name="sender" type="PersonOrOrgType" minOccurs="0" />

, но тогда у вас будут данные XML, подобные этому:

<FormInfo>
  <formname>string</formname>
  <sender>
    <OrgSender>
      <Name>string</Name>
    </OrgSender>
  </sender>  
  ...
</FormInfo>

или

<FormInfo>
  <formname>string</formname>
  <sender>
    <PersonSender>
      <Name>string</Name>
    </PersonSender>
  </sender>  
  ...
</FormInfo>

Вы не можете сделать один тег (например, «отправитель») одним элементом в одном случае и другим в другом - один тег должен иметь точно один четко определенный тип и иметь этот тип один раз и навсегда.

Марк

12
ответ дан 1 December 2019 в 04:34
поделиться
Другие вопросы по тегам:

Похожие вопросы: