Sunuyu indir
Sunum yükleniyor. Lütfen bekleyiniz
1
Ertan Deniz Ertan.deniz70@gmail.com Öğretim Görevlisi
2
XML Şema Doküman içinde gezinme (Xpath) Doküman dönüştürme (XSLT)
3
Michael P. Papazoglou, Web Services, 1st Edition, © Pearson Education Limited 2008. (Kitap sunumundan uyarlandı.)
4
Michael P. Papazoglou, Web Services, 1 st Edition, © Pearson Education Limited 2008 XML dokümanlarının içeriğini ve yapısını tanımlayan bir dokümandır. Şema genel olarak, veritabanı sistemlerinde, mantıksal yapıyı ifade etmek için kullanılır. Şemalar, yapısal ilişkiler, setteki eleman sayısı, geçerli değerler ve verinin tipleri gibi ilave (metadata) veri özellikleri sağlarlar. Şema içindeki her bir tip, referans verilen XML dokümanı için, veri özelliklerini tanımlayan, kuralları ve kısıtları uygulayan bir metod gibi davranır. XML şema, şema içindeki elemanları ve öznitelikleri tanımlar ve elemanların doküman yapısı içindeki düzenlenme yöntemlerini belirler.
5
Michael P. Papazoglou, Web Services, 1 st Edition, © Pearson Education Limited 2008 Sophie Jones 34 “Person.xml” Dosyası <xs:element name="Last“ type="xs:string"/> “Person.xsd” dosyası
6
Michael P. Papazoglou, Web Services, 1 st Edition, © Pearson Education Limited 2008 Açıklama yazma (Annotation) Eleman adı, tipi Basit tipler (Int, String) Karmaşık tipler Minimum ve Maximum değerler (MinOccurs,MaxOccurs) Öznitelik adı,tipi Elemanların sırası önemli (Sequence) Herhangi bir eleman seçilebilir (Choice) Tüm elemanlar gerekli, sıra önemli değil (All) Genişletme (Extension), Sınırlama (Restriction)
7
Michael P. Papazoglou, Web Services, 1 st Edition, © Pearson Education Limited 2008 One item of a purchase order with its details Needs to be specified in US$ Elemanlar ve içerikleriElemanlar ve içerikleri
8
Michael P. Papazoglou, Web Services, 1 st Edition, © Pearson Education Limited 2008 Öznitelikler ve öznitelik grupları
9
Michael P. Papazoglou, Web Services, 1 st Edition, © Pearson Education Limited 2008
10
< xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:PO="http://www.plastics_supply.com/PurchaseOrder" targetNamespace="http://www.plastics_supply.com/PurchaseOrder"> Michael P. Papazoglo u, Web Services, 1 st Edition, © Pearson Education Limited 2008
12
Michael P. Papazoglou, Web Services, 1 st Edition, © Pearson Education Limited 2008 <xsd:element name="shippingAddress" type="PO:Address" minOccurs= "1" maxOccurs="1"/> <xsd:element name="billingAddress" type="PO:Address" minOccurs= "1" maxOccurs="1"/> </xsd:complexType BillingAdress ve shippingAdress için, temel Adress tipinin kullanıldığı PurchaseOrder. (Değişik bir tip)
13
Michael P. Papazoglou, Web Services, 1 st Edition, © Pearson Education Limited 2008 Plastic Products 459 Wickham st. Fortitude Valley QLD 4006 Australia 158 Edward st. QLD 4000 Australia 2002-09-15 Herhangi bir örnek XML dokümanı, temel “Adress” tipinden türetilmiş herhangi bir tipi, “billingAddress” ve “shippingAddress” tipleri için kullanabilir. “billingAddress” için “AustralianPostalAddress” tipi, “shippingAddress” için “AustralianAddress” tipi kullanılmıştır.
14
XML Şema Doküman içinde gezinme (Xpath) Doküman dönüştürme (XSLT)
15
XML dokümanı içinde bazı bölümleri bulmak için yazılan ifadelerin geliştirme (yazma) standardıdır. Xpath, XML dokümanının bir ağaç yapısında sorgulanmasını sağlayan bir dildir. XML dokümanı içinde nodların seçilmesi Michael P. Papazoglou, Web Services, 1 st Edition, © Pearson Education Limited 2008
16
Kenneth M.Anderson, CSCI 7818 Lecture
17
Örnek Xpath ifadeleri gradebook/student/grade Tüm “grade” nodlarını seçer. XPath ile özniteliklerde seçilebilir. gradebook/student/grade[@name=“hw3”] Ek örnekler //grade “Kök noddan başlarak “grade” nodlarını seçer.” gradebook/student[2] “2. “student” nodunu seçer.” Kenneth M.Anderson, CSCI 7818 Lecture
18
XML Şema Doküman içinde gezinme (Xpath) Doküman dönüştürme (XSLT)
19
XSLT – XML stil dilidir. Başka biçimlere dönüştürmek için kullanılır. (XML Stylesheet Language, Transformations) XML veriyi tanımlamak için kullanılır. Aynı zamanda veriyi de içerir. XSLT, XML içeriğini formatlamak ve dönüştürmek için kullanılır. (HTML veya diğer istenen biçimlere. Bu dönüşüm sonucunda, yine XML elde edilebilir.) XSLT, Xpath ifadelerini kullanarak, XML dokümanın bölümleri seçer. Michael P. Papazoglou, Web Services, 1st Edition, © Pearson Education Limited 2008
20
XSLT XML stilleri çalışması kapsamında geliştirilmiştir. Stil (Stylesheet) nedir ? Stil, sunum bilgilerini, içerikten bağımsız olarak belirlemek için kullanılan bir araçtır. HTML’ de stil Web’te CCS (Cascading stylesheets) adında bir stil dili var. XML’in diğer tiplere dönüştürülmesini sağlayan mekanizmaları belirler. XML->XML XML->HTML XML->PDF Kenneth M.Anderson, CSCI 7818 Lecture
21
XSLT’nin anlaşılması için, XML dokümanları ağaç yapısında görülmelidir. XSLT, bir ağaç yapısının, başka bir ağaç yapısına dönüştürülmesini sağlayan kuralları sağlar. Stil dokümanında belirtildiği gibi kaynak ağaç gezilir ve stil dokümanı içindeki kurallara göre hedef ağaç üretilir. Kenneth M.Anderson, CSCI 7818 Lecture
22
XSLT, stil dokümanlarını kullanarak dönüştürme işlemini yapar. Stil dokümanları da, XML dokümanlarıdır. Tüm XSLT stil dokümanları, aşağıdaki formdadır : <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> Şablonlar ve dönüştürme kuralları buraya yazılır. Kenneth M.Anderson, CSCI 7818 Lecture
23
Stil dokümanında, kaynak XML’in nodlarının “match” edildiği şablonlar vardır. Her bir şablon, hedef ağaç yapısında ne üretileceğini belirler. Match="/" Şablonu, XML dokümanın Kök elemanı ile ilişkilendirir. Bir şablon aşağıdaki gibidir : Grade Book Kenneth M.Anderson, CSCI 7818 Lecture
24
Aynı XML dokümanı, farklı stil dokümanları kullanılarak XML,HTML,PDF e dönüştürülebilir.
25
XSLT işlemcisi, XML dokümanı ve stil dokümanını alır. Kaynak ağaç üzerinde, gezinmeye kök noddan başlar ve uyan bir şablon olup olmadığı kontrol edilir : Varsa, şablon uygulanır ve “xsl:apply-templates” elemanı aranır : Böyle bir eleman varsa, gezinmeye devam eder. Böyle bir eleman yoksa, gezinme durur. Uygun şablon yoksa, uygun bir şablon için ağaç içinde aşağı doğru gezinmeye devam eder. Kenneth M.Anderson, CSCI 7818 Lecture
26
“apply-templates” işaretleme elemanı, XSLT işlemcisinin, uygun bir şablon bulunduktan sonra, gezinmeye devamını belirler. “apply-templates” elemanı, “select” özniteliği içerebilir. Bu öznitelikte, yer alan Xpath ifadesi ile, belli çocuk elemanlara gezinme devam eder. Tüm çocuklar gezilir. “name” özniteliği “HW4” değerine eşit olan tüm “grade” nodları gezilir. Kenneth M.Anderson, CSCI 7818 Lecture
27
Do something here... “Select” özniteliği, döngü içinde gezilecek nodları seçen, bir Xpath ifadesidir. Kenneth M.Anderson, CSCI 7818 Lecture
28
Grade Book Grade: Kenneth M.Anderson, CSCI 7818 Lecture
29
Grade Book Grade: 10 Grade: 7 Grade: 6 Grade: 10 … more grades here... Kenneth M.Anderson, CSCI 7818 Lecture Grade Book Grade: 10 Grade: 7 Grade: 6 Grade: 10 HTML Result
30
Kenneth M.Anderson, CSCI 7818 Lecture <xsl:when test = “position()=last()”> Son eleman için işlem... <xsl:when test = “position()=first()”> Do something for first element Diğer elemanları için işlem...
31
Kenneth M.Anderson, CSCI 7818 Lecture Tüm “student” nodları seçilir, “name” kolonuna göre sıralanır ve tümüne şablon uygulanır.
32
Standartlar geniş – Genel bir giriş sunuldu. – Xpath Standard http://www.w3.org/TR/xpath XSLT Standard Referans http://www.w3.org/TR/xslt/ XSLT Genel http://www.xslt.com/ XSLT örnek http://www.w3schools.com/xsl/tryxslt.asp?xmlfile=cdc atalog&xsltfile=cdcatalog http://www.w3schools.com/xsl/tryxslt.asp?xmlfile=cdc atalog&xsltfile=cdcatalog XSLT Referans http://www.zvon.org/xxl/XSLTreference/Output/index. html Kenneth M.Anderson, CSCI 7818 Lecture
33
Michael P. Papazoglou, Web Services, 1st Edition, © Pearson Education Limited 2008. (Book Slides) Kenneth M.Anderson, CSCI 7818 – XSLT Overview http://www.cs.colorado.edu/~kena/classes/7818/f08/lectures/lecture_2_xslt_ overview.pdf http://www.cs.colorado.edu/~kena/classes/7818/f08/lectures/lecture_2_xslt_ overview.pdf XSLT ve Xpath resources http://www.w3schools.com .NET XML Tools Tutorial .NET Xpath Sample (Code Project) http://www.codeproject.com/KB/XML/gsxpathtutorial.aspx
34
İlginize teşekkürler...
Benzer bir sunumlar
© 2024 SlidePlayer.biz.tr Inc.
All rights reserved.