İlkel işlemleri yeniden ele alma¶
düğümleri silme¶
Sözdizimi:
1 | |
1 | |
İfade location silinmek üzere işaretlenen düğüm dizisini temsil eder (gerçek düğüm sayısının anahtar sözcükle eşleşmesi gerekmez: node veya nodes).
düğümleri ekleme¶
Sözdizimi:
1 | |
1 | |
1 | |
1 | |
1 | |
1 | |
İfade items hedef düğüme göre eklenecek öğelerden oluşan bir dizi üretmelidir.
Anahtar sözcük kullanılsa da node veya nodes eklenen öğelerin düğüm olmayan öğeler olabileceğini unutmayın. Gerçekte olan, düğüm olmayan öğelerin dize değerlerinin birleştirilerek metin düğümleri oluşturulmasıdır.
- Herhangi bir biçimi into kullanılırsa hedef düğüm bir öğe veya belge olmalıdır. Eklenecek öğeler, bir öğe kurucusunun içeriğiyle tamamen aynı şekilde işlenir.
Örneğin, eğer $target boş bir öğeyi gösteriyorsa <CONT/>,
1 2 | |
1 | |
1 | |
bu durumda kurucularla aynı kurallar geçerlidir: öğe sırası korunur, art arda gelen düğüm olmayan öğelerin arasına boşluk eklenir, eklenen düğümler önce kopyalanır, öznitelik düğümlerinden sonra başka öğe türlerine izin verilmez vb.
- Anahtar sözcükler as first (sırasıyla as last) kullanıldığında, öğeler öğenin mevcut alt öğelerinden önce (sırasıyla sonra) eklenir.
Örneğin, eğer $target bir öğeyi gösteriyorsa <parent><kid/></parent>
1 | |
şunu üretir:
1 | |
Yalnızca into anahtar sözcüğü kullanıldığında, elde edilen konum uygulamaya bağlıdır. Yalnızca şu ifadelerin as first into ve as last into ifadesine göre öncelikli olduğu garanti edilir: into.
-
Eğer before veya after kullanılırsa, hedef düğüm herhangi bir düğüm türünde olabilir.
-
Öznitelikler özel bir durumdur: kullanılan anahtar sözcükten bağımsız olarak önce veya sonra öznitelikler her zaman hedefin üst öğe öğesine eklenir. Eklenen özniteliklerin sırası belirtilmemiştir. Ad çakışmaları hatalara yol açabilir.
Düğümü değiştirme¶
Sözdizimi:
1 | |
İfade location tek bir hedef düğümü göstermelidir.
İfade items hedef düğümün yerini alacak öğelerden oluşan bir dizi döndürmelidir.
- ve
documentattributedüğüm türleri dışında, hedef düğüm herhangi bir öğe dizisiyle değiştirilebilir. Yerine konan öğeler, bir oluşturucunun içeriğiyle tam olarak aynı şekilde ele alınır. element/document
Örneğin, $target bir öğeyi gösteriyorsa <P><kid/>some text</P>,
1 | |
şunu üretir:
1 | |
- Öznitelikler özel bir durumdur: yalnızca bir öznitelik düğümüyle değiştirilebilirler. Ad çakışmaları hatalara yol açabilir.
Düğüm değerini değiştirme¶
Sözdizimi:
1 | |
Burada hedef düğümün kimliği korunur. Yalnızca değeri veya içeriği (bir öğe ya da belge için) değiştirilir.
- Hedef bir öğe veya belge düğümüyse önceki alt düğümlerinin tümü kaldırılır ve yerlerine yenileri konur. Yerine konan öğeler, bir metin oluşturucunun içeriğiyle tam olarak aynı şekilde ele alınır (dolayısıyla tüm düğüm öğeleri dize değerleriyle değiştirilir).
Örneğin, $target bir öğeyi gösteriyorsa <P><kid/>some text</P>,
1 | |
1 | |
1 | |
1 | |
- Hedef düğüm bir yaprak düğümse (öznitelik, metin, yorum veya işleme yönergesi), dize değeri yerine konan öğelerin dize değerlerinin birleştirilmesiyle değiştirilir.
Örneğin, $target bir öğeyi gösteriyorsa <P order="old">some text</P>,
1 | |
şunu üretir:
1 | |
Düğümü yeniden adlandırma¶
Sözdizimi:
1 | |
İfade location tek bir hedef öğeyi, öznitelik düğümünü veya işleme yönergesini göstermelidir.
İfade name-expression tek bir QName veya dize öğesi döndürmelidir.
Örneğin, $target bir öğeyi gösteriyorsa <CONT B="b">some text</CONT>
1 2 | |
şunu üretir:
1 | |
**¶
dönüştür**
Sözdizimi:
1 2 3 | |
Her node ifade (en azından sanal olarak) kopyalanır ve bir değişkene bağlanır.
İfade updating-expression bir veya birkaç güncelleme ilkelini içerir ya da çağırır. Bu ilkellerin yalnızca kopyalanmış XML ağaçları üzerinde işlem yapmasına izin verilir; bu ağaçlar bağlı değişkenler tarafından gösterilir. Dolayısıyla dönüştürme ifadesinin yan etkisi yoktur.
İfade return değerlendirilmeden önce tüm güncellemeler kopyalanmış ağaçlara uygulanır. Genellikle return ifade, bağlı bir değişken veya bağlı değişkenleri içeren bir düğüm oluşturucusu olur; böylece güncellenmiş ağaçları döndürür.
Örneğin, $target bir öğeyi gösteriyorsa
1 2 3 4 5 6 | |
şunu döndürür:
1 | |