Beruflich Dokumente
Kultur Dokumente
Betriebliche Anwendungssysteme II
Sommersemester 2006 - University of Applied Sciences Cologne
Dipl. Math. Tobias Trapp
AOK Systems: Das Unternehmen
Gründung 1999
Rechtsform GmbH
Gesellschafter AOK-Beteiligungsgesellschaft
Geschäftssitz Troisdorf
Niederlassungen Frankfurt/M., Hamburg, München,
Stuttgart
Umsatz (2005) 73 Mio. €
XML im Datenaustausch
XML Library
XSLT
Simple Transformations
„XML Middleware“:
Familie von (XML basierenden) Standards
- für Transformationen von XML-Dokumenten,
- für Datenmodellierung durch Schemasprachen
Große Chance:
Vereinheitlichung der verschiedenen Datenaustauschstandards im
Gesundheitswesen: xDT-Formate, HL7, VDDS, EDIFACT,
satzbasierte Verfahren…
Für Meldeverfahren XÖV-Framework (z.B. XMeld)
Einige Gründe:
ACORD - XML for the Insurance Industry eCo Framework Project and Working Group Newspaper Association of America (NAA) - Standard for Translation Memory eXchange (TMX)
aecXML Working Group - Architecture, Engineering eCo Interoperability Framework Specification NuDoc Technology Tutorial Markup Language (TML)
and Construction EDGARspace Portal OMG Common Warehouse Metadata Interchange UML eXchange Format (UXF)
ANSI ASC X12/XML and DISA EEMA EDI/EC Work Group - XML/EDI (CWMI) Specification User Interface Markup Language (UIML)
ATLA Serials Project (ATLAS) Educom Instructional Management Systems Project (IMS) Object Management Group XML/Value RFP vCard Electronic Business Card
Alexandria Digital Library Project Electronic Business XML Initiative (ebXML) Ontology and Conceptual Knowledge Markup Languages Vector Markup Language (VML)
Apache XML Project Electronic Component Information Exchange (ECIX) Open Applications Group - OAGIS Virtual Hyperglossary (VHG)
Australia New Zealand Land Information Council (ANZLIC) ElectronicHealthData (ehd) Open Catalog Protocol (OCP) VoiceXML Forum (Voice Extensible Markup
Bank Internet Payment System (BIPS) Encoded Archival Description (EAD) Open Content Syndication (OCS) Language Forum)
Bean Markup Language (BML) European XML/EDI Pilot Project Open Financial Exchange (OFX/OFE) VoxML Markup Language
BizTalk Framework Extensible Financial Reporting Markup Language (XFRML) Open Settlement Protocol (OSP) - ETSI/TIPHON WAP Wireless Markup Language Specification
BMEcat Extensible Forms Description Language (XFDL) Open Software Description Format (OSD) Weather Observation Definition Format (OMF)
Broadcast Hypertext Markup Language (BHTML) Extensible User Interface Language (XUL) Open Trading Protocol (OTP) Web Collections using XML
Business Rules Markup Language (BRML) FIXML - A Markup Language for the OpenMLS - Real Estate DTD Design WEBDAV (IETF 'Extensions for Distributed Authoring and
Business Process Execution Language FIX Application Message Layer OpenMath Standard Versioning on the Web')
for Webservices (BPEL4WS) Formal Language for Business Communication) (FJBC) OpenTag Markup Web Distributed Data Exchange (WDDX)
Business Travel Management in XML ( FinXML - 'The Digital Language for Capital Markets' P3P Syntax Specification Web Interface Definition Language (WIDL)
CDIF XML-Based Transfer Format Financial Products Markup Language (FpML) Pinnacles Component Information Standard (PCIS) Web Service Description Language (WDSL)
Call Policy Markup Language (CPML) Georgia State University Electronic Court Filing Project Portal Markup Language (PML) Web Standards Project (WSP)
Call Processing Language (CPL) Graphic Communications Association - GCA 'Paper' DTD Precision Graphics Markup Language (PGML) WebBroker: Distributed Object Communication on the Web
Capability Card: An Attribute Certificate in XML Guideline XML (gXML) Predictive Model Markup Language (PMML) X-ACT - XML Active Content Technologies Council
Channel Definition Format, CDF (Based on XML) Health Level 7 Messages Procedural Markup Language (PML) XLF (Extensible Log Format) Initiative
Chemical Markup Language HR-XML Consortium Process Interchange Format XML (PIF-XML) XBau
Chinese XML Now! HTML Threading - Use of HTML in Email Process Specification Language (PSL) and XML XJustiz
Classified Advertising Data 5.5 HTTP Distribution and Replication Protocol (DRP) Product Data Markup Language (PDML) XMeld
Clinical Trial Data Model Human Resource Management Markup Language (HRMML) Product Definition Exchange (PDX) XML Belief Network File Format (Bayesian Networks)
Clinical Document Architecture (CDA) iCalendar XML DTD QAML - The Q&A Markup Language XML Court Interface (XCI)
Cold Fusion Markup Language (CFML) IEEE LTSC XML Ad Hoc Group Real Estate Transaction Markup Language (RETML) XML DTD for Phone Books
Commerce XML (cXML) IEEE Standard DTD Resource Description Framework (RDF) XML Data Binding Specification
CommerceNet Industry Initiative ISO 12083 XML DTDs RosettaNet XML Digital Signature (Signed XML - IETF/W3C)
Common Business Library (CBL) Information and Content Exchange (ICE) SABLE: A Standard for Text-to-Speech Synthesis Markup XML Forms Architecture (XFA)
Customer Profile Exchange (CPEX) Working Group InterX.org Initiative Simple Object Access Protocol (SOAP) XML Metadata Interchange Format (XMI) -
Customer Support Consortium Interactive Financial Exchange (IFX) SWAP - Simple Workflow Access Protocol Object Management Group (OMG)
DAV Searching and Locating (DASL) International Development Markup Language (IDML) Schema for Object-oriented XML (SOX) XML and Corba
DII Common Operating Environment (COE) XML Registry Java Speech Markup Language (JSML) Scripting News in XML XML and Music
DMTF Common Information Model (CIM) Jigsaw XML Format (JXML) Signed Document Markup Language (SDML) XML and VRML (Virtual Reality Modeling Language) - X3D
Digest Values for DOM (DOMHASH) LACITO Projet Archivage de données linguistiques Simple Object Definition Language (SODL) XML for Workflow Management [NIST]
Digital Property Rights Language (DPRL) LASG BTM-Rechnungssatz and XMOP Service XML for the Automotive Industry - SAE J2008
Digital Receipt Infrastructure Initiative Legal XML Working Group and UELP SpeechML XML-Based Process Management Standard (Wf-XML)
Directory Services Markup Language (DSML) MDC Open Information Model (OIM) Structured Graph Format (SGF) XML-F ('XML for FAX')
Document Content Description for XML (DCD) MIX - Mediation of Information Using XML Synchronized Multimedia Integration Language (SMIL) XML-HR Initiative - Human Resources
Document Definition Markup Language (DDML) Media Object Server - XML (MOS-X) TalkML XML.ORG - The XML Industry Portal
ECIX Component Information Dictionary Standard (CIDS) Mathematical Markup Language Telecommunications Interchange Markup (TIM, TCIF/IPI) XML/EDI - Electronic Data Interchange
ECIX QuickData Specifications Meta Content Framework Using XML (MCF) Telephony Markup Language (TML) XML/EDI Repository Working Group
ECIX Timing Diagram Markup Language (TDML) Metadata - PICS Text Encoding Initiative (TEI) XMLNews: XMLNews-Story and XMLNews-Meta
eCl@ss Mortgage Bankers Association of America XML Workgroup The Data Documentation Initiative (DDI) XMLTP.Org - XML Transfer Protocol
ECMData - Electronic Component Manufacturer News Industry Text Format (NITF) The Koala Bean Markup Language (KBML) XOL - XML-Based Ontology Exchange Language
Data Sheet Inventory Specification NewsML and IPTC2000 The XML Bookmark Exchange Language (XBEL) XSchema
Datenvolumen
Performance
Schlechte Spezifikationen:
XML im Datenaustausch
XML Library
XSLT
Simple Transformations
XML im Datenaustausch
XML Library
XSLT
Simple Transformations
Die XML Library stellt ihre Funktionen durch Interfaces im Sinne von
ABAP OO zur Verfügung. Wichtig sind:
if_ixml
if_ixml_document
if_ixml_node
if_ixml_stream
if_ixml_parser
OPEN DATASET '/xch/cxml.xml' FOR INPUT IN BINARY MODE.
READ DATASET '/xch/cxml.xml' INTO l_var_xmldata.
CLOSE DATASET '/xch/cxml.xml'.
* Ermittele das zentrale Factory Objekt
l_rif_ixml = cl_ixml=>create( ).
* Erzeuge ein FactoryObjekt für den Eingabestrom
l_rif_factory = l_rif_ixml>create_stream_factory( ).
* Erzeuge den Eingabestrom
l_rif_istream = l_rif_factory>create_istream_string(
string = l_var_xmldata ).
* Erzeuge ein temporäres Dokument
l_rif_document = l_rif_ixml>create_document( ).
* Schalte DOMGenerierung aus
CALL METHOD l_rif_parser>set_dom_generating
EXPORTING
is_generating = space
RECEIVING
rval = l_var_rval.
* Bei diesem Ereignis sind der Elementname und alle Attribute
* bekannt.
l_var_events = if_ixml_event=>co_event_element_pre2.
* Melde die Events beim Parser an.
l_rif_parser>set_event_subscription( events = l_var_events ).
* Ermittele das erste Event
l_rif_event_sink = l_rif_parser>parse_event( ).
WHILE NOT l_rif_event_sink IS INITIAL.
* Ermittele den aktuellen Knoten
l_rif_node = l_rif_event_sink>get_node( ).
* Frage das nächste Ereignis ab.
l_rif_event_sink = l_rif_parser>parse_event( ).
ENDWHILE.
XML im Datenaustausch
XML Library
XSLT
Simple Transformations
CALL TRANSFORMATION transformation
[PARAMETERS parameters]
SOURCE source
RESULT result.
Einsatzmöglichkeiten:
XML → XML,
ABAP → XML,
XML → ABAP,
ABAP → ABAP
TYPES: BEGIN OF l_typ_test,
Transformationsergebnis:
chars TYPE c LENGTH 10,
string TYPE string,
numc TYPE n LENGTH 5, <?xml version="1.0" encoding="iso88591"?>
packed TYPE p LENGTH 4 DECIMALS 2, <asx:abap xmlns:asx="http://www.sap.com/abapxml"
float TYPE f, version=″1.0″>
date TYPE d,
<asx:values>
time TYPE t,
xstring TYPE xstring, <ROOT>
END OF l_typ_test. <CHARS>ABC</CHARS>
DATA: l_str_test TYPE l_test_typ, <STRING> ABC </STRING>
l_var_output TYPE string. <NUMC>01234</NUMC>
l_str_testchars = ' ABC '. <PACKED>123.45</PACKED>
l_str_teststring = ` ABC `.
<FLOAT>1.2345E2</FLOAT>
l_str_testnumc = '01234'.
l_str_testpacked = '123.45'. <DATE>20060614</DATE>
l_str_testfloat = '123.45'. <TIME>12:01:00</TIME>
l_str_testdate = '20060614'. <XSTRING>q83v</XSTRING>
l_str_testtime = '1201'. </ROOT>
l_str_testxstring = 'ABCDEFG'. </asx:values>
CALL TRANSFORMATION id
</asx:abap>
SOURCE root = l_str_test
RESULT XML l_var_output.
XML im Datenaustausch
XML-Libary
XSLT
Simple Transformations
DATA l_var_input TYPE STRING VALUE '<A>Test</A>‘,
l_var_string TYPE STRING.
CALL TRANSFORMATION z_st_first
SOURCE XML l_var_input
RESULT root = l_var_string.
<?sap.transform simple?>
<tt:transform xmlns:tt="http://www.sap.com/transformation
templates" template="MAIN">
<tt:root name="ROOT"/>
<tt:template name="MAIN">
<A>
<tt:value ref="ROOT"/>
</A>
</tt:template>
</tt:transform>
<DATA>
<A>optional</A> <! kann wegfallen >
<B>Wert</B>
</DATA>
<tt:transform template="temp1"
xmlns:tt="http://www.sap.com/transformationtemplates">
<tt:root name="ROOT1"/>
<tt:root name="ROOT2"/>
<tt:template name="temp1">
<DATA>
<tt:cond>
<A tt:valueref=".ROOT1"/>
</tt:cond>
<B tt:valueref=".ROOT2"/>
</DATA>
</tt:template>
</tt:transform>
XML im Datenaustausch
XML Library
XSLT
Simple Transformations
J2EE Infrastruktur
Portal Technologie
SAP Press