xsl-list
[Top] [All Lists]

RE: Transform XML

2003-04-30 10:29:34
-----Original Message-----
From:     "Karl J. Stubsjoen" <karl(_at_)azprogolf(_dot_)com>
Hello, I need to take the following XML and transform it into 
something
quite simpler, this might be the result:


Adding the exclude-result-prefixes attribute to your stylesheet element will 
strip out the unwanted namespaces which Mike Haarman's solution leaves intact:

<?xml version="1.0"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"; version="1.0"
   xmlns:s="uuid:BDC6E3F0-6DA3-11d1-A2A3-00AA00C14882"
   xmlns:dt="uuid:C2F41010-65B3-11d1-A29F-00AA00C14882"
   xmlns:rs="urn:schemas-microsoft-com:rowset"
   xmlns:z="#RowsetSchema"
   exclude-result-prefixes="s dt rs z">

  <xsl:output method="xml" indent="yes" encoding="UTF-8" />
  <xsl:strip-space elements="*" />

  <xsl:template match="/">
    <FLDS>
      <xsl:apply-templates />
    </FLDS>
  </xsl:template>

  <xsl:template match="s:Schema/s:ElementType/s:AttributeType">
    <FLD name="{(_at_)name}" />
  </xsl:template>
</xsl:stylesheet>
-- 
Charles Knell
cknell(_at_)onebox(_dot_)com - email



Sent:     Wed, 30 Apr 2003 07:58:44 -0700
To:       <xsl-list(_at_)lists(_dot_)mulberrytech(_dot_)com>
Subject:  [xsl] Transform XML


<?xml version="1.0">
<FLDS>
    <FLD name="orig_fld_name"/>
    <FLD name="orig_fld_name"/>
    <FLD name="orig_fld_name"/>
    <FLD name="orig_fld_name"/>
    ...
</FLDS>

Now, I get how to loop through the following XML, and all that jazz... but I
need help setting up the template so that I can write back XML.  As in:  how
do you write XML tags (nodes), can you prefix them?  I have set the XSL
output to "XML", is there some sort of copy command.
Thanks!
Karl

What I have to work with is a persisted ADOXML Recordset, and it looks like
this:

- <xml xmlns:s="uuid:BDC6E3F0-6DA3-11d1-A2A3-00AA00C14882"
xmlns:dt="uuid:C2F41010-65B3-11d1-A29F-00AA00C14882"
xmlns:rs="urn:schemas-microsoft-com:rowset" xmlns:z="#RowsetSchema">
- <s:Schema id="RowsetSchema">
- <s:ElementType name="row" content="eltOnly" rs:CommandTimeout="30">
- <s:AttributeType name="usr_memberID" rs:number="1" rs:nullable="true"
rs:writeunknown="true">
  <s:datatype dt:type="int" dt:maxLength="4" rs:precision="4"
rs:fixedlength="true" />
  </s:AttributeType>
- <s:AttributeType name="usr_UID" rs:number="2" rs:writeunknown="true">
  <s:datatype dt:type="string" rs:dbtype="str" dt:maxLength="4294967295"
rs:maybenull="false" />
  </s:AttributeType>
- <s:AttributeType name="USR_PWD" rs:number="3" rs:writeunknown="true">
  <s:datatype dt:type="string" rs:dbtype="str" dt:maxLength="4294967295"
rs:maybenull="false" />
  </s:AttributeType>
- <s:AttributeType name="fname" rs:number="4" rs:writeunknown="true">
  <s:datatype dt:type="string" rs:dbtype="str" dt:maxLength="4294967295"
rs:maybenull="false" />
  </s:AttributeType>
- <s:AttributeType name="lname" rs:number="5" rs:writeunknown="true">
  <s:datatype dt:type="string" rs:dbtype="str" dt:maxLength="4294967295"
rs:maybenull="false" />
  </s:AttributeType>
- <s:AttributeType name="email" rs:number="6" rs:writeunknown="true">
  <s:datatype dt:type="string" rs:dbtype="str" dt:maxLength="4294967295"
rs:maybenull="false" />
  </s:AttributeType>
- <s:AttributeType name="email2" rs:number="7" rs:writeunknown="true">
  <s:datatype dt:type="string" rs:dbtype="str" dt:maxLength="4294967295"
rs:maybenull="false" />
  </s:AttributeType>
- <s:AttributeType name="email3" rs:number="8" rs:writeunknown="true">
  <s:datatype dt:type="string" rs:dbtype="str" dt:maxLength="4294967295"
rs:maybenull="false" />
  </s:AttributeType>
- <s:AttributeType name="phone_home" rs:number="9" rs:writeunknown="true">
  <s:datatype dt:type="string" rs:dbtype="str" dt:maxLength="4294967295"
rs:maybenull="false" />
  </s:AttributeType>
- <s:AttributeType name="phone_cell" rs:number="10" rs:writeunknown="true">
  <s:datatype dt:type="string" rs:dbtype="str" dt:maxLength="4294967295"
rs:maybenull="false" />
  </s:AttributeType>
- <s:AttributeType name="phone_fax" rs:number="11" rs:writeunknown="true">
  <s:datatype dt:type="string" rs:dbtype="str" dt:maxLength="4294967295"
rs:maybenull="false" />
  </s:AttributeType>
- <s:AttributeType name="phone_other" rs:number="12" rs:writeunknown="true">
  <s:datatype dt:type="string" rs:dbtype="str" dt:maxLength="4294967295"
rs:maybenull="false" />
  </s:AttributeType>
- <s:AttributeType name="address1" rs:number="13" rs:writeunknown="true">
  <s:datatype dt:type="string" rs:dbtype="str" dt:maxLength="4294967295"
rs:maybenull="false" />
  </s:AttributeType>
- <s:AttributeType name="address2" rs:number="14" rs:writeunknown="true">
  <s:datatype dt:type="string" rs:dbtype="str" dt:maxLength="4294967295"
rs:maybenull="false" />
  </s:AttributeType>
- <s:AttributeType name="city" rs:number="15" rs:writeunknown="true">
  <s:datatype dt:type="string" rs:dbtype="str" dt:maxLength="4294967295"
rs:maybenull="false" />
  </s:AttributeType>
- <s:AttributeType name="state" rs:number="16" rs:writeunknown="true">
  <s:datatype dt:type="string" rs:dbtype="str" dt:maxLength="4294967295"
rs:fixedlength="true" rs:maybenull="false" />
  </s:AttributeType>
- <s:AttributeType name="zip" rs:number="17" rs:writeunknown="true">
  <s:datatype dt:type="string" rs:dbtype="str" dt:maxLength="4294967295"
rs:maybenull="false" />
  </s:AttributeType>
- <s:AttributeType name="notes" rs:number="18" rs:writeunknown="true">
  <s:datatype dt:type="string" rs:dbtype="str" dt:maxLength="4294967295"
rs:maybenull="false" />
  </s:AttributeType>
- <s:AttributeType name="Hire_Date" rs:number="19" rs:nullable="true"
rs:writeunknown="true">
  <s:datatype dt:type="date" dt:maxLength="6" rs:fixedlength="true" />
  </s:AttributeType>
- <s:AttributeType name="Termination_Date" rs:number="20" rs:nullable="true"
rs:writeunknown="true">
  <s:datatype dt:type="date" dt:maxLength="6" rs:fixedlength="true" />
  </s:AttributeType>
- <s:AttributeType name="DOB" rs:number="21" rs:nullable="true"
rs:writeunknown="true">
  <s:datatype dt:type="date" dt:maxLength="6" rs:fixedlength="true" />
  </s:AttributeType>
  <s:extends type="rs:rowbase" />
  </s:ElementType>
  </s:Schema>
  <rs:data />
  </xml>


 XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list




 XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list