[解決済み】XML-スキーマでxsi:typeを属性として定義する方法とは?
質問
スキーマ定義を書きたいXMLがあります。問題は,属性としてxsi:typeをどのように定義すればよいのかがわからないことです.以下はそのXML要素です.
<SerializedData xsi:type="xs:double">300.0</SerializedData>
これまでの私のXML-スキーマの定義は次のようなものです。
<complexType name="SerializedDataType">
<simpleContent>
<extension base="double">
</extension>
</simpleContent>
</complexType>
Ian Robertsが提案したような定義も試してみました。
<element name="SerializedData"/>
しかし、BPELデザイナーを使って初期化すると、このようになります。
<SerializedData xsi:type="xs:double">300.0</SerializedData>
次のような警告が表示されます。
入力された固定値は有効なXMLではないようです(ある種の固定値が正しく動作するために必要です)。テキスト形式で保存されます。
このように初期化しても警告が出ないのですが。
<SerializedData>300.0</SerializedData>
しかし、問題は、私が呼び出そうとしているWebサービスが、リクエストSOAPメッセージにxsi:type="xs:double"という属性が含まれることを期待していることです。どうすれば、この属性を含むSOAPリクエスト・メッセージを作成できるでしょうか?
どんなことでもご相談ください。
解決方法は?
その必要はありません。型なしで要素を宣言するだけです。
<element name="SerializedData" />
は
xsi:type
属性は、ある要素の特定のインスタンスの実際の型が、その要素の宣言された型ではなく、宣言された型から派生したサブタイプであることをスキーマバリデータに示すために使用されます。要素を型なしで宣言することにより、その要素は
任意の
型を使用することになり
xsi:type
をインスタンスで指定します。
厳密には、XML Schema の型階層のルートである "ur-type" を型とする要素を宣言しているのですが、単純なものも複雑なものも、最終的にはすべて ur-type から派生します。もしあなたが
SerializedData
要素を単純な内容のみにする(サブ要素や属性を付けない)には、次のように宣言します。
<element name="SerializedData" type="anySimpleType" />
ご質問の後半部分についてですが、あなたのデザイナー・ツールは、単独では正しく
<SerializedData xsi:type="xs:double">300.0</SerializedData>
は正しい XML ではありません。
xsi
名前空間が宣言されていません。名前空間の宣言を追加してみてください。
<SerializedData xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xs="http://www.w3.org/2001/XMLSchema"
xsi:type="xs:double">300.0</SerializedData>
関連
-
[解決済み] XMLを用いたIF...THEN...ELSE
-
[解決済み] NULLのXML要素を表現する正しい方法は?
-
[解決済み] ウェブサービスのレスポンスにおけるtext/xmlとapplication/xmlの違いは何ですか?
-
[解決済み] PHPでHTML/XMLをパースして処理する方法とは?
-
[解決済み] XMLの<![CDATA[]]>は何を意味するのですか?
-
[解決済み] XMLを解析して、特定のノード属性のインスタンスをカウントするには?
-
[解決済み] XMLでタグのブロックをコメントアウトするにはどうすればよいですか?
-
[解決済み】XML スキーマ(XSD)検証ツール?[クローズド]
-
[解決済み】XPathで子の子値を元に要素を選択する方法
-
[解決済み】XML属性とXML要素
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】JSF Faceletsのページを開くと、"このXMLファイルにはスタイル情報が関連付けられていないようです。"と表示される。
-
[解決済み] なぜ、"StartTag. "というエラーが発生するのでしょうか?このXMLファイルをDTDでパースすると、"Invalid element name "というエラーが発生します。
-
[解決済み] ノード名の XPath ワイルドカード
-
[解決済み] Ruby XML to JSON Converter?
-
[解決済み] XML ファイルの構造から IMG タグを使用する方法
-
[解決済み] 概念 XML XLST 先行-兄弟-祖先
-
[解決済み] exclude-result-prefixesが機能しない
-
[解決済み] XMLファイルの比較方法
-
[解決済み】XMLで"&"をエスケープするにはどうしたらいいですか?重複
-
[解決済み】xsd:includeとxsd:importの違いは何ですか?