際際滷

際際滷Share a Scribd company logo
JAXBJava Architecture for XML Binding
JAXBJAXB (Java Architecture for XML Binding) 犢犖犢犖 Library 犖犖犖 Java 犖犖朽犢犖犢犢犖犖劇犖犖÷犖∇ 犖犖迦県犖 XML 犖犖園 犖犖迦県犖 JAVA 犖犖橿犖犢犖犖迦牽犢犖犖劇犖犖÷犖犖犖犖迦牽 XML 犖犖園 Object 犖犖朽犢犖犢犖 Java class 犖犖橿犖犢犖犢犖迦権犖犖謹犖
Binding between XML Schema and Java Classes JAXB 犖÷元犖犖迦牽犖犖犖犖犖園犖о鹸犖犖朽犖朽犖犖萎犖о犢犖ム鍵犖犖о犢犖犢犖о犖犖犖迦牽犢犖犖劇犖犖÷犖∇犖犖萎見犖о犖迦XMLSchema 犖犖園Java Class犖÷元 2 犖犖園犖犖犖犖
 犢犖犖ム犢犖犖犖犖迦牽 XML 犢犖犢犖犖ム顕犖∇犖犢犖 Java object(Unmarshalling)
 犢犖犖ム Java object 犖犖ム険犖犖÷顕犢犖犢犖犢犖犖犖犖迦牽 XML(Marshalling)
JAXB 犖犖犖犖犖園犖犖迦牽犖犖犢犖迦 XML schema 犖犖迦 Java object 犢犖犢JAXB ArchitectureApplicationSchema GeneratorApplication CodeXML SchemaPackage javax.xml.bindPortable JAXB-annotated classes XML/Java Customization Binding DeclarationsSchema ComplierAnnotation-driven Binding Framework ImplementationObject FactorySchema to JavaJava to Schema
JAXB Architecture犖犖園犖犖犖犖犖犖犖 JAXB 犖犖犖萎犖犖犖犢犖о権犖犖犖犢犖犖犖萎犖犖犖犖迦犖犖犖迦犖園犖∇犖犖犖÷犖園犖犢犖犢犖犖犖朽 Schema compiler
 Schema generator
 Binding runtime frameworkArchitecture Schema compiler犢犖犢犖犖犢犖о犖犖橿犖園犖犖朽犖犖橿犖迦牽犢犖犖ム犖犖犖劇賢犢犖犖劇犖犖÷犖∇source schema 犖犖園犖犖ム幻犢犖÷犖犖 JAXB class 犖犖朽犢犖犢犖犢犖犖犢犖犖犖÷犖迦県犖 Java Schema generator犢犖犢犖犖犖迦牽犖犖園犖犖項犖犖ム幻犢犖÷犖犖犢犖犖犖÷犖朽犖÷元犖犖∇弦犢犢犖犖劇犖犢犖犢犢犖犢 schema 犖犖犖犖÷顕 Binding runtime framework犖÷元犖犖迦牽犢犖犖犖朽権犖unmarshalling犢犖ム鍵marshalling 犢犖犖劇犖犢犖犢犖犖迦検犖迦牽犖犢犖犢犖迦犖謹 犖犖園犖犖迦牽犢犖ム鍵犖犖犖о犖犖犖犢犖犖劇犖犖犖迦犖 XML 犖犢犖о権犖犖迦牽犢犖犢 schema 犖犖朽犢犖犢犖÷顕犢犖ム鍵犢犖犖犢犖犖犖÷犖朽犖÷元犖犖∇弦犢
JAXB Binding ProcessSchemaJAXB mapped classesbindfollowsInstances ofUnmarshal(validate)ObjectsDocumentmarshal(validate)
JAXB Binding Process犖犖園犖犖犖犖犖犖園犖о犖犢犖犖犖犖萎犖о犖犖迦牽犢犖犖劇犖犖÷犖∇犖犢犖犖÷弦犖ム犖犖 JAXB 犖犖劇賢1. Generate classes : XML Schema 犖犖萎犖項犖犖橿検犖迦犖犢犢犖犢犖犖犖園硯 Input 犢犖犖劇犖犖犖朽犖犖萎犖犢犖犖園硯 Complier 犖犖犢犖迦 Class JAXB 犖犖朽犖÷顕犖犖迦 Schema 犖犖園犖犢2. Compile classes : 犖犖伍 Class 犖犖朽犖犖項犖犖犢犖迦犖犖謹犖Source File 犖犢犖迦犢犢犖ム鍵 犢犖犢犖犢犖犖犢犖犖犖÷犖萎犢犖犖犖犖項 Complier 犖犖犖犖犢犖о犖犖朽3. Unmarshal: 犢犖犖犖犖迦牽 XML 犖犖朽犢犖犖朽権犖犖犖謹犖犖犖迦検犖犢犖犖犖橿犖園犖犢犖迦犢犢犖the source schema 犖犖萎犖項unmarshal 犢犖犖JAXB binding framework  犖犖犖犖犖迦犖犖園犖 JAXB 犖∇険犖犖犖犖園犖犖犖伍犖犖迦牽unmarshal 犖犢犖犖÷弦犖 XML 犖犖迦犖犢犖犖÷弦犖ム賢犖劇犖犢犢犖犢犖 DOM, string buffers, SAX 犢犖ム鍵犖犖劇犖犢4. Generate content tree : 犖犖犖萎犖о犖犖迦牽 unmarshal 犖犖萎肩犖犢犖迦content tree 犖犖犖 Object 犖犖朽犢犖犢犖÷顕犖犖迦犖犖迦牽犖犖犢犖迦JAXB class犖犢犖迦犢犖犖謹犖 content tree 犖犖朽犖犖萎犖犢犖犖犖園硯犢犖犖犢犖犖犖犖犖犢犖迦犢犖ム鍵犖犖園硯犖犢犖犖犖犖犢犖犖犖犖迦牽 XML
JAXB Binding Process5. Validate (optional) : 犖犖∇弦犢犢犖犖犖園犖犖犖犖犖犖迦牽 unmarshal 犖犖朽犢犖犢犖犖犖迦牽犖犖犖о犖犖犖犢犖犖犖犖迦牽 XML 犖犢犖犖犖犖萎肩犖犢犖迦 content tree 犖犖謹犖犖犢犖迦検犖朽犖迦牽犖犖犖園犢犖犖ム元犢犖∇ content tree 犢犖犖犖園犖犖犖犖犖犖朽 6 犖犖園犖犖犢犖犢犖犖犢犖犖萎肩犖迦検犖迦牽犖犢犖犢犖犖迦牽犖犖橿犖犖巌犖犖迦牽犢犖犖 JAXB Validate 犢犖犖劇犖犢犖犢犖犢犖犖犖伍犖ム犖犖犖迦牽犢犖犖ム元犢犖∇犢犖犖ム犖犢犖犖犖犖 marshalcontent 犖犖ム険犖犢犖犢犖犢犖犢犖犖犖犖迦牽 XML6. Process content: Client 犖犖迦検犖迦牽犖犢犖犖ム元犢犖∇犢犖犖ム犖犢犖犖÷弦犖 XML 犖犖朽犖犖項犢犖犖犖犢犖о権 Java content tree 犢犖犖∇犖о顕犖÷見犖÷顕犖∇犖犖 interface 犖犢犖迦犢犖犖項犖犖犢犖迦犢犖犖 binding compiler7. Marshal: 犢犖犢犖犖犖園犖犖犖犖犖犖朽 content tree 犖犖項 marshal 犖犖犖犖÷顕犢犖犢犖犢犖犖犖犖迦牽 XML 犢犖犢犖 1 犖犖犖劇賢 犖÷顕犖犖犖о犖 1 犢犖犖犖犖迦牽
MarshallingMarshalling 犢犖犢犢犖犖犖朽権犖 client application 犖犖朽犖犖迦検犖迦牽犖犢犖犖ム Java object 犢犖犢犖犢犖犢犖犖犖犖迦牽 XML
 犢犖犖∇犖犖犖巌犖ム犖о犖犖犖犖朽犖犖犢犖迦犢犖犖犖犖迦牽 XML 犖犖園硯 Marshal 犖犖萎犖犢犖犖迦牽犢犖犢犖迦牽犖犖園肩犢犖犖 UTF-8

More Related Content

JAXB

  • 2. JAXBJAXB (Java Architecture for XML Binding) 犢犖犢犖 Library 犖犖犖 Java 犖犖朽犢犖犢犢犖犖劇犖犖÷犖∇ 犖犖迦県犖 XML 犖犖園 犖犖迦県犖 JAVA 犖犖橿犖犢犖犖迦牽犢犖犖劇犖犖÷犖犖犖犖迦牽 XML 犖犖園 Object 犖犖朽犢犖犢犖 Java class 犖犖橿犖犢犖犢犖迦権犖犖謹犖
  • 3. Binding between XML Schema and Java Classes JAXB 犖÷元犖犖迦牽犖犖犖犖犖園犖о鹸犖犖朽犖朽犖犖萎犖о犢犖ム鍵犖犖о犢犖犢犖о犖犖犖迦牽犢犖犖劇犖犖÷犖∇犖犖萎見犖о犖迦XMLSchema 犖犖園Java Class犖÷元 2 犖犖園犖犖犖犖
  • 4. 犢犖犖ム犢犖犖犖犖迦牽 XML 犢犖犢犖犖ム顕犖∇犖犢犖 Java object(Unmarshalling)
  • 5. 犢犖犖ム Java object 犖犖ム険犖犖÷顕犢犖犢犖犢犖犖犖犖迦牽 XML(Marshalling)
  • 6. JAXB 犖犖犖犖犖園犖犖迦牽犖犖犢犖迦 XML schema 犖犖迦 Java object 犢犖犢JAXB ArchitectureApplicationSchema GeneratorApplication CodeXML SchemaPackage javax.xml.bindPortable JAXB-annotated classes XML/Java Customization Binding DeclarationsSchema ComplierAnnotation-driven Binding Framework ImplementationObject FactorySchema to JavaJava to Schema
  • 7. JAXB Architecture犖犖園犖犖犖犖犖犖犖 JAXB 犖犖犖萎犖犖犖犢犖о権犖犖犖犢犖犖犖萎犖犖犖犖迦犖犖犖迦犖園犖∇犖犖犖÷犖園犖犢犖犢犖犖犖朽 Schema compiler
  • 9. Binding runtime frameworkArchitecture Schema compiler犢犖犢犖犖犢犖о犖犖橿犖園犖犖朽犖犖橿犖迦牽犢犖犖ム犖犖犖劇賢犢犖犖劇犖犖÷犖∇source schema 犖犖園犖犖ム幻犢犖÷犖犖 JAXB class 犖犖朽犢犖犢犖犢犖犖犢犖犖犖÷犖迦県犖 Java Schema generator犢犖犢犖犖犖迦牽犖犖園犖犖項犖犖ム幻犢犖÷犖犖犢犖犖犖÷犖朽犖÷元犖犖∇弦犢犢犖犖劇犖犢犖犢犢犖犢 schema 犖犖犖犖÷顕 Binding runtime framework犖÷元犖犖迦牽犢犖犖犖朽権犖unmarshalling犢犖ム鍵marshalling 犢犖犖劇犖犢犖犢犖犖迦検犖迦牽犖犢犖犢犖迦犖謹 犖犖園犖犖迦牽犢犖ム鍵犖犖犖о犖犖犖犢犖犖劇犖犖犖迦犖 XML 犖犢犖о権犖犖迦牽犢犖犢 schema 犖犖朽犢犖犢犖÷顕犢犖ム鍵犢犖犖犢犖犖犖÷犖朽犖÷元犖犖∇弦犢
  • 10. JAXB Binding ProcessSchemaJAXB mapped classesbindfollowsInstances ofUnmarshal(validate)ObjectsDocumentmarshal(validate)
  • 11. JAXB Binding Process犖犖園犖犖犖犖犖犖園犖о犖犢犖犖犖犖萎犖о犖犖迦牽犢犖犖劇犖犖÷犖∇犖犢犖犖÷弦犖ム犖犖 JAXB 犖犖劇賢1. Generate classes : XML Schema 犖犖萎犖項犖犖橿検犖迦犖犢犢犖犢犖犖犖園硯 Input 犢犖犖劇犖犖犖朽犖犖萎犖犢犖犖園硯 Complier 犖犖犢犖迦 Class JAXB 犖犖朽犖÷顕犖犖迦 Schema 犖犖園犖犢2. Compile classes : 犖犖伍 Class 犖犖朽犖犖項犖犖犢犖迦犖犖謹犖Source File 犖犢犖迦犢犢犖ム鍵 犢犖犢犖犢犖犖犢犖犖犖÷犖萎犢犖犖犖犖項 Complier 犖犖犖犖犢犖о犖犖朽3. Unmarshal: 犢犖犖犖犖迦牽 XML 犖犖朽犢犖犖朽権犖犖犖謹犖犖犖迦検犖犢犖犖犖橿犖園犖犢犖迦犢犢犖the source schema 犖犖萎犖項unmarshal 犢犖犖JAXB binding framework 犖犖犖犖犖迦犖犖園犖 JAXB 犖∇険犖犖犖犖園犖犖犖伍犖犖迦牽unmarshal 犖犢犖犖÷弦犖 XML 犖犖迦犖犢犖犖÷弦犖ム賢犖劇犖犢犢犖犢犖 DOM, string buffers, SAX 犢犖ム鍵犖犖劇犖犢4. Generate content tree : 犖犖犖萎犖о犖犖迦牽 unmarshal 犖犖萎肩犖犢犖迦content tree 犖犖犖 Object 犖犖朽犢犖犢犖÷顕犖犖迦犖犖迦牽犖犖犢犖迦JAXB class犖犢犖迦犢犖犖謹犖 content tree 犖犖朽犖犖萎犖犢犖犖犖園硯犢犖犖犢犖犖犖犖犖犢犖迦犢犖ム鍵犖犖園硯犖犢犖犖犖犖犢犖犖犖犖迦牽 XML
  • 12. JAXB Binding Process5. Validate (optional) : 犖犖∇弦犢犢犖犖犖園犖犖犖犖犖犖迦牽 unmarshal 犖犖朽犢犖犢犖犖犖迦牽犖犖犖о犖犖犖犢犖犖犖犖迦牽 XML 犖犢犖犖犖犖萎肩犖犢犖迦 content tree 犖犖謹犖犖犢犖迦検犖朽犖迦牽犖犖犖園犢犖犖ム元犢犖∇ content tree 犢犖犖犖園犖犖犖犖犖犖朽 6 犖犖園犖犖犢犖犢犖犖犢犖犖萎肩犖迦検犖迦牽犖犢犖犢犖犖迦牽犖犖橿犖犖巌犖犖迦牽犢犖犖 JAXB Validate 犢犖犖劇犖犢犖犢犖犢犖犖犖伍犖ム犖犖犖迦牽犢犖犖ム元犢犖∇犢犖犖ム犖犢犖犖犖犖 marshalcontent 犖犖ム険犖犢犖犢犖犢犖犢犖犖犖犖迦牽 XML6. Process content: Client 犖犖迦検犖迦牽犖犢犖犖ム元犢犖∇犢犖犖ム犖犢犖犖÷弦犖 XML 犖犖朽犖犖項犢犖犖犖犢犖о権 Java content tree 犢犖犖∇犖о顕犖÷見犖÷顕犖∇犖犖 interface 犖犢犖迦犢犖犖項犖犖犢犖迦犢犖犖 binding compiler7. Marshal: 犢犖犢犖犖犖園犖犖犖犖犖犖朽 content tree 犖犖項 marshal 犖犖犖犖÷顕犢犖犢犖犢犖犖犖犖迦牽 XML 犢犖犢犖 1 犖犖犖劇賢 犖÷顕犖犖犖о犖 1 犢犖犖犖犖迦牽
  • 13. MarshallingMarshalling 犢犖犢犢犖犖犖朽権犖 client application 犖犖朽犖犖迦検犖迦牽犖犢犖犖ム Java object 犢犖犢犖犢犖犢犖犖犖犖迦牽 XML
  • 14. 犢犖犖∇犖犖犖巌犖ム犖о犖犖犖犖朽犖犖犢犖迦犢犖犖犖犖迦牽 XML 犖犖園硯 Marshal 犖犖萎犖犢犖犖迦牽犢犖犢犖迦牽犖犖園肩犢犖犖 UTF-8
  • 15. 犖犖犖犖犖迦犖犖朽犖∇険犖犖÷元犖犢犖犖犖橿見犖犖犖о犖 Java content tree 犖犖萎犢犖犖犖犖項犖犢犖犖犢犖÷厳犢犖犢犖犖朽権犖犖犖園 Schema 犢犖犖巌検 犢犖犖劇犖犖犖萎犖犢 marshal 犖犖ム険犖犢犖犢犖犢犖犖犢犖犖÷弦犖 XML 犢犖犢UnmarshallingUnmarshalling犢犖犢犢犖犖犖朽権犖 client application 犖犖朽犖犖迦検犖迦牽犖犢犖犖ム犖犢犖犖÷弦犖 XML 犢犖犢犖犖ム顕犖∇犖犢犖 Java objects
  • 16. ValidationValidation 犢犖犢犖犖犖犖萎犖о犖犖迦牽犖犖犖о犖犖犖犢犖犖犖犖迦牽 XML 犖犖謹犖犖÷元犖犖伍犖犖÷犖園犖巌犖犖犖犖迦検犖犢犖犖犖橿見犖犖犖犖朽犢犖犖犖犢犖 Schema
  • 17. 犢犖 JAXB 犢犖о賢犖犢犖犖園犖1.0 犖÷元犖犖迦牽犢犖犖犖朽権犖÷犖犢犖÷元犖犖迦牽犖犖犖о犖犖犖犖犖犖萎犖朽犖犖崖棆坡床弘壊鞄温鉛
  • 18. JAXB 犢犖о賢犖犢犖犖園犖2.0 犖犖犖伍犖迦犢犖犢犖÷元犖犖迦牽犖犖犖о犖犖犖犖犖犖萎犖unmarshal犢犖ム鍵 marshal 犢犖犢
  • 19. 犖犖項犢犖犖犖犖迦牽犖犖橿犖迦 Web service 犖÷元犖犖о顕犖÷見犖ム鍵犖犖ム硯犖÷犖犢犖犖劇犖犖犖犖迦牽犖犢犖迦犖犢犖犖÷弦犖ム犖犢犢犖犢犖÷犖о犢犖犖犖迦牽犢犖犖朽権犖犖犢犖犖÷弦犖ム賢犖犖犖÷顕 犢犖犖劇犖犖犖朽犖犖萎犖犖犖犖犖犖犖犖迦牽犖犖橿犖迦犖犖園犖犖ム犖迦硯 犢犖犖犖園犖犖犖犖 validation 犖犖謹犢犖犢犢犖犖巌犖÷犖謹犖犖÷顕犢犖犖犖犖犖犖 marshal 犢犖犖劇犖犖犖朽犖犖萎犖犢犖犖犖迦牽犖∇厳犖犖∇険犖犖о犖迦検犖園犖犖萎犖÷犖犖橿犖犢犢犖犖犖犖迦牽 XML 犢犖犖巌犖犖о顕犖÷犖巌犖犖ム顕犖犢犖÷厳犢犖犖÷元犖犖迦牽犢犖犖ム元犢犖∇犢犖犖ム犢犖犖犖犖迦牽犢犖犖犖項犢犖犖犖犖犖 JAXBAdventage Valid Data 犢犖犢犖犢犖犖÷弦犖ム犖朽犖犖項犖犢犖犖 : 犢犖 JAXB Application 犖犖迦検犖犖朽犖犖犖巌犖迦権犢犖о犢犖 schema 犢犖ム犖 犖犖萎犖÷犖犖犖伍犖迦犢犖犢犖÷元犖犖迦牽犖犖犢犖迦犖犢犖犖÷弦犖 Java object 犖犖朽犢犖÷犖犖項犖犢犖犖犢犖犢犖犖犖迦
  • 20. Speed 犖÷元犖犖о顕犖÷牽犖о犢犖犢犖 : 犖犖迦検犖迦牽犖犖犖橿犖迦犢犖犢犖犖о犢犖犢犖о犢犖о権犖犖迦牽犢犖犢犖о鹸犖犖 Binding
  • 21. Ease of Use 犢犖犢犖犖迦犖犢犖迦権 : 犖÷険犖犖犖萎検犖 JAXB Compiler 犖犖朽犢犖犢犖犖犖園硯犖犖犖萎検犖о献犖犖ム犖犢犖 犖犖謹犖犢犖犢犖犖о顕犖÷賢犖巌肩犖犖萎犖犢犖犖園犖犖園犖犖迦犖犢犖ム犖÷厳犖犢犖犖朽権犖犢犖ム鍵犢犖犢 bug 犢犖犢犖犖犢犖о権犖犖園硯犢犖犖 犢犖犖∇犖園犖犖園犖犖迦犖萎肩犖迦検犖迦牽犖犢犖犖朽権犖 Application 犢犖犖犖迦牽犢犖犢犖迦犖謹犖犢犖犖÷弦犖 XML 犖犢犖迦犖犖迦 Java Interface
  • 22. Data Conversion 犖犖迦牽犢犖犖ム犖犢犖犖÷弦犖 : 犖犢犖犖÷弦犖ム犖犖犖犖迦牽犢犖 XML 犖犖迦検犖迦牽犖犖犖橿検犖迦犖犖ム犢犖犢犖 Data type 犢犖 Java 犢犖犢
  • 23. Customization 犖犖迦牽犖犖犖園犢犖犢犖 : 犖犖犖犖犖 Bindingschema 犖犖萎肩犖迦検犖迦牽犖犖犖犖園犢犖犢犖犢犖犢犖犖迦検犖犢犖犖犖犖迦牽
  • 24. Extensibility 犖犖о顕犖÷肩犖迦検犖迦牽犖犢犖犖犖迦牽 Extend: 犖犖ム顕犖犖犖朽犖犖項犖犖犢犖迦犖犖謹犖 犖犖萎肩犖迦検犖迦牽犖犖犖橿犖 extend 犢犖犢犖犖迦検犖迦牽犖犢犖犖巌犖÷犖園犖犢犖犖園犖犖犖迦牽犖犖橿犖迦犖犢犖犢犖犢犖犢Disadventage犖犢犖犖犖犖迦牽犖犖о顕犖÷牽犖項犖犖ム顕犖∇犢犖迦犢犖犖犖迦牽犢犖犢犖犖迦犖犖犖犖÷犖о牽