4

私のタイプの 1 つの子として Html タグを許可しようとしています。

<xs:complexType name="Html">
    <xs:sequence>
        <!-- Attempting to allow us to include necessary HTML right into our XML -->
        <xs:any minOccurs="0" namespace="http://www.w3.org/1999/xhtml"></xs:any>
    </xs:sequence>
</xs:complexType>

<xs:element name="Html" type="Html"></xs:element>

その意図は、そのタイプの任意の要素内で Html タグを許可することですが、適切な形式の html の周囲の html または body タグを必ずしも持つ必要はありません。

タグを XSD に含めるにはどうすればよいですか?

4

3 に答える 3

2

xhtml xsd をググったところ、w3cの XML スキーマで XHTML 1.0 が見つかりました。リンクされたxhtml1-strict.xsdがあります。それを調べると、 body タグの定義が見つかります。これを html タグのベースとして使用できます。

<xs:element name="body">
  <xs:complexType>
    <xs:complexContent>
      <xs:extension base="Block">
         <xs:attributeGroup ref="attrs" />
         <xs:attribute name="onload" type="Script" />
         <xs:attribute name="onunload" type="Script" />
       </xs:extension>
     </xs:complexContent>
  </xs:complexType>
</xs:element>
于 2013-06-09T18:53:29.683 に答える
0

XHTML 1.1 を使いたかったのです。

ColdFusion の回答XHTML 1.1 XSD、およびこの回答に基づいてそれを行うスキーマを次に示します。

<?xml version="1.0" encoding="UTF-8"?>
<schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
    targetNamespace="http://www.example.org/NewXMLSchema"
    xmlns:tns="http://www.example.org/NewXMLSchema"
    xmlns:xhtml="http://www.w3.org/1999/xhtml"
    elementFormDefault="qualified">

    <!-- Importing XHTML 1.1 namespace -->
    <import namespace="http://www.w3.org/1999/xhtml"
            schemaLocation="http://www.w3.org/MarkUp/Schema/xhtml11.xsd"/>

    <!--
        Define the xhtml type.
        I didn't want forms in my special xhtml-like element.
    -->
    <xs:complexType name="xhtml">
        <xs:group ref="xhtml:xhtml.BlkNoForm.mix"/>
    </xs:complexType>

    <!-- Defining a type that matches the xhtml <body> element. -->
    <xs:complexType name="xhtml2">
        <xs:complexContent>
          <xs:extension base="xhtml:xhtml.body.type"/>
        </xs:complexContent>
    </xs:complexType>

    <xs:element name="my-xhtml-element" type="tns:xhtml"></xs:element>
</schema>
于 2018-01-18T16:44:28.440 に答える