How to support multiple xs:choice ?
メンテナーはふだん 1 日以内に返信
まだ誰も着手していません。
評価
調査の方向性
The report provides an XML schema and a Rust AngTag example with two #[serde(rename="$value")] fields, which fail with a duplicate-field error. Start by reading quick-xml’s Serde deserialization handling for $value and check how it treats multiple choice fields. Done means a structure can deserialize the demonstrated XML with the two distinct XSD choices represented; no implementation files or tests are named in the issue.
索引モデルが issue の本文から書いたものです。
説明
I want to deserialize the following xml:
<any-tag>
<field>...</field>
<choice>
<one>...</one>
<m>....</m>
</choice>
</any-tag>
"one" and "m" belong to different xsd:choice.
The full schema looks like this:
<xsd:complexType name="any-tag">
<xsd:element name="field" type="xsd:string" minOccurs="1" maxOccurs="1"/>
<xsd:choice>
<xsd:element name="one" type="xsd:string" minOccurs="0" maxOccurs="1"/>
<xsd:element name="two" type="xsd:string" minOccurs="0" maxOccurs="1"/>
</xsd:choice>
<xsd:choice>
<xsd:element name="m" type="xsd:string" minOccurs="0" maxOccurs="1"/>
<xsd:element name="n" type="xsd:string" minOccurs="0" maxOccurs="1"/>
</xsd:choice>
</xsd:complexType>
I define a structure like this
#[derive(Serialize, Deserialize, Debug)]
pub struct AngTag{
#[serde(rename="$value")]
choice_one:X,
#[serde(rename="$value")]
choice_two:Y,
field:String
}
I get an error:"thread 'main' panicked at 'called Result::unwrap() on an Err value: Custom("duplicate field $value")"
- 主要言語
- Rust
- スター
- 1.6k
- フォーク
- 299
- 平均マージ
- 2日 4時間
- マージ済み PR(30日)
- 9
環境構築
- Dockerfile・Docker Compose ファイルなし
- プルリクエストのテンプレートなし
- コントリビューションガイドを読む
はじめの一歩
- issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
- 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
- リポジトリをフォークし、ブランチを切って変更します。
- issue 番号を参照したプルリクエストを送ります。
tafia/quick-xml のほかの issue
-
Parser accepts an empty element or attribute name対応中かも @ychampion が今日担当しました。 オープン
難易度 2/5 1〜3時間 初心者へのやさしさ 68/100
メンテナーはふだん 1 日以内に返信
-
DecodingReader::set_encoding panics when the XML declaration is longer than 64 bytes対応中かも @emschwartz が 4 日前に担当しました。 オープンbug encoding
難易度 4/5 3〜5日 初心者へのやさしさ 30/100
tafia/quick-xml#1040 · コメント 1 件 ·
メンテナーはふだん 1 日以内に返信
-
encoding optimization
難易度 4/5 3〜5日 初心者へのやさしさ 55/100
tafia/quick-xml#1039 · コメント 1 件 ·
メンテナーはふだん 1 日以内に返信
-
optimization question
難易度 4/5 3〜5日 初心者へのやさしさ 52/100
メンテナーはふだん 1 日以内に返信
-
enhancement
難易度 4/5 1〜2日 初心者へのやさしさ 53/100
tafia/quick-xml#1035 · コメント 1 件 ·
メンテナーはふだん 1 日以内に返信
tafia/quick-xml の issue をすべて見る
似ている issue
-
[Bug]: opencode_go chat route drops reasoning_effort (even 'none'), while the same endpoint honors it via custom_llm_provider=openai対応中かも @arvindkumar-ship-it が今日担当しました。 オープンllm translation
難易度 2/5 1〜3時間 初心者へのやさしさ 70/100
BerriAI/litellm#51871 · コメント 1 件 ·
メンテナーはふだん 1 日以内に返信
-
comp-formats
難易度 2/5 半日 初心者へのやさしさ 64/100
ClickHouse/ClickHouse#131694 ·
メンテナーはふだん 1 日以内に返信
-
cli: `execCargoMetadata` decodes stdout per chunk, corrupting non-ASCII paths across pipe boundariesオープン
難易度 2/5 1〜3時間 初心者へのやさしさ 68/100
メンテナーはふだん 1 日以内に返信
-
enhancement
難易度 2/5 1〜3時間 初心者へのやさしさ 72/100
メンテナーはふだん 1 日以内に返信
-
C-Bug S-Needs-Triage
難易度 2/5 1〜3時間 初心者へのやさしさ 72/100
bevyengine/bevy#26558 ·
メンテナーはふだん 2 日以内に返信