問題タブ [xml-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.
web-services - CXF Webservice を使用したサーバー側の XML 検証
私は Apache CXF Web サービスに取り組んでいます (SOAP 経由で JAX-WS を使用)。サービス自体は非常に単純です。リクエストを受け取り、リクエストをデータベースに挿入し、挿入が成功したかどうかを返します。リクエストにいくつかの制約を適用するために、XML 検証に頼りたいと思います。
それで、私の質問です。サービスのクライアントに詳細な検証エラーを返すにはどうすればよいですか? エンドポイントを構成して、サーバー側で検証を有効にしました。
私は、サーバー上でインターセプター (BareInInterceptor など) を使用し、何らかの方法で SAXParseExceptions をキャッチしてそれらをラップし、クライアントに送信することを検討しました。このアプローチは少し複雑に思えますが、クライアントの XML が無効な場合は、何らかの方法でクライアントに行番号を与える必要があります。インターセプターを使用して例外を公開する必要がありますか?
私はこのテクノロジー スタックについてあまり経験がなく、Web サービスを始めたばかりです。皆さんからのアドバイスをいただければ幸いです。
php - リモート XML フィードの取得、キャッシュ、解析、PHP での検証チェック
現在、リモート サイトの XML フィードを取得し、ローカル コピーをサーバーに保存して PHP で解析しています。
問題は、PHP でいくつかのチェックを追加して、feed.xml ファイルが有効かどうかを確認し、有効な場合は feed.xml を使用する方法です。
エラーで無効な場合 (リモート XML フィードで空白の feed.xml が表示される場合があります)、以前のグラブ/保存からの feed.xml のバックアップの有効なコピーを提供しますか?
コード取得 feed.xml
これまでのところ、これをロードするだけです
ありがとう
xml - 有効なxml本体に、要素名の前後の「<」および「>」のエスケープ文字を含めることができますか
私のWebサービスは、次のようなサードパーティからxmlを受信しています。
私のjaxwsWebサービスは、解析エラーでこれを拒否します。また、soapuiを使用してこのxmlを検証しようとすると、要素のみのコンテンツタイプのBodyはテキスト要素を持つことができないと表示されます。
私の質問は、そのxmlは有効ですか?または、クライアントは<と>をエスケープせずに何かを送ってくれるはずです。
xml標準またはルールへの参照は大歓迎です。
xsd - complexTypes の Xsd 再帰
私はちょうど XML/XSD を学んでいて、フォルダー構造をモデル化する XML スキーマの実装に苦労しています。私が念頭に置いていたのは、サブフォルダーを表す追加のフォルダー インスタンスを持つことができるフォルダーの complexType を定義することでした。ここで xsd スキーマ バリデータを使用すると、常にスキーマが無効であることが返されます。
事前にcomplexTypeを定義してから、サブフォルダーにrefキーワードを使用してみました:
要素自体については:
バリデータによって返されるエラーは次のとおりです。
「'Folder' という名前を (n) '要素宣言' コンポーネントに解決できません。」
エラーは行で発生します
要素自体で complexType を定義すると、まったく同じエラーが発生します。
私が読んだこと、この種の再帰はrefを使用して機能するはずです。
誰が私が間違ったことを教えてもらえますか? たぶん xsd バリデーターに問題があるのでしょうか? もしそうなら、誰かがより良い代替手段を知っていますか? w3.orgのものも使ってみたのですが、オフラインになっているようです...
c# - .NET を使用した XSD 検証の概要
これは、XSD を使用して XML を検証する最初の試みです。
検証する XML ファイル:
検証する XML ファイルに関連する "Schemas/config.xsd" にある XSD:
今のところ、XML ファイルを現在表示されているとおりに正確に検証したいだけです。これをよく理解したら、さらに拡張します。現在存在する XML ファイルのような単純なものに、本当に多くの行が必要なのでしょうか?
C# の検証コード:
上記のコードを実行すると、次の例外が発生します。
イルミネーションをいただければ幸いです。
c# - Fluent NHibernate OptimisticLock.None() により、「文字列 'none' は有効なブール値ではありません。」
次のマッピングを使用しています。
しかし、セッションを作成しようとすると、次の例外が発生します。
[FormatException: 文字列 'none' は有効なブール値ではありません。]
[XmlSchemaValidationException: 'optimistic-lock' 属性が無効です - 値 'none' はそのデータ型によると無効です ' http://www.w3.org/2001/XMLSchema:boolean ' - 文字列 'none' は有効なブール値。]
私はNHibernate 2.1.2.4000を使用しており、Fluent NHibernate 1.0RTMを使用していましたが、これが最近修正されたものではないことを確認するために、最新のビルド636を試しました。
補足として、これをすべて間違っている場合に備えて、Version をインクリメントせずに .Bids リストを変更できるようにしたいと考えています。Ayende のブログで、プロパティで私が望んでいたことを行った例を見ました。
c# - .NET IsValidXml 拡張メソッドのパフォーマンス
多くの XML を文字列として渡す従来のアプリケーションを継承しました。
String が有効な XML かどうかを確認する機能が必要になることがよくあります。文字列が .NET で有効な XML であるかどうかを確認する最も高速で安価な方法は何ですか?
私は.NET 3.5で作業しており、ソリューション内のこの1つのプロジェクトでこれを拡張メソッド(文字列から)として使用する可能性が最も高いです。
UPDATE :
私の場合、「有効」とは、適切に形成された XML のことです。リソースやスキーマを検証する必要はありません。
xml - 空の属性を持つXMLスキーマの検証
xmlスキーマの検証に問題があります。
スキーマでこれらのエラーが発生します
113:18 s4s-elt-invalid-content.1:「#AnonType_user」のコンテンツが無効です。
164:17 s4s-elt-invalid-content.1:「#AnonType_festival」のコンテンツが無効です。要素「シーケンス」が無効であるか、配置が間違っているか、頻繁に発生します。
そして、これらの2つのエラーのために、同じエラーが大量に発生しています。これは、フェスティバルタグの属性IDが空である可能性があるためです。これは、そのフェスティバルのデータがないためです。
cvc-datatype-valid.1.2.1:''は'integer'の有効な値ではありません。
cvc-attribute.3:要素'festival'の属性'id'の値''は、その型'integer'に関して無効です。
問題を引き起こしているスキーマの行は次のとおりです。
これは私のXMLファイルからの抜粋です。1人のユーザーにはお祭りがあり、もう1人のユーザーにはお祭りがありません
これは私のスキーマです
xml - 満たされた要素を検証しますが、空の要素は無視します
Yaneeveは親切にも私のスキーマを修正してくれたので、多くの問題が発生していました。
これはそれほど問題ではありませんが、この作業があればいいのですが
携帯電話番号やFAX番号など、私の要素の一部は空です。
要素の長さを検証して、正しい桁数であることを確認する必要がありますが、空の要素を検証したくありません
cvc-minLength-有効:長さ= '0'の値''は、タイプ'mobile'のminLength'11'に関してファセット有効ではありません。
cvc-type.3.1.3:要素'conmobile'の値''が無効です。
空の要素をスキップして、空でない場合にのみ検証する方法はありますか?
xmlの私の例のユーザー
と私の新しいスキーマ
xml - XMLスキーマ:共有要素をインポートするときの名前空間の問題
XMLスキーマから共有定義をインポートしようとすると、共有タイプを適切に参照できますが、共有要素を参照すると検証エラーが発生します。
これは、共有定義(example.xsd)をインポートするスキーマです。
これらは共有定義(shared.xsd)です:
ここで、このXMLインスタンスについて考えてみます。
検証すると、「importedType」は完全に正常に機能しますが、「importedElement」では次のエラーが発生します。
要素'fooElement'で始まる無効なコンテンツが見つかりました。'{" http://shared.com ":fooElement}'のいずれかが必要です
私の問題は名前空間の問題に関連していると思います(したがって、どういうわけか誤解を招く「fooElementを取得しましたが、fooElementを期待していました」)-ここで何が問題なのかについてのヒントはありますか?