为两个xml文件创建一个xsd

时间:2011-11-27 16:58:26

标签: xml xsd xml-validation

我有两个xml文件,我需要为它们创建一个xsd。这是我第一次处理xml文件。如何为两个xml文件创建一个xsd并验证它们是否正确?

我的第一个xml文件:

<?xml version="1.0" encoding="UTF-8"?>
<specification xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<DATA>
 <Id>S2</Id>
  <Name>sai</Name>
 <Service>manufaturer</Service>
  <ref_complete_customer path="/work/bsr.xml"/>
  <ref_complete_customer path="/work/srr.xml"/>
 <Service_Customers>
  <Customer Id="bs"/>
 </Service_Customers>     
 <Service_Suppliers>
     <Supplier Id="r"/>
    <Supplier Id="b"/> 
    <Supplier Id="L"/>
 </Service_Suppliers>
 </DATA>
 </specification>

我的第二个xml文件:

<?xml version="1.0" encoding="UTF-8"?>
 <universitylist xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
 <university>
 <refstr>bdvl_te_skrm_stc</refstr>
 <ref_complete_customer path="/work/bsr.xml"/>
 <Code>A0f11478</Code>
 <Area>sku</Area>
 <started>1987</started>
 <branch>
  <electronics>
    <students Nr="120" ece="ab">
    <student Name="svr" year="2010" rank="3"/>
    <student Name="bvr" year="2010" rank="1"/>
    </students>
  </electronics>
 </branch>
 <semister>
    <semister num="3"/>
 </semister>
 <address>
   1.address of student
  <extrainfo>
  </extrainfo>
 </address>
 </university>
</universitylist>

这是我的approch

  specification.xsd for frist file.
 universitylist.xsd for second file.

合并xsd

<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"> 

<xs:include schemaLocation="specification.xsd" />
<xs:include schemaLocation="universitylist.xsd" />

</xs:schema>

1 个答案:

答案 0 :(得分:1)

我不确定为什么你会想要一个描述两个文档实例的模式,因为它们似乎完全不相关。但它们不相关的事实使它变得微不足道 - 你只需将两个XSD结合起来。例如,如果您当前有a.xsd和b.xsd,那么您可以创建一个新的c.xsd,只需在这两个上执行xs:include。