XSD: различие между Элементом и Атрибутом

PRQA имеют превосходный и бесплатный стандарт кодирования C++ на основе книг от Scott Meyers, Bjarne Stroustrop и Herb Sutter. Это объединяет всю эту информацию в одном документе.

15
задан BradleyDotNET 16 September 2014 в 22:29
поделиться

3 ответа

Элемент - это элемент XML - открывающий тег, некоторый контент, закрывающий тег - они являются строительными блоками вашего XML-документа:

<test>someValue</test>

Здесь "test" будет элементом .

Атрибуты - это дополнительная информация о теге - это «надстройка» или дополнительная информация об элементе, но никогда не может существовать отдельно:

<test id="5">somevalue</test>

«id» - это атрибут.

Вы не можете иметь несколько атрибутов с одинаковым именем в одном теге -> minOccurs / maxOccurs не имеет смысла. Вы можете определить обязательный (или нет) атрибут - все остальное не имеет смысла.

Элементы определяются по их вхождению внутри сложных типов - например, если у вас есть сложный тип с последовательностью внутри - вы определяете, что все элементы должны присутствовать и должны быть в этом конкретном порядке:

<xs:complexType name="SomeType">
   <xs:sequence>       
      <xs:element name="Element1" type="xs:string" />
      <xs:element name="Element2" type="xs:string" />
   </xs:sequence>
</xs:complexType>

Внутри элемента этого типа подэлементы «Element1» и «Element2» являются обязательными и должны появляться в этом порядке - нет необходимости в «обязательном» или нет (например, с атрибутами). Требуется ли элемент, определяется с помощью minOccurs и maxOccurs; оба = 1 по умолчанию, например, элемент должен встречаться и может встречаться только один раз. Изменяя эти параметры, вы можете определить элемент как необязательный (minOccurs = 0) или разрешить ему появляться несколько раз (maxOccurs> 1).

Я настоятельно рекомендую вам ознакомиться с W3Schools Tutorial на схеме XML и узнайте больше о схеме XML.

Marc

или нет (как с атрибутами). Требуется ли элемент, определяется использованием minOccurs и maxOccurs; оба = 1 по умолчанию, например, элемент должен встречаться и может встречаться только один раз. Изменяя эти параметры, вы можете определить элемент как необязательный (minOccurs = 0) или разрешить ему появляться несколько раз (maxOccurs> 1).

Я настоятельно рекомендую вам ознакомиться с W3Schools Tutorial на схеме XML и узнайте больше о схеме XML.

Marc

или нет (как с атрибутами). Требуется ли элемент, определяется использованием minOccurs и maxOccurs; оба = 1 по умолчанию, например, элемент должен встречаться и может встречаться только один раз. Изменяя эти параметры, вы можете определить элемент как необязательный (minOccurs = 0) или разрешить ему появляться несколько раз (maxOccurs> 1).

Я настоятельно рекомендую вам ознакомиться с W3Schools Tutorial на схеме XML и узнайте больше о схеме XML.

Marc

29
ответ дан 1 December 2019 в 00:59
поделиться
<element myAttribute="value">
   <subElement />
   <subElement anotherAttribute="this is an attribute's value">Element value</subElement>
</element>

У вас не может быть более одного атрибута с одинаковым именем в XML, поэтому вы не можете использовать minOccurs и maxOccurs для атрибутов.

Вам не нужно использовать use = "required "для элементов, потому что вместо этого вы можете иметь minOccurs =" 1 ".

Это ваш выбор, когда использовать атрибуты и когда использовать элементы. Вот несколько рекомендаций: http://www.ibm.com/developerworks/xml/library/x-eleatt.html

3
ответ дан 1 December 2019 в 00:59
поделиться

Элемент - это узел XML - и он может содержать другие узлы или атрибуты. Это может быть простой тип или сложный тип. Это объект XML.

Атрибут - это дескриптор. Это может' t содержат что угодно и могут быть только простого типа.

Взгляните на this . Конечно, вы можете просто погуглить что-нибудь вроде «XML элемент против атрибута»

3
ответ дан 1 December 2019 в 00:59
поделиться
Другие вопросы по тегам:

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