|
доступ к параметрам XSD
|
|||
---|---|---|---|
#18+
Имеется XSD, с описание элемента в виде: <xs:element name="NAME_ELEMENT" type="TYPE_ELEMENT"> <xs:annotation> <xs:documentation>DESCRIPTION_ELEMENT</xs:documentation> </xs:annotation> </xs:element> Проверяю XML на соответствие XSD, используя msxml6 var xmlDoc : IXMLDOMDocument3; xsdDoc : IXMLDOMSchemaCollection2; xmlErr : IXMLDOMParseError2; begin xmlDoc:=CoDOMDocument60.Create; xmlDoc.async:=False; xmlDoc.validateOnParse:=False; xmlDoc.setProperty('MultipleErrorMessages',True); xmlDoc.load(FileName); xsdDoc:=CoXMLSchemaCache60.Create; xsdDoc.add('','SHEMA.xsd'); xmlDoc.schemas:=xsdDoc; xmlErr:=xmlDoc.validate as IXMLDOMParseError2; for i:=0 to xmlErr.allErrors.length-1 do begin for j:=0 to xmlErr.allErrors.item[i].errorParametersCount-1 do str:=str+#10#13+'Параметр'+IntToStr(j)+' '+xmlErr.allErrors.item[i].errorParameters(j)+#10#13; ShowMessage(str+#10#13+ 'CODE '+#10#13+IntToStr(xmlErr.allErrors.item[i].errorCode)+#10#13+ 'ERRORXPATH '+#10#13+xmlErr.allErrors.item[i].errorXPath+#10#13+ 'REASON '+#10#13+xmlErr.allErrors.item[i].reason+#10#13+ 'SRCTEXT '+#10#13+xmlErr.allErrors.item[i].srcText+#10#13+ 'URL '+#10#13+xmlErr.allErrors.item[i].url+#10#13+ 'LINE '+#10#13+IntToStr(xmlErr.allErrors.item[i].line)+#10#13+ 'LINEPOS '+#10#13+IntToStr(xmlErr.allErrors.item[i].linepos)+#10#13+ 'FILEPOS '+#10#13+IntToStr(xmlErr.allErrors.item[i].linepos)); end; end; Все работает. Как мне вывести DESCRIPTION_ELEMENT из <xs:documentation>? Плиз, помогите разобраться... ... |
|||
:
Нравится:
Не нравится:
|
|||
22.12.2009, 13:12 |
|
доступ к параметрам XSD
|
|||
---|---|---|---|
#18+
А никак. Доступ к <xsd:ahhotation> через SOM осуществляется только в режиме Write Only. Единственный выход - рассматривать схему как обычный XML документ и натравит на него DOM или SAX парсер. С уважением, Vasilisk ... |
|||
:
Нравится:
Не нравится:
|
|||
22.12.2009, 22:34 |
|
|
start [/forum/topic.php?desktop=1&fid=14&tid=1333360]: |
0ms |
get settings: |
10ms |
get forum list: |
12ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
36ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
41ms |
get tp. blocked users: |
2ms |
others: | 305ms |
total: | 426ms |
0 / 0 |