ÀÌ ¹®¼¿¡¼´Â
XmlValidatingReader ¹×
XMLSchemaCollection °³Ã¼¸¦ È®ÀåÇÒ ÅÂ±× ¾ð¾î (XML) Á¶°¢À» XML ½ºÅ°¸¶¿¡ ´ëÇØ À¯È¿¼ºÀ» °Ë»çÇÏ´Â ¹æ¹ýÀ» ¼³¸íÇÕ´Ï´Ù.
XmlValidatingReaderXmlReader Ŭ·¡½º¸¦ ±¸ÇöÇϰí XML µ¥ÀÌÅÍ À¯È¿¼º °Ë»ç Áö¿øÀ» Á¦°øÇÕ´Ï´Ù.
XmlValidatingReader ÀÇ
½ºÅ°¸¶ ¼Ó¼ºÀÌ ÀÖ´Â
XmlSchemaCollection ij½ÃµÈ ½ºÅ°¸¶ ÆÄÀÏ ÆÇµ¶±â¸¦ ¿¬°áÇÕ´Ï´Ù.
XmlValidatingReaderValidationType ¼Ó¼ºÀ» ÆÇµ¶±â°¡ ¼öÇàÇÒ À¯È¿¼º °Ë»çÀÇ Çü½ÄÀ» ÁöÁ¤ÇÕ´Ï´Ù.
ValidationType.None ¼ö ÀÖ´Â ¼Ó¼ºÀ» ¼³Á¤ÇÏÁö ¾ÊÀ¸¸é nonvalidating ÆÇµ¶±â¸¦ ¸¸µì´Ï´Ù.
XmlSchemaCollection À§ÇØ XSD (XML ½ºÅ°¸¶ Á¤ÀÇ ¾ð¾î) ½ºÅ°¸¶¿Í XML-Data °¨¼Ò (XDR) ½ºÅ°¸¶¸¦ Ãß°¡ÇÒ ¼ö ÀÖ½À´Ï´Ù.
Add ¸Þ¼µå¸¦ ³×ÀÓ½ºÆäÀ̽º URI´Â ½ºÅ°¸¶¸¦ ·ÎµåÇÒ ¼ö ÀÖ½À´Ï´Ù. XML ½ºÅ°¸¶¸¦ ÀϹÝÀûÀÎ ³×ÀÓ½ºÆäÀ̽º URI¸¦ ½ºÅ°¸¶¿¡
targetNamespace ¼Ó¼ºÀÔ´Ï´Ù.
¿ä±¸ »çÇ×
´ÙÀ½Àº ±ÇÀåµÇ´Â Çϵå¿þ¾î, ¼ÒÇÁÆ®¿þ¾î, ³×Æ®¿öÅ© ÀÎÇÁ¶ó ¹× ÇÊ¿äÇÑ ¼ºñ½º ÆÑÀÇ ¸ñ·ÏÀÔ´Ï´Ù.
- Microsoft Visual Studio ȣȯµÇ´Â Microsoft Windows ¿î¿µ üÁ¦¿¡ ¼³Ä¡µÈ .NET
ÀÌ ¹®¼¿¡¼´Â »ç¿ëÀÚ°¡ ´ÙÀ½ Ç׸ñÀ» Àß ¾Ë°í ÀÖ´Ù°í °¡Á¤ÇÕ´Ï´Ù.
- Visual Basic .NET
- ±âº» XML Ç¥ÁØ
- XSD ½ºÅ°¸¶
XSD ½ºÅ°¸¶ ¸¸µé±â
C:\Books.xsd ¶ó´Â »õ ÅØ½ºÆ® ÆÄÀÏ¿¡ ´ÙÀ½ Äڵ带 ºÙ¿©:
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns="urn:bookstore-schema" elementFormDefault="qualified" targetNamespace="urn:bookstore-schema">
<xsd:element name="bookstore" type="bookstoreType" />
<xsd:element name="comment" type="xsd:string" />
<xsd:element name="author" type="authorName"/>
<xsd:complexType name="authorName">
<xsd:sequence>
<xsd:element name="first-name" type="xsd:string" />
<xsd:element name="last-name" type="xsd:string" />
</xsd:sequence>
</xsd:complexType>
<xsd:complexType name="bookstoreType">
<xsd:sequence maxOccurs="unbounded">
<xsd:element name="book" type="bookType" />
<xsd:element ref="comment" minOccurs="0" />
</xsd:sequence>
</xsd:complexType>
<xsd:complexType name="bookType">
<xsd:sequence>
<xsd:element name="title" type="xsd:string" />
<xsd:element ref="author" />
<xsd:element name="price" type="xsd:decimal" />
</xsd:sequence>
<xsd:attribute name="genre" type="xsd:string" />
</xsd:complexType>
</xsd:schema>
Visual Basic .NET ÀÀ¿ë ÇÁ·Î±×·¥ ¸¸µé±â
- ¸¸µé »õ Visual Basic .NET Windows ÀÀ¿ë ÇÁ·Î±×·¥.
- Button1 Form1¿¡ ²ü´Ï´Ù. Class Form1 Àü¿ë ¸â¹ö º¯¼ö¸¦ Ãß°¡ÇÏ·Á¸é ´ÙÀ½ Äڵ带 ºÙ¿© ³Ö½À´Ï´Ù.
- XMLValidatingReader °³Ã¼ À¯È¿¼º °Ë»ç ¿À·ù¸¦ ¹ß»ý½ÃŰ´Â ValidationEventHandler ¸¸µé·Á¸é ´ÙÀ½ ÇÏÀ§ ÇÁ·Î½ÃÀúÀÇ ºÙ¿©³Ö±â:
Public Sub ValidationEventHandle(ByVal sender As Object, ByVal args As ValidationEventArgs)
m_success = False
Console.WriteLine((ControlChars.CrLf & ControlChars.Tab & "Validation error: " & args.Message))
End Sub 'ValidationEventHandle
Âü°í: µ¥ÀÌÅÍ Çü½Ä Á¤ÀÇ (DTD¿¡¼)¸¦ »ç¿ëÇÏ¿© XML-Data °¨¼Ò (XDR) À¯È¿¼º °Ë»ç ¿À·ù¿¡ ´ëÇÑ Á¤º¸¸¦ ¹ÞÀ» À̺¥Æ® 󸮱⸦ Æ÷ÇÔÇØ¾ß ÇÕ´Ï´Ù ½ºÅ°¸¶ ¹× XML ½ºÅ°¸¶ Á¤ÀÇ ¾ð¾î(XSD) ½ºÅ°¸¶¸¦. À̺¥Æ® 󸮱â´Â ÀÌ À̺¥Æ®¿Í °ü·ÃµÈ µ¥ÀÌÅ͸¦ Æ÷ÇÔÇÏ´Â ValidationEventArgs Çü½ÄÀÇ Àμö¸¦ ¹Þ½À´Ï´Ù.
Äݹé 󸮱⸦ ValidationEventArgs.Severity ¼Ó¼ºÀ» »ç¿ëÇÏ¿© ½ºÅ°¸¶¿¡ ´ëÇØ XML ÀνºÅϽº ¹®¼ÀÇ À¯È¿¼ºÀ» º¸ÀåÇÒ ¼ö ÀÖ½À´Ï´Ù. ½É°¢µµ ¼Ó¼ºÀ» »ç¿ëÇϸé Ä¡¸íÀûÀÎ ¿À·ù ³ªÅ¸³À´Ï´Ù (½É°¢µµ ¼ö XmlSeverityType.Error °°ÀºÁö) À¯È¿¼º °Ë»ç ¿À·ù°¡ ÀÖ´Â À¯È¿¼º °Ë»ç ±¸ºÐÇÒ ¼ö ÀÖ½À´Ï´Ù (½É°¢µµ ¼ö XmlSeverityType.Warning °°ÀºÁö) °æ°í ½ºÅ°¸¶ Á¤º¸¸¦ »ç¿ëÇÒ ¼ö ÀÖÀ½À» ³ªÅ¸³À´Ï´Ù. - Button1_Click À̺¥Æ® ÇÁ·Î½ÃÀú¿¡ ´ÙÀ½ Äڵ带 ºÙ¿©:
Dim reader As XmlValidatingReader = Nothing
Dim myschema As New XmlSchemaCollection()
Try
'Create the XML fragment to be parsed.
Dim xmlFrag As String = "<author xmlns='urn:bookstore-schema' xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance'>" & _
"<first-name>Herman</first-name>" & _
"<last-name>Melville</last-name>" & _
"</author>"
'Create the XmlParserContext.
Dim context As New XmlParserContext(Nothing, Nothing, "", XmlSpace.None)
'Implement the reader.
reader = New XmlValidatingReader(xmlFrag, XmlNodeType.Element, context)
'Add the schema.
myschema.Add("urn:bookstore-schema", "Books.xsd")
'Set the schema type and add the schema to the reader.
reader.ValidationType = ValidationType.Schema
reader.Schemas.Add(myschema)
'Add the handler to raise the validation event.
AddHandler reader.ValidationEventHandler, AddressOf Me.ValidationEventHandle
While reader.Read
End While
Console.WriteLine("Completed validating xmlfragment")
Catch XmlExp As XmlException
Console.WriteLine(XmlExp.Message)
Catch XmlSchExp As XmlSchemaException
Console.WriteLine(XmlSchExp.Message)
Catch GenExp As Exception
Console.WriteLine(GenExp.Message)
End Try
End Sub
- Ãâ·Â â¿¡ ´ÙÀ½ ¸Þ½ÃÁö°¡ Ç¥½ÃµÉ ¶§ À¯È¿ÇÑ ¿ä¼Ò XML Á¶°¢ÀÌ ÀÖ´Â:
Completed validating xmlfragment
Âü°í:
XMLValidatingReader °³Ã¼ Çü½Ä ¼±¾ð°ú ÃÖ»óÀ§ ¿ä¼Ò¸¦ XML ½ºÅ°¸¶ÀÇ À¯È¿¼ºÀ» °Ë»çÇÕ´Ï´Ù. ÇÏÀ§ ¿ä¼Ò (¿¹: XML ´ÜÆíÀº ·ÎÄà °£Áֵ˴ϴÙ. ÃÖ»óÀ§ ¿ä¼Ò·Î XML ´ÜÆíÀ» ¼±¾ðÇϰí ÂüÁ¶°¡ ÇÊ¿äÇÑ ¼öÁØÀ¸·Î ¼³Á¤µÈ °æ¿ì°¡ ¾Æ´Ï¸é Á÷Á¢ À¯È¿¼º °Ë»ç¸¦ À§ÇØ
XmlValidatingReader XML ´ÜÆíÀ» Àü´ÞÇÒ ¼ö ¾ø½À´Ï´Ù.
ÀÚ¼¼ÇÑ ³»¿ëÀº Microsoft ±â¼ú ÀÚ·á ¹®¼¸¦ º¸·Á¸é ÇØ´ç ÀÚ·áÀÇ ¹®¼¸¦ ÂüÁ¶ÇϽʽÿÀ.
307379
(http://support.microsoft.com/kb/307379/EN-US/
)
¹æ¹ý: DTD, XDR, ¶Ç´Â XSD¿¡¼ Visual C# .NETÀ» »ç¿ëÇÏ¿© XML ¹®¼ À¯È¿¼º °Ë»ç
313826
(http://support.microsoft.com/kb/313826/EN-US/
)
.NET Framework´Â XML ½ºÅ°¸¶¿¡¼ Á¤º¸: ·Îµå¸Ê
313651
(http://support.microsoft.com/kb/313651/EN-US/
)
.NET Framework¿¡¼ XML Á¤º¸: ·Îµå¸Ê
ÀÚ¼¼ÇÑ ³»¿ëÀº ´ÙÀ½ MSDN À¥ »çÀÌÆ®:
±â¼ú ÀÚ·á: 317463 - ¸¶Áö¸· °ËÅä: 2003³â 9¿ù 3ÀÏ ¼ö¿äÀÏ - ¼öÁ¤: 2.2
º» ¹®¼ÀÇ Á¤º¸´Â ´ÙÀ½ÀÇ Á¦Ç°¿¡ Àû¿ëµË´Ï´Ù.
- Microsoft Visual Basic .NET 2003 Standard Edition
- Microsoft Visual Basic .NET 2002 Standard Edition
- Microsoft .NET Framework 1.1
- Microsoft .NET Framework 1.0
| kbmt kbhowtomaster KB317463 KbMtko |
±â°è ¹ø¿ªµÈ ¹®¼Áß¿ä: º» ¹®¼´Â Àü¹® ¹ø¿ª°¡°¡ ¹ø¿ªÇÑ °ÍÀÌ ¾Æ´Ï¶ó Microsoft ±â°è ¹ø¿ª ¼ÒÇÁÆ®¿þ¾î·Î ¹ø¿ªÇÑ °ÍÀÔ´Ï´Ù. Microsoft´Â ¹ø¿ª°¡°¡ ¹ø¿ªÇÑ ¹®¼ ¹× ±â°è ¹ø¿ªµÈ ¹®¼¸¦ ¸ðµÎ Á¦°øÇϹǷΠMicrosoft ±â¼ú ÀÚ·á¿¡ ÀÖ´Â ¸ðµç ¹®¼¸¦ Çѱ۷ΠÁ¢ÇÒ ¼ö ÀÖ½À´Ï´Ù. ±×·¯³ª ±â°è ¹ø¿ª ¹®¼°¡ Ç×»ó ¿Ïº®ÇÑ °ÍÀº ¾Æ´Õ´Ï´Ù. µû¶ó¼ ±â°è ¹ø¿ª ¹®¼¿¡´Â ¸¶Ä¡ ¿Ü±¹ÀÎÀÌ Çѱ¹¾î·Î ¸»ÇÒ ¶§ ½Ç¼ö¸¦ ÇÏ´Â °Íó·³ ¾îÈÖ, ±¸¹® ¶Ç´Â ¹®¹ý¿¡ ¿À·ù°¡ ÀÖÀ» ¼ö ÀÖ½À´Ï´Ù. Microsoft´Â ³»¿ë»óÀÇ ¿À¿ª ¶Ç´Â Microsoft °í°´ÀÌ ÀÌ·¯ÇÑ ¿À¿ªÀ» »ç¿ëÇÔÀ¸·Î½á ¹ß»ýÇÏ´Â ºÎ Á¤È®¼º, ¿À·ù ¶Ç´Â ¼ÕÇØ¿¡ ´ëÇØ Ã¥ÀÓÀ» ÁöÁö ¾Ê½À´Ï´Ù. Microsoft´Â ÀÌ·¯ÇÑ ¹®Á¦¸¦ ÇØ°áÇϱâ À§ÇØ ±â°è ¹ø¿ª ¼ÒÇÁÆ®¿þ¾î¸¦ ÀÚÁÖ ¾÷µ¥ÀÌÆ®Çϰí ÀÖ½À´Ï´Ù.