私の XSD で次の型定義を検討してください。
<xs:complexType name="ED" mixed="true">
<xs:complexContent>
<xs:extension base="BIN">
<!-- I cut some data here -->
</xs:extension>
</xs:complexContent>
</xs:complexType>
mixed
JAXB が要素のコードを生成するのに苦労していることがわかりました。を使ってみ<jaxb:globalBindings generateMixedExtensions="true"/>
ましたが、あまりサポートされておらず、ぎこちないList<Serializable>
コードが生成されます。
そこで、カスタム バインディングを使用していくつかの要素を変更できると考えました。
<bindings
xmlns="http://java.sun.com/xml/ns/jaxb"
xmlns:xs="http://www.w3.org/2001/XMLSchema"
version="1.0">
<bindings schemaLocation="../../processable/coreschemas/datatypes-base.xsd">
<bindings node="//xs:complexType[@mixed='true']" multiple="true">
<property>
<javaType><!-- What do I do here? --></javaType>
</property>
</bindings>
</bindings>
</bindings>
基本的に、タグ間に CDATA を保持mixed=true
するカスタムvalue
またはcontent
フィールド ( )を指定するすべての要素が必要です。String
たとえば、私のED
タイプの場合、XML では次のようになります。title 要素はED
そのタイプとして次を使用します。
<title>Hello, I'm a title!</title>
Hello, I'm a title!
そのコンテンツとして生成する必要があります。
どうすればいいですか?
興味のある方へ: HL7v3 CDA 仕様のコードを生成しようとしています。