XML Editor
Sign up for a WebBoard account Sign Up Keyword Search Search More Options... Options
Chat Rooms Chat Help Help News News Log in to WebBoard Log in Not Logged in
Conferences Close Tree View
+ Stylus Studio Feature Requests (1192)
- Stylus Studio Technical Forum (14621)
-> + What Pipeline standard do you ... (4)
-> + How can i increase sylus memor... (2)
-> - Tutorial & Tech support needed (1)
-> + Generate HTML Documentation fr... (3)
-> + Use of saxonsa outside stylus ... (2)
-> + Schema to DTD (6)
-> + Trial version requires interne... (4)
-> - APACHE FOP text box (1)
-> + Cannot create SQL Server datas... (11)
-> + StylusValidator Crashes (2)
-> + XML diff with optimize Change ... (2)
-> + how do I get the .xsl page to ... (3)
-> + Can't Use WYSIWYG from the Fil... (6)
-> + EDI Help (2)
-> + XInclude support (3)
-> + Editor options and customized ... (3)
-> + Licensed version connectes to ... (6)
-> - handling abstract types in the... (5)
-> ->handling abstract types i...
-> ->handling abstract types i...
-> ->handling abstract types i...
-> ->handling abstract types i...
-> + XML not validating against its... (4)
-> + SS gets into state where the "... (6)
-> + Download Link from Order email... (2)
-> + Stylus Studio doesn't run (2)
-> + Indent XML Tags uses pretty sh... (2)
-> + Some questions on supported pl... (3)
-> + Apache FOP Border (2)
-> + line numbers, line-wrap.. (11)
-> + Not Able to Load Siebel Web Se... (3)
-> + XSLT node or nodeset as scenar... (4)
-> - tree view parsing error: Expec... (1)
-> + reactivating the license key f... (2)
-> + XSL FO region-body border (2)
-> + WhiteSpace facet default (2)
-> - Web Service Call (1)
-> + DB to XML convertion (6)
-> + Converting: How to handle data... (2)
-> + Toss Character Exception (2)
-> + EDI conversion COM segment (5)
-> - SS passing invalid CALS table ... (1)
-> + Carrier Related EDI SAP questi... (2)
-> + How to generate 1 output XML f... (2)
-> + Urgent Eval: How2 w/ Possibly ... (4)
-> + Preview Problems (7)
-> + Mapping to EDIFACT ORDERS UNT0... (8)
-> + Deploying Conversion XML to ED... (2)
-> + Use EDI Adapter within Sap BC (3)
-> + Uninstall->instal entepr. 2007 (2)
-> - xml data to sql 2000 table (1)
-> - Convert from Oracle DB to XML ... (1)
-> + NTFShardlink broken (5)
-> + Can't get catalog to work (3)
-> + Only One of each EDI segment g... (3)
-> + convert (2)
-> + convert (4)
-> + EDIFACT to XSD problem (3)
-> + quark xpress tags (2)
-> + Duplicating nodes allows to cr... (2)
-> + Duplicated, unused nodes are r... (3)
-> + Converting to XML from a varie... (5)
-> + xsd:import's with escaped char... (8)
-> + Viewing the FO Sample Applicat... (3)
-> + Stylus Studio - Window tiling (3)
-> + Question about XML->Java Objec... (2)
-> + SVG web-based editor (2)
-> + conversion process for the pdf... (2)
-> + GUI Mapper does not create pro... (4)
-> + JavaScript working inside prev... (4)
-> + Stylus Studio Crashes when I a... (4)
-> + SVG ImageReader for FOP (2)
-> + Web Service Call Using HTTPS (8)
-> + Meditech database (2)
-> + How to connect to Informix (5)
-> + long filenames in Berkeley XML... (3)
-> + Opening multiple documents = m... (3)
-> + MySQL Connectivity (2)
-> + using .xsd to create forms (3)
-> + Convert-to-XML Engine could no... (2)
-> + editor questions (2)
-> + Cannot connect to SQL server (7)
-> + Convert Cobol file to XML (2)
-> + XML Diff problem (4)
-> + running XSLT - time + memory m... (7)
-> + New wsdl creation (4)
-> + DB to XML Parameters (2)
-> + Help (html in xml) need to out... (8)
-> + Stylesheet questions (2)
-> + Verion 1.0 XPATH for testing "... (5)
-> + Berkely XML DB file system (2)
-> + WYSIWYG in 2007 demo (2)
-> + EDIFACT code list problem (3)
-> + XQuery over a Berkeley XML DB ... (3)
-> + Href and display linked ref. (2)
-> + How my applications can gener... (11)
-> + CLASSPATH (2)
-> + Fixed order of attributes (2)
-> + merging XML files (13)
-> - The Struzzo.exe hung with no G... (1)
-> + Problem Registering Old Versio... (4)
-> + CHART.XML + CHART.XSL to CHART... (17)
-> + Aplication not loading (6)
-> + Can Stylus Studio be used to s... (2)
-- Previous [1801-1820] [1821-1840] [1841-1860] Next
+ Website Feedback (249)
+ XSLT Help and Discussion (7625)
+ XQuery Help and Discussion (2017)
+ Stylus Studio FAQs (159)
+ Stylus Studio Code Samples & Utilities (364)
+ Stylus Studio Announcements (113)
Topic  
Postnext
Nitesh JSubject: handling abstract types in the mapper (XSLT)
Author: Nitesh J
Date: 21 Dec 2006 03:31 AM
Hi,

In the source XSD one of the elements is declared to have the abstract type - we want to map this to various target XSD elements

Currently there are two options:
(1) manually write XSLT to handle the mapping depending on the xsi:type in the source XML
(2) (preferred) use SS to map the element and its subsequent elements (which are dependent on the xsi:type)

Is there anyway to do (2)? If so, appreciate if someone can point me to a manual/how-to. Even if it means we have to temproraly edit the source XSD to allow us to use the mapper (currently SS does not realise that the source element is based on an abstract type and after mapping it simply does a value-of of that one source element)

i.e.
if type = Gas then map
sourceelementA to targetelement A
sourceelementB to targetelement B
sourceelementC to targetelement C
else if type = Electicity
sourceelementD to targetelement A
sourceelementE to targetelement B
sourceelementF to targetelement G

where all the "sourceelement?" are part of the abstract type definition.

Thanks,
Nitesh

Postnext
Minollo I.Subject: handling abstract types in the mapper (XSLT)
Author: Minollo I.
Date: 21 Dec 2006 09:23 AM
Any chance you can share with us the source/target schemas so that we can show you how to do that in more concrete terms?

Postnext
Nitesh JSubject: handling abstract types in the mapper (XSLT)
Author: Nitesh J
Date: 21 Dec 2006 05:17 PM
Hi,

Below is a snipet of the XSD using the abstract type. Attached is the abstract type definition (oexml_MeterRead_r1.txt). Also, attached is the target XSD. So for example, if its 'Gas..' type then we need to map the GasMeterReadStatus in the source to 'ReadStatus' in the target; while if its 'Electricity' then we map ElectricityMeterReadStatus to 'ReadStatus'.

<xsd:complexType name="MeterReadingHistoryResponse">
<xsd:annotation>
<xsd:documentation>
Purpose -
</xsd:documentation>
</xsd:annotation>
<xsd:complexContent>
<xsd:extension base="BaseResponseR1">
<xsd:sequence>
<xsd:element name="NMI" type="NMI" minOccurs="0"/>
<xsd:element name="PropertyID" type="PropertyID" minOccurs="0"/>
<xsd:element name="MeterReadingData" type="MeterReadData" minOccurs="0"/>
</xsd:sequence>
</xsd:extension>
</xsd:complexContent>
</xsd:complexType>

Please let me know if I can use the SS GUI to do this or if I need to manually code it via choose-when-otherwise (bit of a hassle considerring we have > 200 of these).

Thanks,
Nitesh


Documentoexml_MeterRead_r1.txt
MeterReading abstract type declaration

UnknownINT350_Response_edited.xsd
target xsd

Postnext
Nitesh JSubject: handling abstract types in the mapper (XSLT)
Author: Nitesh J
Date: 07 Jan 2007 10:58 PM
any updates to this

Posttop
Minollo I.Subject: handling abstract types in the mapper (XSLT)
Author: Minollo I.
Date: 07 Jan 2007 11:36 PM
The schema you attached (oexml_MeterRead_r1) misses some type definitions; we could more easily show you an example if we had a sample XML input.

Anyway, what you are looking for should be possible creating a choose block in mapper, creating conditions for the specific type instances you find in the XML input (like "name() = 'Gas...'"), and for each condtion creating the proper mappings.

As I mentioned, a sample XML input might make it easier to show an example.

   
Download A Free Trial of Stylus Studio 6 XML Professional Edition Today! Powered by Stylus Studio, the world's leading XML IDE for XML, XSLT, XQuery, XML Schema, DTD, XPath, WSDL, XHTML, SQL/XML, and XML Mapping!  
go

Log In Options

Site Map | Privacy Policy | Terms of Use | Trademarks
Stylus Scoop XML Newsletter:
W3C Member
Stylus Studio® and DataDirect XQuery ™are from DataDirect Technologies, is a registered trademark of Progress Software Corporation, in the U.S. and other countries. © 2004-2016 All Rights Reserved.