通过序列化.Net对象生成以下XML:
<?xml version="1.0" encoding="utf-8"?>
<Request xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns="http://EPS.WebServices/WebServiceSchema" >
<Method xmlns="http://EPS.Library/RequestSchema">PackPlacementUpdate</Method>
<Type xmlns="http://EPS.Library/RequestSchema">PackPlacementUpdate</Type>
</Request>
我正在使用XSD生成架构。但是,(我认为)因为有多个名称空间,所以会生成两个不同的模式文件。我们将在外部提供XSD文件,我担心两个文件会引起混淆。
在不更改.Net类的命名空间的情况下,是否有一种方法可以创建单个XSD模式文件而不是两个?
感谢。
答案 0 :(得分:0)
没有!
模式声明targetNamespace;每个模式在一个名称空间中定义元素和属性。
此外,.xsd(XML架构定义文件)与XML架构之间存在一对一的映射。您无法在.xsd文件中定义多个架构。
因此,如果您拥有属于多个名称空间的元素,并且您希望在W3C XML Schema中定义这些元素,那么您需要多个.xsd文件。