<?xml version="1.0" encoding="UTF-8"?>
<!--
Licensed to the Apache Software Foundation (ASF) under one
or more contributor license agreements.  See the NOTICE file
distributed with this work for additional information
regarding copyright ownership.  The ASF licenses this file
to you under the Apache License, Version 2.0 (the
"License"); you may not use this file except in compliance
with the License.  You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing,
software distributed under the License is distributed on an
"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
KIND, either express or implied.  See the License for the
specific language governing permissions and limitations
under the License.
-->

<entity-engine-xml>
    <DataResource dataResourceId="RELATED_1" dataResourceTypeId="ELECTRONIC_TEXT" dataTemplateTypeId="NONE" statusId="CTNT_PUBLISHED" createdDate="2004-03-30 07:57:39.734" createdByUserLogin="admin" lastModifiedDate="2004-03-30 07:57:39.734" lastModifiedByUserLogin="admin"/>
    <ElectronicText dataResourceId="RELATED_1">
        <textData><![CDATA[
Al Byers in this marvelous display of technical manual writing has show the way for us all to reach for the stars.
        ]]></textData>
    </ElectronicText>
    <Content contentId="RELATED_1" contentTypeId="DOCUMENT" ownerContentId="ECMC180000" dataResourceId="RELATED_1" statusId="CTNT_PUBLISHED" privilegeEnumId="CNT_PRV_BRONZE" contentName="Re:How to operate the Rocket Launcher Widget - Marvelous" description="Re:How to operate the Rocket Launcher Widget - Marvelous" createdDate="2004-03-30 07:57:39.671" createdByUserLogin="admin" lastModifiedDate="2004-03-30 07:57:39.671" lastModifiedByUserLogin="admin"/>

    <DataResource dataResourceId="RELATED_2" dataResourceTypeId="ELECTRONIC_TEXT" dataTemplateTypeId="NONE" statusId="CTNT_PUBLISHED" createdDate="2004-03-30 07:57:39.734" createdByUserLogin="admin" lastModifiedDate="2004-03-30 07:57:39.734" lastModifiedByUserLogin="admin"/>
    <ElectronicText dataResourceId="RELATED_2">
        <textData><![CDATA[
This poor attempt at a maintenance document is so flawed that I don't know where to begin.
For instance, he never mentions the need for all spectators to wear hardhats.
I wonder how Al Byers sleeps a night knowing that because of his negligence someone,
even someone that he loves, could be terminated by a reentrant space vehicle.
        ]]></textData>
    </ElectronicText>
    <Content contentId="RELATED_2" contentTypeId="DOCUMENT" ownerContentId="ECMC180000" dataResourceId="RELATED_2" statusId="CTNT_PUBLISHED" privilegeEnumId="CNT_PRV_BRONZE" contentName="Re:How to operate the Rocket Launcher Widget - Ridiculous" description="Re:How to operate the Rocket Launcher Widget - Ridiculous" createdDate="2004-03-30 07:57:39.671" createdByUserLogin="admin" lastModifiedDate="2004-03-30 07:57:39.671" lastModifiedByUserLogin="admin"/>

    <DataResource dataResourceId="RELATED_3" dataResourceTypeId="ELECTRONIC_TEXT" dataTemplateTypeId="NONE" statusId="CTNT_PUBLISHED" createdDate="2004-03-30 07:57:39.734" createdByUserLogin="admin" lastModifiedDate="2004-03-30 07:57:39.734" lastModifiedByUserLogin="admin"/>
    <ElectronicText dataResourceId="RELATED_3">
        <textData><![CDATA[
While truly visionary, one has to ask the question why are the national defense aspects of this futuristic
technology mentioned?
Surely no one can overlook the possibilities for making this nation and the world a safer place.
There is no reason why every community could not have a battery of these stations - if not in a fixed location, at least on a mobile launcher that could be hooked up to an SUV and towed from one driveway to another on a random schedule.
        ]]></textData>
    </ElectronicText>
    <Content contentId="RELATED_3" contentTypeId="DOCUMENT" ownerContentId="ECMC180001" dataResourceId="RELATED_3" statusId="CTNT_PUBLISHED" privilegeEnumId="CNT_PRV_BRONZE" contentName="Re:Future Directions in Rocket Launcher Widgets" description="Re:Future Directions in Rocket Launcher Widgets" createdDate="2004-03-30 07:57:39.671" createdByUserLogin="admin" lastModifiedDate="2004-03-30 07:57:39.671" lastModifiedByUserLogin="admin"/>

    <DataResource dataResourceId="RELATED_4" dataResourceTypeId="ELECTRONIC_TEXT" dataTemplateTypeId="NONE" statusId="CTNT_PUBLISHED" createdDate="2004-03-30 07:57:39.734" createdByUserLogin="admin" lastModifiedDate="2004-03-30 07:57:39.734" lastModifiedByUserLogin="admin"/>
    <ElectronicText dataResourceId="RELATED_4">
        <textData><![CDATA[
Shame on Al Byers.
When is enough enough?
Just how many scrapbooks not being done for lack of construction paper does it take for him to
get the idea that there are more important things in life than shooting for the stars.
        ]]></textData>
    </ElectronicText>
    <Content contentId="RELATED_4" contentTypeId="DOCUMENT" ownerContentId="ECMC180001" dataResourceId="RELATED_4" statusId="CTNT_PUBLISHED" privilegeEnumId="CNT_PRV_BRONZE" contentName="Re:Future Directions in Rocket Launcher Widgets" description="Re:Future Directions in Rocket Launcher Widgets" createdDate="2004-03-30 07:57:39.671" createdByUserLogin="admin" lastModifiedDate="2004-03-30 07:57:39.671" lastModifiedByUserLogin="admin"/>


    <ContentAssoc contentId="RELATED_1" contentIdTo="ECMC180000" contentAssocTypeId="RELATED_CONTENT" fromDate="2004-03-01 12:00:00.000" createdDate="2004-03-01 12:00:00.000" createdByUserLogin="admin"/>
    <ContentAssoc contentId="RELATED_2" contentIdTo="ECMC180000" contentAssocTypeId="RELATED_CONTENT" fromDate="2004-03-01 12:00:00.000" createdDate="2004-03-01 12:00:00.000" createdByUserLogin="admin"/>
    <ContentAssoc contentId="RELATED_3" contentIdTo="ECMC180001" contentAssocTypeId="RELATED_CONTENT" fromDate="2004-03-01 12:00:00.000" createdDate="2004-03-01 12:00:00.000" createdByUserLogin="admin"/>
    <ContentAssoc contentId="RELATED_4" contentIdTo="ECMC180001" contentAssocTypeId="RELATED_CONTENT" fromDate="2004-03-01 12:00:00.000" createdDate="2004-03-01 12:00:00.000" createdByUserLogin="admin"/>
</entity-engine-xml>


