|
XPathQueryProcess Elemanı |
|
|
XPathQueryProcess elemanı bir XML metnini veya ayıklama ile elde edilmiş bir Node nesnesine sorgulamak için kullanılır. Bir taşıyıcı işlem olduğu için bu elemanın altında alt işlemler konfigüre edilebilir ve sorgulama sonucunda bulunmuş olan düğümler için çalıştırılabilirler.
Özellikler Xml Girdi (MScript Kabul Eder) XML metni veya ayıklanmış bir Node girdi olarak verilebilir. MScript fonksiyonu parsexml() XML metinlerini ayıklayarak Node nesnelerine çevirebilir. Kodlama (MScript Kabul Eder) XML girdinin karakter kodlaması. Atama yapılmamış ise varsayılan değer "UTF-8" olarak kabul edilir. XPath İfadesi (MScript Kabul Eder) Sorgulamayı yapacak olan XPath ifadesi. Bu ifade ile yapılan sorgu NodeList döndürmelidir; metin veya boolean değil. Çıktı Alanlar (MScript Kabul Eder) Çıktı alanları ve XPath eşleme tanımları. Tanımlar birbirlerinden virgüller ile ayrılmalıdır. Bir tanımın söz dizimi söyledir: alan-adı: göreceli-xpath-ifadesi
alan-adı Çıktı alanının adı.
göreceli-xpath-ifadesi XPath ifadesi sorgudan dönen düğümlere göreceli olarak verilebilir. İfadeler Metin, Boolean veya Node döndürebilir. Eğer bir ifade Node döndürecek ise o zaman alan adının sonuna "*" karakteri eklenmelidir
Örnek:
XML Girdisi: <root> <order> <customerId>188</customerId> <orderDate>2009-05-25</orderDate> <product id="7899" qty="100" price="35" /> </order> <order> <customerId>200</customerId> <orderDate>2009-08-11</orderDate> <product id="09182" qty="10" price="1200" /> <product id="FD541" qty="3" price="450" /> <product id="P0912" qty="50" price="100" /> </order> </root>
XPath İfadesi:
Çıktı Alanları: STATUS: orderDate, PRODCNT: count(product), PRODS*: product Örnekte "PRODS" alanı bir Node nesnesi içerecektir. Bu alanın değeri daha sonra alt işlem olarak konfigüre edilmiş bir başka XPathQueryProcess tarafından veya MScript fonksiyonu xpath() tarafından tekrar sorgulanabilir. XPath İfadesi ve Çıktı Alanlarınde önek (prefix) kullanımı
XML Girdisi: <cns:customer id="1" xmlns:cns="http://www.localhost.com/customer"> <ons:order xmlns:ons="http://www.localhost.com/order"> <ons:orderNumber>21354</ons:orderNumber> </ons:order> </cns:customer> <cns2:customer id="2" xmlns:cns2="http://www.localhost.com/customer2"> <ons:order xmlns:ons="http://www.localhost.com/order"> <ons:orderNumber>74544</ons:orderNumber> </ons:order> </cns2:customer> </root>
XPath İfadesi: ONUM: ons:orderNumber
Önek (prefix) kullanmamak Yukarıdaki örnek için, önek kullanılmadan da bir XPath ifadesi oluşturabilir. Bu durumda önekler dikkate alınmadığından tüm "customer" düğümleri (node) sonuç kümesinde yer alacaktır.
XPath İfadesi: Çıktı Alanları: ONUM: orderNumber
Varsayılan aduzayı Eğer bir XML verisi içinde varsayılan aduzayı mevcut ise XPath ifadesinde varsayılan aduzayı kullanan düğümleri adreslemek için önek olarak sadece ":" kullanmak yeterli olacaktır.
XML Girdisi: <root> <cns:customer xmlns:cns="http://www.localhost.com/customer"> <order xmlns="http://www.localhost.com/order"> <orderNumber>21354</orderNumber> </order> </cns:customer> <cns2:customer xmlns:cns2="http://www.localhost.com/customer2"> <order xmlns="http://www.localhost.com/order"> <orderNumber>21354</orderNumber> </order> </cns2:customer> </root>
XPath İfadesi: ONUM: ./:orderNumber
Çıktı Alanları'nda :orderNumber öncesinde "./" kullanımına dikkat edin. Bir XPath ifadesi ":" karakteri ile başlayamadığı için öncesine "./" karakterleri yerleştirilmiştir.
|