XSD javaType适配器在其他语言中的结果

XSD javaType适配器在其他语言中的结果,java,c#,jaxb,xsd,adapter,Java,C#,Jaxb,Xsd,Adapter,我有一个包含以下内容的XSD文件: <xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:jaxb="http://java.sun.com/xml/ns/jaxb" xmlns:xjc="http://java.sun.com/xml/ns/jaxb/xjc" jaxb:extensionBindingPrefixes="xjc" elementFormDefault="qualified" targetNamesp

我有一个包含以下内容的XSD文件:

<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:jaxb="http://java.sun.com/xml/ns/jaxb"
xmlns:xjc="http://java.sun.com/xml/ns/jaxb/xjc"
jaxb:extensionBindingPrefixes="xjc"
elementFormDefault="qualified"
targetNamespace="http://example.org/">

<xsd:complexType name="Certificate">
    <xsd:sequence>
        <xsd:element name="certificate" type="xsd:base64Binary">
            <xsd:annotation>
                <xsd:appinfo>
                    <xjc:javaType name="java.security.cert.X509Certificate" adapter="adapters.X509CertificateAdapter" />
                </xsd:appinfo>
            </xsd:annotation>
        </xsd:element>
    </xsd:sequence>
</xsd:complexType>

</xsd:schema>
适配器工作正常


我的问题是,当我将xsd提供给一个无java客户机时,会发生什么?证书C#类(例如)是什么样子的?

您应该使用所使用的技术使XSD文件尽可能干净

<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"
elementFormDefault="qualified"
targetNamespace="http://example.org/">

<xsd:complexType name="Certificate">
    <xsd:sequence>
        <xsd:element name="certificate" type="xsd:base64Binary">
        </xsd:element>
    </xsd:sequence>
</xsd:complexType>

</xsd:schema>

Java方面,要生成额外的信息,应该使用绑定文件(XJB)。 下面是添加注释的示例

<bindings version="2.0" xmlns="http://java.sun.com/xml/ns/jaxb"
    xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xjc="http://java.sun.com/xml/ns/jaxb/xjc"
    xmlns:annox="http://annox.dev.java.net"
    xmlns:namespace="http://jaxb2-commons.dev.java.net/namespace-prefix">
    <bindings schemaLocation="../yourSchema.xsd">

        <bindings node="//xs:complexType[@name='User']">
            <annox:annotate>
                <annox:annotate annox:class="javax.xml.bind.annotation.XmlRootElement"
                    name="User">
                </annox:annotate>
            </annox:annotate>
        </bindings>

    </bindings>
</bindings> 


)

好的,谢谢你的建议。你能看看我的另一个问题吗
<bindings version="2.0" xmlns="http://java.sun.com/xml/ns/jaxb"
    xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xjc="http://java.sun.com/xml/ns/jaxb/xjc"
    xmlns:annox="http://annox.dev.java.net"
    xmlns:namespace="http://jaxb2-commons.dev.java.net/namespace-prefix">
    <bindings schemaLocation="../yourSchema.xsd">

        <bindings node="//xs:complexType[@name='User']">
            <annox:annotate>
                <annox:annotate annox:class="javax.xml.bind.annotation.XmlRootElement"
                    name="User">
                </annox:annotate>
            </annox:annotate>
        </bindings>

    </bindings>
</bindings>