Condividi tramite


Considerazioni sulla protezione per FOR XML (SQLXML 4.0)

La modalità FOR XML AUTO genera una gerarchia XML in cui i nomi di elemento vengono mappati ai nomi di tabella e i nomi di attributo vengono mappati ai nomi di colonna. In questo modo vengono esposte le informazioni sulle colonne e sulle tabelle di database. È possibile nascondere le informazioni del database quando si utilizza la modalità AUTO (formattazione sul lato server) specificando gli alias di colonne e di tabelle nella query. Questi alias vengono restituiti nel documento XML risultante come nomi di elemento e di attributo.

Nella query seguente ad esempio viene specificata la modalità AUTO; pertanto, la formattazione XML viene eseguita nel server:

SELECT C.FirstName as F,C.LastName as L 
FROM Person.Contact C 
FOR XML AUTO

Nel documento XML risultante vengono utilizzati gli alias per i nomi di elemento e di attributo:

  <?xml version="1.0" encoding="utf-8" ?> 
  <root>
    <C F="Nancy" L="Fuller" /> 
    <CE F="Andrew" L="Peacock" /> 
    <C F="Janet" L="Leverling" /> 
    ...
  </root>

Quando si utilizza la modalità NESTED (formattazione sul lato client), gli alias vengono restituiti solo per gli attributi nel documento XML risultante. I nomi delle tabelle di base vengono restituiti sempre come nomi di elemento. Ad esempio, nella query seguente viene specificata la modalità NESTED.

SELECT C.FirstName as F,C.LastName as L 
FROM Person.Contact C 
FOR XML AUTO

Nel documento XML risultante i nomi delle tabelle di base vengono restituiti come nomi di elemento e gli alias di tabella non vengono utilizzati:

  <?xml version="1.0" encoding="utf-8" ?> 
  <root>
    <Person.Contact F="Nancy" L="Fuller" /> 
    <Person.Contact F="Andrew" L="Peacock" /> 
    <Person.Contact F="Janet" L="Leverling" /> 
         ...
  </root>