İlkel işlemleri yeniden ele alma¶
düğümleri silme¶
Sözdizimi:
1 | |
1 | |
İfade location silinmek üzere işaretlenmiş düğümlerden oluşan bir diziyi temsil eder (gerçek düğüm sayısının 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 node veya nodes kullanılsa da 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şturmasıdır.
- Herhangi bir into biçimi kullanılırsa hedef düğüm bir öğe veya belge olmalıdır. Eklenecek öğeler, bir öğe oluşturucunun içeriğiyle tamamen aynı şekilde işlenir.
Örneğin, eğer $target boş bir öğeyi gösteriyorsa <CONT/>,
1 2 | |
1 | |
1 | |
Bu nedenle oluşturuculardaki kuralların aynısı geçerlidir: öğe sırası korunur, ardışık 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 verir:
1 | |
Yalnızca into anahtar sözcüğü kullanıldığında, ortaya çıkan konum uygulamaya bağlıdır. Yalnızca şu garanti edilir: as first into ve as last into şuna göre önceliklidir: into.
-
Eğer before veya after kullanılırsa, hedef düğüm için herhangi bir düğüm türüne izin verilir.
-
Öznitelikler özel bir durumdur: kullanılan before veya after anahtar sözcüğünden bağımsız olarak öznitelikler her zaman into hedefin üst öğesine eklenir. Eklenen özniteliklerin sırası belirtilmemiştir. Ad çakışmaları hatalara yol açabilir.
düğümü değiştir¶
Sözdizimi:
1 | |
İfade location tek bir hedef düğümü göstermelidir.
İfade items hedef düğümün yerine geçecek öğelerden oluşan bir dizi üretmelidir.
- Şu düğüm türleri
documentveattributehariç, hedef düğüm herhangi bir öğe dizisiyle değiştirilebilir. Yerine geçecek öğeler, bir element/document oluşturucunun içeriğiyle tam olarak aynı şekilde ele alınır.
Örneğin, eğer $target bir öğeyi gösteriyorsa <P><kid/>some text</P>,
1 | |
şunu verir:
1 | |
- Öznitelikler özel bir durumdur: yalnızca bir öznitelik düğümüyle değiştirilebilirler. Ad çakışmaları hatalara yol açabilir.
düğümün değerini değiştir¶
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 tüm alt düğümleri kaldırılır ve yerlerine yenileri konur. Yerine geçecek öğeler, bir metin oluşturucunun içeriğiyle tam olarak aynı şekilde ele alınır (böylece tüm düğüm öğeleri dize değerleriyle değiştirilir).
Örneğin, eğer $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 talimatı), dize değeri yerine geçen öğelerin dize değerlerinin birleştirilmesiyle değiştirilir.
Örneğin, eğer $target bir öğeyi gösteriyorsa <P order="old">some text</P>,
1 | |
şunu verir:
1 | |
düğümü yeniden adlandır¶
Sözdizimi:
1 | |
İfade location tek bir hedef öğeyi, özniteliği veya işleme talimatını göstermelidir.
İfade name-expression tek bir QName veya dize öğesi üretmelidir.
Örneğin, eğer $target bir öğeyi gösteriyorsa <CONT B="b">some text</CONT>
1 2 | |
şunu verir:
1 | |
**¶
transform**
Sözdizimi:
1 2 3 | |
Her node ifade kopyalanır (en azından sanal olarak) ve bir değişkene bağlanır.
İfade updating-expression bir veya daha fazla güncelleme temel işlemi içerir ya da bunları çağırır. Bu işlemlerin yalnızca bağlı değişkenlerin gösterdiği kopyalanmış XML ağaçları üzerinde çalışmasınaizin verilir. Bu nedenle 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 ve böylece güncellenmiş ağacı/ağaçları üretir.
Örneğin, eğer $target bir öğeyi gösteriyorsa
1 2 3 4 5 6 | |
şunu döndürür:
1 | |