Ana içeriğe geç

Eşitle

Belirtilen XPath'teki düğümleri giriş düğümleriyle eşitler ve eşitlenen düğümlerden oluşan bir dizi döndürür.

1
myXml.Sync(xpath: string, input: Array<Xml>, hash: (node: Xml) => string):Array<Xml>

Belirtilen XPath'teki düğümleri giriş düğümleriyle eşitler ve eşitlenen düğümlerden oluşan bir dizi döndürür.

1
myXml.Sync(xpath: string, input: Array<Xml>, hash: (node: Xml) => string, removedNodes?: Array<Xml>):Array<Xml>

Parametreler

string xpath
    Eşitlenecek düğümün XPath'i.

Array<Xml> input
    Eşitlenecek Xml düğümlerinin dizisi.

(node: Xml) => string hash
    Düğümleri karşılaştırmak için kullanılan hash işlevi. Belirtilmezse karşılaştırma için düğüm örneği kullanılır.

Array<Xml> removedNodes optional
    Kaldırılan düğümlerin ekleneceği isteğe bağlı dizi.

Döndürür

Eşitlenmiş Xml düğümlerinden oluşan bir dizi. Eşitlenmiş Xml düğümlerinden oluşan bir dizi.

Notlar

Eşitleme, giriş düğümlerini temel alır ve belirtilen XPath'te aşağıdaki aksiyonları gerçekleştirir:

  • Düğüm karşılaştırması, her düğüm için benzersiz bir tanımlayıcı döndüren belirtilen hash işlevi kullanılarak yapılır. Hash işlevi belirtilmezse karşılaştırma için düğüm örneği kullanılır.
  • Giriş dizisinde bulunan ancak geçerli düğümde bulunmayan düğümler, geçerli düğümde otomatik olarak oluşturulur.
  • Hem giriş dizisinde hem de geçerli düğümde bulunan düğümler kopyalanır.
  • Geçerli düğümde bulunan ancak giriş dizisinde bulunmayan düğümler geçerli düğümden kaldırılır. İsteğe bağlı olarak kaldırılan düğümlerin bir listesi removedNodes parametreye eklenebilir.

"Source" ve "Target" düğümlerinin içeriklerini eşitleme

1
2
3
4
var questions = $Xml.SelectAll('Source/Questions/Question');
$Xml.Sync('Target/Questions/Question', questions, function() {
  return this.Evaluate('Id');
});

XQuery çalıştırma ve sonuçları geçerli düğümlerle birleştirme

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
$Xml.SelectAll('Standards/Standard', function() {
  var questions = $XmlRepository.QueryXml('for $q in InternalAudit//Question\
    where $q/Standards/Standard/Standard=$standard and $q/Departments/Department=$department\
    return\
     <Question>\
        { $q/Id }\
        { $q/Criteria }\
        { $q/Expectation }\
     </Question>', {
     standard : this.Evaluate('Standard'),
     department : $Xml.Evaluate('Department')
  });
  this.Sync('Questions/Question', questions, function() {
    return this.Evaluate('Id');
  });
});
Eşitleme, giriş düğümlerini temel alır ve belirtilen XPath'te aşağıdaki aksiyonları gerçekleştirir: - Düğüm karşılaştırması, her düğüm için benzersiz bir tanımlayıcı döndüren belirtilen hash işlevi kullanılarak yapılır. Hash işlevi belirtilmezse karşılaştırma için düğüm örneği kullanılır. - Giriş dizisinde bulunan ancak geçerli düğümde bulunmayan düğümler, geçerli düğümde otomatik olarak oluşturulur. - Hem giriş dizisinde hem de geçerli düğümde bulunan düğümler kopyalanır. - Geçerli düğümde bulunan ancak giriş dizisinde bulunmayan düğümler geçerli düğümden kaldırılır. İsteğe bağlı olarak kaldırılan düğümlerin bir listesi removedNodes parametreye eklenebilir.

"Source" ve "Target" düğümlerinin içeriklerini eşitle

1
2
3
4
var questions = $Xml.SelectAll('Source/Questions/Question');
$Xml.Sync('Target/Questions/Question', questions, function() {
  return this.Evaluate('Id');
});

XQuery çalıştırır ve sonuçları geçerli düğümlerle birleştirir

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
$Xml.SelectAll('Standards/Standard', function() {
  var questions = $XmlRepository.QueryXml('for $q in InternalAudit//Question\
    where $q/Standards/Standard/Standard=$standard and $q/Departments/Department=$department\
    return\
     <Question>\
        { $q/Id }\
        { $q/Criteria }\
        { $q/Expectation }\
     </Question>', {
     standard : this.Evaluate('Standard'),
     department : $Xml.Evaluate('Department')
  });
  this.Sync('Questions/Question', questions, function() {
    return this.Evaluate('Id');
  });
});

Ayrıca bkz.