0

xhtml.BlkStruct.class を参照する要素を使用して、以下のように簡略化した xsd ファイルがあります。そこから C# クラスを生成しようとして xsd.exe と xsd2code を試しましたが、常にエラーが発生します。

<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" 
        targetNamespace="http://www.w3.org/1999/xhtml"
        xmlns="http://www.w3.org/1999/xhtml"
        xmlns:xhtml="http://www.w3.org/1999/xhtml">

    <xs:complexType name="test">
        <xs:group ref="xhtml.BlkStruct.class"/>
    </xs:complexType>
</xs:schema>

これはエラーです (宣言されていない/宣言されていないモデル グループへの参照)

Error: Verweis auf eine nicht deklarierte Modellgruppe 'http://www.w3.org/1999/xhtml:xhtml.BlkStruct.class'.

ここで何がうまくいかないのか、誰か助けてもらえますか?

背景私は、文字列コンテンツと混合された(単純な)HTML/XMLを含む文字列をXmlSerializeしようとしています。

    <p>、<div>など

例えば

    こんにちは <u>下線付きテキスト</u> <b>太字</b> 世界
4

1 に答える 1

0

まあ、あなたはxhtml.BlkStruct.classXSD のどこにも を提供していません。コード生成を成功させるには、その定義を含める必要がある場合があります。http://www.w3.org/MarkUp/SCHEMA/からファイルをダウンロードし、

<xs:include schemaLocation="xhtml-basic11-model-1.xsd">

しかし、厳密に型指定された DOM が本当に必要なのでしょうか? より簡単な解決策は、テスト フィールドを文字列として定義し、HTML を CDATA またはエンコードされた html として含めることです。私の経験では、XML と HTML を混在させることは常に悪い設計上の選択であり、HTML 部分をテキストとして扱う方がうまくいきます。

于 2015-09-03T23:40:28.923 に答える