Wewnątrz mojej aplikacji sieciowej sprawdzam poprawność dokumentów Xml przy użyciu plików xsd jako zasobów osadzonych i to było łatwe przy użyciu assembly.GetManifestResourceStream(string)
.Jak używać include we wbudowanym XSD, odwołującym się do innego osadzonego xsd?
Potrzebuję teraz użyć elementu include
(potrzebuję rzeczywiście redefine
, ale otrzymuję błąd jest taki sam, więc poszerzam zakres pytania) wewnątrz jednego z moich xsd odwołując się do innego osadzonego xsd, więc co I nie było:
dodać następujące linie do AssemblyInfo.cs projektu
[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)]
zmodyfikowane „obejmuje” element „wewnątrz” ImportOperatoriParametri.xsd w to:
<xs:include schemaLocation="<% = WebResource("TurniArc.xml.schema.ProcessiInput.xsd") %>">
Technika ta działa, kiedy było odniesienie osadzony obraz z osadzonym css. Niestety, tutaj tak nie jest, ponieważ metoda GetManifestResourceStream zgłasza wyjątek
'<', hexadecimal value 0x3C, is an invalid attribute character. Line 3, position 34.
Wydaje się, że atrybut „PerformSubstition” nie została ustawiona, ponieważ próbuje odczytać atrybut schemaLocation jako „regularnego” ciąg.
Co robię źle? Dziękujemy
+1 Bardzo przydatne i ważne pytanie. –