Python and xslt
Ok, I'm an infant in Python and I've got a problem that is driving me nuts.
I download a xml page(with terrible formatting), then use xslt to format the page into a workable form, and save the result to a new file. But when I try to read the new file so that I can parse it, I get "Permission denied" messages. I have something like this:
def formatPage():
styledoc = libxml2.parseFile(whatever.xslt)
style = libxslt.parseStylesheetDoc(styledoc)
doc = libxml2.parseFile(foo)
result = style.applyStylesheet(doc, None)
style.saveResultToFilename(foo_bar, result, 0)
style.freeStylesheet()
doc.freeDoc()
result.freeDoc()
def parsePage():
temp_file = os.popen(foo_bar)
file = temp_file.read()
I'm assuming that "foo_bar" is still open by xslt and that's why I can't read the file. But for the life of me, I can't figure out how to relinquish control of the file.
Thanks for any help.
arooaroo wrote:
I may be misinterpreting your intentions, but to os.popen is for running external commands (opens a pipe) and doesn't return a file object.
To read a file:
foobar = 'a_file.txt'
temp_file = open(foo_bar)
filecontents = temp_file.read()
Doh! Now I feel silly. :oops: Originally I was reading straight from stdout and forgot to fix that when I realized I would have to read from a file.
Thanks arooaroo and twiistedkaos.
Similar Messages
-
ABAP , JAVA And XSLT Mapping Doc's
Hi,
I am new to SAP XI Any body please send me the Doc's Related to ABAP, JAVA And XSLT Mappings. Thanks in Advance.
Regards
Kiran.BHi
Refer to
ABAP mapping:
How to Use ABAP Mapping in XI 3.0
JAVA mapping:
http://help.sap.com/saphelp_nw04/helpdata/en/bd/c91241c738f423e10000000a155106/frameset.htm (Java mapping)
XSLT mapping:
https://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/01a57f0b-0501-0010-3ca9-d2ea3bb983c1
/people/prasadbabu.nemalikanti3/blog/2006/03/30/xpath-functions-in-xslt-mapping
/people/sreekanth.babu2/blog/2005/01/05/design-time-value-mappings-in-xslt
/people/anish.abraham2/blog/2005/12/22/file-to-multiple-idocs-xslt-mapping
XSLT Mapping with java enhancement
/people/pooja.pandey/blog/2005/06/27/xslt-mapping-with-java-enhancement-for-beginners
XSLT - /people/dirk.roeckmann/blog/2006/07/26/grouping-xml-with-xslt--from-muenchian-method-to-xslt-20
Regards,
Kumar.
Reward points if helpful!! -
Launching programs from python and ncurses
I've made a little menu launcher with python and ncurses. It works most of the time, but occationally it does nothing when I select a program to launch.
This is how it works:
1. A keyboard shortcut launches an xterm window that runs the program.
2. I select some program, which is launched via this command:
os.system("nohup " + "program_name" + "> /dev/null &")
3. ncurses cleans up and python calls "sys.exit()"
The whole idea with nohup is that the xterm window will close after I select an application, but the application will still start normally (this was a bit of a problem). This works most of the time, but sometimes nothing happens (it never works the first time I try launching a program after starting the computer, the other times are more random).
So, has anyone got an idea of what's going on or a better solution than the nohup hack?
The whole code for the menu launcher is below. It's quite hackish, but then again it was just meant for me. The file's called "curmenu.py", and I launch it with an xbindkeys shortcut that runs "xterm -e curmenu.py".
#!/usr/bin/env python
import os,sys
import curses
## Variables one might like to configure
programs = ["Sonata", "sonata", "Ncmpc", "xterm -e ncmpc", "Emacs", "emacs", "Firefox", "swiftfox",\
"Pidgin", "pidgin", "Screen", "xterm -e screen", "Thunar", "thunar", \
"Gimp", "gimp", "Vlc", "vlc", "Skype", "skype"]
highlight = 3
on_screen = 7
## Functions
# Gets a list of strings, figures out the middle one
# and highlights it. Draws strings on screen.
def drawStrings(strings):
length = len(strings)
middle = (length - 1)/2
for num in range(length):
addString(strings[num], middle, num, length)
stdscr.refresh()
def addString(string, middle, iter_step, iter_max):
if iter_step < iter_max:
string = string + "\n"
if iter_step == middle:
stdscr.addstr(iter_step + 1, 1, string, curses.A_REVERSE)
else:
stdscr.addstr(iter_step + 1, 1, string)
# Returns a list of strings to draw on screen. The
# strings chosen are centered around position.
def listStrings(strings, position, on_screen):
length = len(strings)
low = (on_screen - 1)/2
start = position - low
str = []
for num in range(start, start + on_screen):
str = str + [strings[num % length]]
return str
## Start doing stuff
names = programs[::2]
longest = max(map(lambda x: len(x), names))
# Start our screen
stdscr=curses.initscr()
# Enable noecho and keyboard input
curses.curs_set(0)
curses.noecho()
curses.cbreak()
stdscr.keypad(1)
# Display strings
drawStrings(listStrings(names, highlight, on_screen))
# Wait for response
num_progs = len(names)
low = (on_screen - 1)/2
while 1:
c = stdscr.getch()
if c == ord("q") or c == 27: # 27 = "Escape"
break
elif c == curses.KEY_DOWN:
highlight = (highlight + 1)%num_progs
elif c == curses.KEY_UP:
highlight = (highlight - 1)%num_progs
elif c == curses.KEY_NPAGE:
highlight = (highlight + low)%num_progs
elif c == curses.KEY_PPAGE:
highlight = (highlight - low)%num_progs
elif c == 10: # actually "Enter", but hey
os.system("nohup " + programs[2*highlight + 1] + "> /dev/null &")
break
drawStrings(listStrings(names, highlight, on_screen))
# Close the program
curses.nocbreak()
stdscr.keypad(0)
curses.echo()
curses.endwin()
sys.exit()Try:
http://docs.python.org/lib/module-subprocess.html
Should let you fork programs off into the background. -
Java ,abap and XSLT mapping
Hi all,
can any one provide some material on java ,ABA and XSLT mapping(as i got requirement on my current project)..
thanks in advance.
regards
krish..Hi
All mapping related links
There is no hard and fast rule for using the mapping techniques.
Graphical Mapping is used for simple mapping cases. When, the logic for your mapping is simple and straight forward and it does not involve any complex logic.
Java and XSLT mapping are used when graphical mapping cannot help you and you have multilevel hierarchy structure data.
When the choice is between Java and XSLT, XSLT is simpler than java mapping and easier. But, it has its drawbacks. One among them being that you cannot use Java APIs and Classes in it. There might be cases in your mapping when you will have to perform something like a properties file look up or a DB lookup, such scenarios are not possible in XSLT and so, when you want to use some specific Java API's you will have to go for Java Mapping.
Java Mapping uses 2 types of parsers. DOM and SAX. DOM is easier to use with lots of classes to help you create nodes and elements, but, DOM is very processor intensive.
SAX parser is something that parses your XML one after the other, and so is not processor intensive. But, it is not exactly easy to develop either.
To know more about each of them please go thru the following links. And if you ask me your which is better, it depends basically on the scenario you implementing and the complexity involved. Anyways please go thru the following links:
Graphical mapping
http://help.sap.com/saphelp_nw04/helpdata/en/6d/aadd3e6ecb1f39e10000000a114084/content.htm
http://help.sap.com/saphelp_nw04/helpdata/en/43/c4cdfc334824478090739c04c4a249/content.htm
/people/bhanu.thirumala/blog/2006/02/02/graphical-message-mapping-150-text-preview
http://www.sapgenie.com/netweaver/xi/mapping1.htm
/people/alessandro.guarneri/blog/2006/01/26/throwing-smart-exceptions-in-xi-graphical-mapping
XSLT mapping
http://help.sap.com/saphelp_nw04/helpdata/en/73/f61eea1741453eb8f794e150067930/content.htm
http://www.w3.org/TR/xslt20/
JAVA mapping
http://help.sap.com/saphelp_nw04/helpdata/en/e2/e13fcd80fe47768df001a558ed10b6/content.htm
DOM parser API
http://java.sun.com/j2se/1.4.2/docs/api/org/w3c/dom/package-frame.html
ABAP mapping
/people/r.eijpe/blog
To know more about the value mapping tools for the SAP Exchange Infrastructure (XI), please go thru the following link:
http://www.applicon.dk/fileadmin/filer/XI_Tools/ValueMappingTool.pdf
To get an idea as to what value mapping is, please go thru the following links:
http://help.sap.com/saphelp_nw04/helpdata/en/13/ba20dd7beb14438bc7b04b5b6ca300/frameset.htm
http://help.sap.com/saphelp_nw04/helpdata/en/f2/dfae3d47afd652e10000000a114084/frameset.htm
http://help.sap.com/saphelp_nw04/helpdata/en/2a/9d2891cc976549a9ad9f81e9b8db25/content.htm
most of the links that I have provided also helps you get the step by step procedure of doing the same. And also involves the procedure to implement certain advanced features.
And please go through this link which clearly explains the 3 types of mappings.
/people/ravikumar.allampallam/blog/2005/02/10/different-types-of-mapping-in-xi
regards
Prasad -
Can someone pleas tell me about abap, java and xslt mappings
Hi,
can someone please tell me about abap, java and xslt mappings.
Thanks,
Bernard.HI,
JAVA mapping
/people/prasad.ulagappan2/blog/2005/06/29/java-mapping-part-i /people/prasad.ulagappan2/blog/2005/06/29/java-mapping-part-ii /people/prasad.ulagappan2/blog/2005/06/29/java-mapping-part-iii /people/ravikumar.allampallam/blog/2005/06/24/convert-any-flat-file-to-any-idoc-java-mapping /people/amol.joshi2/blog/2006/03/10/think-objects-when-creating-java-mappings /people/sameer.shadab/blog/2005/09/29/testing-abap-mapping sample code for java mapping blog=/pub/wlg/4143 tutorial sax and dom
ABAP mapping
ABAP mappings run on ABAP Stack and are developed in the ABAP workbench of the Integration Server.
You normally do not need to use the ABAP mappings and is preferable for someone with ABAP programming background. I should say JAVA functions would suffice any complex scenarios.
refer step by step guides for ABAP Mapping
https://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/5c46ab90-0201-0010-42bd-9d0302591383
https://www.sdn.sap.com/irj/servlet/prt/portal/prtroot/docs/library/uuid/e3ead790-0201-0010-64bb-9e4d67a466b4
/people/sameer.shadab/blog/2005/09/29/testing-abap-mapping
ABAP Mapping
/people/udo.martens/blog/2006/08/23/comparing-performance-of-mapping-programs
https://websmp101.sap-ag.de/~sapdownload/011000358700003082332004E/HowToABAPMapping.pdf
/people/ravikumar.allampallam/blog/2005/02/10/different-types-of-mapping-in-xi
/people/r.eijpe/blog
ABAP Mapping Vs Java Mapping.
Re: Message Mapping of type ABAP Class not being shown
Re: Performance of mappings (JAVA, XSLT, ABAP)
XSLT Mapping
XSLT stands for EXtensible Stylesheet Language Transformations. It is an XML based language for transforming XML documents into any other formats suitable for browser to display, on the basis of set of well-defined rules.
/people/sap.user72/blog/2005/03/15/using-xslt-mapping-in-a-ccbpm-scenario
/people/anish.abraham2/blog/2005/12/22/file-to-multiple-idocs-xslt-mapping
https://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/01a57f0b-0501-0010-3ca9-d2ea3bb983c1
https://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/9692eb84-0601-0010-5ca0-923b4fb8674a
https://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/006aa890-0201-0010-1eb1-afc5cbae3f15
/people/prasadbabu.nemalikanti3/blog/2006/03/30/xpath-functions-in-xslt-mapping
https://www.sdn.sap.com/irj/sdn/advancedsearch?cat=sdn_all&query=xslt+mapping&adv=false&sortby=cm_rnd_rankvalue#
Steps required for developing XSLT Mapping
u2022 Create a source data type and a target data type
u2022 Create Message types for the source and target data types.
u2022 Create Message Interfaces includes Inbound Message interface and Outbound Message interface.
u2022 XSLT Mapping does not require creation of Message mapping, so donu2019t create any Message mapping.
u2022 Create an .XSL file which converts source data type into target data type.
u2022 Zip that .xsl file and import it into Integration Repository under Imported Archives.
u2022 In Interface Mapping choose mapping program as XSL and specify this zip program. (Through search help you will get XSL Mapping programs that you imported under Imported Archives, select your corresponding XSL Program)
u2022 Test this mapping program by navigating to Test tab.
By having look at above steps you can easily find out that this mapping is no where different from other mapping programs, here the challenging lies in creating an XSLT file. If you spend couple of minutes in studying XPATH tutorial you would be in ideal position to create an XSL Transformation (.xsl extension).
If you still find difficulties in generating XSL Transformation, then you can make use of a tool u201CAltova MapForceu201D which will create XSL file for you.
Steps for creating XSL file using this tool:
1. Open the Alto MapForce, import the source .xml and .xsd file in it
2. Similarly import the target .xml and .xsd in MapForce.
3. These two data files should match with source and target data types in Integration Repository.
4. Complete the graphical mapping using extensive list of XSLT functions available there.
5. Save the mapping file.
6. Click the XSLT tab. You will have the entire xslt logic there.
7. Copy that content and save it as .xsl file.
8. Zip above .xsl file and import the same into IR under Imported Archives.
Hope this clears your doubts
Thanks
Saiyog -
Java and XSLT Mapping. Help required
Hi All,
Why I require Java Mapping and XSLT Mapping when I have Graphical mapping ?
Please explain Java Mapping and XSLT Mapping with examples.
RegardsHi,
there are lot of thread alredy posted please serach
check following link
http://help.sap.com/saphelp_nw04/helpdata/en/ce/1d753cab14a909e10000000a11405a/frameset.htm
XSLT Mapping:
http://help.sap.com/saphelp_nw04/helpdata/en/73/f61eea1741453eb8f794e150067930/content.htm
Java Mapping:
http://help.sap.com/saphelp_nw04/helpdata/en/e2/e13fcd80fe47768df001a558ed10b6/content.htm
Links of blogs on java mapping...
/people/prasad.ulagappan2/blog/2005/06/29/java-mapping-part-i
/people/prasad.ulagappan2/blog/2005/06/29/java-mapping-part-ii
/people/prasad.ulagappan2/blog/2005/06/29/java-mapping-part-iii
blog
/people/sap.user72/blog/2005/03/15/using-xslt-mapping-in-a-ccbpm-scenario
/people/anish.abraham2/blog/2005/12/22/file-to-multiple-idocs-xslt-mapping(file to xslt mapping)
/people/pooja.pandey/blog/2005/06/27/xslt-mapping-with-java-enhancement-for-beginners(xslt with java enhancement function)
Regards,
Amit -
Examples related to XML and XSLT
Hello friends,
In relation to XML and XSLT
1. As I can transform an XML file using XSLT.
2. I view the XML file using XSLT
3. XSL and XSLT files are equal...?
Thanks for the supporthttp://docs.oracle.com/javaee/1.4/tutorial/doc/JAXPXSLT6.html
-
Using XML extraction from Oracle and XSLT data transformation
Hi
How can transfer data ie: Using XML extraction from Oracle and XSLT data transformation with java application?
usually i use to do querying sql, getting data from table assinging to model class then send it to UI. how can i go for XML extraction form oracle?
thanksSorry, I don't understand what exactly you want to do. And I'm under the impression that you might not know exactly what you want to do as well. Could you explain a bit more detailed what you want to achieve?
-
[svn] 3663: Dita xml and xslt support for SkinStates
Revision: 3663
Author: [email protected]
Date: 2008-10-15 13:04:27 -0700 (Wed, 15 Oct 2008)
Log Message:
Dita xml and xslt support for SkinStates
Bugs: SDK-17166
QA: Yes
Doc: No
Tests: checkintests
Ticket Links:
http://bugs.adobe.com/jira/browse/SDK-17166
Modified Paths:
flex/sdk/trunk/asdoc/templates/class-parts.xslt
flex/sdk/trunk/modules/compiler/src/java/flex2/compiler/asdoc/TopLevelClassesGenerator.ja vahttp://docs.oracle.com/javaee/1.4/tutorial/doc/JAXPXSLT6.html
-
Python and Ruby option is missing from XCode
I just installed xcode 3.2 and noticed I don't have the python, ruby or Java option when I try to create a new project.
This happened when I uninstalled 3.1 and installed 3.2
Any idea what happened? How do I get them back? I'm running Mac OS X 10.6.
TIA,
FredApple stopped including Cocoa project templates for Python and Ruby in Xcode 3.2. An engineer said on Apple's Xcode mailing list that the templates included with Xcode were constantly out of date. They encourage developers to download the templates directly from the PyObjC and Ruby Cocoa websites.
Apple yanked the Java project templates from the New Project Assistant. To access them in Xcode 3.2, you must open the Organizer by choosing Window > Organizer. Click the + button at the bottom of the Organizer and choose New From Template > Java Templates. -
Performance issue: Java and XSLT
I have a performance issue concerning Java and XSLT: my goal is to transform an xml file (source.xml)
by using a given xsl file (transformation.xsl). As result I would like to get a String object, in which the result
of the transformation (html-code) is in, so that I can display it in a browser. The problem is the long time
it takes for the code below to run through.
xml = new File("C:\\source.xml");
xmlSource = new StreamSource(xml);
xslt = new File("C:\\transformation.xsl");
StreamSource xsltSource = new StreamSource(xslt);
TransformerFactory transFact = TransformerFactory.newInstance();
trans = transFact.newTransformer(xsltSource);
StringWriter stringWriter = new StringWriter();
StreamResult streamResult = new StreamResult(stringWriter);
trans.transform(xmlSource, streamResult);
String output = stringWriter.toString();
stringWriter.close();
Before, I made the same transformation in an xml development environment, named Cooktop
(see http://xmlcooktop.com/). The transformation took about 2 seconds. With the code above in Java it
takes about 20 seconds.
Is there a way to make the transformation in Java faster?
Thanks in advance,
Marcello
Oldenburg, Germany
[email protected]I haven't tried it but the if you can use java 6, you could try the new stax (StAX) with the XML stream loading..
Take a look at:
http://javaboutique.internet.com/tutorials/staxxsl/
Then, you could cache the xslt in templates:
---8<---
templates = transformerFactory.newTemplates( xsltSource );
Transformer transformer = templates.newTransformer();
(here you could probobly also cache the Transformer object but I think it's it's not thread safe so it's a little tricker..)
StreamResult result = new StreamResult( System.out );
transformer.transform(xmlSource, result);
And, don't transform your result to a string, use a Stream or something, then the transformer could start pumping out html while working, and if you get a out of memory error it looks like you have a pretty big xml file...
If you use jsp you could try the build in jsp taglib for xml which I think is rather good and they have support for varReader which implements the StreamSource iirc.
/perty -
Diff bet .xsl and .xslt??
hi All!
What is the difference between .xsl and .xslt(generated from xml spy) files
Are they fuctionally same, and difference between them is just limited to
like .htm and .html??
ppOne has an extra "t" on the end. As for how they are interpreted by various software, that depends on the software in question.
-
Python and Pygame installation help!
Hi, I'm currently learning python and c++ in school. luckily I have xcode for my c++ development, but for python I really want to use pygame. I have tried following all of the installation instructions from their website and google searches but nothing works. The install package always finishes successfully, but when its time to run Pygame it craps out. At first pygame sort of worked, upon drawing a window however it would create the window but then freeze and I would have to force quit python and pygame. Today I tried again, but now I cant even get it to initialize pygame, it tells me this:
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "pygame.py", line 7, in <module>
main()
File "pygame.py", line 4, in main
pygame.init()
AttributeError: 'module' object has no attribute 'init'
Please if anyone can help me it would be great, you can email me if thats easier: [email protected]Start from here!
Regards,
Marcos -
Generate HTML from XML and XSLT
Hi,
I have asked in different forum but did not get my answer so asking here again
i want to generate a HTML file from XML and XSLT in a temp folder and then read it into a java.lang.String, so can email it or write to a database file.
how can i do it, is there any engine which will merger XML and XSLT and give a HTML file or a String as output
AshishHi,
Follow the simple steps.
1) Create XML Document (I hope u have it)
2) Create XSL Stylesheet for your XML document
3) Put both files in one directory some where in your local system or web server upto u
4) Invoke the XML document from webbrowser and you are done.
http://localhost/test/Catalog.xml OR C:\XXXXDIR\test\Catalog.xml
For Ex: XML File Content, Catalog.xml
<?xml version="1.0" encoding="ISO-8859-1"?>
<?xml-stylesheet type="text/xsl" href="Catalog.xsl"?>
<catalog>
<cd>
<title>Empire Burlesque</title>
<artist>Bob Dylan</artist>
<country>USA</country>
<company>Columbia</company>
<price>10.90</price>
<year>1985</year>
</cd>
</catalog>
XSL File Content: Catalog.xsl
<?xml version="1.0" encoding="ISO-8859-1"?><xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"><xsl:template match="/">
<html>
<body>
<h2>My CD Collection</h2>
<table border="1">
<tr bgcolor="#9acd32">
<th align="left">Title</th>
<th align="left">Artist</th>
</tr>
<xsl:for-each select="catalog/cd">
<tr>
<td><xsl:value-of select="title"/></td>
<td><xsl:value-of select="artist"/></td>
</tr>
</xsl:for-each>
</table>
</body>
</html>
</xsl:template></xsl:stylesheet> -
Diff between .xsl and .xslt
hi All!
What is the difference between .xsl and .xslt(generated from xml spy) files
Are they fuctionally same, and difference between them is just limited to
like .htm and .html??
ppOne has an extra "t" on the end. As for how they are interpreted by various software, that depends on the software in question.
Maybe you are looking for
-
When I try to activate my cs 3 premium production, I get a message saying NO CONNECTION. Everything is in order though. How can I get an activatioon number other then trough the web??
-
I'm new to Flex. I've seen some great apps with great user interfaces done in it. I have this question: Is there ANYWHERE that helps one think about appropriately laying out the Flex user interface? A book, a PDF, a style guide, etc.? This would incl
-
When to add message type to distribution model
hi i am bit confused on when to add a custom/std message type to distribution model. what are the conditions. is that always necessary to add the message type to distribution model. thanks
-
Cloning managed servers ....
Hi, I have created a bam_server1 and soa_server1, managed servers to support BAM and SOA. Now I want to clone bam_server1 to bam_server2. The clone operation in WLS admin console, is just creating a managed server template and not deploying all the a
-
Develop module, camera calibration, Fuji X Pro 1 Camera Profiles question
In Lightroom 5.3 with camera raw 8.3, for my Fuji X Pro 1 lightroom is only showing "Adobe Standard." Is there a way to have it recognize the various shooting modes on the camera? The initial raw preview looks awesome, but as soon as lightroom builds