Ignore:
Timestamp:
2011-01-25T15:35:24+13:00 (13 years ago)
Author:
sjb48
Message:

Fixed a couple of format-related issues with Katherine's help :).

Location:
main/trunk/greenstone3
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • main/trunk/greenstone3/src/java/org/greenstone/gsdl3/action/FormatAction.java

    r23551 r23633  
    9797
    9898    try {
    99             DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
    100             DocumentBuilder builder = factory.newDocumentBuilder();
     99            //DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
     100            //DocumentBuilder builder = factory.newDocumentBuilder();
    101101            //String input = "<html><head><title></title></head><body>" + format_string + "</body></html>";
    102             String input = format_string;
    103             InputSource is = new InputSource( new StringReader( input ) );
    104             Document d = (Document) builder.parse( is );
     102            //String input = format_string;
     103            //InputSource is = new InputSource( new StringReader( input ) );
     104            //Document d = (Document) builder.parse( is );
     105            Document d = this.converter.getDOM(format_string); //(Document) builder.parse( is );
    105106            //Node n1 = d.getFirstChild();           
    106107            //Document d2 = (Document) this.doc.importNode(e, true);
     
    111112            XMLTransformer transformer = new XMLTransformer();
    112113            // HOW DO I DO THIS PROPERLY?
    113             Document style_doc = this.converter.getDOM(new File("/home/sam/greenstone3/web/interfaces/oran/transform/formatString.xsl"), "UTF-8");
     114            //String style = stylesheetFile(String gsdl3_home, String site_name, String collection, String interface_name, ArrayList base_interfaces, String filename);
     115            //Document style_doc = this.converter.getDOM(new File(style), "UTF-8"); //"/home/sam/greenstone3/web/interfaces/oran/transform/formatString.xsl"), "UTF-8");  /*************************/
     116            Document style_doc = this.converter.getDOM(new File("/home/sam/greenstone3/web/interfaces/oran/transform/formatString.xsl"), "UTF-8");  /*************************/
    114117
    115118            if(style_doc == null)
     
    117120
    118121            // not sure what to do here - some code from Transforming Receptionist
    119             String transformed = transformer.transformToString(style_doc, d);
     122            //String transformed = transformer.transformToString(style_doc, d);
    120123            logger.error("About to transform");
    121             //Node transformed = (Node) transformer.transform(style_doc, d);  // Failing org.w3c.dom.DOMException: HIERARCHY_REQUEST_ERR: An attempt was made to insert a node where it is not permitted. ; SystemID: file:///home/sam/greenstone3/packages/tomcat/bin/dummy.xsl
     124            Node transformed = (Node) transformer.transform(style_doc, d);  // Failing org.w3c.dom.DOMException: HIERARCHY_REQUEST_ERR: An attempt was made to insert a node where it is not permitted. ; SystemID: file:///home/sam/greenstone3/packages/tomcat/bin/dummy.xsl
    122125
    123126            logger.error("Transform successful?");
     
    125128            if(transformed==null)  // not null
    126129                logger.error("TRANSFORMED IS NULL");
     130
     131            if(transformed.getNodeType() == Node.DOCUMENT_NODE)
     132                transformed = ((Document)transformed).getDocumentElement();
     133            logger.error("Node type: "+transformed.getNodeType());
    127134
    128135            //logger.error("begin import");
     
    134141 
    135142            Element format = this.doc.createElement(GSXML.FORMAT_STRING_ELEM);
    136             GSXML.setNodeText(format, transformed);
    137             //format.appendChild(transformed);
     143            //GSXML.setNodeText(format, transformed);
     144            format.appendChild(this.doc.importNode(transformed,true));
    138145            //format.setNodeValue(transformed);
    139146            mr_request.appendChild(format);
  • main/trunk/greenstone3/src/java/org/greenstone/gsdl3/collection/Collection.java

    r23551 r23633  
    338338
    339339        Element format_element = (Element) GSXML.getChildByTagName(request, GSXML.FORMAT_STRING_ELEM);
    340         String format_string = GSXML.getNodeText(format_element);
    341         //Element format_statement = (Element) format_element.getFirstChild();
     340        //String format_string = GSXML.getNodeText(format_element);
     341        Element format_statement = (Element) format_element.getFirstChild();
    342342
    343343        //logger.error("Format string: " + format_string);
     
    394394
    395395                // Write format statement
    396                 //String format_string = GSXML.xmlNodeToString(format_statement);
     396                String format_string = this.converter.getString(format_statement); //GSXML.xmlNodeToString(format_statement);
    397397                writer = new BufferedWriter(new FileWriter(format_statement_filename));
    398398                writer.write(format_string);
     
    416416
    417417                // Convert format string to a document
    418                 DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
    419                 DocumentBuilder builder = factory.newDocumentBuilder();
     418                //DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
     419                //DocumentBuilder builder = factory.newDocumentBuilder();
    420420                //String input = "<html><head><title></title></head><body>" + format_string + "</body></html>";
    421                 String input = format_string.substring(0,format_string.length()-1)+"</xml>";
    422                 logger.error(input);
    423                 InputSource is = new InputSource( new StringReader( input ) );
    424                 logger.error("About to parse format string");
    425                 Document format_statement = (Document) builder.parse( is );
    426                 logger.error("Done parsing format string");
     421                //String input = format_string.substring(0,format_string.length()-1)+"</xml>";
     422                //logger.error(input);
     423                //InputSource is = new InputSource( new StringReader( input ) );
     424                //logger.error("About to parse format string");
     425                //Document format_statement = (Document) builder.parse( is );
     426                //logger.error("Done parsing format string");
    427427
    428428                // open collectionConfig.xml and read in to w3 Document
     
    488488
    489489                // append new but we have a string!
    490                 GSXML.setNodeText(elem, format_string);
    491 
    492                 //current_node_list = format_statement.getChildNodes();
    493                 //for(k=0; k<current_node_list.getLength(); k++)
    494                 //{
    495                 //    current_node = elem.appendChild(current_node_list.item(k));
    496                 //}
     490                //GSXML.setNodeText(elem, "THIS IS A TEST");
     491                //GSXML.setNodeText(elem, format_string);
     492
     493                current_node_list = format_statement.getChildNodes();
     494                for(k=0; k<current_node_list.getLength(); k++)
     495                {
     496                    //if(transformed.getNodeType() == Node.DOCUMENT_NODE)
     497                //transformed = ((Document)transformed).getDocumentElement();
     498                    logger.error("Node type: "+current_node_list.item(k).getNodeType());
     499                    if(current_node_list.item(k).getNodeType() != Node.PROCESSING_INSTRUCTION_NODE)
     500                        current_node = elem.appendChild(this.doc.importNode(current_node_list.item(k),true));
     501                }
    497502
    498503                //String text = GSXML.getNodeText(elem);
     
    503508
    504509                // Now convert config document to string for writing to file
    505                 String new_config = GSXML.xmlNodeToString(config);
     510                String new_config = this.converter.getString(config);
    506511   
    507512                // Write to file (not original! for now)
  • main/trunk/greenstone3/web/interfaces/oran/transform/formatString.xsl

    r23405 r23633  
    256256        <h2> This should be the format string (unmodified and html version) </h2> -->
    257257        <!-- <xsl:value-of select="/page/pageResponse" disable-output-escaping="yes"/> -->
     258        <format xmlns:gsf="http://www.greenstone.org/greenstone3/schema/ConfigFormat">
    258259        <xsl:call-template name="xml">
    259260            <xsl:with-param name="fmt" select="."/>
    260261        </xsl:call-template><xsl:text> </xsl:text>
     262        </format>
    261263        <!-- <xsl:apply-templates select="/page/pageResponse" mode="xml"/> -->
    262264      <!-- </body>
Note: See TracChangeset for help on using the changeset viewer.