問題タブ [python-generateds]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
xsd - DDEX XML バインディングに GenerateDS を正しく使用する方法
このスキーマに準拠した入力ファイルを読み取るための Python XML バインディングに興味があります: http://ddex.net/xml/ern/341/release-notification.xsd
ただし、この XSD は他の多くのものに依存していますが、最も重要なのは http://ddex.net/xml/20120404/ddexC.xsdおよび http://ddex.net/xml/20120404/ddex.xsdです。
私の最初の試みはgenerateDSを使用することです。--no-process-includes を次のように使用すると、release-notification.xsd のバインドを正常に生成できます。
ただし、これにより、ほとんどの ComplexTypes がddexC.xsdで定義されているため、ほとんど役に立たない Python オブジェクトが残ります。
--no-process-includes なしで試してみると、次のようになります。
参照される定義は次のとおりです。
そのため、ddex と ddexC の名前空間が何らかの形で混同され、循環参照が作成されているようです。
ここで何かアドバイスはありますか?
python - Python 3.0.0 にはどのバージョンの generateDS を使用しますか?
generateDS2.12aを使用して XML スキーマ ファイルで Python クラスを作成しました。これらのクラスを使用して XML ファイルを作成しています。私のモジュールは Python 2.7 環境でうまく動作します。
さて、なんらかの理由で私の環境は Python 3.0.0 に変更されました。XML オブジェクトをエクスポートしようとすると、次のエラーがスローされます。
関数 : export(self, outfile, level, namespace_='', name_='rootTag', namespacedef_='', pretty_print=True)
エラー: s1 = (isinstance(inStr, basestring) および inStr または NameError: グローバル名 'basestring' が定義されていません
Python 3.0.0 または Python 3.0.0 で使用される GenerateDS の新しいバージョンで XML をエクスポートするために必要な変更はありますか?
python - generateDS から作成された Python クラスを検証する
時々変更される XSD がいくつかあります。
以前は XML ファイルをハードコーディングして記述していたため、XSD が変更されるたびに、その XSD に依存する XML ファイルを検索する必要がありました。
そのため、generateDS (バージョン 2.15b) に移行しました。
XSD が変更されるたびに、genereateDS スクリプトが実行され、クラスが生成されるように、generateDS を使用してスクリプトを作成しました。
生成されたクラスは、XML が適合するかどうかを確認するための「構造」として使用されます。
たとえば、これを XSD として持っているとします。
そして、私はこのクラスを作成しています:
pot
インスタンス ( ) を XSD で検証する方法はありますか? (この例では、pot は有効な xml ではありません。「ShipTo」要素がなく、「country」属性と別の要素がないためです)
python - generateDS は子要素の処理を停止します
電子請求書の構造を記述する xml スキーマがあります。その形式のパーサーを作成するために、generateDSでスキーマを使用しました。請求書を解析するときは問題なく動作しているように見えますが、任意の型のコンテンツがあるセクションでは、それらの要素が表示される子の処理が停止します。
要素を記述するスキーマの一部:
パーサーを使用する私の実装の関連部分:
ペイロード XML の一部:
そのコードの出力:
CustomContent には omittag があり、オブジェクト構造がそこで終了することを示しています。export()
ドキュメント全体も試しましたが、同じ状況です。
それで、それはその部分です:
これは Python オブジェクト ツリーには表示されません。
スキーマに一致する生成されたライブラリを調べると、 CustomContent クラスの関連部分:
スキーマから生成されたクラスの新しいインスタンスを作成する代わりに、メソッドを使用gds_build_any()
します(それも存在しません)。
Suds を使用すると、任意の要素とそのコンテンツにアクセスできますが、別の場所で機能しなくなります。
次のように generateDS を構成する方法はありますか。
- すべてのスキーマの要素にクラスを作成しますか?
- これらのクラスをドキュメント全体に使用しますか?
python - Pythonでxsdを解析してXMLを作成する方法は?
私はPythonの初心者で、xsdスキーマをPythonコードに解析し、ノードに値を入力し、そこから最終的なXMLファイルを作成するタスクがあります。generateDS ツールで可能ですか? ドキュメントに明確な答えが見つかりません。多分それを行う別の方法がありますか?答えてくれてありがとう