Схема XML: как разрешить один конкретный элемент в любом месте, openContent? - PullRequest
0 голосов
/ 22 мая 2018

У меня есть файл 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, может кто-нибудь объяснить мне, как оно работает?В результатах поиска странно не хватало примеров и объяснений (для начинающих), в отличие от всего, что я искал.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...