Esta porción XSD se obtuvo de: http://www.iana.org/assignments/xml-registry/schema/netconf.xsdXSD Formateo <element><complexType> vs <complexType /><element/>
<xs:complexType name="rpcType">
<xs:sequence>
<xs:element ref="rpcOperation"/>
</xs:sequence>
<xs:attribute name="message-id" type="messageIdType" use="required"/>
<xs:anyAttribute processContents="lax"/>
</xs:complexType>
<xs:element name="rpc" type="rpcType"/>
Y es el núcleo para funcionar llamadas en NETCONF siendo el nodo de un documento XML. Soy curioso en cuanto a por qué no es algo como:
<xs:element name="rpcType">
<xs:complexType>
<xs:sequence>
<xs:element ref="rpcOperation"/>
</xs:sequence>
<xs:attribute name="message-id" type="messageIdType" use="required"/>
<xs:anyAttribute processContents="lax"/>
</xs:complexType>
</xs:element>
El razonamiento es que en el # 1 cuando se trata de ordenar de un grano (en jaxb2) consigo la excepción:
[com.sun.istack.SAXException2: unable to marshal type "netconf.RpcType" as an element because it is missing an @XmlRootElement annotation]
tengo estado leyendo el artículo this una y otra vez, y realmente no puedo entender la diferencia, y por qué sería # 1 vs # 2 ...
Si al usar 'modo de enlace simple', el xsd se extiende o combina, y otro elemento raíz se define con el mismo tipo (en la extensión) habrá un error de tiempo de compilación XJC, o un error de tiempo de ejecución o comportamiento indeterminado ? – Vihung