Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Şunlar için geçerlidir:SQL Server
Azure SQL Veritabanı
XSD şemasında bir XPath sorgusu yürütürken, sonuçta elde edilen XML belgesinde şemada belirtilen öğeler ve öznitelikler bulunur. sql:hide ek açıklamasını kullanarak bazı öğelerin ve özniteliklerin şemada gizleneceğini belirtebilirsiniz. Sorgunun seçim ölçütleri şemada belirli öğeler veya öznitelikler gerektirdiğinde, ancak bunların oluşturulan XML belgesinde döndürülmesini istemediğinizde bu yararlı olur.
sql:hide ek açıklaması boole değeri alır (0=false, 1=true). Kabul edilebilir değerler 0, 1, true ve false'tur.
Örnekler
Aşağıdaki örnekleri kullanarak çalışma örnekleri oluşturmak için belirli gereksinimleri karşılamanız gerekir. Daha fazla bilgi için bkz. SQLXML Örneklerini Çalıştırma Gereksinimleri.
A. Bir öznitelikte sql:hide belirtme
Bu örnekteki XSD şeması, ContactID, FirstNameve LastName özniteliklerine sahip bir <Person.Contact> öğesinden oluşur.
<Person.Contact> öğesi karmaşık türdedir ve bu nedenle aynı addaki tabloya (varsayılan eşleme) eşler. <Person.Contact> öğesinin tüm öznitelikleri basit türdedir ve AdventureWorks veritabanındaki Person.Contactable dosyasında aynı adlara sahip sütunlara eşlenir. Şemada sql:hide ek açıklaması ContactID özniteliğinde belirtilir. Bu şemada bir XPath sorgusu belirtildiğinde, XML belgesinde ContactID döndürülmüyor.
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:sql="urn:schemas-microsoft-com:mapping-schema">
<xsd:element name="Person.Contact" >
<xsd:complexType>
<xsd:attribute name="ContactID" sql:hide="true" />
<xsd:attribute name="FirstName" type="xsd:string" />
<xsd:attribute name="LastName" type="xsd:string" />
</xsd:complexType>
</xsd:element>
</xsd:schema>
Şemada örnek bir XPath sorgusunu test etmek için
Yukarıdaki şema kodunu kopyalayın ve bir metin dosyasına yapıştırın. Dosyayı Hide.xmlolarak kaydedin.
Aşağıdaki şablonu kopyalayın ve bir metin dosyasına yapıştırın. dosyayı HideT.xml olarak Hide.xmlkaydettiğiniz dizine kaydedin.
<ROOT xmlns:sql="urn:schemas-microsoft-com:xml-sql"> <sql:xpath-query mapping-schema="Hide.xml"> /Person.Contact[@ContactID="1"] </sql:xpath-query> </ROOT>Eşleme şeması (Hide.xml) için belirtilen dizin yolu, şablonun kaydedildiği dizine göre belirlenir. Mutlak bir yol da belirtilebilir, örneğin:
mapping-schema="C:\MyDir\Hide.xml"Şablonu yürütmek için SQLXML 4.0 Test Betiğini (Sqlxml4test.vbs) oluşturun ve kullanın.
Daha fazla bilgi için bkz. SQLXML 4.0 Sorguları Yürütmek için ADO Kullanma.
Sonuç kümesi aşağıdadır:
<ROOT xmlns:sql="urn:schemas-microsoft-com:xml-sql">
<Person.Contact FirstName="Gustavo" LastName="Achong" />
</ROOT>
bir öğede sql:hide belirtildiğinde, öğesi ve öznitelikleri veya alt öğeleri oluşturulan XML belgesinde görünmez. <OD> öğesinde sql:hide belirtildiği başka bir XSD şeması aşağıda belirtilmiştir:
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:dt="urn:schemas-microsoft-com:datatypes"
xmlns:sql="urn:schemas-microsoft-com:mapping-schema">
<xsd:annotation>
<xsd:documentation>
Sales.Customer-Sales.SalesOrderHeader-Sales.SalesOrderDetail Schema
Copyright 2004 Microsoft. All rights reserved.
</xsd:documentation>
<xsd:appinfo>
<sql:relationship name="CustomerOrder"
parent="Sales.Customer"
parent-key="CustomerID"
child-key="CustomerID"
child="Sales.SalesOrderHeader" />
<sql:relationship name="OrderOrderDetails"
parent="Sales.SalesOrderHeader"
parent-key="SalesOrderID"
child-key="SalesOrderID"
child="Sales.SalesOrderDetail"/>
</xsd:appinfo>
</xsd:annotation>
<xsd:element name="Customers" sql:relation="Sales.Customer">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="Order" sql:relation="Sales.SalesOrderHeader"
maxOccurs="unbounded"
sql:relationship="CustomerOrder">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="OD" sql:relation="Sales.SalesOrderDetail" maxOccurs="unbounded" sql:relationship="OrderOrderDetails" sql:hide="1">
<xsd:complexType>
<xsd:attribute name="SalesOrderID" type="xsd:string"/>
<xsd:attribute name="ProductID" type="xsd:string"/>
</xsd:complexType>
</xsd:element>
</xsd:sequence>
<xsd:attribute name="CustomerID" type="xsd:string"/>
<xsd:attribute name="OID" sql:field="SalesOrderID"
type="xsd:string"/>
<xsd:attribute name="OrderDate" type="xsd:date"/>
</xsd:complexType>
</xsd:element>
</xsd:sequence>
<xsd:attribute name="CID" sql:field="CustomerID"
type="xsd:string"/>
</xsd:complexType>
</xsd:element>
</xsd:schema>
Bu şemada bir XPath sorgusu (örneğin /Customers[@CID="1"]) belirtildiğinde, oluşturulan XML belgesi bu kısmi sonuçta gösterildiği gibi <OD> öğesini ve alt öğelerini içermez:
<ROOT xmlns:sql="urn:schemas-microsoft-com:xml-sql">
<Customers CID="1">
<Order CustomerID="1" OID="43860" OrderDate="2001-08-01" />
<Order CustomerID="1" OID="44501" OrderDate="2001-11-01" />
<Order CustomerID="1" OID="45283" OrderDate="2002-02-01" />
<Order CustomerID="1" OID="46042" OrderDate="2002-05-01" />
</Customers>
</ROOT>