У меня очень мало знаний в xsd и в срочной необходимости решения мелкой проблемы. Мне нужно определить элемент (названный тег), который может иметь любой тип и количество дочерних элементов (и текстов), но не должен содержать пустую строку. Пример: <tag1> совместно <sub1/sub1> < б1 > лазера </b1 > </tag1 >, <tag1> ш2 </tag1 >, <tag1> <i1> лазера </i1 > </tag1 > (допустим, что даже <tag1> <i1> </i1 > </tag1 > также разрешено). Но <tag1> </tag1 > не допускается. Пожалуйста, дайте мне знать, если есть очень простой способ сделать это.Элемент с дочерними элементами любого типа, за исключением пустой строки
-1
A
ответ
1
Если вы используете XSD 1.1, вы можете использовать утверждение для проверки состояния вы описываете:
<xs:element name="tag" type="non-empty"/>
<xs:complexType name="non-empty">
<xs:sequence minOccurs="0" maxOccurs="unbounded">
<xs:any/>
</xs:sequence>
<xs:assert test="child::* or not(string(.) eq '')"/>
</xs:complexType>
В XSD 1.0, есть не совсем такой простой подход; если бы я был вами и работал в XSD 1.0, я бы изменил дизайн на что-то более легкое для выражения в XSD 1.0.
В 1.0, легко требовать, чтобы tag
элемент имеет один или более детей, не сдерживая детей:
<xs:complexType name="non-empty" mixed="true">
<xs:sequence minOccurs="1" maxOccurs="unbounded">
<xs:any/>
</xs:sequence>
</xs:complexType>
<xs:element name="tag" type="non-empty"/>
Это также легко определить, что tag
элемент может иметь любой непустой строки (Я отвезу тебя на слове здесь, и позволяя строки, состоящие только из белого пространства - будьте осторожны, что вы просите):
<xs:simpleType name="non-empty">
<xs:restriction base="xs:string">
<xs:minLength value="1"/>
</xs:restriction>
</xs:simpleType>
<xs:element name="tag" type="non-empty"/>
Что не возможно в 1.0 есть (а) объявить элемент как имеющие либо простой или совместный mplex, или (b) ограничение текстового содержимого сложного типа со смешанным контентом.
Удачи.
Смежные вопросы
- 1. Элемент выбора JQuery с определенными дочерними элементами
- 2. Элемент XSD с атрибутами и дочерними элементами
- 3. Элемент XML Schema с атрибутом и дочерними элементами anyType
- 4. выберите строки с нулевыми дочерними элементами (join)
- 5. Запустить все проверки За исключением любого типа «вид»: наличие
- 6. Поместите слой adorner за дочерними элементами управления
- 7. Список заказов с дочерними элементами
- 8. Regex за исключением строки
- 9. Excel - подсчет всех непустых ячеек, за исключением пустой строки
- 10. Используйте insertAfter с дочерними элементами
- 11. Проблема jQuery с дочерними элементами
- 12. За исключением в списке другого типа
- 13. Как удалить многоуровневый элемент меню с дочерними элементами в MySQL?
- 14. Regex - соответствующий элемент html с дочерними элементами на нескольких строках
- 15. Смешанное унаследовано дочерними элементами элемента схемы xsd?
- 16. Как проверить xml с повторяющимися дочерними элементами
- 17. ios UITableViewController элементы с дочерними элементами
- 18. preg_replace матч за исключением строки
- 19. CKEditor, пользовательский объект с дочерними элементами
- 20. Проблема с RecyclerView с дочерними элементами Визуальности
- 21. Попробуйте/за исключением проверки строки
- 22. DataGridView.SelectAll(), за исключением последней строки?
- 23. Реагентное наблюдение за дочерними элементами - я делаю это наилучшим образом?
- 24. Поведение TreeView SelectedItem с дочерними элементами TextBox
- 25. jquery итерации над дочерними элементами
- 26. Как создать правила между родительскими и дочерними рабочими элементами
- 27. Вмешательство между дочерними элементами expandableListView
- 28. Eclipse поиск строки за исключением части
- 29. матч любого не-буквенный символ (за исключением диакритических)
- 30. Управление дочерними элементами LinkButton render