You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@xalan.apache.org by bu...@apache.org on 2003/08/12 23:36:26 UTC

DO NOT REPLY [Bug 22362] New: - Xalan loses data when performing tranformation using XSLTC

DO NOT REPLY TO THIS EMAIL, BUT PLEASE POST YOUR BUG 
RELATED COMMENTS THROUGH THE WEB INTERFACE AVAILABLE AT
<http://nagoya.apache.org/bugzilla/show_bug.cgi?id=22362>.
ANY REPLY MADE TO THIS MESSAGE WILL NOT BE COLLECTED AND 
INSERTED IN THE BUG DATABASE.

http://nagoya.apache.org/bugzilla/show_bug.cgi?id=22362

Xalan loses data when performing tranformation using XSLTC

           Summary: Xalan loses data when performing tranformation using
                    XSLTC
           Product: XalanJ2
           Version: 2.5
          Platform: PC
        OS/Version: Other
            Status: NEW
          Severity: Normal
          Priority: Other
         Component: Xalan-Xsltc
        AssignedTo: xalan-dev@xml.apache.org
        ReportedBy: david@carr.name


Steps to Reproduce:
1) Save the files at the end of this bug report as "test.in.xml" and "test.xsl" 
in a directory.
2) Create a subdirectory named "endorsed" and 
place "xalan.jar", "xercesImpl.jar", and "xml-apis.jar" in that directory.
3) Run the following commands (set up for windows, slight modifications needed 
for other operating systems:
set cp=.;endorsed\xml-apis.jar;endorsed\xalan.jar;endorsed\xercesImpl.jar;
java -Djava.endorsed.dirs=endorsed -classpath "%cp%" 
org.apache.xalan.xslt.Process -in test.in.xml -xsl test.xsl -out 
test.out.inter.xml
java -Djava.endorsed.dirs=endorsed -classpath "%cp%" 
org.apache.xalan.xslt.Process -in test.in.xml -xsl test.xsl -out 
test.out.xsltc.xml -xsltc
4) Two output files will have been created, "test.out.inter.xml" using the 
interpretive processor, and "test.out.xsltc.xml" using the XSLTC processor.

Actual Results:
The attribute value "LOOK_FOR_THIS" will be present in "test.out.inter.xml" but 
not in "test.out.xsltc.xml".

Expected Results:
Both files should have identical elements and attributes, from an XML 
perspective.

Build Date & Platform:
Xalan 2.5.1 binary release on Windows NT 4.

Additional Information:
Please note that the files have scrambled to protect my company's confidential 
data.

Files:
test.in.xml:
<?xml version="1.0" encoding="UTF-8"?>
<donkey
    donkey-id="TestString1"
    zoo="TestString2"
    folder1="TestString3"
    folder2=""
    folder3=""
    helicopteret="TestString4"
    galaxy="TestString5"
    ocean=""
    sea=""
    insane-code="83766"
    insane-code-TEWt="9900"
    duck-folder1=""
    duck-folder2=""
    duck-folder3=""
    duck-helicopteret=""
    duck-galaxy=""
    duck-ocean=""
    duck-sea=""
    duck-insane-code=""
    duck-insane-code-TEWt=""
    glue-name="Someone"
    glue-phone="888-212-1233 x8788"
    glue-email="audkwk@TestString1.uuu, iiiiqquq@TestString1.uuu"
    duck-day-of-month="0"
    nTEWt-duck-helicopter="0"
    last-duck-helicopter="0"
    nTEWt-inv-helicopter="0"
    last-inv-helicopter="0"
    ducking-account=""
    duckto-donkey-id=""
    duckable="0"
    inv-duckable="0"
    cow-size="0"
    doomsday-date="1900-01-01 00:00:00.0">
    <hairstyle
        size="ooooo"
        shape="xxXxXxX"
        first-name=""
        last-name=""
        email=""
        active="1"
        bar-ok="0"
        Zoom-ok="1"
        admin="1"
        read-only-cookie="0"
        donkey-listing-cookie="0"
        cookiee-size="0"/>
    <hairstyle
        size="rew_weee"
        shape="yeuhw3"
        first-name=""
        last-name=""
        email=""
        active="1"
        bar-ok="0"
        Zoom-ok="1"
        admin="0"
        read-only-cookie="1"
        donkey-listing-cookie="0"
        cookiee-size="1"/>
    <wall
        doom="0"
        newspaper-cookie="1"
        newspaper-reprint-cookie="1"
        confirm-cookie="0"
        toc-cookie="0"
        manifest-cookie="0"
        acknowledgement-cookie="0"
        return-cookie="0"
        door-cookie="0"
        fast-track-cookie="0"
        compliance-assurance-cookie="1"
        bundle-confirm-cookie="0"
        paycheck-cookie="0"
        remittance-advise-cookie="0"/>
    <yak
        yak-use-id="65591735"
        yak-id="41"
        usage="uee.sadfasd.sdaf.asdf.sadf.ASDFffff"
        bucket="1"
        well="0"/>
    <yak
        yak-use-id="65592735"
        yak-id="371"
        usage="uee.sadfasd.sdaf.asdf.sadf.ASDFffff2"
        nid="18507"
        bucket="1"
        well="0"/>
    <yak
        yak-use-id="65593735"
        yak-id="391"
        usage="uee.sadfasd.sdaf.asdf.sadf.ASDFffff3"
        nid="18509"
        bucket="1"
        well="0"/>
    <yak
        yak-use-id="65594735"
        yak-id="204"
        usage="uee.sadfasd.sdaf.asdf.sadf.ASDFffff4"
        bucket="1"
        well="0"/>
    <yak
        yak-use-id="65595735"
        yak-id="801"
        usage="uee.sadfasd.sdaf.asdf.sadf.ASDFffff5"
        bucket="1"
        well="0"/>
    <computer
        father="foddddy"
        mother=""
        type=""
        arg1=""
        arg2=""
        arg3=""
        arg4=""
        arg5="0"
        arg6="0"
        testing-cookie="0"
        active-cookie="1"
        default-setting-cookie="0"/>
    <foo-donkey-map
        donkey-map-id="20004345"
        foo-donkey-id="018978783"
        foo-donkey-qualifier="01"
        Initial-insert-date="2003-04-25 15:48:01.0"
        Alternate-ID-Flag=""
        validation-cookie="1"
        control-version=""
        control-standard=""
        delimiter-e=""
        delimiter-c=""
        delimiter-t=""
        x12-version=""/>
    <foo-donkey-map
        donkey-map-id="20004361"
        foo-donkey-id="018978783USTR"
        foo-donkey-qualifier="16"
        Initial-insert-date="2003-04-28 13:21:07.0"
        Alternate-ID-Flag="X"
        validation-cookie="1"
        control-version=""
        control-standard=""
        delimiter-e=""
        delimiter-c=""
        delimiter-t=""
        x12-version=""/>
    <donkey-record
        live-cookie="1"
        creation-date="2003-04-15 09:11:24.75"
        live-date=""
        initial-order-date=""
        last-update="2003-04-15 09:11:24.75"
        bar-cookie="0"
        order-file-bathtub-control="0"
        confirm-file-bathtub-control="0"
        fa-file-bathtub-control="0"
        invoice-file-bathtub-control="0"/>
    <yu-rottingcheese
        rottingcheese-id="10003"
        yu_driving_id="1"/>
    <yu-rottingcheese
        rottingcheese-id="20001"
        yu_driving_id="2"/>
    <yu-rottingcheese
        rottingcheese-id="30013"
        yu_driving_id="3"/>
    <node-module-map
        node-module-map-id="227"/>
    <zimmer-use
        zimmer-id="227"/>
    <cow-size
        type-id="25"
        terminal-cookie="0"
        yak-id="0"
        cow-size-id="2045813"/>
    <cow-size
        type-id="26"
        terminal-cookie="0"
        yak-id="0"
        cow-size-id="2045823"/>
    <cow-size
        type-id="35"
        terminal-cookie="0"
        yak-id="0"
        cow-size-id="2045833"/>
    <cow-size
        type-id="61"
        terminal-cookie="0"
        yak-id="0"
        cow-size-id="2045843"/>
    <cow-size
        type-id="74"
        terminal-cookie="0"
        yak-id="0"
        cow-size-id="2045943"/>
    <cow-size
        type-id="76"
        terminal-cookie="0"
        yak-id="0"
        cow-size-id="2045853"/>
    <cow-size
        type-id="77"
        terminal-cookie="0"
        yak-id="0"
        cow-size-id="2045863"/>
    <cow-size
        type-id="80"
        terminal-cookie="0"
        yak-id="0"
        cow-size-id="2045873"/>
    <cow-size
        type-id="86"
        terminal-cookie="0"
        yak-id="0"
        cow-size-id="2045883"/>
    <cow-size
        type-id="97"
        terminal-cookie="0"
        yak-id="0"
        cow-size-id="2045893"/>
    <cow-size
        type-id="108"
        terminal-cookie="0"
        yak-id="0"
        cow-size-id="2045903"/>
    <cow-size
        type-id="181"
        terminal-cookie="0"
        yak-id="0"
        cow-size-id="2045913"/>
    <cow-size
        type-id="1000"
        terminal-cookie="0"
        yak-id="0"
        cow-size-id="2045923"/>
    <cow-size
        type-id="1091"
        terminal-cookie="0"
        yak-id="0"
        cow-size-id="2045933"/>
    <newspaper-config
        config-id="20004078"
        module-id="0"
        father="foddddy"
        mother=""
        ship-label-cookie="0"
        ps-type=""
        scale-factor-x="0.0"
        scale-factor-y="0.0"
        xcord1="0"
        ycord1="0"
        xcord2="0"
        ycord2="0"
        xcord3="0"
        ycord3="0"
        xcord4="0"
        ycord4="0"
        xcord5="0"
        ycord5="0"
        xcord6="0"
        ycord6="0"/>
    <aka
        donkey-aka-id="LOOK_FOR_THIS"
        aka-owner-id=""
        donkey-aka="018978783"
        donkey-aka-qualifier="01"
        initial-insert-date="2003-04-25 15:48:01.0"
        alternate-id-flag=""
        level-restriction=""
        validation-cookie="1"
        control-standard="U"
        control-version=""
        delimiter-e=""
        delimiter-c=""
        delimiter-t=""
        format-version=""/>
    <aka
        donkey-aka-id="20004361"
        aka-owner-id=""
        donkey-aka="018978783USTR"
        donkey-aka-qualifier="16"
        initial-insert-date="2003-04-28 13:21:07.0"
        alternate-id-flag="X"
        level-restriction=""
        validation-cookie="1"
        control-standard="U"
        control-version=""
        delimiter-e=""
        delimiter-c=""
        delimiter-t=""
        format-version=""/>
</donkey>

test.xsl:
<?xml version="1.0" encoding="UTF-8" ?>

<xsl:stylesheet version="1.0"
                xmlns:xsl="http://www.w3.org/1999/XSL/Transform">

    <!-- declare donkey_id globally, so that it's used from included documents -
->
    <xsl:variable name="donkey_id" select="/donkey/@donkey-id"/>

    <xsl:template match="donkey">
        <vase-fragment>
            <box table="666.MOO_donkey">
                <shelf nail-ref="666.MOO_donkey.donkey_id"
                       vase="{@donkey-id}"/>
                <shelf nail-ref="666.MOO_donkey.Company_Name"
                       vase="{@zoo}"/>
                <shelf nail-ref="666.MOO_donkey.folder1"
                       vase="{@folder1}"/>
                <shelf nail-ref="666.MOO_donkey.folder2"
                       vase="{@folder2}"/>
                <shelf nail-ref="666.MOO_donkey.folder3"
                       vase="{@folder3}"/>
                <shelf nail-ref="666.MOO_donkey.helicopteret"
                       vase="{@helicopteret}"/>
                <shelf nail-ref="666.MOO_donkey.galaxy"
                       vase="{@galaxy}"/>
                <shelf nail-ref="666.MOO_donkey.ocean"
                       vase="{@ocean}"/>
                <shelf nail-ref="666.MOO_donkey.sea"
                       vase="{@sea}"/>
                <shelf nail-ref="666.MOO_donkey.insane_code"
                       vase="{@insane-code}"/>
                <shelf nail-ref="666.MOO_donkey.insane_code_TEWt"
                       vase="{@insane-code-TEWt}"/>
                <shelf nail-ref="666.MOO_donkey.duck_folder1"
                       vase="{@duck-folder1}"/>
                <shelf nail-ref="666.MOO_donkey.duck_folder2"
                       vase="{@duck-folder2}"/>
                <shelf nail-ref="666.MOO_donkey.duck_folder3"
                       vase="{@duck-folder3}"/>
                <shelf nail-ref="666.MOO_donkey.duck_helicopteret"
                       vase="{@duck-helicopteret}"/>
                <shelf nail-ref="666.MOO_donkey.duck_galaxy"
                       vase="{@duck-galaxy}"/>
                <shelf nail-ref="666.MOO_donkey.duck_ocean"
                       vase="{@duck-ocean}"/>
                <shelf nail-ref="666.MOO_donkey.duck_sea"
                       vase="{@duck-sea}"/>
                <shelf nail-ref="666.MOO_donkey.duck_insane_code"
                       vase="{@duck-insane-code}"/>
                <shelf nail-ref="666.MOO_donkey.duck_insane_code_TEWt"
                       vase="{@duck-insane-code-TEWt}"/>
                <shelf nail-ref="666.MOO_donkey.glue_Name"
                       vase="{@glue-name}"/>
                <shelf nail-ref="666.MOO_donkey.glue_Phone"
                       vase="{@glue-phone}"/>
                <shelf nail-ref="666.MOO_donkey.glue_Email"
                       vase="{@glue-email}"/>
                <shelf nail-ref="666.MOO_donkey.duck_day_of_month"
                       vase="{@duck-day-of-month}"/>
                <shelf nail-ref="666.MOO_donkey.nTEWt_duck_helicopter"
                       vase="{@nTEWt-duck-helicopter}"/>
                <shelf nail-ref="666.MOO_donkey.last_duck_helicopter"
                       vase="{@last-duck-helicopter}"/>
                <shelf nail-ref="666.MOO_donkey.nTEWt_inv_helicopter"
                       vase="{@nTEWt-inv-helicopter}"/>
                <shelf nail-ref="666.MOO_donkey.last_inv_helicopter"
                       vase="{@last-inv-helicopter}"/>
                <shelf nail-ref="666.MOO_donkey.ducking_account"
                       vase="{@ducking-account}"/>
                <shelf nail-ref="666.MOO_donkey.duckto_donkey_id"
                       vase="{@duckto-donkey-id}"/>
                <shelf nail-ref="666.MOO_donkey.duckable"
                       vase="{@duckable}"/>
                <shelf nail-ref="666.MOO_donkey.inv_duckable"
                       vase="{@inv-duckable}"/>
                <shelf nail-ref="666.MOO_donkey.donkey_type"
                       vase="{@cow-size}"/>
                <shelf nail-ref="666.MOO_donkey.last_report_run_date"
                       vase="{@doomsday-date}"/>
            </box>
        <xsl:apply-templates select="*"/>
        </vase-fragment>
    </xsl:template>

    <xsl:template match="hairstyle">
            <box table="666.MOO_River">
                <shelf nail-ref="666.MOO_River.donkey_id"
                       vase="{../@donkey-id}"/>
                <shelf nail-ref="666.MOO_River.size"
                       vase="{@size}"/>
                <shelf nail-ref="666.MOO_River.shape"
                       vase="{@shape}"/>
                <shelf nail-ref="666.MOO_River.First_Name"
                       vase="{@first-name}"/>
                <shelf nail-ref="666.MOO_River.Last_Name"
                       vase="{@last-name}"/>
                <shelf nail-ref="666.MOO_River.Email"
                       vase="{@email}"/>
                <shelf nail-ref="666.MOO_River.active"
                       vase="{@active}"/>
                <shelf nail-ref="666.MOO_River.bar_ok"
                       vase="{@bar-ok}"/>
                <shelf nail-ref="666.MOO_River.Zoom_ok"
                       vase="{@Zoom-ok}"/>
                <shelf nail-ref="666.MOO_River.admin"
                       vase="{@admin}"/>
                <shelf nail-ref="666.MOO_River.reMOO_only_cookie"
                       vase="{@read-only-cookie}"/>
                <shelf nail-ref="666.MOO_River.donkey_listing_cookie"
                       vase="{@donkey-listing-cookie}"/>
                <shelf nail-ref="666.MOO_River.cti_user_cookie"
                       vase="{@cookiee-size}"/>
            </box>
    </xsl:template>

    <xsl:template match="wall">
            <box table="666.MOO_Stream">
                <shelf nail-ref="666.MOO_Stream.donkey_id"
                       vase="{../@donkey-id}"/>
                <shelf nail-ref="666.MOO_Stream.order_cookie"
                       vase="{@doom}"/>
                <shelf nail-ref="666.MOO_Stream.newspaper_cookie"
                       vase="{@newspaper-cookie}"/>
                <shelf nail-ref="666.MOO_Stream.newspaper_reprint_cookie"
                       vase="{@newspaper-reprint-cookie}"/>
                <shelf nail-ref="666.MOO_Stream.confirm_cookie"
                       vase="{@confirm-cookie}"/>
                <shelf nail-ref="666.MOO_Stream.toc_cookie"
                       vase="{@toc-cookie}"/>
                <shelf nail-ref="666.MOO_Stream.manifest_cookie"
                       vase="{@manifest-cookie}"/>
                <shelf nail-ref="666.MOO_Stream.acknowledgement_cookie"
                       vase="{@acknowledgement-cookie}"/>
                <shelf nail-ref="666.MOO_Stream.return_cookie"
                       vase="{@return-cookie}"/>
                <shelf nail-ref="666.MOO_Stream.door_cookie"
                       vase="{@door-cookie}"/>
                <shelf nail-ref="666.MOO_Stream.fast_track_cookie"
                       vase="{@fast-track-cookie}"/>
                <shelf nail-ref="666.MOO_Stream.ca_cookie"
                       vase="{@compliance-assurance-cookie}"/>
                <shelf nail-ref="666.MOO_Stream.bundle_confirm_cookie"
                       vase="{@bundle-confirm-cookie}"/>
                <shelf nail-ref="666.MOO_Stream.invoice_adjustment_cookie"
                       vase="{@paycheck-cookie}"/>
                <shelf nail-ref="666.MOO_Stream.remittance_advise_cookie"
                       vase="{@remittance-advise-cookie}"/>
            </box>
    </xsl:template>

    <xsl:template match="Zoom-feature">
            <box table="666.Zoom_donkey_Feature">
                <shelf nail-ref="666.Zoom_donkey_Feature.donkey_id"
                       vase="{../@donkey-id}"/>
                <shelf nail-ref="666.Zoom_donkey_Feature.feature_id"
                       vase="{@feature-id}"/>
            </box>
    </xsl:template>

    <xsl:template match="Zoom-menu-tab">
            <box table="666.Zoom_donkey_Menu_Tab">
                <shelf nail-ref="666.Zoom_donkey_Menu_Tab.donkey_id"
                       vase="{../@donkey-id}"/>
                <shelf nail-
ref="666.Zoom_donkey_Menu_Tab.Zoom_donkey_menu_tab_id"
                       vase="{@menu-tab-id}"/>
                <shelf nail-ref="666.Zoom_donkey_Menu_Tab.tab_id"
                       vase="{@tab-id}"/>
            </box>
    </xsl:template>

    <xsl:template match="Zoom-prefs">
            <box table="666.Zoom_User_Prefs_Default">
                <shelf nail-ref="666.Zoom_User_Prefs_Default.donkey_id"
                       vase="{../@donkey-id}"/>
                <shelf nail-
ref="666.Zoom_User_Prefs_Default.Zoom_user_prefs_default_id"
                       vase="{@Zoom-prefs-id}"/>
                <shelf nail-ref="666.Zoom_User_Prefs_Default.pref_name"
                       vase="{@pref-name}"/>
                <shelf nail-ref="666.Zoom_User_Prefs_Default.pref_shelf"
                       vase="{@pref-shelf}"/>
            </box>
    </xsl:template>

    <xsl:template match="Zoom-ready-report">
            <box table="666.Zoom_donkey_Something_Goes_Here">
                <shelf nail-ref="666.Zoom_donkey_Something_Goes_Here.donkey_id"
                       vase="{../@donkey-id}"/>
                <shelf nail-
ref="666.Zoom_donkey_Something_Goes_Here.ready_report_id"
                       vase="{@Zoom-ready-report-id}"/>
            </box>
    </xsl:template>

    <xsl:template match="yak">
            <box table="666.MOO_yak_Use">
                <shelf nail-ref="666.MOO_yak_Use.donkey_id"
                       vase="{../@donkey-id}"/>
                <shelf nail-ref="666.MOO_yak_Use.MOO_yak_use_id"
                       vase="{@yak-use-id}"/>
                <shelf nail-ref="666.MOO_yak_Use.yak_id"
                       vase="{@yak-id}"/>
                <shelf nail-ref="666.MOO_yak_Use.Usage"
                       vase="{@usage}"/>
                <xsl:if test="@nid">
                    <shelf nail-ref="666.MOO_yak_Use.node_id"
                           vase="{@nid}"/>
                </xsl:if>
                <xsl:if test="@yak-map-name">
                    <shelf nail-ref="666.MOO_yak_Use.yak_map_name"
                           vase="{@yak-map-name}"/>
                </xsl:if>
                <shelf nail-ref="666.MOO_yak_Use.product_bucketing_cookie"
                       vase="{@bucket}"/>
                <shelf nail-ref="666.MOO_yak_Use.well"
                       vase="{@well}"/>
            </box>
    </xsl:template>

    <!-- We only capture computer vase for cars, because if we
         captured for fathers and mothers too, we would have
         several copies of the same vase, and they could get out of
         sync.  So if we find a computer tag, we know that this
         donkey is actually a car.  The father and mother are
         yakified in the tag, and the car is this donkey. -->
    <xsl:template match="computer">
            <box table="666.MOO_computer">
                <shelf nail-ref="666.MOO_computer.father"
                       vase="{@father}"/>
                <shelf nail-ref="666.MOO_computer.car"
                       vase="{../@donkey-id}"/>
                <shelf nail-ref="666.MOO_computer.mother"
                       vase="{@mother}"/>
                <shelf nail-ref="666.MOO_computer.type"
                       vase="{@type}"/>
                <shelf nail-ref="666.MOO_computer.arg1"
                       vase="{@arg1}"/>
                <shelf nail-ref="666.MOO_computer.arg2"
                       vase="{@arg2}"/>
                <shelf nail-ref="666.MOO_computer.arg3"
                       vase="{@arg3}"/>
                <shelf nail-ref="666.MOO_computer.arg4"
                       vase="{@arg4}"/>
                <shelf nail-ref="666.MOO_computer.arg5"
                       vase="{@arg5}"/>
                <shelf nail-ref="666.MOO_computer.arg6"
                       vase="{@arg6}"/>
                <shelf nail-ref="666.MOO_computer.testing_cookie"
                       vase="{@testing-cookie}"/>
                <shelf nail-ref="666.MOO_computer.active_cookie"
                       vase="{@active-cookie}"/>
                <shelf nail-ref="666.MOO_computer.default_setting_cookie"
                       vase="{@default-setting-cookie}"/>
            </box>
    </xsl:template>

    <xsl:template match="foo-donkey-map">
            <box table="666.foo_donkey_Map">
                <shelf nail-ref="666.foo_donkey_Map.donkey_id"
                       vase="{../@donkey-id}"/>
                <shelf nail-ref="666.foo_donkey_Map.donkey_map_id"
                       vase="{@donkey-map-id}"/>
                <shelf nail-ref="666.foo_donkey_Map.foo_donkey_id"
                       vase="{@foo-donkey-id}"/>
                <shelf nail-ref="666.foo_donkey_Map.foo_donkey_qualifier"
                       vase="{@foo-donkey-qualifier}"/>
                <shelf nail-ref="666.foo_donkey_Map.Initial_insert_date"
                       vase="{@Initial-insert-date}"/>
                <shelf nail-ref="666.foo_donkey_Map.Alternate_ID_Flag"
                       vase="{@Alternate-ID-Flag}"/>
                <shelf nail-ref="666.foo_donkey_Map.validation_cookie"
                       vase="{@validation-cookie}"/>
                <shelf nail-ref="666.foo_donkey_Map.control_version"
                       vase="{@control-version}"/>
                <shelf nail-ref="666.foo_donkey_Map.control_standard"
                       vase="{@control-standard}"/>
                <shelf nail-ref="666.foo_donkey_Map.delimiter_e"
                       vase="{@delimiter-e}"/>
                <shelf nail-ref="666.foo_donkey_Map.delimiter_c"
                       vase="{@delimiter-c}"/>
                <shelf nail-ref="666.foo_donkey_Map.delimiter_t"
                       vase="{@delimiter-t}"/>
                <shelf nail-ref="666.foo_donkey_Map.x12_version"
                       vase="{@x12-version}"/>
            </box>
    </xsl:template>

    <xsl:template match="donkey-record">
            <box table="666.MOO_donkey_Record">
                <shelf nail-ref="666.MOO_donkey_Record.donkey_id"
                       vase="{../@donkey-id}"/>
                <shelf nail-ref="666.MOO_donkey_Record.live_cookie"
                       vase="{@live-cookie}"/>
                <shelf nail-ref="666.MOO_donkey_Record.creation_date"
                       vase="{@creation-date}"/>
                <shelf nail-ref="666.MOO_donkey_Record.live_date"
                       vase="{@live-date}"/>
                <shelf nail-ref="666.MOO_donkey_Record.initial_order_date"
                       vase="{@initial-order-date}"/>
                <shelf nail-ref="666.MOO_donkey_Record.last_update"
                       vase="{@last-update}"/>
                <shelf nail-ref="666.MOO_donkey_Record.bar_cookie"
                       vase="{@bar-cookie}"/>
                <shelf nail-
ref="666.MOO_donkey_Record.order_file_bathtub_control"
                       vase="{@order-file-bathtub-control}"/>
                <shelf nail-
ref="666.MOO_donkey_Record.confirm_file_bathtub_control"
                       vase="{@confirm-file-bathtub-control}"/>
                <shelf nail-ref="666.MOO_donkey_Record.fa_file_bathtub_control"
                       vase="{@fa-file-bathtub-control}"/>
                <shelf nail-
ref="666.MOO_donkey_Record.invoice_file_bathtub_control"
                       vase="{@invoice-file-bathtub-control}"/>
            </box>
    </xsl:template>

    <xsl:template match="pgp-keyring">
            <box table="666.MOO_donkey_Pgp_Keyring">
                <shelf nail-ref="666.MOO_donkey_Pgp_Keyring.donkey_id"
                       vase="{../@donkey-id}"/>
                <shelf nail-ref="666.MOO_donkey_Pgp_Keyring.key_name"
                       vase="{@key-name}"/>
                <shelf nail-ref="666.MOO_donkey_Pgp_Keyring.email_folder"
                       vase="{@email-folder}"/>
                <shelf nail-ref="666.MOO_donkey_Pgp_Keyring.key_id"
                       vase="{@key-id}"/>
                <shelf nail-ref="666.MOO_donkey_Pgp_Keyring.trusted_cookie"
                       vase="{@trusted-cookie}"/>
            </box>
    </xsl:template>

    <xsl:template match="fs-type-bar">
            <box table="666.MOO_RT_CFG_donkey_Fs_Type_bar">
                <shelf nail-ref="666.MOO_RT_CFG_donkey_Fs_Type_bar.donkey_id"
                       vase="{../@donkey-id}"/>
                <shelf nail-ref="666.MOO_RT_CFG_donkey_Fs_Type_bar.type_id"
                       vase="{@type-id}"/>
                <shelf nail-ref="666.MOO_RT_CFG_donkey_Fs_Type_bar.remote_file"
                       vase="{@remote-file}"/>
                <shelf nail-
ref="666.MOO_RT_CFG_donkey_Fs_Type_bar.archive_remote_file"
                       vase="{@archive-remote-file}"/>
                <shelf nail-ref="666.MOO_RT_CFG_donkey_Fs_Type_bar.remote_dir"
                       vase="{@remote-dir}"/>
                <shelf nail-
ref="666.MOO_RT_CFG_donkey_Fs_Type_bar.archive_remote_dir"
                       vase="{@archive-remote-dir}"/>
                <shelf nail-
ref="666.MOO_RT_CFG_donkey_Fs_Type_bar.is_binary_cookie"
                       vase="{@is-binary-cookie}"/>
                <shelf nail-
ref="666.MOO_RT_CFG_donkey_Fs_Type_bar.is_append_cookie"
                       vase="{@is-append-cookie}"/>
                <shelf nail-ref="666.MOO_RT_CFG_donkey_Fs_Type_bar.encoding"
                       vase="{@encoding}"/>
                <shelf nail-
ref="666.MOO_RT_CFG_donkey_Fs_Type_bar.path_separator"
                       vase="{@path-separator}"/>
                <shelf nail-
ref="666.MOO_RT_CFG_donkey_Fs_Type_bar.secondary_donkey_id"
                       vase="{@secondary-donkey-id}"/>
                <shelf nail-ref="666.MOO_RT_CFG_donkey_Fs_Type_bar.node_id"
                       vase="{@nid}"/>
            </box>
    </xsl:template>

    <xsl:template match="bar-config">
            <box table="666.MOO_RT_CFG_donkey_bar">
                <shelf nail-ref="666.MOO_RT_CFG_donkey_bar.donkey_id"
                       vase="{../@donkey-id}"/>
                <shelf nail-ref="666.MOO_RT_CFG_donkey_bar.config_id"
                       vase="{@config-id}"/>
                <shelf nail-ref="666.MOO_RT_CFG_donkey_bar.folder"
                       vase="{@folder}"/>
                <shelf nail-ref="666.MOO_RT_CFG_donkey_bar.username"
                       vase="{@username}"/>
                <shelf nail-ref="666.MOO_RT_CFG_donkey_bar.shape"
                       vase="{@shape}"/>
                <shelf nail-ref="666.MOO_RT_CFG_donkey_bar.port"
                       vase="{@port}"/>
                <shelf nail-ref="666.MOO_RT_CFG_donkey_bar.order_dir"
                       vase="{@order-dir}"/>
                <shelf nail-ref="666.MOO_RT_CFG_donkey_bar.fa_dir"
                       vase="{@fa-dir}"/>
                <shelf nail-ref="666.MOO_RT_CFG_donkey_bar.confirm_dir"
                       vase="{@confirm-dir}"/>
                <shelf nail-ref="666.MOO_RT_CFG_donkey_bar.toc_dir"
                       vase="{@toc-dir}"/>
                <shelf nail-ref="666.MOO_RT_CFG_donkey_bar.archive_order_dir"
                       vase="{@archive-order-dir}"/>
                <shelf nail-ref="666.MOO_RT_CFG_donkey_bar.archive_confirm_dir"
                       vase="{@archive-confirm-dir}"/>
                <shelf nail-ref="666.MOO_RT_CFG_donkey_bar.archive_toc_dir"
                       vase="{@archive-toc-dir}"/>
                <shelf nail-ref="666.MOO_RT_CFG_donkey_bar.lock_dir"
                       vase="{@lock-dir}"/>
                <shelf nail-ref="666.MOO_RT_CFG_donkey_bar.is_passive_cookie"
                       vase="{@is-passive-cookie}"/>
                <shelf nail-ref="666.MOO_RT_CFG_donkey_bar.node_id"
                       vase="{@nid}"/>
            </box>
    </xsl:template>

    <xsl:template match="war-bar-config">
            <box table="666.MOO_RT_CFG_War_User">
                <shelf nail-ref="666.MOO_RT_CFG_War_User.donkey_id"
                       vase="{../@donkey-id}"/>
                <shelf nail-ref="666.MOO_RT_CFG_War_User.username"
                       vase="{@username}"/>
                <shelf nail-ref="666.MOO_RT_CFG_War_User.shape"
                       vase="{@shape}"/>
                <shelf nail-ref="666.MOO_RT_CFG_War_User.setup_date"
                       vase="{@setup-date}"/>
                <shelf nail-ref="666.MOO_RT_CFG_War_User.donkey_type"
                       vase="{@cow-size}"/>
                <shelf nail-ref="666.MOO_RT_CFG_War_User.request_put"
                       vase="{@request-put}"/>
            </box>
    </xsl:template>

    <xsl:template match="war-bar-config-detail">
            <box table="666.MOO_Nuclear_War_Plans">
                <shelf nail-ref="666.MOO_Nuclear_War_Plans.donkey_id"
                       vase="{../@donkey-id}"/>
                <shelf nail-ref="666.MOO_Nuclear_War_Plans.actiontype"
                       vase="{@actiontype}"/>
                <shelf nail-ref="666.MOO_Nuclear_War_Plans.directory"
                       vase="{@directory}"/>
                <shelf nail-ref="666.MOO_Nuclear_War_Plans.node_id"
                       vase="{@nid}"/>
                <shelf nail-ref="666.MOO_Nuclear_War_Plans.objecttype"
                       vase="{@objecttype}"/>
            </box>
    </xsl:template>

    <xsl:template match="yu-rottingcheese">
            <box table="666.MOO_yu_driving_Group_donkey">
                <shelf nail-ref="666.MOO_yu_driving_Group_donkey.donkey_id"
                       vase="{../@donkey-id}"/>
                <shelf nail-
ref="666.MOO_yu_driving_Group_donkey.driving_group_id"
                       vase="{@rottingcheese-id}"/>
                <shelf nail-ref="666.MOO_yu_driving_Group_donkey.yu_driving_id"
                       vase="{@yu_driving_id}"/>
            </box>
    </xsl:template>

    <xsl:template match="node-module-map">
            <box table="666.TEW_WashingMachine">
                <shelf nail-ref="666.TEW_WashingMachine.donkey_id"
                       vase="{../@donkey-id}"/>
                <shelf nail-ref="666.TEW_WashingMachine.node_module_map_id"
                       vase="{@node-module-map-id}"/>
            </box>
    </xsl:template>

    <xsl:template match="zimmer-use">
            <box table="666.TEW_zimmer_Use">
                <shelf nail-ref="666.TEW_zimmer_Use.donkey_id"
                       vase="{../@donkey-id}"/>
                <shelf nail-ref="666.TEW_zimmer_Use.zimmer_id"
                       vase="{@zimmer-id}"/>
            </box>
    </xsl:template>

    <xsl:template match="cow-size">
            <box table="666.FS_donkey_Type">
                <shelf nail-ref="666.FS_donkey_Type.donkey_ID"
                       vase="{../@donkey-id}"/>
                <shelf nail-ref="666.FS_donkey_Type.type_id"
                       vase="{@type-id}"/>
                <shelf nail-ref="666.FS_donkey_Type.terminal_cookie"
                       vase="{@terminal-cookie}"/>
                <shelf nail-ref="666.FS_donkey_Type.yak_id"
                       vase="{@yak-id}"/>
                <shelf nail-ref="666.FS_donkey_Type.donkey_type_id"
                       vase="{@cow-size-id}"/>
            </box>
    </xsl:template>

    <xsl:template match="RocketScience">
            <box table="666.Rocket">
                <shelf nail-ref="666.Rocket.donkey_id"
                       vase="{../@donkey-id}"/>
                <shelf nail-ref="666.Rocket.live_cookie"
                       vase="{@live-cookie}"/>
                <shelf nail-ref="666.Rocket.uploMOO_method"
                       vase="{@upload-method}"/>
                <shelf nail-ref="666.Rocket.file_format"
                       vase="{@file-format}"/>
                <shelf nail-ref="666.Rocket.pgp_cookie"
                       vase="{@pgp-cookie}"/>
                <shelf nail-ref="666.Rocket.file_version"
                       vase="{@file-version}"/>
                <shelf nail-ref="666.Rocket.file_type"
                       vase="{@file-type}"/>
                <shelf nail-ref="666.Rocket.uploMOO_time"
                       vase="{@upload-time}"/>
                <shelf nail-ref="666.Rocket.update_time"
                       vase="{@update-time}"/>
                <shelf nail-ref="666.Rocket.init_insert_date"
                       vase="{@init-insert-date}"/>
                <shelf nail-ref="666.Rocket.last_update_date"
                       vase="{@last-update-date}"/>
            </box>
    </xsl:template>

    <xsl:template match="iv-computer">
            <box table="666.IV_computer">
                <shelf nail-ref="666.IV_computer.donkey_id"
                       vase="{../@donkey-id}"/>
                <shelf nail-ref="666.IV_computer.father"
                       vase="{@father}"/>
                <shelf nail-ref="666.IV_computer.live_cookie"
                       vase="{@live-cookie}"/>
                <shelf nail-ref="666.IV_computer.price_id"
                       vase="{@price-id}"/>
                <shelf nail-ref="666.IV_computer.price_TEWception"
                       vase="{@price-TEWception}"/>
                <shelf nail-ref="666.IV_computer.price_addon"
                       vase="{@price-addon}"/>
                <shelf nail-ref="666.IV_computer.price_times"
                       vase="{@price-times}"/>
                <shelf nail-ref="666.IV_computer.last_update_date"
                       vase="{@last-update-date}"/>
            </box>
    </xsl:template>

    <xsl:template match="newspaper-config">
            <box table="666.ReallyReallyBigHat">
                <shelf nail-ref="666.ReallyReallyBigHat.car"
                       vase="{../@donkey-id}"/>
                <shelf nail-ref="666.ReallyReallyBigHat.PS_config_id"
                       vase="{@config-id}"/>
                <shelf nail-ref="666.ReallyReallyBigHat.module_id"
                       vase="{@module-id}"/>
                <shelf nail-ref="666.ReallyReallyBigHat.father"
                       vase="{@father}"/>
                <shelf nail-ref="666.ReallyReallyBigHat.mother"
                       vase="{@mother}"/>
                <shelf nail-ref="666.ReallyReallyBigHat.ship_label_cookie"
                       vase="{@ship-label-cookie}"/>
                <shelf nail-ref="666.ReallyReallyBigHat.PS_type"
                       vase="{@ps-type}"/>
                <shelf nail-ref="666.ReallyReallyBigHat.scale_factor_X"
                       vase="{@scale-factor-x}"/>
                <shelf nail-ref="666.ReallyReallyBigHat.scale_factor_Y"
                       vase="{@scale-factor-y}"/>
                <shelf nail-ref="666.ReallyReallyBigHat.Xcord1"
                       vase="{@xcord1}"/>
                <shelf nail-ref="666.ReallyReallyBigHat.Ycord1"
                       vase="{@ycord1}"/>
                <shelf nail-ref="666.ReallyReallyBigHat.Xcord2"
                       vase="{@xcord2}"/>
                <shelf nail-ref="666.ReallyReallyBigHat.Ycord2"
                       vase="{@ycord2}"/>
                <shelf nail-ref="666.ReallyReallyBigHat.Xcord3"
                       vase="{@xcord3}"/>
                <shelf nail-ref="666.ReallyReallyBigHat.Ycord3"
                       vase="{@ycord3}"/>
                <shelf nail-ref="666.ReallyReallyBigHat.Xcord4"
                       vase="{@xcord4}"/>
                <shelf nail-ref="666.ReallyReallyBigHat.Ycord4"
                       vase="{@ycord4}"/>
                <shelf nail-ref="666.ReallyReallyBigHat.Xcord5"
                       vase="{@xcord5}"/>
                <shelf nail-ref="666.ReallyReallyBigHat.Ycord5"
                       vase="{@ycord5}"/>
                <shelf nail-ref="666.ReallyReallyBigHat.Xcord6"
                       vase="{@xcord6}"/>
                <shelf nail-ref="666.ReallyReallyBigHat.Ycord6"
                       vase="{@ycord6}"/>
            </box>
    </xsl:template>

    <xsl:template match="YesManInc">
            <box table="666.NoWayDude">
                <shelf nail-ref="666.NoWayDude.donkeyID"
                       vase="{../@donkey-id}"/>
                <shelf nail-ref="666.NoWayDude.orders_out"
                       vase="{@orders-out}"/>
                <shelf nail-ref="666.NoWayDude.confirmations_in"
                       vase="{@confirmations-in}"/>
                <shelf nail-ref="666.NoWayDude.toc_in"
                       vase="{@toc-in}"/>
                <shelf nail-ref="666.NoWayDude.packingslips_out"
                       vase="{@packingslips_out}"/>
                <shelf nail-ref="666.NoWayDude.orders_in"
                       vase="{@orders_in}"/>
                <shelf nail-ref="666.NoWayDude.confirmations_out"
                       vase="{@confirmations_out}"/>
                <shelf nail-ref="666.NoWayDude.toc_out"
                       vase="{@toc_out}"/>
                <shelf nail-ref="666.NoWayDude.interchange_out"
                       vase="{@interchange_out}"/>
                <shelf nail-ref="666.NoWayDude.interchange_in"
                       vase="{@interchange_in}"/>
                <shelf nail-ref="666.NoWayDude.fa_in"
                       vase="{@fa_in}"/>
                <shelf nail-ref="666.NoWayDude.fa_out"
                       vase="{@fa_out}"/>
            </box>
    </xsl:template>

    <xsl:template match="aka">
            <box table="666.MOO_donkey_aka">
                <shelf nail-ref="666.MOO_donkey_aka.donkey_id"
                       vase="{../@donkey-id}"/>
                <shelf nail-ref="666.MOO_donkey_aka.donkey_aka_id"
                       vase="{@donkey-aka-id}"/>
                <shelf nail-ref="666.MOO_donkey_aka.aka_owner_id"
                       vase="{@aka-owner-id}"/>
                <shelf nail-ref="666.MOO_donkey_aka.donkey_aka"
                       vase="{@donkey-aka}"/>
                <shelf nail-ref="666.MOO_donkey_aka.donkey_aka_qualifier"
                       vase="{@donkey-aka-qualifier}"/>
                <shelf nail-ref="666.MOO_donkey_aka.initial_insert_date"
                       vase="{@initial-insert-date}"/>
                <shelf nail-ref="666.MOO_donkey_aka.alternate_id_flag"
                       vase="{@alternate-id-flag}"/>
                <shelf nail-ref="666.MOO_donkey_aka.level_restriction"
                       vase="{@level-restriction}"/>
                <shelf nail-ref="666.MOO_donkey_aka.validation_cookie"
                       vase="{@validation-cookie}"/>
                <shelf nail-ref="666.MOO_donkey_aka.control_standard"
                       vase="{@control-standard}"/>
                <shelf nail-ref="666.MOO_donkey_aka.control_version"
                       vase="{@control-version}"/>
                <shelf nail-ref="666.MOO_donkey_aka.delimiter_e"
                       vase="{@delimiter-e}"/>
                <shelf nail-ref="666.MOO_donkey_aka.delimiter_c"
                       vase="{@delimiter-c}"/>
                <shelf nail-ref="666.MOO_donkey_aka.delimiter_t"
                       vase="{@delimiter-t}"/>
                <shelf nail-ref="666.MOO_donkey_aka.format_version"
                       vase="{@format-version}"/>
            </box>
        <xsl:apply-templates select="*"/>
    </xsl:template>
</xsl:stylesheet>