問題タブ [xsd-validation]
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.
xml - Eclipse での XSD 検証:「文法の制約がありません」という警告が表示されますか?
対応する xsd のおかげで xml を検証するためだけに、Eclipse で新しいプロジェクトを作成しました。xsds ファイルと xml ファイルの両方を作成しました。
メインの XSD は次のようになります。
はother_xsd.xsd
同じディレクトリにあり、次のようになります。
ほとんどの場合complexType
、メインの xsd で使用される sが含まれています
xml サンプル ファイルも同じディレクトリにあり、次のようになります。
これら 3 つのファイルはすべて、Eclipse プロジェクトの同じディレクトリ内にロードされています。それでも、私はこの警告を出し続けます:
ドキュメントの文法制約 (DTD または XML スキーマ) は検出されませんでした。example.xml XMLValidation/テスト行 1 XML の問題
xml ファイルを検証できるように、xml または xsd に欠けているものは何ですか?
xml - XSD検証のエラー: "cvc-elt.1:要素'xs:schema'の宣言が見つかりません"
Maven XMLプラグインを使用してxmlをスキーマに対して検証しようとしていますが、次のようなエラーが発生し続けます。
cvc-elt.1:要素'xs:schema'の宣言が見つかりません。
名前空間の宣言を処理する必要があると思うので、ここにあります。
私のXSDでは:
私のXMLでは:
それらの宣言の何が問題になっていますか?何を変更する必要がありますか?
ご協力いただきありがとうございます。
c# - Saxon API を使用した XSD 検証
Saxon を使用して Xsd Validation をテストしようとしています。実際の検証に到達すると、validator.Run() が最初のエラーに到達したときに例外をスローし、その後続行しないため、最初のエラーのみがキャッチされます。多くのエラーを含む xml ファイルがある場合、これは明らかに望ましくありません。例外がスローされた後に検証を続行する方法はありますか、または Saxon を使用した別の検証方法はありますか?
このコードは、Saxon がドキュメントのサンプル フォルダーに持っている検証の 1 つの例に基づいており、これは検証を実行するセクションです。
.net-4.0 - PSVI GetSchemaInfo を XSD 検証エラー ValidationEventArgs.Message に関連付けます。
.Net Framework 4.0のExtenstions.GetSchemaInfo メソッド (XElement)に関する Microsoft の MSDN ドキュメントについて質問があります。
中から抜け道があるか知りたい
無効なノードの ValidationEventArgs.Message を取得するコード。この例は、GrandChild1、GrandChild2 のように XML ノードに番号を付けた場合にうまく機能します。どの無効なノードが検証エラーを生成しているかをサイトごとに判断できます。しかし、番号付けされたノードのない XML がある場合、たとえば
次のような出力が得られます。
行 (7) が行 (2) の ErrorMessage を参照していることを伝える方法が必要でした。
この記事が示すように、XSD 検証を実行している XML ドキュメントがあり、ValidationEventArgs.Message を解析して、複雑なデータ型のよりユーザー フレンドリなメッセージにしたいと考えました。DumpInvalidNodes() メソッドでこれを行いたいのは、無効なノードにアクセスでき、ユーザーが検証の問題を見つけて修正するために使用できるノードから他の情報 (ID など) を取得できるためです。
xsd - XSD のネストされたシーケンス
この XML を検証したい:
私はそれを書きました。
しかし、それは私の例を検証しません。「ハウス」または「フラット」がなく、メタのみが機能しました。
私の問題はどこにあるのでしょうか?
c# - 同期 XML スキーマ検証? .NET 3.5
次のようなコールバック メソッドを使用してスキーマに対して xml を検証できることはわかっていますが、イベント ドリブンではなく同期的に検証する方法はありますか?
私が考えた 1 つの方法は、クラス メンバーのブール値フラグ IsValidated=false を設定してから、
xml.Validate(ValidationEventHandler) を呼び出すことです。イベント ハンドラーは、終了後に IsValidated=true を設定します。その間、フラグが true に設定されるまでループ チェックを実行してから続行します。
これは .Net 3.5 用です。
OK、テストを行ったところ、新しいコードが実行される前にコールバックが完了するまで xml.validate が実際に待機しているようです。
次の例では、MessageBox.Show("After Validate"); myValidationEventHandler の実行後に常に発生します。
また、これを確認するためにコードをステップ実行しました。
だから、私の質問は問題ではないと思います。
xml - XML targetNamespace と要素の非修飾宣言
targetNamespace
XML スキーマの属性が要素の命名にどのように影響するかについて、私はやや混乱しています。次の検証でエラーが発生します。
XMLSpy はそれを述べていCannot resolve the unqualified declaration or definition 'testSubType'.
ます。これを解決するにはどうすればよいですか? targetNamespace
そこに属性を保持する必要があります。いろいろなところを変えtestSubType
てみましtest:testSubType
たが、うまくいきません。
xml - この XSD スキーマのどこに複合型要素を追加する必要がありますか
私は XSD スキーマに取り組んでいます。概念ノードに新しい複合型を追加するように求められました。次のようになります。
XSD のこの部分は、XML の次のフラグメントを検証します。
そこで、新しい要素を追加したいので、xml は次のようになります。
ご覧のとおり、minOccurs = 0 および maxOccurs= unbounded の各Concepto に新しい要素 (optDetail) を追加したいと考えています。これは、InformacionAduanera ノードとほぼ同じものです (ここでの定義を示すポイントがわかりません)。このタイプ) ただし、InformacionAduanera は Choice 制限の下にあります。
だから私がしたことは、最初に自分のタイプを定義したことです
XSD に追加しようとしましたが、成功しませんでした。要素ノードの配置が間違っている、または要素タグの出現回数が多すぎるなどのエラーが発生しました。
ありがとう!!
regex - xsd:simpleType: xsd:pattern と xsd:maxLength は連携できますか?
以下のコードのように、特定の文字セットと特定の最大長である必要がある文字列である xsd:simpleType を扱っているとします。
したがって、私の xsd タイプは数字のみの文字列で、最大 36 文字です。私の質問は、xsd:pattern と xsd:maxLength (または minLength のような他の同様のタグ) が連携できるかどうかです。私の直感はノーです。xsd:restriction 内のパターンまたは長さベースの xsd 要素のみ。したがって、最大長の制限をパターンに追加する必要があります。
Java で xml をアンマーシャリングしてこれをテストしたところ、検証に失敗したことに注意してください。いずれにせよ、私が探しているのは、パターンと maxLength がどのように連携できるかという 2 つの情報です。
c# - XmlDocument.Validate()は、スキーマのtargetNamespaceとXMLの名前空間が設定されていると文句を言います
C#では、次のXMLファイルをXmlDocument
:にロードしています。
そして、このスキーマを使用して検証します。
それはこのメッセージを次のように与えますNoticeEventArgs.Message
:
名前空間'http://www.example.com'の要素'shiporder'には、名前空間'http://www.example.com'の無効な子要素'orderperson'があります。予想される可能な要素のリスト:'orderperson'。
ただし、XMLファイルとtargetNamespace
XSDファイルで名前空間を削除すると、検証に合格します。どのようにそしてどのようにそれを修正するのですか?ありがとう!