<?xml version="1.0" encoding="utf-8"?>
<ConfigurationFile xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:x="urn:prop">
<xs:schema id="NewDataSet" xmlns="" xmlns:xs="http://www.w3.org /2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xs:element name="BASE">
<xs:complexType>
<xs:sequence>
<xs:element name="PORT" type="xs:string" minOccurs="0" />
<xs:element name="LOG" type="xs:string" minOccurs="0" />
<xs:element name="MODULES" minOccurs="0" maxOccurs="unbounded">
<xs:complexType>
<xs:sequence>
<xs:element name="MODULE" minOccurs="1" maxOccurs="unbounded">
<xs:complexType>
<xs:attribute name="Name" type="xs:string" />
<xs:attribute name="Library" type="xs:string" />
<xs:attribute name="Launch_mode" type="xs:string" />
<xs:attribute name="value_min" type="xs:integer" use="required" />
<xs:attribute name="value_max" type="xs:integer" use="required" />
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="NewDataSet" msdata:IsDataSet="true" msdata:UseCurrentLocale="true">
<xs:complexType>
<xs:choice minOccurs="0" maxOccurs="unbounded">
<xs:element ref="BASE" />
</xs:choice>
</xs:complexType>
</xs:element>
</xs:schema>
<x:BASE>
<PORT>10000</PORT>
<LOG>./wa_log.csv</LOG>
<MODULES>
<!-- To Load on demand put Launch_mode= "ondemand" and for On start put it as Launch_mode="startup" -->
<MODULE Name="printer" Library="lib.so" Launch_mode="startup">
<DEVICES>
<DEVICE Name="1" Product_ID="0x0639" Vendor_ID="0x13ea" value_max="mit"/>
</DEVICES>
</MODULE>
</MODULES>
</x:BASE>
</ConfigurationFile>
我根据需要声明了属性名称“value_min”,其类型为整数。我从Modules中删除了value_min,并将字符串分配给value_max以验证它是否抛出错误。我在浏览器中加载此XML文件,但它不会引发任何错误。那么我该如何验证呢?
答案 0 :(得分:0)
我不知道任何根据架构验证XML文件的浏览器。验证是您需要明确调用的,它不会因为存在模式而发生。
我无法建议您在整个处理渠道中进行验证的地方,只有您可以对此进行评估。通常,当XML文件首次到达生产系统时,以及每当它发生变化时,它都会做得最好,除非您完全信任进行更改的过程。