私のWebアプリケーションの中で、埋め込みリソースとしてxsdファイルを使ってXmlドキュメントを検証していますが、これはassembly.GetManifestResourceStream(string)
を使って簡単でした。別の埋め込みxsdを参照する埋め込みxsdでインクルードを使用するにはどうすればよいですか?
include
要素を使用する必要があります(実際にはredefine
が必要ですが、エラーは同じですので、質問の範囲を広げています)。xsdが別の埋め込みxsdを参照しています。私がいたんでした:
は、プロジェクトのAssemblyInfo.csに次の行を追加します
[assembly: System.Web.UI.WebResource("TurniArc.xml.schema.ImportOperatoriParametri.xsd", "text/xml", PerformSubstitution = true)]
[assembly: System.Web.UI.WebResource("TurniArc.xml.schema.ProcessiInput.xsd", "text/xml", PerformSubstitution = true)]
はこの変形に「ImportOperatoriParametri.xsd」内部「含む」要素:私が埋め込まれたCSSから埋め込まれた画像を参照しなければならなかった場合
<xs:include schemaLocation="<% = WebResource("TurniArc.xml.schema.ProcessiInput.xsd") %>">
この技術は、働きました。 「通常の」文字列としてのschemaLocationの属性を読み込むしようとしているので、GetManifestResourceStreamメソッドは、それが「PerformSubstition」属性が設定されていないように思える例外
'<', hexadecimal value 0x3C, is an invalid attribute character. Line 3, position 34.
をスローするので悲しいことに、ここでは、しません。
私は間違っていますか?ありがとうございました
+1非常に有用で重要な質問です。 –