다음을 통해 공유


XDR 스키마에 특성의 기본값 지정(XDR 스키마)

중요 정보중요

이 항목은 레거시 응용 프로그램에 대한 참조용으로 포함되었습니다. 이 기능에 대해서는 이후 개발 작업이 진행되지 않습니다. 새 개발 작업에서는 이 기능을 사용하지 마십시오. 대신 주석이 추가된 XSD 스키마를 사용하여 XML 뷰를 만드십시오. 자세한 내용은 주석이 추가된 XSD 스키마 소개(SQLXML 4.0)를 참조하십시오. 주석이 추가된 기존 XDR 스키마를 XSD 스키마로 변환할 수 있습니다. 자세한 내용은 주석이 추가된 XDR 스키마를 해당 XSD 스키마로 변환(SQLXML 4.0)을 참조하십시오.

데이터베이스의 열에 기본값을 할당할 수 있습니다. 마찬가지로, XDR 스키마의 특성에 기본값을 설정할 수 있습니다. XDR 스키마의 요소에는 기본값을 할당할 수 없습니다. XDR 스키마를 사용하면 **<AttributeType>**에 default 특성을 지정할 수 있습니다.

특성과 관련된 열 값이 NULL이면 해당 특성이 요소 인스턴스에 대해 반환되지 않습니다. 그러나 **<AttributeType>**에 default 특성을 지정하면 기본값이 지정되어 해당 특성이 반환됩니다.

예를 들어 데이터베이스의 데이터를 XML 문서로 추출할 때 특성 값 중 하나가 없으면 XDR 스키마에 있는 해당 특성의 기본값이 사용됩니다.

[!참고]

반환되는 문서에 기본값이 표시되지 않을 수도 있습니다. 대신 이 값은 특성이 없을 때마다 유효성 검사 파서에서 사용됩니다.

[!참고]

스키마 인식 파서를 사용하는 경우 기본값이 사용됩니다. 즉, MSXML 파서의 경우 resolveExternals 플래그가 TRUE(기본값)로 설정되었는지 확인해야 합니다. 그런 후에 파서에서 스키마를 인출합니다. 구문 분석되면 특성이 XML 문서에 포함되어 있는지 여부에 관계없이 개별 인스턴스에 기본값이 지정된 특성이 있습니다. DOM에서 기본값을 제공합니다.

다음 예를 사용하여 작업 예제를 만들려면 특정 요구 사항이 충족되어야 합니다. 자세한 내용은 SQLXML 예 실행을 위한 요구 사항을 참조하십시오.

1. XDR 스키마에 특성의 기본값 지정

이 예에서 Title 특성에는 기본값 "XYZ"가 지정됩니다. 연락처 레코드를 검색하면 직함이 없는 연락처에 대해 기본값이 할당됩니다.

<?xml version="1.0" ?>
<Schema xmlns="urn:schemas-microsoft-com:xml-data"
        xmlns:dt="urn:schemas-microsoft-com:datatypes"
        xmlns:sql="urn:schemas-microsoft-com:xml-sql">

<ElementType name="Person.Contact" >
    <AttributeType name="CID" />
    <AttributeType name="FirstName" />
    <AttributeType name="LastName" />
    <AttributeType name="Title" default="XYZ"/>

    <attribute type="CID" sql:field="ContactID" />
    <attribute type="FirstName" />
    <attribute type="LastName" />
    <attribute type="Title"  />
</ElementType>
</Schema>

스키마에 대해 예제 XPath 쿼리를 테스트하려면

  1. 위 스키마 코드를 복사한 후 텍스트 파일에 붙여넣습니다. 파일을 DefaultValueXdr.xml로 저장합니다.

  2. 다음 템플릿을 복사한 후 텍스트 파일에 붙여넣습니다. DefaultValueXdr.xml을 저장한 디렉터리와 같은 디렉터리에 DefaultValueXdrT.xml로 파일을 저장합니다.

    <ROOT xmlns:sql="urn:schemas-microsoft-com:xml-sql">
      <sql:xpath-query mapping-schema="DefaultValueXdr.xml">
        /Person.Contact[@CID &gt; 1000 and @CID &lt; 1006]
      </sql:xpath-query>
    </ROOT>
    

    매핑 스키마(DefaultValueXdr.xml)에 대해 지정된 디렉터리 경로는 템플릿이 저장된 디렉터리에 상대적입니다. 또한 다음과 같이 절대 경로를 지정할 수 있습니다.

    mapping-schema="C:\MyDir\DefaultValueXdr.xml"
    
  3. SQLXML 4.0 테스트 스크립트(Sqlxml4test.vbs)를 만든 다음 이 스크립트를 사용하여 템플릿을 실행합니다.

    자세한 내용은 ADO를 사용하여 SQLXML 4.0 쿼리 실행을 참조하십시오.

결과 집합은 다음과 같습니다.

<ROOT xmlns:sql="urn:schemas-microsoft-com:xml-sql">
  <Person.Contact CID="1001" FirstName="Terri" LastName="Duffy" /> 
  <Person.Contact CID="1002" FirstName="Roberto" LastName="Tamburello" /> 
  <Person.Contact CID="1003" FirstName="Michael" LastName="Sullivan" /> 
  <Person.Contact CID="1004" FirstName="Sharon" LastName="Salavaria" /> 
  <Person.Contact CID="1005" FirstName="Gail" LastName="Erickson" Title="Ms." /> 
</ROOT>

참고 항목

참조