如何删除XSD架构中的所有引用

时间:2017-05-25 19:18:08

标签: xsd schema

例如,我有一个这样的架构:

<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:pref="http://someaddr.com" elementFormDefault="qualified" targetNamespace="http://otheraddr.com">
   <xs:element name="rootElem">
     <xs:complexType>
       <xs:sequence>
         <xs:element ref="pref:elem1" minoccurs="1" and maxoccurs="2"/>
         <xs:element ref="pref:elem2" minoccurs="1" and maxoccurs="2"/>
       </xs:sequence>
     </xs:complexType>
   </xs:element>
   <xs:element name="elem1" type="xs:string"/>
   <xs:element name="elem2" type="xs:date"/>
</xs:schema>

我想转换并保留所有全局元素声明和min。最大发生的细节

<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:pref="http://someaddr.com" elementFormDefault="qualified" targetNamespace="http://otheraddr.com">
           <xs:element name="rootElem">
             <xs:complexType>
               <xs:sequence>
                 <xs:element name="elem1" type="xs:string" minoccurs="1" and maxoccurs="2"/>
                 <xs:element name="elem2" type="xs:string" minoccurs="1" and maxoccurs="2" />
               </xs:sequence>
             </xs:complexType>
           </xs:element>
        <xs:element name="elem1" type="xs:string"/>
           <xs:element name="elem2" type="xs:date"/>
        </xs:schema

我该怎么做?

1 个答案:

答案 0 :(得分:0)

我认为你有一些选择

  • 最简单的可能是在Notepad ++之类的东西中打开你的xsd并做一个简单的查找和替换 - 例如你可以替换。
  • 作为替代方案,您可以创建xml文档的简单版本并通过XSD(https://msdn.microsoft.com/en-us/library/x6c1kb0s(v=vs.110).aspx)运行它以创建新的xsd,然后根据您的需要对其进行修改。

在这两种情况下,我建议通过验证器运行它 - W3C非常好https://msdn.microsoft.com/en-us/library/x6c1kb0s(v=vs.110).aspx