Chương 3. Web Feature Service (WFS)
44
<simpleType>
<restriction base="string">
<maxLength value="10"/>
</restriction>
</simpleType>
</element>
<element name="City" nillable="true">
<simpleType>
<restriction base="string">
<maxLength value="30"/>
</restriction>
</simpleType>
</element>
<element name="Province" nillable="true">
<simpleType>
<restriction base="string">
<maxLength value="30"/>
</restriction>
</simpleType>
</element>
<element name="PostalCode" nillable="true">
<simpleType>
<restriction base="string">
<maxLength value="15"/>
</restriction>
</simpleType>
</element>
<element name="Country" nillable="true">
<simpleType>
<restriction base="string">
<maxLength value="30"/>
</restriction>
Chương 3. Web Feature Service (WFS)
45
</simpleType>
</element>
</sequence>
</complexType>
</schema>
Chú ý là thuc tính Address là 1 thuc tính phc hp thuc loi AddressType.
Mt Feature person có th được mô t như sau:
<?xml version="1.0" ?>
<myns:Person
sin="111222333"
xmlns:myns=http://www.opengis.net/myns
xmlns:gml=http://www.opengis.net/gml
xmlns:xlink=http://www.w3.org/1999/xlink
xmlns:xsi=http://www.w3.org/2001/XMLSchema-instance
xsi:schemaLocation="http://www.opengis.net/myns
erson.xsd">
<myns:LastName>Smith</myns:LastName>
<myns:FirstName>Fred</myns:FirstName>
<myns:Age>35</myns:Age>
<myns:Sex>Male</myns:Sex>
<myns:Spouse sin="444555666" />
<myns:Location>
<gml:Point>
<gml:coordinates>15,15</gml:coordinates>
</gml:Point>
</myns:Location>
<myns:Address>
<myns:StreetName>Main St.</myns:StreetName>
<myns:StreetNumber>5</myns:StreetNumber>
<myns:City>SomeCity</myns:City>
Chương 3. Web Feature Service (WFS)
46
<myns:Province>SomeProvince</myns:Province>
<myns:PostalCode>X1X 1X1</myns:PostalCode>
<myns:Country>Canada</myns:Country>
</myns:Address>
<myns:Phone>416-123-4567</myns:Phone>
<myns:Phone>416-890-1234</myns:Phone>
</myns:Person>
S dng biếu thc XPath thì các thuc tính ca Feature Person có th đưc tham
chiếu như dưới đây:
LastName
FirstName
Age
Sex
Source
Location
Address
Address/StreetNumber
Address/StreetName
Address/City
Address/Province
Address/Postal_Code
Address/Country
Phone[1]
Phone[2]
Chú ý là đối vi Feature này thì mi đường dn đưc bt đầu bng thành phn
gc ca thuc tính ca Feature đang được tham chiếu, tương ng vi tên ca thuc
tính. Mi thuc tính được tham chiếu ti bi loi đường dn này có th được bt
đầu bi thành phn gc ca Feature (chính là tên loi Feature). Do đó thuc tính
LastName có th được tham chiếu bng đường dn Person/LastName. Thuc tính
City có th được tham chiếu ti bi đường dn Person/Address/City.
Chương 3. Web Feature Service (WFS)
47
Thành phn Phone xut hin nhiu ln và v t [1], [2] được dùng để ch c th
thành phn này là thành phn th my. V t [1] dùng để ch ln xut hin th nht
ca thành phn Phone, v t [2] ch ln xut hin th 2 ca thành phn Phone.
3.3.6. Thành phn <Native>
Mi nhà cung cp chđược mt s kh năng nht định nào đó.
Thành phn <Native> được dùng để truy xut đến các kh năng riêng ca tng
nhà cung cp ca mt Web Feature Service nào đó.
Thành phn <Native> được định nghĩa như sau:
<xsd:element name="Native" type="wfs:NativeType"/>
<xsd:complexType name="NativeType">
<xsd:any />
<xsd:attribute name="vendorId" type="xsd:string"
use="required"/>
<xsd:attribute name="safeToIgnore" type="xsd:boolean"
use="required"/>
</xsd:complexType>
Thành phn này ch đơn gin cha lnh (command ) hoc là thao tác (operation)
riêng bit ca nhà cung cp.
Thuc tính VendorId được dùng để ch nhà cung cp hiu lnh và thao tác được
mô t trong thành phn <Native>. Thuc tính này được đưa ra để cho mt Web
Feature Service biết là nó có th xđược mt lnh nào đó hay không.
Thuc tình safeToIgnore ch cho Web Feature Service biết là nó nên làm gì nếu
như nó không nhn ra các lnh hay các thao tác đó. Thuc tính safeToIgnore có 2
giá tr là True và False, ý nghĩa ca chúng như sau:
Nếu safeToIgnore=False thì Web Feature Service không th b qua thao tác
được yêu cu, nếu như nó không th gii quyết được thì coi như thao tác này tht
bi.
Nếu safeToIgnore=True thì Web Feature Service có th b qua thành phn
<Native> này.
Chương 3. Web Feature Service (WFS)
48
Ví d: mô t cách dùng thành phn <Native> để kích hot mt chc năng ca
mt cơ s d liu quan h da trên SQL. Thành phn <Native> này ch ra rng đây
là mt lnh Oracle và lnh này có th b qua:
<Native vendorId="Oracle" safeToIgnore="True">
ALTER SESSION ENABLE PARALLEL DML
</Native>
3.3.7. Filter
Mt Filter định nghĩa mt tp hp Feature s được thao tác. Tp hp này có th
bao gm mt hoc nhiu Feature (có th đếm được) hoc mt tp hp các Feature
được định nghĩa bi các ràng buc không gian hoc phi không gian (đây là các ràng
buc trên các thuc tính vô hướng hay các thuc tính địa lý ca các loi đối tượng).
Các Filter này được mô t trong tài liu OGC Filter Encoding Implementation
Specification.
3.3.8. Thông báo v các bit l (Exception Reporting)
Nếu như Web Feature Service gp phi li khi x lí mt truy vn nào đó hoc là
khi nó không hiu được mt câu truy vn nào đó, nó có th phát sinh mt tài liu
XML để ch ra li đã xy ra. Định dng ca loi tài liu dùng để thông báo li này
được mô t bi lược đồ thông báo li (định nghĩa trong phn A.2).
Mt thành phn <ServiceExceptionReport> có th cha mt hoc nhiu li.
Thuc tính bt buc version được dùng để ch phiên bn ca lược đồ thông báo li.
Trong phiên bàn WFS này thì giá tr này c định là 1.2.0.
Các thông báo li c th được cha trong thành phn <ServiceException>.
Thuc tính tùy chn code dùng để ch mã li ca li phát sinh. Thuc tính tùy chn
locator được dùng để ch nơi gây ra li trong câu truy vn. Mt s thành phn trong
tài liu này cha thuc tính handle, thuc tính này liên kết mt cái tên gi nh vi
mi thành phn. Nếu thuc tính này tn ti thì giá tr ca nó có th xut hin trong
thuc tính Locator ca thành phn <ServiceException> . Nếu như thuc tính này