2011-03-04 29 views
5

Bên trong ứng dụng web của tôi, tôi đang xác thực tài liệu Xml bằng cách sử dụng tệp xsd làm tài nguyên được nhúng và dễ dàng sử dụng assembly.GetManifestResourceStream(string). Bây giờ tôi cần phải sử dụng phần tử include (Tôi thực sự cần redefine, nhưng lỗi tôi nhận được là như nhau, vì vậy tôi mở rộng phạm vi của câu hỏi) bên trong một trong xsd của tôi tham chiếu một xsd được nhúng khác, vì vậy những gì tôi là:Tôi làm cách nào để sử dụng bao gồm trong xsd được nhúng tham chiếu một xsd được nhúng khác?

  • thêm những dòng sau đây để AssemblyInfo.cs của dự án

    [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)]

  • sửa đổi "bao gồm" yếu tố bên trong "ImportOperatoriParametri.xsd" vào này:

    <xs:include schemaLocation="<% = WebResource("TurniArc.xml.schema.ProcessiInput.xsd") %>"> 
    

Kỹ thuật này làm việc khi tôi đã phải tham khảo một hình ảnh nhúng từ một css nhúng. Đáng buồn thay, đây không, bởi vì phương pháp GetManifestResourceStream ném ngoại lệ

'<', hexadecimal value 0x3C, is an invalid attribute character. Line 3, position 34. 

Nó có vẻ như các "PerformSubstition" thuộc tính không được thiết lập, vì nó đang cố gắng để đọc các thuộc tính của schemaLocation như là một chuỗi "thường xuyên".

Tôi đang làm gì sai? Cảm ơn bạn

+0

+1 Rất hữu ích và quan trọng, câu hỏi. –

Trả lời

1

Có vẻ như bạn đã lồng nhau hai dấu ngoặc kép không chính xác trong thuộc tính. Đơn giản nhất là sử dụng dấu nháy đơn cho cặp ngoài.

<xs:include schemaLocation='<% = WebResource("TurniArc.xml.schema.ProcessiInput.xsd") %>'> 
+0

Bạn nói đúng, tôi đã bỏ lỡ điều đó, nhưng nó vẫn không hoạt động với các dấu nháy đơn bên trong hoặc bên ngoài – Piddu

+0

Thông báo lỗi tương tự? – xan

+0

cùng một thông báo lỗi (tại sao các nhận xét phải dài ít nhất 15 ký tự? :-) Tôi có thể trả lời bằng một câu đơn giản) – Piddu

Các vấn đề liên quan