Я создаю схему XML, в которой хранится информация о домах.
Я хочу сохранить цену
и валюту
.
На мой взгляд, имеет смысл заявить об этом, указав валюту в качестве атрибута элемента цены.
Кроме того, я хочу ограничить значения, которые могут быть введены в качестве валюты
, фунтами, евро или долларами.
EG:
<price currency="euros">10000.00</price>
Итак, на данный момент я объявляю это в своей схеме XML как:
<!-- House Price, and the currency as an attribute -->
<xs:element name="price">
<xs:complexType>
<xs:attribute name="currency">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:enumeration value="pounds" />
<xs:enumeration value="euros" />
<xs:enumeration value="dollars" />
</xs:restriction>
</xs:simpleType>
</xs:attribute>
</xs:complexType>
</xs:element>
Проблема, которая у меня возникает с этим:
фунтов, евро или долларов
Кажется, я не могу указать тип
в цене на двойную, так как я хотел бы из-за ошибки:
Элемент 'цена' имеет как атрибут «тип», так и дочерний элемент «анонимный тип». Для элемента разрешен только один из них.
Должен ли я просто быть простым и объявить их как отдельные элементы:
<price>10000.00</price>
<currency>euros</currency>
... или я на правильном пути?