Index: Java/Source/com/seagullsw/appinterface/model/cics/schema/CicsFunctionDefinitionWriterXML.java
===================================================================
--- Java/Source/com/seagullsw/appinterface/model/cics/schema/CicsFunctionDefinitionWriterXML.java	(revision 27571)
+++ Java/Source/com/seagullsw/appinterface/model/cics/schema/CicsFunctionDefinitionWriterXML.java	(working copy)
@@ -68,22 +68,7 @@
         this.initializeStoreContext(MODEL_STORE_SPEC_XML);
     }
 
-    // Cobol comm buffer record definitions are maintained in separate files
     @Override
-    protected boolean shouldWriteSingleFile() {
-        /*
-         * ISSUE: Need to resolve this. Schema spec specifies that we write separate definition files for the I/O
-         * buffers, to eliminate duplication when same structure used for both input and output comm buffer and to
-         * enable cross-function sharing of references to a specific Cobol record definition. But this requires some
-         * loading mechanism to resolve references that we don't have yet; also, Chris believes there are issues with
-         * the triple-file organization. Punt for the moment, just write a single CICS function binding schema file for
-         * the moment. [Deb 16-Sep-99]
-         */
-        // return false;
-        return true; // TEMP FOR PRE-ALPHA DEMO [Deb 15-Sep-99]
-    }
-
-    @Override
     protected void writeBasicElementAttributes(int indentLevel) {
 
         XMLPrintWriter pw = this.getWriter();
@@ -138,18 +123,6 @@
     }
 
     @Override
-    protected void writeDefinitionDocuments() throws ModelIOException {
-
-        // ###ISSUE: This may not be necessary - if the docs already exist as a result of
-        // the initial parsing, then we don't have to do anything further at this
-        // point as long as we emitted the correct file name in the signature attributes
-        // [Deb 14-Aug-99]
-
-        super.writeDefinitionDocuments();
-
-    }
-
-    @Override
     protected void writeDefinitions(DataElementDefinitionList typeHolder, String aPathName) throws ModelIOException {
 
         // ###ISSUE: This may not be necessary - if the docs already exist as a result of
@@ -160,16 +133,6 @@
 
     }
 
-    @Override
-    protected void writeDefinitionSubElements(int indentLevel) throws ModelIOException {
-        if (!this.shouldWriteSingleFile()) {
-            Assert.shouldNotBe("We always write the Cobol structure definitions in separate files");
-            return;
-        }
-        // TEMP(?) Just write everything in one file
-        super.writeDefinitionSubElements(indentLevel);
-    }
-
     // write any sub-elements.
     @Override
     protected void writeSubElements(int indentLevel) throws ModelIOException {
Index: Java/Source/com/seagullsw/appinterface/model/ims/schema/ImsFunctionDefinitionWriterXML.java
===================================================================
--- Java/Source/com/seagullsw/appinterface/model/ims/schema/ImsFunctionDefinitionWriterXML.java	(revision 27571)
+++ Java/Source/com/seagullsw/appinterface/model/ims/schema/ImsFunctionDefinitionWriterXML.java	(working copy)
@@ -64,22 +64,7 @@
         this.initializeStoreContext(MODEL_STORE_SPEC_XML);
     }
 
-    // Cobol comm buffer record definitions are maintained in separate files
     @Override
-    protected boolean shouldWriteSingleFile() {
-        /*
-         * ISSUE: Need to resolve this. Schema spec specifies that we write separate definition files for the I/O
-         * buffers, to eliminate duplication when same structure used for both input and output comm buffer and to
-         * enable cross-function sharing of references to a specific Cobol record definition. But this requires some
-         * loading mechanism to resolve references that we don't have yet; also, Chris believes there are issues with
-         * the triple-file organization. Punt for the moment, just write a single IMS function binding schema file for
-         * the moment. [Deb 16-Sep-99]
-         */
-        // return false;
-        return true; // TEMP FOR PRE-ALPHA DEMO [Deb 15-Sep-99]
-    }
-
-    @Override
     protected void writeBasicElementAttributes(int indentLevel) {
 
         XMLPrintWriter pw = this.getWriter();
@@ -96,18 +81,6 @@
     } // writeBasicElementAttributes
 
     @Override
-    protected void writeDefinitionDocuments() throws ModelIOException {
-
-        // ###ISSUE: This may not be necessary - if the docs already exist as a result of
-        // the initial parsing, then we don't have to do anything further at this
-        // point as long as we emitted the correct file name in the signature attributes
-        // [Deb 14-Aug-99]
-
-        super.writeDefinitionDocuments();
-
-    } // writeDefinitionDocuments
-
-    @Override
     protected void writeDefinitions(DataElementDefinitionList typeHolder, String aPathName) throws ModelIOException {
 
         // ###ISSUE: This may not be necessary - if the docs already exist as a result of
@@ -118,16 +91,6 @@
 
     } // writeDefinitions
 
-    @Override
-    protected void writeDefinitionSubElements(int indentLevel) throws ModelIOException {
-        if (!this.shouldWriteSingleFile()) {
-            Assert.shouldNotBe("We always write the Cobol structure definitions in separate files");
-            return;
-        }
-        // TEMP(?) Just write everything in one file
-        super.writeDefinitionSubElements(indentLevel);
-    }
-
     protected void writeImsBindingAttribute(String name, String value, int indentLevel) {
         if (StringUtils.isEmpty(value)) {
             return;
Index: Java/Source/com/seagullsw/appinterface/model/schema/FunctionDefinitionBuilderDOM.java
===================================================================
--- Java/Source/com/seagullsw/appinterface/model/schema/FunctionDefinitionBuilderDOM.java	(revision 27777)
+++ Java/Source/com/seagullsw/appinterface/model/schema/FunctionDefinitionBuilderDOM.java	(working copy)
@@ -280,31 +280,10 @@
     /** Process any attributes on the function declaration element */
     @Override
     protected void processAttributes() throws ModelIOException {
-        String aFileName;
-        String aPathName;
-        DataElementDefinitionList typeHolder;
-
         String version = this.getDomAttribute(ModelXMLConstants.ATTRIBUTE_SYNTAX_VERSION);
         if (StringUtils.isNotBlank(version)) {
             this.getFunction().setVersion(version);
         }
-
-        aFileName = this.getDomAttribute(FunctionDefinitionXMLConstants.ATTRIBUTE_ARGUMENT_TYPES);
-        if (StringUtils.isNotBlank(aFileName)) {
-            aPathName = new File(this.sourceDirectory, aFileName).getAbsolutePath();
-            typeHolder = this.constructArgumentsHolder();
-            this.loadDefinitions(typeHolder, aPathName);
-            this.installArgumentDefinitions(typeHolder);
-        }
-
-        aFileName = this.getDomAttribute(FunctionDefinitionXMLConstants.ATTRIBUTE_RESULT_TYPE);
-        if (StringUtils.isNotBlank(aFileName)) {
-            aPathName = new File(this.sourceDirectory, aFileName).getAbsolutePath();
-            typeHolder = this.constructResultHolder();
-            this.loadDefinitions(typeHolder, aPathName);
-            this.installResultDefinition(typeHolder);
-        }
-
     }
 
     /**
Index: Java/Source/com/seagullsw/appinterface/model/schema/FunctionDefinitionWriterXML.java
===================================================================
--- Java/Source/com/seagullsw/appinterface/model/schema/FunctionDefinitionWriterXML.java	(revision 27571)
+++ Java/Source/com/seagullsw/appinterface/model/schema/FunctionDefinitionWriterXML.java	(working copy)
@@ -181,29 +181,12 @@
 
     } // initializeStoreContext
 
-    @Override
-    public void setTarget(Object target) {
-        if (!this.shouldWriteSingleFile()) {
-            Assert.isTrue(target instanceof XMLFilePrintWriter, "FunctionDefinition needs an XMLFilePrintWriter");
-        }
-        super.setTarget(target);
-    }
-
-    // answer whether argument and result type specifications are contained within the function definition document
-    // itself
-    protected boolean shouldWriteSingleFile() {
-        return FunctionDefinitionXMLConstants.WRITE_SINGLE_FILE;
-    }
-
     // answer whether sub-elements should be written
     @Override
     protected boolean shouldWriteSubElements() {
 
-        return (this.shouldWriteSingleFile()
-        // and there's something to do... (which there usually should be)
-            && (this.getFunction().getArgumentDefinitions().size() > 0 || this.getFunction().getResultDefinition() != null))
-            || getExtraElement(this.getFunction()) != null
-            || super.shouldWriteSubElements();
+        return ((this.getFunction().getArgumentDefinitions().size() > 0 || this.getFunction().getResultDefinition() != null))
+                || getExtraElement(this.getFunction()) != null || super.shouldWriteSubElements();
 
     } // shouldWriteSubElements
 
@@ -212,11 +195,6 @@
     public void write(int indentLevel) throws ModelIOException {
         super.write(indentLevel);
         this.getWriter().flush();
-
-        if (!this.shouldWriteSingleFile()) {
-            this.writeDefinitionDocuments();
-        }
-
     }
 
     protected void writeBasicElementAttributes(int indentLevel) {
@@ -232,78 +210,12 @@
         }
     }
 
-    // generate attributes referencing the argument/result schema documents when written to separate files
-    protected void writeDefinitionDocumentReferenceAttributes(int indentLevel) {
-
-        FunctionDefinition aDefinition = this.getFunction();
-        XMLPrintWriter pw = this.getWriter();
-        String aFileName;
-
-        aFileName = ((aDefinition.getArgumentDefinitions().size() == 0) ? "" : this.fileNameArgumentsSchema());
-        pw.printAttribute(FunctionDefinitionXMLConstants.ATTRIBUTE_ARGUMENT_TYPES, aFileName, indentLevel, true);
-
-        aFileName = ((aDefinition.getResultDefinition() == null) ? "" : this.fileNameResultSchema());
-        pw.printAttribute(FunctionDefinitionXMLConstants.ATTRIBUTE_RESULT_TYPE, aFileName, indentLevel, true);
-
-    }
-
-    // write the argument/result schema documents in separate files
-    protected void writeDefinitionDocuments() throws ModelIOException {
-
-        FunctionDefinition aDefinition = this.getFunction();
-        File aDirectory = this.getTargetDirectory();
-
-        String aPathName;
-        FunctionDefinitionTypeHolder typeHolder;
-
-        DataElementDefinitionList arguments = aDefinition.getArgumentDefinitions();
-        if (arguments.size() > 0) {
-            aPathName = new File(aDirectory, this.fileNameArgumentsSchema()).getAbsolutePath();
-            typeHolder = this.constructArgumentsHolder(aDefinition.getSimpleName() + "ArgumentTypes");
-            // hack alert, slime coming your way
-            typeHolder.installTempHolderValue(arguments);
-            this.writeDefinitions(typeHolder, aPathName);
-            // verify that putting this into the holder has no undesired side effects that we have to clean up
-            Assert.isTrue(arguments.getParent() == null);
-            if (arguments.getName() != null) {
-                Assert.isTrue(arguments.getQualifiedName().equals(arguments.getName()));
-            }
-            for (Object element : arguments) {
-                AggregateMember anElement = (AggregateMember) element;
-                Assert.isTrue(anElement.getParentElement() == null && anElement.getQualifiedName().equals(anElement.getName()));
-            }
-        }
-
-        DataElementDefinition resultType = aDefinition.getResultDefinition();
-        if (resultType != null) {
-            aPathName = new File(aDirectory, this.fileNameResultSchema()).getAbsolutePath();
-            typeHolder = this.constructResultHolder(aDefinition.getSimpleName() + "ResultType");
-            typeHolder.installTempHolderValue(resultType);
-            this.writeDefinitions(typeHolder, aPathName);
-            // verify that putting this into the holder has no undesired side effects that we have to clean up
-            // WAS: ((StructureComponentListMember)resultType).clearParentConnections();
-            Assert.isTrue(resultType.getParent() == null);
-            if (resultType.getName() != null) {
-                Assert.isTrue(resultType.getQualifiedName().equals(resultType.getName()));
-            }
-        }
-
-    }
-
     // write any attributes for the definition element
     @Override
     protected void writeDefinitionElementAttributes(int indentLevel) {
 
         this.writeBasicElementAttributes(indentLevel + 1);
 
-        // generate attributes referencing the argument/result schema documents if written to separate files
-        if (!this.shouldWriteSingleFile()) {
-            XMLPrintWriter pw = this.getWriter();
-            pw.println();
-            this.writeDefinitionDocumentReferenceAttributes(indentLevel + 1);
-            pw.printIndent(indentLevel + 1); // position the ending bracket of the element tag
-        }
-
     } // writeDefinitionElementAttributes
 
     // write separate XML document containing arg/result type definitions
@@ -326,64 +238,12 @@
 
     } // writeDefinitions
 
-    // gag, hack - clone huge chunk of miserable slimy code; needs work [Deb 11-Aug-99]
-    protected void writeDefinitionSubElements(int indentLevel) throws ModelIOException {
-
-        FunctionDefinition aDefinition = this.getFunction();
-        String elementTag;
-        FunctionDefinitionTypeHolder typeHolder;
-
-        DataElementDefinitionList arguments = aDefinition.getArgumentDefinitions();
-        if (arguments.size() > 0) {
-            elementTag = FunctionDefinitionXMLConstants.TAG_ARGUMENT_TYPES;
-            typeHolder = this.constructArgumentsHolder(elementTag);
-            // slimey hack here
-            typeHolder.installTempHolderValue(arguments);
-            this.writeDefinitions(elementTag, typeHolder, indentLevel);
-            // verify that putting this into the holder has no undesired side effects that we have to clean up
-            Assert.isTrue(arguments.getParent() == null);
-            if (arguments.getName() != null) {
-                Assert.isTrue(arguments.getQualifiedName().equals(arguments.getName()));
-            }
-            for (Object element : arguments) {
-                AggregateMember anElement = (AggregateMember) element;
-                Assert.isTrue(anElement.getParentElement() == null && anElement.getQualifiedName().equals(anElement.getName()));
-            }
-        }
-
-        DataElementDefinition resultType = aDefinition.getResultDefinition();
-        if (resultType != null) {
-            elementTag = FunctionDefinitionXMLConstants.TAG_RESULT_TYPE;
-            typeHolder = this.constructResultHolder(elementTag);
-            // slimey hack here
-            typeHolder.installTempHolderValue(resultType);
-            this.writeDefinitions(elementTag, typeHolder, indentLevel);
-            // verify that putting this into the holder has no undesired side effects that we have to clean up
-            // WAS: ((StructureElementListMember)resultType).clearParentConnections();
-            Assert.isTrue(resultType.getParent() == null);
-            if (resultType.getName() != null) {
-                Assert.isTrue(resultType.getQualifiedName().equals(resultType.getName()));
-            }
-        }
-
-        org.w3c.dom.Element extraElement = this.getExtraElement(aDefinition);
-        if (extraElement != null) {
-            this.getWriter().printElement(extraElement);
-            this.getWriter().println();
-        }
-
-    } // writeDefinitionSubElements
-
     // write any sub-elements.
     @Override
     protected void writeSubElements(int indentLevel) throws ModelIOException {
 
         this.writeDescriptionElement(indentLevel);
 
-        if (this.shouldWriteSingleFile()) {
-            this.writeDefinitionSubElements(indentLevel);
-        }
+    } 
 
-    } // writeSubElements
-
-} // FunctionDefinitionWriterXML
+} 
Index: Java/Source/com/seagullsw/appinterface/model/schema/FunctionDefinitionXMLConstants.java
===================================================================
--- Java/Source/com/seagullsw/appinterface/model/schema/FunctionDefinitionXMLConstants.java	(revision 27571)
+++ Java/Source/com/seagullsw/appinterface/model/schema/FunctionDefinitionXMLConstants.java	(working copy)
@@ -14,11 +14,6 @@
 
 public class FunctionDefinitionXMLConstants extends SchemaDefinitionXMLConstants {
 
-    /** Signature types can be stored in separate schema definition document. */
-    public static final String ATTRIBUTE_ARGUMENT_TYPES = "argumentTypes";
-
-    public static final String ATTRIBUTE_RESULT_TYPE = "resultType";
-
     public static final String ATTRIBUTE_RETURN_EMPTY_SEQ_ELTS = "returnEmptySequenceElements";
 
     public static final ModelEncodingSpecification GENERIC_FUNCTION_DEFINITION_ENCODING_SPEC = new ModelEncodingSpecification(
Index: Java/Source/com/seagullsw/appinterface/model/schema/mapping/FunctionMappingDefinitionWriterXML.java
===================================================================
--- Java/Source/com/seagullsw/appinterface/model/schema/mapping/FunctionMappingDefinitionWriterXML.java	(revision 27571)
+++ Java/Source/com/seagullsw/appinterface/model/schema/mapping/FunctionMappingDefinitionWriterXML.java	(working copy)
@@ -110,27 +110,6 @@
         return true; // we always have at least a binding function element to write
     }
 
-    // answer whether argument and result type specifications are contained within the function definition document
-    // itself
-    @Override
-    protected boolean shouldWriteSingleFile() {
-        return true;
-    }
-
-    // generate attributes referencing the argument/result schema documents when written to separate files
-    @Override
-    protected void writeDefinitionDocumentReferenceAttributes(int indentLevel) {
-        Assert
-                .shouldNotBe("Arg/result mapping definitions should always be written within single function mapping document.");
-    }
-
-    // write the argument/result schema documents in separate files
-    @Override
-    protected void writeDefinitionDocuments() {
-        Assert
-                .shouldNotBe("Arg/result mapping definitions should always be written within single function mapping document.");
-    }
-
     // write any attributes for the definition element
     @Override
     protected void writeDefinitionElementAttributes(int indentLevel) {
@@ -138,7 +117,7 @@
         super.writeDefinitionElementAttributes(indentLevel);
 
         XMLPrintWriter pw = this.getWriter();
-        boolean appendAttrsToCurrentLine = this.shouldWriteSingleFile(); // synch with superclass impl
+        boolean appendAttrsToCurrentLine = true; // sync with superclass impl
 
         if (appendAttrsToCurrentLine) {
             pw.space();
