Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Cada elemento e atributo no esquema XSD é mapeado para uma tabela/exibição de banco de dados e coluna devido ao mapeamento padrão. Se você quiser criar um elemento no esquema XSD que não seja mapeado para nenhuma tabela de banco de dados (exibição) ou coluna e que não apareça no XML, você poderá especificar a sql:mapped anotação.
A sql:mapped anotação será especialmente útil se o esquema não puder ser modificado ou se o esquema for usado para validar XML de outras fontes e ainda contiver dados que não estão armazenados em seu banco de dados. A sql:mapped anotação difere de sql:is-constant que os elementos e atributos não mapeados não aparecem no documento XML.
A sql:mapped anotação usa um valor booliano (0 = false, 1 = true). Os valores aceitáveis são 0, 1, true e false.
Exemplos
Para criar exemplos de funcionamento usando os exemplos a seguir, é necessário atender a determinados requisitos. Para obter mais informações, consulte Requisitos para executar exemplos de SQLXML.
Um. Especificando a anotação sql:mapeada
Suponha que você tenha um esquema XSD de alguma outra fonte. Esse esquema XSD consiste em um <elemento Person.Contact> com atributos ContactID, FirstName, LastName e HomeAddress .
Ao mapear esse esquema XSD para a tabela Person.Contact no banco de dados AdventureWorks, sql:mapped é especificado no atributo HomeAddress porque a tabela Funcionários não armazena os endereços residencial dos funcionários. Como resultado, esse atributo não é mapeado para o banco de dados e não é retornado no documento XML resultante quando uma consulta XPath é especificada no esquema de mapeamento.
O mapeamento padrão ocorre para o restante do esquema. O <elemento Person.Contact> é mapeado para a tabela Person.Contact e todos os atributos são mapeados para as colunas com o mesmo nome na tabela Person.Contact.
<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" type="xsd:string"/>
<xsd:attribute name="FirstName" type="xsd:string" />
<xsd:attribute name="LastName" type="xsd:string" />
<xsd:attribute name="HomeAddress" type="xsd:string"
sql:mapped="false" />
</xsd:complexType>
</xsd:element>
</xsd:schema>
Para testar uma consulta XPath de exemplo com relação ao esquema
Copie o código de esquema acima e cole-o em um arquivo de texto. Salve o arquivo como sql-mapped.xml.
Copie o modelo a seguir e cole-o em um arquivo de texto. Salve o arquivo como sql-mappedT.xml no mesmo diretório em que você salvou sql-mapped.xml.
<ROOT xmlns:sql="urn:schemas-microsoft-com:xml-sql"> <sql:xpath-query mapping-schema="sql-mapped.xml"> /Person.Contact[@ContactID < 10] </sql:xpath-query> </ROOT>O caminho do diretório especificado para o esquema de mapeamento (MySchema.xml) é relativo ao diretório em que o modelo é salvo. Também é possível especificar um caminho absoluto, por exemplo:
mapping-schema="C:\MyDir\sql-mapped.xml"Crie e use o script de teste SQLXML 4.0 (Sqlxml4test.vbs) para executar o modelo.
Para obter mais informações, consulte Como usar o ADO para executar consultas SQLXML.
Este é o conjunto de resultados:
<ROOT xmlns:sql="urn:schemas-microsoft-com:xml-sql">
<Person.Contact ContactID="1" FirstName="Gustavo" LastName="Achong" />
<Person.Contact ContactID="2" FirstName="Catherine" LastName="Abel" />
<Person.Contact ContactID="3" FirstName="Kim" LastName="Abercrombie" />
<Person.Contact ContactID="4" FirstName="Humberto" LastName="Acevedo" />
<Person.Contact ContactID="5" FirstName="Pilar" LastName="Ackerman" />
<Person.Contact ContactID="6" FirstName="Frances" LastName="Adams" />
<Person.Contact ContactID="7" FirstName="Margaret" LastName="Smith" />
<Person.Contact ContactID="8" FirstName="Carla" LastName="Adams" />
<Person.Contact ContactID="9" FirstName="Jay" LastName="Adams" />
</ROOT>
Observe que o ContactID, FirstName e LastName estão presentes, mas HomeAddress não é porque o esquema de mapeamento especificado 0 para o sql:mapped atributo.
Consulte Também
Mapeamento padrão de elementos XSD e atributos para tabelas e colunas (SQLXML 4.0)