XML binding etc.

testuser
Уже с Приветом
Posts: 1071
Joined: 18 Nov 2003 22:53
Location: MA

Post by testuser »

Решил не уточнять.

Если кому интересно, вот мои результаты(схема, с помощью которой я трансформировал):

Code: Select all

<?xml version="1.0" encoding="ISO-8859-1"?>

<xsl:stylesheet version="1.0"
  xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
  xmlns:Boo="www.register.com/schema/Boo"
  xmlns:Yoo="www.register.com/schema/Yoo">

  <!-- XML output! -->
  <xsl:output method="xml" indent="yes" cdata-section-elements="Boo:Hoo"/>

  <xsl:template match="text()">
    <xsl:value-of select="normalize-space()"/>
  </xsl:template>


  <xsl:template match="/">
    <Boo:Hoo>
        <xsl:apply-templates/>
      This is the boo-hoo-yoo response string for .com
    </Boo:Hoo>
  </xsl:template>

  <xsl:template match="/Foo/A">
    <Boo:A>
        <xsl:value-of select="concat('(',
                                     substring-before(., '-'),
                                     ')',
                                     translate(substring-after(.,'-'), '-', '.'))"/>
    </Boo:A>
  </xsl:template>

  <xsl:template match="/Foo/B">
    <Yoo:B>B=<xsl:apply-templates/> </Yoo:B>
  </xsl:template>

</xsl:stylesheet>


а вот джавовский код, который это все делал:

Code: Select all

import javax.xml.bind.JAXBContext;
import javax.xml.bind.JAXBException;
import javax.xml.bind.Marshaller;
import javax.xml.bind.Unmarshaller;

import javax.xml.parsers.DocumentBuilder;
import javax.xml.parsers.DocumentBuilderFactory;
import javax.xml.parsers.FactoryConfigurationError;
import javax.xml.parsers.ParserConfigurationException;

import javax.xml.transform.Transformer;
import javax.xml.transform.TransformerException;
import javax.xml.transform.TransformerFactory;
import javax.xml.transform.TransformerConfigurationException;
import javax.xml.transform.dom.DOMSource;
import javax.xml.transform.stream.StreamSource;
import javax.xml.transform.stream.StreamResult;

import org.w3c.dom.Document;
import org.w3c.dom.DOMException;

import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.File;
import java.io.FileNotFoundException;
import java.util.ArrayList;
import java.util.List;

import jaxp.*;

public class Main {

    // Global value so it can be ref'd by the tree-adapter
    static Document document;

   public static void main( String[] args ) {

        DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();

        try {
            // create a JAXBContext
            JAXBContext jc = JAXBContext.newInstance( "jaxp" );

            ObjectFactory objFactory = new ObjectFactory();

            Foo foo = objFactory.createFoo();

       String[] strings = {"111-222-333", "444-555-666", "777-888-999"};
            foo.setA(strings);
       foo.setB(1234);


            // create a Marshaller and marshal to myFoo.xml
            Marshaller m = jc.createMarshaller();
            m.setProperty( Marshaller.JAXB_FORMATTED_OUTPUT, Boolean.TRUE );
            m.marshal( foo, new FileOutputStream("myFoo.xml"));

            File stylesheet = new File("foo_transform.xsl");
            File datafile  = new File("myFoo.xml");

            DocumentBuilder builder = factory.newDocumentBuilder();
            document = builder.parse(datafile);

            // Use a Transformer for output
            TransformerFactory tFactory = TransformerFactory.newInstance();
            StreamSource stylesource = new StreamSource(stylesheet);
            Transformer transformer = tFactory.newTransformer(stylesource);

            DOMSource source = new DOMSource(document);
            StreamResult result = new StreamResult(new FileOutputStream("myTransformedFoo.xml"));
            transformer.transform(source, result);

           
        } catch( JAXBException je ) {
            je.printStackTrace();
        }
   catch(Exception e){
       e.printStackTrace(System.out);
   }
    }
   
}


Такие вот дела, отослал, будем ждать теперь ответа :) [/img]
User avatar
Sabina
Уже с Приветом
Posts: 5669
Joined: 13 Oct 2000 09:01
Location: East Bay, CA

Post by Sabina »

testuser wrote:Такие вот дела, отослал, будем ждать теперь ответа :)


Удачи!!!

А какая позиция, если не секрет? Не конкретно фирма, а просто job description интересует.

Спасибо,
Сабина

Return to “Вопросы и новости IT”