[XML-DEV Mailing List Archive Home] [By Thread] [By Date] [Recent Entries] [Reply To This Message]

RE: Transforming a schema with XSL


xsl as400
Further explanation of what I need to do:

The first snippet of schema below is a persisted XML recordset of a table
queried from an AS400 / DB2 system.  The 2nd sample is from an identical
table but in an Access table.  I'm told, that I can perform a batch update
of records from the server (AS400/DB2 data) into my Access table with some
minor modifications to the schema and the XML.  I would be using ADO to
perform the insert of the XML recordset, but first I have to transform it.

Does this help, or is more information required?
Below you mention that there is an example of an "identity template rule" in
the XSLT spec itself; is this the schema at the top of the XML data?

Karl

-----Original Message-----
From: Michael Kay [mailto:michael.h.kay@n...]
Sent: Wednesday, April 10, 2002 12:41 AM
To: 'Karl Stubsjoen'; xml-dev@l...
Subject: RE:  Transforming a schema with XSL


I need help transforming a schema (which appears at the top of the XML
document).  I also need to transform the XML data itself.  I am looking to
"convert" the xml data from one type to another... you do this with XSL
correct?

I have a little snippet of the schema which needs to be transformed:

THIS:
<s:AttributeType name="CSHIP" rs:number="3" rs:write="true">
  <s:datatype dt:type="number" rs:dbtype="numeric" dt:maxLength="19"
rs:scale="0" rs:precision="4" rs:fixedlength="true" rs:maybenull="false" />


NEEDS TO BECOME THIS:
<s:AttributeType name="CSHIP" rs:number="3" rs:nullable="true"
rs:maydefer="true" rs:writeunknown="true">
  <s:datatype dt:type="number" rs:dbtype="numeric" dt:maxLength="19"
rs:scale="0" rs:precision="4" rs:fixedlength="true" />

    Is this possible, fairly straight forward, easy to explain?


Yes, it's very straightforward - though unless you explain how the output is
derived from the input, it's difficult to give you the right code. But
something like the following would do it:

<xsl:template match="s:attributeType">
  <xsl:copy>
  <xsl:copy-of select="@name | @rs:number"/>
  <xsl:attribute name="rs:write">true</xsl:attribute>
</xsl:template>

<xsl:template match="s:datatype">
  <xsl:copy>
  <xsl:copy-of select="@dt:type | @rs:dbtype | @dt:maxLength | @rs:scale |
@rs:precision"/>
</xsl:template>

You need to wrap these template rules in an <xsl:stylesheet> element that
also contains an "identity template rule" to copy other elements unchanged -
there's an example of such a rule in the XSLT spec itself.

Michael Kay
Software AG
home: Michael.H.Kay@n...
work: Michael.Kay@s...


-----------------------------------------------------------------
The xml-dev list is sponsored by XML.org <http://www.xml.org>, an
initiative of OASIS <http://www.oasis-open.org>

The list archives are at http://lists.xml.org/archives/xml-dev/

To subscribe or unsubscribe from this list use the subscription
manager: <http://lists.xml.org/ob/adm.pl>



PURCHASE STYLUS STUDIO ONLINE TODAY!

Purchasing Stylus Studio from our online shop is Easy, Secure and Value Priced!

Buy Stylus Studio Now

Download The World's Best XML IDE!

Accelerate XML development with our award-winning XML IDE - Download a free trial today!

Don't miss another message! Subscribe to this list today.
Email
First Name
Last Name
Company
Subscribe in XML format
RSS 2.0
Atom 0.3
 

Stylus Studio has published XML-DEV in RSS and ATOM formats, enabling users to easily subcribe to the list from their preferred news reader application.


Stylus Studio Sponsored Links are added links designed to provide related and additional information to the visitors of this website. they were not included by the author in the initial post. To view the content without the Sponsor Links please click here.

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