FOR XML 보안 고려 사항(SQLXML 4.0)
FOR XML AUTO 모드에서는 요소 이름이 테이블 이름에 매핑되고 특성 이름이 열 이름에 매핑되는 XML 계층이 생성됩니다. 이를 통해 데이터베이스 테이블과 열 정보가 표시됩니다. AUTO 모드(서버 쪽 서식)를 사용할 때는 쿼리에 테이블 별칭과 열 별칭을 지정하여 데이터베이스 정보를 숨길 수 있습니다. 이러한 별칭은 결과 XML 문서에 요소 이름과 특성 이름으로 반환됩니다.
예를 들어 다음 쿼리에서는 AUTO 모드를 지정하므로 XML 서식이 서버에서 지정됩니다.
SELECT C.FirstName as F,C.LastName as L
FROM Person.Contact C
FOR XML AUTO
다음과 같이 결과 XML 문서에서 요소 이름과 특성 이름에 별칭이 사용됩니다.
<?xml version="1.0" encoding="utf-8" ?>
<root>
<C F="Nancy" L="Fuller" />
<CE F="Andrew" L="Peacock" />
<C F="Janet" L="Leverling" />
...
</root>
NESTED 모드(클라이언트 쪽 서식)를 사용할 때는 결과 XML 문서에서 특성에 대해서만 별칭이 반환됩니다. 기본 테이블의 이름은 항상 요소 이름으로 반환됩니다. 예를 들어 다음 쿼리에서는 NESTED 모드를 지정합니다.
SELECT C.FirstName as F,C.LastName as L
FROM Person.Contact C
FOR XML AUTO
결과 XML 문서에서 기본 테이블의 이름은 요소 이름으로 반환되고 테이블 별칭은 사용되지 않습니다.
<?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>