This is the mail archive of the xsl-list@mulberrytech.com mailing list .


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

Re: Applying template conditionally


Sorry :(  I was trying not to make the post too long,
and was hoping my description of the problem would be
sufficient.  

Basically, I want to convert a spreadsheet.  Convert
each row into an element, column headings into
attribute names and values into attribute values.

Here are the samples for source and target:

source XML:
<?xml version="1.0"?>
<book doctype="createRFQ"><sheet><range>
  <row>
    <cell column="1">*OrganizationCode</cell>
    <cell column="2">*RFQName</cell>
    <cell column="3">*RFQCode</cell>
    <cell column="4">*RFQType</cell>
    <cell column="5">*RFQSubscription</cell>
  </row>
  <row>
    <cell column="1">abc</cell>
    <cell column="2">00Test Import 3</cell>
    <cell column="3">00Test Import 3</cell>
    <cell column="4">reverse</cell>
    <cell column="5">public</cell>
  </row>
  <row>
    <cell column="1">*Domain</cell>
    <cell
column="2">*ExtendedAttributeDefinitionCode</cell>
    <cell
column="3">*ExtendedAttributeDefinitionDataType</cell>
    <cell
column="4">*ExtendedAttributeDefinitionIsRequired</cell>
    <cell
column="5">*ExtendedAttributeDefinitionName</cell>
    <cell
column="6">*ExtendedAttributeDefinitionDescription</cell>
    <cell
column="7">ExtendedAttributeDefinitionMaxLength</cell>
    <cell
column="8">ExtendedAttributeDefinitionDefaultValue</cell>
  </row>
  <row>
    <cell column="1">line_item</cell>
    <cell column="2">Color</cell>
    <cell column="3">string</cell>
    <cell column="4">true</cell>
    <cell column="5">Color</cell>
    <cell column="6">RFQ item color, required</cell>
  </row>
  <row>
    <cell column="1">line_item</cell>
    <cell column="2">Size</cell>
    <cell column="3">string</cell>
    <cell column="4">false</cell>
    <cell column="5">Size</cell>
    <cell column="6">RFQ item size</cell>
  </row>
  <row>
    <cell column="1">*LineItemName</cell>
    <cell column="2">*LineItemCode</cell>
    <cell column="3">*LineItemCategoryCode</cell>
    <cell column="4">*LineItemType</cell>
    <cell
column="5">*LineItemMinimumDesiredQuantity</cell>
    <cell column="6">LineItemDescription</cell>
    <cell column="7">LineItemProductCode</cell>
    <cell
column="8">LineItemMaximumDesiredQuantity</cell>
    <cell column="9">LineItemMinimumBidQuantity</cell>
    <cell
column="10">LineItemMaximumBidQuantity</cell>
    <cell column="11">LineItemUnitOfMeasure</cell>
    <cell column="12">LineItemCurrencyCode</cell>
    <cell column="13">LineItemReservedPrice</cell>
    <cell column="14">LineItemHistoricalCost</cell>
    <cell column="15">LineItemDeliveryDateTime</cell>
    <cell column="16">*Color</cell>
    <cell column="17">Size</cell>
  </row>
  <row>
    <cell column="1">AC50.200.001</cell>
    <cell column="2">AC50.200.001</cell>
    <cell column="3">valves</cell>
    <cell column="4">single</cell>
    <cell column="5">10000</cell>
    <cell column="6">Connect female half</cell>
    <cell column="11">Each</cell>
    <cell column="16">red</cell>
    <cell column="17">large</cell>
  </row>
  <row>
    <cell column="1">AC50.200.012</cell>
    <cell column="2">AC50.200.012</cell>
    <cell column="3">valves</cell>
    <cell column="4">single</cell>
    <cell column="5">10000</cell>
    <cell column="6">Connect male half</cell>
    <cell column="11">Each</cell>
    <cell column="16">red</cell>
    <cell column="17">large</cell>
  </row>
</range></sheet></book>

target XML:
<RFQRequest><createRFQ><RFQ OrganizationCode="epass"
RFQName="00Test Import 3" RFQCode="00Test Import 3"
RFQType="reverse" RFQSubscription="public">
<RFQDomainAttributeDefinition Domain="line_item">
<ExtendedAttributeDefinition
ExtendedAttributeDefinitionCode="Color"
ExtendedAttributeDefinitionDataType="string"
ExtendedAttributeDefinitionIsRequired="true"
ExtendedAttributeDefinitionName="Color"
ExtendedAttributeDefinitionDescription="RFQ item
color, required"/>
</RFQDomainAttributeDefinition>
<RFQDomainAttributeDefinition Domain="line_item">
<ExtendedAttributeDefinition
ExtendedAttributeDefinitionCode="Size"
ExtendedAttributeDefinitionDataType="string"
ExtendedAttributeDefinitionIsRequired="false"
ExtendedAttributeDefinitionName="Size"
ExtendedAttributeDefinitionDescription="RFQ item
size"/>
</RFQDomainAttributeDefinition>
<Requisition RequisitionCode="DEFAULT1"
RequisitionName="DEFAULT1">
<LineItem LineItemName="AC50.200.001"
LineItemCode="AC50.200.001"
LineItemCategoryCode="valves" LineItemType="single"
LineItemMinimumDesiredQuantity="10000"
LineItemDescription="Connect female half"
LineItemUnitOfMeasure="Each">
<ExtendedAttribute ExtendedAttributeCode="Color"
ExtendedAttributeValue="red"/>
<ExtendedAttribute ExtendedAttributeCode="Size"
ExtendedAttributeValue="large"/></LineItem>
<LineItem LineItemName="AC50.200.012"
LineItemCode="AC50.200.012"
LineItemCategoryCode="valves" LineItemType="single"
LineItemMinimumDesiredQuantity="10000"
LineItemDescription="Connect male half"
LineItemUnitOfMeasure="Each">
<ExtendedAttribute ExtendedAttributeCode="Color"
ExtendedAttributeValue="red"/>
<ExtendedAttribute ExtendedAttributeCode="Size"
ExtendedAttributeValue="large"/></LineItem>
</Requisition></RFQ></createRFQ></RFQRequest>

Much thanks,
Xiaocun

--- Dan Diebolt <dandiebolt@yahoo.com> wrote:
> Perhaps I missed your earlier post, but could you
> reference your questions to some sample XML? There
> is probably a very straightforward answer, but I
> can't undestand your question without some XML to
> look at.
> 
> Regards,
> 
> Dan
> 
> __________________________________________________
> Do You Yahoo!?
> Yahoo! Auctions - buy the things you want at great
> prices
> http://auctions.yahoo.com/
> 
>  XSL-List info and archive: 
> http://www.mulberrytech.com/xsl/xsl-list
> 


__________________________________________________
Do You Yahoo!?
Yahoo! Auctions - buy the things you want at great prices
http://auctions.yahoo.com/

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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]