Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Bu kılavuzdaki adımlar XSLT hata ayıklayıcısını kullanmayı gösterir. Adımlar değişkenleri görüntülemeyi, kesme noktalarını ayarlamayı ve kodda adım atmayı içerir. Hata ayıklayıcı, kodu bir kerede bir satır yürütmenize olanak tanır.
Bu kılavuza hazırlanmak için önce iki örnek dosyayı yerel bilgisayarınıza kopyalayın. Bunlardan biri stil sayfası, biri de stil sayfasına giriş olarak kullanacağımız XML dosyasıdır. Bu kılavuzda, kullandığımız stil sayfası maliyeti ortalama kitap fiyatının altında olan tüm kitapları bulur.
Not
XSLT hata ayıklayıcısı yalnızca Visual Studio'nun Professional ve Enterprise sürümlerinde kullanılabilir.
Hata ayıklamayı başlatma
Dosya menüsünden Dosyayı Aç'ı>seçin.
Aşağıdaki average.xsl dosyasını bulun ve Aç'ı seçin.
Stil sayfası XML düzenleyicisinde açılır.
Belge özellikleri penceresinin Giriş alanında gözat düğmesine (...) tıklayın. (Eğer Özellikler penceresi görünmüyor, düzenleyicideki açık dosyada herhangi bir yere sağ tıklayın ve özellikler'i seçin.)
books.xml dosyasını bulun ve Aç'ı seçin.
Bu, XSLT dönüşümü için kullanılan kaynak belge dosyasını ayarlar.
Average.xsl'nin 12. satırında bir kesme noktası ayarlayın. Bunu birden çok yoldan biriyle yapabilirsiniz:
12. satırdaki düzenleyicinin kenar boşluğuna tıklayın.
12. satırda herhangi bir yere tıklayın ve F9 tuşuna basın.
Başlangıç etiketine
xsl:ifsağ tıklayın ve Kesme Noktası Kesme Noktası> Ekle'yi seçin.
Menü çubuğunda XML>Başlat XSLT Hata Ayıklama'yı seçin (veya Alt+F5 tuşuna basın).
Hata ayıklama işlemi başlar.
Düzenleyicide, hata ayıklayıcısı stil sayfasının öğesinde
xsl:ifkonumlandırılır. Düzenleyicide below-average.xml adlı başka bir dosya açılır; bu, books.xml giriş dosyasındaki her düğüm işlenirken doldurulacak olan çıkış dosyasıdır.Visual Studio penceresinin alt kısmında OtomatikLer, YerelLer ve İzleme 1 pencereleri görüntülenir. Yerel Ayarlar penceresi tüm yerel değişkenleri ve bunların geçerli değerlerini görüntüler. Bu, stil sayfasında tanımlanan değişkenleri ve hata ayıklayıcının o anda bağlam içinde olan düğümleri izlemek için kullandığı değişkenleri içerir.
Gözcü penceresi
Giriş dosyası işlenirken değerlerini inceleyebilmemiz için Watch 1 penceresine iki değişken ekleyeceğiz. (Ayrıca İzlemek istediğiniz değişkenler zaten varsa değerleri incelemek için yerel ayarlar penceresi.)
Hata Ayıkla menüsünden Windows>Watch>Watch 1'i seçin.
Watch 1 penceresi görünür hale gelir.
Ad alanına yazın
$bookAverageve Enter tuşuna basın.Değişkenin
$bookAveragedeğeri Değer alanında görüntülenir.Sonraki satırda Ad alanına yazın
self::node()ve Enter tuşuna basın.self::node()geçerli bağlam düğümünü değerlendiren bir XPath ifadesidir. XPath ifadesininself::node()değeri ilk kitap düğümüdür. Bu, dönüşümde ilerledikçe değişir.self::node()Düğümü genişletin ve ardından değerininpriceolduğu düğümü genişletin.
Geçerli kitap düğümü için kitap fiyatının değerini görebilir ve değerle
$bookAveragekarşılaştırabilirsiniz. Kitap fiyatı ortalamanın altında olduğundan, hata ayıklama işleminexsl:ifdevam ettiğinizde koşul başarılı olmalıdır.
Kodda adım adım ilerleyin
Devam etmek için F5 tuşuna basın.
İlk kitap düğümü koşulu karşıladığı
xsl:ifiçin , kitap düğümü below-average.xml çıkış dosyasına eklenir. Hata ayıklayıcı, stil sayfasındaki öğeye yeniden konumlandırılanaxsl:ifkadar yürütülmeye devam eder. Hata ayıklayıcısı artık books.xml dosyasındaki ikinci kitap düğümünde konumlandırılır.Saat 1 penceresinde,
self::node()değer ikinci kitap düğümüne dönüşür. Fiyat öğesinin değerini inceleyerek fiyatın ortalamanın üzerinde olduğunu ve bu nedenle koşulunxsl:ifbaşarısız olması gerektiğini belirleyebilirsiniz.Devam etmek için F5 tuşuna basın.
İkinci kitap düğümü koşulu karşılamadığından
xsl:if, kitap düğümü aşağıdaki-average.xml çıktı dosyasına eklenmez. Hata ayıklayıcı, stil sayfasındaki öğeye yeniden konumlandırılanaxsl:ifkadar yürütülmeye devam eder. Hata ayıklayıcısı artık books.xml dosyasındaki üçüncübookdüğümde konumlandırılır.Saat 1 penceresinde,
self::node()değer üçüncü kitap düğümüne dönüşür. öğesinin değerinipriceinceleyerek fiyatın ortalamanın altında olduğunu belirleyebilirsiniz. Koşulxsl:ifbaşarılı olmalıdır.Devam etmek için F5 tuşuna basın.
Koşul karşılandığından
xsl:if, üçüncü kitap aşağıdaki average.xml çıktı dosyasına eklenir. XML belgesindeki tüm kitaplar işlendi ve hata ayıklayıcı durduruldu.
Örnek dosyalar
İzlenecek yol aşağıdaki iki dosya tarafından kullanılır.
average.xsl altı
<?xml version='1.0'?>
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="xml" encoding="utf-8"/>
<xsl:template match="/">
<xsl:variable name="bookCount" select="count(/bookstore/book)"/>
<xsl:variable name="bookTotal" select="sum(/bookstore/book/price)"/>
<xsl:variable name="bookAverage" select="$bookTotal div $bookCount"/>
<books>
<!--Books That Cost Below Average-->
<xsl:for-each select="/bookstore/book">
<xsl:if test="price < $bookAverage">
<xsl:copy-of select="."/>
</xsl:if>
</xsl:for-each>
</books>
</xsl:template>
</xsl:stylesheet>
Books.xml
<?xml version='1.0'?>
<!-- This file represents a fragment of a book store inventory database -->
<bookstore>
<book genre="autobiography" publicationdate="1981" ISBN="1-861003-11-0">
<title>The Autobiography of Benjamin Franklin</title>
<author>
<first-name>Benjamin</first-name>
<last-name>Franklin</last-name>
</author>
<price>8.99</price>
</book>
<book genre="novel" publicationdate="1967" ISBN="0-201-63361-2">
<title>The Confidence Man</title>
<author>
<first-name>Herman</first-name>
<last-name>Melville</last-name>
</author>
<price>11.99</price>
</book>
<book genre="philosophy" publicationdate="1991" ISBN="1-861001-57-6">
<title>The Gorgias</title>
<author>
<name>Plato</name>
</author>
<price>9.99</price>
</book>
</bookstore>