У меня есть файл xml
, который в основном представляет собой данные статьи.Я хочу написать xml schema
для проверки этого файла.В файле XML-статьи я использовал несколько тегов в середине текста, например:
<p>The dog is <em>brown</em><p>
Я использую этот тег em
также в другом месте, внутри элементов другого типа, поэтому проблемане только для того, чтобы разрешить это внутри p
.
Мой вопрос: как мне разрешить использовать его внутри любых элементов моей схемы?Мое исследование дало мне следующие темы:
Как разрешить XML-элементу появляться где угодно через XSD?
XSD: разрешить элементы из другого пространства имен в любом местеsequence
Я не совсем понял эти ответы (я новичок), но, похоже, openContent
может быть решением, которое я ищу.
Минимальный рабочий пример:
<?xml version="1.0"?>
<doc>
<foo>text <bar /> anything</foo>
<tag>text <bar /> </tag>
</doc>
Схема:
<?xml version="1.0"?>
<xs:schema
xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:element name="subclass">
<xs:complexType>
<xs:sequence>
<xs:element name="foo">
</xs:element>
<xs:element name="tag">
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:schema>
Мой настоящий документ содержит несколько вложенных sequence
и choice
, а другие создаваемые мной документы будут отличаться, поэтому я ищу общее решение.
Необязательный вопрос: , если решение не включает openContent
, может кто-нибудь объяснить мне, как оно работает?В результатах поиска странно не хватало примеров и объяснений (для начинающих), в отличие от всего, что я искал.