← Back to team overview

sslug-teknik team mailing list archive

RE: Et lidt off-tropic spoergsmaal

 

Hej igen igen

Ja jeg kan godt lave perl, xml, xsl så det virker. Jeg kan bare ikke få 
perl / browser ??? til at indse at det xml der kommer ud af mit perl
virker.

Her under er der xml, xsl og noget fra perl.

Håber dette vil hjælpe mig med at komme vidre....

Her er eks alm.xml
<?xml version='1.0' encoding='ISO-8859-1'?>
<?xml-stylesheet type='text/xsl' href='http://srvnt03/salg/salgs
tragt/salgstragt.xsl'?>
<ordret3>
<head>
    <headline>Ordret (sidste 3 mdr.)</headline>
    <customer>Customer</customer>
    <enduser>End user</enduser>
    <project>Project</project>
    <case>Case</case>
    <tender>Tender</tender>
    <document>Document</document>
    <hw>HW</hw>
    <sw>SW</sw>
    <comm>Comm</comm>
    <product>Product</product>
    <orderdate>Order date</orderdate>
    <delivery>Delivery</delivery>
  </head>


  <item>
    <customer>Dator A/S</customer>
    <enduser>Dator A/S</enduser>
    <project>48timer</project>
    <case>1</case>
    <tender>t1</tender>
    <document>adm</document>
    <sum>
      <hw>0</hw>
      <sw>0</sw>
      <comm>0</comm>
      <product>0</product>
    </sum>
    <orderdate>1998-10-30 00:00:00.000</orderdate>
    <delivery></delivery>
  </item>
</ordret3>


og her er salgstragt.xsl

<?xml version="1.0"?>
<xsl:stylesheet  xmlns:xsl="http://www.w3.org/TR/WD-xsl";>
  <xsl:template match="/">
    <HTML>
      <STYLE>
        TD {font-size:8pt}
      </STYLE>

      <BODY STYLE="font:9pt Verdana" >
        <B><xsl:value-of select="ordret3/head/headline"/></B>

        <TABLE BORDER="0" CELLSPACING="0">

          <TR BGCOLOR="YELLOW">
          <TD><xsl:value-of select="ordret3/head/customer"/></TD><TD
WIDTH="10"></TD>
          <TD><xsl:value-of select="ordret3/head/enduser"/></TD><TD
WIDTH="10"></TD>
          <TD><xsl:value-of select="ordret3/head/project"/></TD><TD
WIDTH="10"></TD>
          <TD><xsl:value-of select="ordret3/head/case"/></TD><TD
WIDTH="10"></TD>
          <TD><xsl:value-of select="ordret3/head/tender"/></TD><TD
WIDTH="10"></TD>
          <TD><xsl:value-of select="ordret3/head/document"/></TD><TD
WIDTH="10"></TD>
          <TD><xsl:value-of select="ordret3/head/hw"/></TD><TD
WIDTH="10"></TD>
          <TD><xsl:value-of select="ordret3/head/sw"/></TD><TD
WIDTH="10"></TD>
          <TD><xsl:value-of select="ordret3/head/comm"/></TD><TD
WIDTH="10"></TD>
          <TD><xsl:value-of select="ordret3/head/product"/></TD><TD
WIDTH="10"></TD>
          <TD><xsl:value-of select="ordret3/head/orderdate"/></TD><TD
WIDTH="10"></TD>
          <TD><xsl:value-of select="ordret3/head/delivery"/></TD><TD
WIDTH="10"></TD>
          <TD></TD>
          </TR>

          <xsl:for-each select="ordret3/item">
            <TR BGCOLOR="CYAN">
              <TD><A><xsl:attribute name="href"><xsl:value-of
select="customer"/></xsl:attribute></A> <xsl:value-of
select="customer"/></TD><TD WIDTH="10"></TD>
              <TD><A><xsl:attribute name="href"><xsl:value-of
select="enduser"/></xsl:attribute></A> <xsl:value-of
select="enduser"/></TD><TD WIDTH="10"></TD>
              <TD><A><xsl:attribute name="href"><xsl:value-of
select="project"/></xsl:attribute></A> <xsl:value-of
select="project"/></TD><TD WIDTH="10"></TD>
              <TD><A><xsl:attribute name="href"><xsl:value-of
select="case"/></xsl:attribute></A> <xsl:value-of
select="case"/></TD><TD WIDTH="10"></TD>
              <TD><A><xsl:attribute name="href"><xsl:value-of
select="tender"/></xsl:attribute></A> <xsl:value-of
select="tender"/></TD><TD WIDTH="10"></TD>
              <TD><A><xsl:attribute name="href"><xsl:value-of
select="document"/></xsl:attribute></A> <xsl:value-of
select="document"/></TD><TD WIDTH="10"></TD>
              <TD align="right"><xsl:value-of select="sum/hw"/></TD><TD
WIDTH="10"></TD>
              <TD align="right"><xsl:value-of select="sum/sw"/></TD><TD
WIDTH="10"></TD>
              <TD align="right"><xsl:value-of
select="sum/comm"/></TD><TD WIDTH="10"></TD>
              <TD align="right"><xsl:value-of
select="sum/product"/></TD><TD WIDTH="10"></TD>
              <TD align="right"><xsl:value-of
select="orderdate"/></TD><TD WIDTH="10"></TD>
              <TD align="right"><xsl:value-of
select="delivery"/></TD><TD WIDTH="10"></TD>
              <TD align="right"><A HREF="">Beskrivelse</A></TD>
            </TR>
          </xsl:for-each>
        </TABLE>
      </BODY>
    </HTML>
  </xsl:template>
</xsl:stylesheet>


Og her er noget fra perl.

sub xml {
    my $stm = shift;
    my ($kunde, $enduser, $Project, $CaseNo, $DocumentJournal,
$TenderHW, $TenderSW, $TenderCom, $TenderProduct, $OrderDate,
$DeliveryDate);

    # Format output
        print header;
	print "<?xml version='1.0' encoding='ISO-8859-1'?>\n";
	print "<?xml-stylesheet type='text/xsl' href='http://srvnt03/salg/salgs
tragt/salgstragt.xsl'?>\n";
	print "<ordret3>\n";

	print "<head>\n";
	print "    <headline>Ordret (sidste 3 mdr.)</headline>\n";
	print "    <customer>Customer</customer>\n";
	print "    <enduser>End user</enduser>\n";
	print "    <project>Project</project>\n";
	print "    <case>Case</case>\n";
	print "    <tender>Tender</tender>\n";
	print "    <document>Document</document>\n";
	print "    <hw>HW</hw>\n";
	print "    <sw>SW</sw>\n";
	print "    <comm>Comm</comm>\n";
	print "    <product>Product</product>\n";
	print "    <orderdate>Order date</orderdate>\n";
	print "    <delivery>Delivery</delivery>\n";
	print "  </head>\n";


    while (($kunde, $enduser, $Project, $CaseNo, $DocumentJournal,
$TenderHW, $TenderSW, $TenderCom, $TenderProduct, $OrderDate,
$DeliveryDate) = $stm->fetchrow()) {

	print "  <item>\n";
	print "    <customer>$kunde</customer>\n";
	print "    <enduser>$enduser</enduser>\n";
	print "    <project>$Project</project>\n";
	print "    <case>$CaseNo</case>\n";
	print "    <tender>t1</tender>\n";
	print "    <document>$DocumentJournal</document>\n";
	print "    <sum>\n";
	print "      <hw>$TenderHW</hw>\n";
	print "      <sw>$TenderSW</sw>\n";
	print "      <comm>$TenderCom</comm>\n";
	print "      <product>$TenderProduct</product>\n";
	print "    </sum>\n";
	print "    <orderdate>$OrderDate</orderdate>\n";
	print "    <delivery>$DeliveryDate</delivery>\n";
	print "  </item>\n";


    }
    
    $stm->finish();
    $con->disconnect();	

    print "</ordret3>\n";
}

Med venlig hilsen / Regards

Allan Madsen
Systemadministrator

Dator A/S	Tel.      +45 96 53 10 00
Stadionvej 2A	Fax      +45 96 53 10 10
DK-9560 Hadsund	e-mail    alm@xxxxxxxx
Denmark                                              


-----Original Message-----
From: MONZ [mailto:monz@xxxxxxxxx]
Sent: Wednesday, March 22, 2000 10:37 AM
To: sslug-teknik@xxxxxxxx
Subject: Re: [TEKNIK] Et lidt off-tropic spoergsmaal


ALM wrote:
> Grunden til at jeg ikke skrev om det
> er perl eller xml, jeg har problemer med er at
> jeg ved det ikke.
> 
> Det ser udtil at perl formater xml koden godt nok.
> Hvis jeg siger view source og gemmer den som test.xml
> Dobbelt klikker på filen, så ser det ud som det skal.
> Men måske det er hederen det er galt med....
> Jeg ved det ikke, jeg er lost i xml space

Nårh, men så kan det vel alligevel koges lidt ned:
Eftersom dit perl script kan generere noget der mere eller mindre kan
læses som XML, er det jo ikke fordi du ikke kan finde ud af at kode i
perl, vel?
Kan du manuelt skrivet et XML eksempel som virker?
Hvis ikke, må du ha' fat i en XML reference og checke det du ønsker at
generere, ellers kan du jo heller ikke kode genereringen i perl, vel?

Et hurtig søg på altavista med '+XML & +reference' så ud til at gi'
brugbare referencer, havde dog ikke tid til at kigge på dem.

Gi' os nu et par korte eksempler, vi er sultne :-
-- 
Mogens Valentin  WWW: http://www.danbbs.dk/~monz/  mailto:monz@xxxxxxxxx
Web, Programming, Network, Security - Installguides and docs for Linux..
Skaane/Sjaelland Linux User Group (5200++ members) - http://www.sslug.dk
Use http://www.linux.org/ for freedom of choice with OpenSource software


Follow ups