DBMS-də XPath

Sistem dizaynı ilə bağlı müsahibə sualları o qədər açıq ola bilər ki, düzgün hazırlaşmağı bilmək çox çətindir. İndi satın aldıqdan sonra Amazon, Microsoft və Adobe-nin dizayn dövrlərini sındıra bilirəm Bu kitabı. Gündəlik bir yenidən nəzərdən keçirin dizayn sualı və söz verirəm ki, dizayn dövrünü sındıra bilərsiniz.

XML sənədləri, ana və övladını təmsil edən elementləri ilə bir ağac kimi bir quruluşda təmsil olunur. Bu yuxarıdakı əlaqə məlumatları nümunəsində aydın görünür. Xml elementi kontakt bir ana element rolunu oynayır və 7 alt elementə malikdir. Bəzi sənədlərdə daha çox uşaq qovşağı ola bilər və ya uşaq qovşağının özündə də uşaq qovşaqları ola bilər.

Ancaq yuxarıdakı nümunə xml formatında təmsil olunan yalnız bir əlaqə məlumatını əks etdirir. İdeal olaraq xml sənədinin içərisində bu formatda bir çox ünvan olacaqdır. Ünvandan hər hansı birini gətirməli olsaq, bütün sənədi nəzərdən keçirməliyik. Sənəd daxilindəki məlumatların sırasını belə təxmin edə bilmərik. Bu, vaxt almağı çox vaxt alacaq. Beləliklə, xml sənədindəki məlumatları əldə etmək üçün asan bir yola ehtiyacımız var. Bu XPath istifadə edərək edilir. XML sənədindəki məlumatları tapmaq mexanizmi verir.

XPath-də bir kod satırından istifadə edərək xml sənədindəki məlumatları keçə bilərsiniz. Bu tək kod sətir İfadə adlanır. Bu ifadələr sənədi əl ilə keçmək əvəzinə sənədləri təfərrüatlarını almaq üçün istifadə olunur. İfadələrin necə işlədiyini anlamaq üçün əlaqə detal nümunəmizi inkişaf etdirək.

 Rose Mathew

APT 201 Lakeside Village Drive Clinton Township MI ABŞ

         
	 586
	 656 898 122
 Clinton Township 
        
         
	 506
	 656 232 565
 Clinton Township 
        
         [email protected]

Yuxarıdakı nümunədə iş ünvanı, telefon nömrələri və e-poçt ünvanı olan bir şəxs haqqında əlaqə məlumatları haqqında məlumatlar var. İndi XPath ifadələrindən istifadə edərək müxtəlif qovşaqların necə keçəcəyini görək.

Burada əlaqə kök düyündür. Sadəcə ifadəyə adını yazmaqla əldə edilə bilər.

Əlaqə

İndi kök qovşağına işarə edəcəkdir. Tutaq ki, yolu keçməliyik elementləri sənəddə. Sonra elementi '/' istifadə edərək uşağını ayıraraq kökündən yolu göstərməliyik.

Əlaqə / Ünvan / Küçə
Əlaqə / Telefon
Əlaqə / Telefon / Nömrə

Elementləri kökündən keçəndə element düyününə çatmaq üçün tam yolu göstərməliyik. Bu hərəkət metoduna Mütləq Yer Yolu deyilir. Keçidin nisbi yer yolları adlanan başqa bir yolu var. Bu metodda birbaşa element qovşaqlarına daxil ola bilərik. Yolu göstərmədən birbaşa element qovşağına daxil olduqda, səviyyəsindən və yolundan asılı olmayaraq bütün element qovşaqlarını keçəcəkdir. Yuxarıdakı nümunə sənəddə Town həm ünvanda həm də Telefonda uşaq elementidir. Mütləq yer yolundan istifadə edərək qəsəbəyə girməliyiksə, kök qovşağından başlayaraq iki sətir kod yazmalıyıq.

Əlaqə / Ünvan / Şəhər
Əlaqə / Telefon / Şəhər

Ancaq nisbi yer yolu metodunda, sadəcə şəhərciyi göstərsək, ana qovşaqlarından asılı olmayaraq sənəddəki bütün şəhərləri göstərəcəkdir.

Şəhər

Həm şəhərlərə həm ünvandan həm də telefondan daxil olacaq. Bu metod hər hansı bir elementin tam yolunu bilməyi tələb etmir və çoxsaylı kodların yazılması üçün səyləri azaldır. Bu metod uşaq elementlərini də tapmaq üçün istifadə edilə bilər.

Ünvan / şəhər

Burada ünvanın ana qovşaqları göstərilməyib. Sənəddəki bütün ünvan / şəhər elementlərini axtarır. Aşağıdakı kimi '//' istifadə edərək ana düyünlər göstərilmədən eyni şəhərə daxil olmaq mümkündür.

Əlaqə / / şəhər

Artıq hər iki şəhəri ünvandan və Telefondan axtaracaq. Kontakt olaraq atası olan hər hansı bir qəsəbəni müəyyənləşdirir. Şəhərin ana qovşağı haqqında düşüncəli deyil. Bu metod eyni zamanda uzun kodların və ya çoxsaylı kodların yazılma səylərini də azaldır.

An atributu element düyününün atribut adından əvvəl '@' işarəsi ilə göstərilə bilər. Ancaq bu xüsusiyyətə çatmaq üçün tam yol verilməlidir.

Əlaqə / [e-poçt qorunur]
Əlaqə / [e-poçt qorunur]

Fərz edək ki, uşaq elementi düyünü bilirik və ana düyünü uşaq düyünündən seçməliyik. Bunu '..' (cüt nöqtələr) istifadə etməklə etmək olar.

Telefon / ..
Ştat / ..
Şəhər / ..

Burada uşaq elementi nisbi yoldan istifadə edilməklə seçilir və '..' Telefon və Vəziyyət elementinin bütün ana qovşaqlarını verir.

Yuxarıdakı ünvan elementində bir çox uşaq qovşağı var. Fərz edək ki, sənəddə fərqli istifadəçilər üçün Ünvan elementi var və bütün istifadəçilər üçün ünvan elementinin bütün alt qovşaqlarını seçməliyik. Sonra bütün istifadəçi üçün vaxt aparan və kodun uzunluğunu artıran mütləq və ya nisbi yol yazmalıyıq. Daha yaxşı bir seçimimiz varsa, bütün qovşaqları keçmək asan olacaq. Buna vəhşi kart '*' istifadə edərək nail olunur. Kodun vaxtına və mürəkkəbliyinə qənaət edir.

Bu, ünvanın altındakı bütün elementləri seçəcəkdir. Tutaq ki, Əlaqə altındakı bütün elementləri seçməliyik. Sonra

Əlaqə / * / *

Bu ad, ünvanı və alt elementlərini, telefonu və alt elementlərini və e-poçtu seçəcəkdir.

Tutaq ki, iki və ya daha çox ifadəni tək bir sətirdə birləşdirməliyik. Bu boru - '|' istifadə edərək edilə bilər.

Əlaqə / Ünvan / Şəhər | Əlaqə / Telefon / Şəhər

Bu şəhərləri həm ünvandan həm də telefondan birləşdirəcəkdir. SQL-də birləşmə kimi davranır. Boru istifadə etmək üçün bəzi digər nümunələr aşağıda göstərildiyi kimidir.

Əlaqə / Ünvan / Dövlət | Əlaqə / Telefon / STD
Ünvan / Ştat | STD / ..

XPath-də dəyərləri müqayisə etmək və nəticə dəyərlərini göstərmək üçün əvvəlcədən istifadə edə bilərik. Tutaq ki, MI-dəki insanların ünvanını göstərməliyik.

Ünvan [Dövlət = “MI”]
Əlaqə / Ünvan [Ştat = ”MI”]
Əlaqə / * / * [Town = ”Troy”]

Bunlar sənəddən müəyyən elementin necə seçiləcəyini göstərən nümunələrdir. Bu WHERE şərti ilə SEÇMƏ sorğusuna bənzəyir. Burada şərtlər '[]' kvadrat mötərizəyə daxil edilmişdir. Bir insanın içində hər hansı bir şərt ola bilər. Ancaq elementin nisbi yolunun mütləqliyi, ardından '[]' daxilindəki şərt verilməlidir.

Atributların atribut olduqlarını göstərmək üçün əvvəlcə '@' işarəsi qoyulması şərtilə oxşar predmetlər atributlarda da verilə bilər.

Əlaqə / Ünvan [@Category = ”İş”]
Əlaqə / Ünvan [@Kategori <> ”İş”]
Əlaqə / Telefon [@Type = ”Ev”]
Əlaqə / * [@ Type = "Ev"]

Atributlarda predikatlardan istifadə etməyin fərqli üsulları bunlardır.
Yuxarıda göstərilən bütün bu metodlar, XML sənədlərində saxlanılan elementləri almaq üçün XML üsulundan istifadə edir. İndi elementləri almaq üçün sorğudan necə istifadə edilə biləcəyini görək.

Crack Sistemi Dizayn Müsahibələri
Translate »