|
''Insert'' Fonksiyonu |
|
|
Insert fonksiyonu verilen ADOM içine yeni bir item düğümü ekler ve onun altında belirlenen alt düğümleri oluşturur. Eğer bir önkoşul ifadesi verilmiş ise ekleme yapmadan önce benzer bir item düğümünün var olup olmadığını bu ifadeyi mevcut tüm item düğümleri üzerine çözümleyerek kontrol eder. Insert(adom-odağı:adom-adı, hedef-altdüğümler, atanacak-değerler, [benzer-düğüm-kontrol-ifadesi, [üzerine-yaz]])
adom-odağı ADOM odağı. Geçerli değerler: "r" İstek, "s" Oturum ve "a" Uygulama Odaklar hakkında daha fazla bilgi.. adom-adı ADOM'un adı.
hedef-altdüğümler item düğümü altında oluşturulacak ve değerleri atanacak olan alt düğümler. atanacak-değerler Hedef alt düğümlere atanacak olan değerler. Değer ifadeleri içinde kullanılan ve tanımlayıcısı belirtilmemiş olan sembollerin kaynağı "f:", "v:", "i:", "a:" sırasıyla aranır. benzer-düğüm-kontrol-ifadesi Yeni bir item düğümü eklenmeden önce benzer bir item düğümünün var olup olmadığının kontrol edilmesi için kullanılacak olan ifade. Eğer koşulu sağlayan bir item düğümü mevcut ise yeni bir item düğümü eklenmeyecek, üzerine yaz parametresine göre hareket edilecektir. İfade içinde kullanılan ve kaynak tanımlayıcısı belirtilmemiş sembollerin, kaynağı "a:", "f:", "v:", "i:" sırasıyla aranır. üzerine-yaz Eğer benzer kayıt kontrol ifadesini doğrulayan bir item düğümü mevcut ise bu parametre değerine göre davranılır. Eğer değer true ise mevcut düğüm güncellenir aksi halde hiç bir şey yapılmaz.
Örnekler: Insert(s:sepet, *, *) sepet ADOM'una yeni bir item düğümü ekle ve işlem kaydında yer alan her bir işlem blok alanı için item düğümü altında bir alt düğüm oluştur ve değerini ata. Insert(s:sepet, *, *, ID = f:ID) Eğer sepet ADOM'unda ID adlı alt düğümünün değeri ID adlı işlem blok alanının değerine eşit olan bir item düğümü mevcut değilse yeni bir item düğümü ekle ve işlem kaydında yer alan her bir işlem blok alanı için item düğümü altında bir alt düğüm oluştur ve değerini ata. Insert( s:sepet, [ID, FIYAT, MIKTAR, SATIR_TOPLAMI ], [f:ID, f:FIYAT, nf:MIKTAR+na:MIKTAR, (nf:MIKTAR+na:MIKTAR) * nf:FIYAT * v:INDIRIM], ID = f:ID ) id niteliği Yeni oluşturulan her item düğümü için id adında bir düğüm niteliği oluşturur ve bu niteliğe değer olarak ADOM içinde benzersiz bir numara atar. id adlı bu nitelik, daha sonra, ADOM içinde yer alan item düğümlerini silmek veya güncellemek için anahtar olarak kullanılabilir. Örnek: Delete(s:sepet, a:@id = f:@id)
İşlem bloğu içinde mevcut bir ADOM'a ait item düğümleri listelenirken item düğümünün id niteliğinin değerine $vof(@id) tanımı ile ulaşılabilir. Bunu yapmanın en kolay yolu ise kütüphanede mevcut olan ADOMItemID elemanını işlem bloğu içinde kullanmaktır. |