Aracılığıyla paylaş


Dış Kaynakları Çözümleme

XmlDocument'ın XmlResolver özelliği, XmlDocument sınıfı tarafından dış belge türü tanımları (DTD'ler), varlıklar ve şemalar gibi XML verilerinde satır içi olmayan kaynakları bulmak için kullanılır. Bu öğeler bir ağda veya yerel sürücüde bulunabilir ve Tekdüzen Kaynak Tanımlayıcısı (URI) ile tanımlanabilir. Bu, XmlDocument'ın belgede bulunan EntityReference düğümlerini çözümlemesine ve belgeyi dış DTD veya şemaya göre doğrulamasına olanak tanır.

Tam Güvenilir XmlDocument

XmlResolver özelliği XmlDocument.Load yönteminin işlevselliğini etkiler. Aşağıdaki tabloda, XmlDocument nesnesine tam olarak güvenildiğinde XmlDocument.XmlResolver özelliğinin nasıl çalıştığı gösterilmektedir. Aşağıdaki tabloda, Load'a giriş bir TextReader, String, Stream veya URI olduğunda XmlDocument.Load yöntemleri gösterilmektedir. XmlDocument bir XmlReader'dan yüklendiyse bu tablo Load yöntemi için geçerli değildir.

XmlResolver özelliği İşlev Notlar
özelliği, daha önce oluşturulmuş ve kullanıcı tarafından önceden ayarlanmış özelliklere sahip bir XmlResolver sınıfına ayarlanır. XmlDocument, DTD'ler, varlıklar ve şemalar gibi dış kaynaklara yapılan başvuruları çözümlemek için dosya adlarını çözümlemek için verilen XmlResolver'ı kullanır.

XmlResolver, XmlDocument'a düğüm eklerken veya düzenlerken gereken dış kaynaklar çözümlenirken de kullanılır.
XmlDocument'a verilen XmlResolver, dış kaynakların bulunması ve çözülmesi gerektiğinde kullanılan çözümleyicidir.
özelliği null (Microsoft Visual Basic .NET'te hiçbir şey) olarak ayarlanır. Dış şemayı veya DTD'yi bulma gibi dış kaynak gerektiren özellikler desteklenmez. Dış varlıklar da çözümlenmez ve çözümleme gerektiren varlık düğümleri ekleme gibi düzenleme işlevlerinin gerçekleştirilmesi desteklenmez. XmlDocument dosyaları anonim olarak yükler ve diğer kaynakları çözümlemeye çalışmaz.
Özelliği ayarlanmadı, ancak varsayılan durumunda bırakıldı. Null kimlik bilgilerine sahip bir XmlUrlResolver örneği oluşturulur ve dosya adları çözümlenirken XmlDocument tarafından kullanılır, düğümler düzenlenirken dış DTD'ler, varlıklar ve şemalar bulunurken null kimlik bilgileri kullanılır.

Aşağıdaki tabloda, Load girişi bir XmlReader olduğunda ve XmlDocument tam olarak güvenilir olduğunda XmlDocument.Load yöntemi gösterilmektedir.

XmlResolver özelliği İşlev Notlar
XmlDocument tarafından kullanılan XmlResolver sınıfı, XmlReader tarafından kullanılan sınıfla aynıdır. XmlDocument, XmlReader'a atanan XmlResolver'ı kullanır.

XmlDocument.Resolver özelliği, XmlReader'dan bir XmlResolver almasından dolayı XmlDocument güven düzeyi ne olursa olsun ayarlanamaz. XmlDocument'ın XmlResolver özelliğini ayarlayarak XmlReaders'ın XmlResolver ayarlarını geçersiz kılmayı deneyemezsiniz.
XmlReader, XmlTextReader, XmlValidatingReader veya özel yazılmış bir okuyucu olabilir. Kullanılan okuyucu varlık çözümlemesini destekliyorsa dış varlıklar çözümlenir. Geçirilen okuyucu varlık başvurularını desteklemiyorsa varlık başvuruları çözümlenmez.

Yarı Güvenilir XmlDocument

Aşağıdaki tabloda, nesne yarı güvenilir olduğunda XmlDocument.XmlResolver özelliğinin nasıl çalıştığı gösterilmektedir. Bu tablo, Load'a giriş bir TextReader, String, Stream veya URI olduğunda XmlDocument.Load yöntemleri için geçerlidir. XmlDocument bir XmlReader'dan yüklendiyse bu tablo Load yöntemi için geçerli değildir.

XmlResolver özelliği İşlev Notlar
Yarı güvenilir senaryoda XmlResolver özelliği null dışında bir değere ayarlanamaz. Dosya adları çözümlenirken, dış DTD'ler, varlıklar ve şemalar bulunurken XmlDocument tarafından null kimlik bilgilerine sahip bir XmlUrlResolver örneği oluşturulur ve kullanılır ve düğümler düzenlenirken null kimlik bilgileri kullanılır. Bu davranış, XmlResolver özelliği ayarlanmadığında ancak varsayılan durumunda bırakıldığındaki davranışla aynıdır.

XmlDocument tüm eylemler için anonim izinler kullanır.
özelliği null (Microsoft Visual Basic .NET'te hiçbir şey) olarak ayarlanır. Dış şemayı veya DTD'yi bulma gibi dış kaynak gerektiren hiçbir özellik desteklenmez. Dış varlıklar da çözümlenmez ve çözüm gerektiren varlık düğümleri ekleme gibi düzenleme işlevlerinin gerçekleştirilmesi desteklenmez. Özellik null olduğunda, XmlDocument tam olarak güvenilir veya yarı güvenilir olmasına bakılmaksızın davranış aynıdır.
Özelliği ayarlanmadı, ancak varsayılan durumunda bırakıldı. Dosya adları çözümlenirken, dış DTD'ler, varlıklar ve şemalar bulunurken XmlDocument tarafından null kimlik bilgilerine sahip bir XmlUrlResolver örneği oluşturulur ve kullanılır ve düğümler düzenlenirken null kimlik bilgileri kullanılır. XmlDocument tüm eylemler için anonim izinler kullanır.

Bu tablo, Load girişi bir XmlReader olduğunda ve XmlDocument yarı güvenilir olduğunda XmlDocument.Load yöntemi için geçerlidir.

XmlResolver özelliği İşlev Notlar
XmlDocument tarafından kullanılan XmlResolver sınıfı, XmlReader tarafından kullanılan sınıfla aynıdır. XmlDocument, XmlReader'a atanan XmlResolver'ı kullanır.

XmlDocument.Resolver özelliği, XmlReader'dan bir XmlResolver almasından dolayı XmlDocument güven düzeyi ne olursa olsun ayarlanamaz. XmlDocument'ın XmlResolver özelliğini ayarlayarak XmlReaders XmlResolver ayarlarını geçersiz kılmayı deneyemezsiniz.
XmlReader, doğrulayan XmlReaderXmlTextReader veya özel yazılmış bir okuyucu olabilir. Kullanılan okuyucu varlık çözümlemesini destekliyorsa dış varlıklar çözümlenir. Geçirilen okuyucu varlık başvurularını desteklemiyorsa varlık başvuruları çözümlenmez.

XmlResolver'ın doğru kimlik bilgilerini içerecek şekilde ayarlanması dış kaynaklara erişime izin verir.

Not

XmlResolver özelliğini alma yolu yoktur. Bu, kullanıcının kimlik bilgilerinin ayarlandığı XmlResolver'ı yeniden kullanmasını önlemeye yardımcı olur. Ayrıca, XmlDocument'ı yüklemek için bir XmlTextReader veya doğrulama XmlReader kullanılırsa ve XmlDocument ayarlanmış bir çözümleyiciye sahipse, bu okuyucuların çözümleyicileri Yükleme aşamasından sonra XmlDocument tarafından önbelleğe alınmaz, çünkü bu da bir güvenlik riski oluşturur.

Daha fazla bilgi için başvuru sayfasının Açıklamalar bölümüne XmlResolver bakın.

Ayrıca bkz.