다음 코드 조각은 XSD 확장 함수를 사용하여 XSD 데이터 형식을 기준으로 노드를 반환하는 방법을 보여 줍니다. 이 예제 코드는 type-is 함수를 사용하여 문서에서 첫 번째 문자열 데이터 형식을 반환하고 type-local-name 함수를 사용하여 이 문자열 데이터 형식의 노드 목록을 반환합니다.
Visual Basic 코드는 XMLSchemaCache60 개체를 만들고 이 개체에 네임스페이스 URI 선언(urn:books) 및 스키마(books.xsd)를 추가한 다음 DOMDocument 개체의 schemas 속성을 사용하여 스키마를 참조합니다. 코드에서 SelectionLanguage 속성은 XPath로 설정되고 SelectionNamespaces 속성은 "xmlns:ms='urn:schemas-microsoft-com:xslt"로 설정되어 ms: 네임스페이스 접두사를 사용할 수 있습니다. books.xml 파일이 DOMDocument 개체에 로드되면 유효성 검사가 수행됩니다. DOMDocument 개체의 parseError 속성을 사용하면 유효성 검사 오류가 반환됩니다.
예제를 실행하려면
아래의 코드를 Command1_Click 프로시저에 복사합니다. 복사를 완료한 코드는 아래 코드 조각의 코드와 같습니다.
Visual Basic 도구 모음에서 시작을 클릭하고 form1에서 Command1 단추를 클릭합니다.
예제를 실행하면 Set objNodeList = xmldom.selectNodes "//*[ms:type-is('http://www.w3.org/2001/XMLSchema','string')]") 문은 데이터 형식 문자열의 노드 목록을 반환합니다. For/Next 루프가 전체 노드에서 반복되며 각 노드의 텍스트가 메시지 상자에 표시됩니다.