Смешивание пространств имен XML с XHTML - PullRequest
0 голосов
/ 23 декабря 2010

Как мне поступить при написании схемы XML, где элементы будут разрешены для использования в сочетании с элементами из другого пространства имен?

В частности, если я хочу использовать некоторые элементы для шаблонов в документе XHTML кактакие:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xmlns:tmp="http://www.example.com/~/template">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Untitled Document</title>
</head>

<body>

    <div id="idName">

        <tmp:region name="regionName">

            <div class="className">

                <h1>
                    <tmp:data name="dataName1">
                        <tmp:format type="formatType">
                            <tmp:param name="paramName" value="paramValue" />
                            <tmp:param name="paramName" value="paramValue" />
                        </tmp:format>
                    </tmp:data>
                </h1>

                <div>
                    <tmp:data name="dataName2" />
                </div>

            </div>

        </tmp:region>

    </div>

</body>

</html>

Я не хочу, чтобы кто-нибудь писал схему, я нахожусь в процессе этого (я думаю, правильно), но, как уже упоминалось, как можно гарантировать, что элементы из tmpпространство имен можно использовать как показано в примере?Что мне нужно включить или пропустить в XSD или где-либо еще?

1 Ответ

1 голос
/ 23 декабря 2010

Если вы хотите что-нибудь где-нибудь, вы можете использовать xs:any:

<xs:any processContent="skip" namespace="http://www.foo.com/hello/world"/>

..., чтобы разрешить любой элемент из предоставленного пространства имен, например.

...