Beispiele für das Verarbeiten von Aufträgen in einer XML-Datei

Dieses Thema enthält Beispiele für XML-Eingabedetaien, XPath-Ausdrücke, XSLT-Stylesheets und von den XSLT-Stylesheets produzierte RICOH ProcessDirector-Überschreibungsdateien. Diese Beispiele arbeiten mit dem Einsatzszenario für das Verarbeiten von Aufträgen in einer XML-Datei.

XML-Eingabedatei

<?xml version="1.0" encoding="utf-8"?>
<seller id="000364">
  <order number="00060310">
      <customername>Metropolis Real Estate</customername>
      <shipto>
           <address1>100 Main St</address1>
           <address2>></address2>
           <city>Metropolis</city>
           <state>OH</state>
           <zip_code>45416</zip_code>
      </shipto>
      <item number="001">
            <printfile>http://www.metropolishomeexperts.com/brochures/br096.pdf</printfile>
            <quantity>10</quantity>
      </item>
      <item number="002">
            <printfile>http://www.metropolishomeexperts.com/posters/po014.pdf</printfile>
            <quantity>5</quantity>
      </item>
      <item number="003">
            <stock number="mug036"></stock>
            <quantity>5</quantity>
      </item>
  </order>
  <order number="00060311">
      <customername>Town Point Realty</customername>
      <shipto>
           <address1>450 Broadway</address1>
           <address2>Suite 12</address2>
           <city>Parkview</city>
           <state>IL</state>
           <zip_code>60404</zip_code>
      </shipto>
      <item number="001">
           <printfile>http://http://www.townpointrealty.com/print/0196.pdf</printfile>
           <quantity>20</quantity>
      </item>
      <item number="002">
            <stock number="cap0342"></stock>
            <quantity>10</quantity>
      </item>
  </order>
</seller>

Hinweis: Um zu verhindern, dass die Beispiel-XML-Eingabedatei im DownloadFile-Schritt Fehler verursacht, ersetzen Sie die URLs zu Durckdateien auf Ihrer Website durch die URLs im Beispiel.

Erster Xpath-Ausdruck

/seller/order

Für Jobs erstellte XML-Dateien

Auftragsnummer 00060310
<?xml version="1.0" encoding="UTF-8"?>
<order number="00060310">
      <customername>Metropolis Real Estate</customername>
      <shipto>
           <address1>100 Main St</address1>
           <address2>></address2>
           <city>Metropolis</city>
           <state>OH</state>
           <zip_code>45416</zip_code>
      </shipto>
      <item number="001">
            <printfile>http://www.metropolishomeexperts.com/brochures/br096.pdf</printfile>
            <quantity>10</quantity>
      </item>
      <item number="002">
            <printfile>http://www.metropolishomeexperts.com/posters/po014.pdf</printfile>
            <quantity>5</quantity>
      </item>
      <item number="003">
            <stock number="mug036"/>
            <quantity>5</quantity>
      </item>
  </order>
Auftragsnummer 00060311
<?xml version="1.0" encoding="UTF-8"?>
<order number="00060311">
      <customername>Town Point Realty</customername>
      <shipto>
           <address1>450 Broadway</address1>
           <address2>Suite 12</address2>
           <city>Parkview</city>
           <state>IL</state>
           <zip_code>60404</zip_code>
      </shipto>
      <item number="001">
           <printfile>http://www.impactonthenet.com/buildsales.pdf</printfile>
           <quantity>20</quantity>
      </item>
      <item number="002">
            <stock number="cap0342"/>
            <quantity>10</quantity>
      </item>
  </order>

XSLT-Stylesheet für den ersten ApplyXSLTransform-Schritt

<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="1.0">
    <xsl:output method="text" encoding="UTF-8"/>
    <xsl:template match="/">
        <xsl:variable name="var1_initial" select="."/>
        <xsl:for-each select="order">
            <xsl:variable name="var2_current" select="."/>
            <xsl:value-of select="concat('Job.Info.Attr1=', @number, '
', 'Job.CustomerName=', customername)"/>
        </xsl:for-each>
    </xsl:template>
</xsl:stylesheet>

Vom ersten ApplyXSLTransform-Schritt erstellte Überschreibungsdateien

Auftragsnummer 00060310
Job.Info.Attr1=00060310Job.CustomerName=Metropolis Real Estate
Auftragsnummer 00060311
Job.Info.Attr1=00060311Job.CustomerName=Town Point Realty

Zweiter Xpath-Ausdruck

/order/item/printfile/ancestor::item

Für Druckelement-Jobs erstellte XML-Dateien

Wenn die XML-Eingabedatei die Auftragsnummer 00060310 enthält, erstellt RICOH ProcessDirector diese XML-Dateien.

Element 001
<?xml version="1.0" encoding="utf-8"?>
<item number="001">
     <printfile>http://www.metropolishomeexperts.com/brochures/br096.pdf</printfile>
     <quantity>10</quantity>
</item>
Element 002
<?xml version="1.0" encoding="utf-8"?>
<item number="002">
     <printfile>http://www.metropolishomeexperts.com/posters/po014.pdf</printfile>
     <quantity>5</quantity>
</item>

Dritter Xpath-Ausdruck

/order/item/stock/ancestor::item

Für Werbeelement-Jobs erstellte XML-Datei

Wenn die XML-Eingabedatei die Auftragsnummer 00060310 enthält, erstellt RICOH ProcessDirector diese XML-Datei.

<?xml version="1.0" encoding="utf-8"?>
<item number="003">
     <stock number="mug036"/>
     <quantity>5</quantity>
</item>

XSLT-Stylesheet für den zweiten ApplyXSLTransform-Schritt (Druckelemente)

<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="1.0">
    <xsl:output method="text" encoding="UTF-8"/>
    <xsl:template match="/">
        <xsl:variable name="var1_initial" select="."/>
        <xsl:for-each select="item">
            <xsl:variable name="var2_current" select="."/>
            <xsl:value-of select="concat('Job.DownloadFile=', printfile, '
', 'Job.Copies=', quantity)"/>
        </xsl:for-each>
    </xsl:template>
</xsl:stylesheet>

Vom zweiten ApplyXSLTransform-Schritt erstellte Überschreibungsdateien

Element 001
Job.DownloadFile=http://www.metropolishomeexperts.com/brochures/br096.pdfJob.Copies=10
Element 002
Job.DownloadFile=http://www.metropolishomeexperts.com/posters/po014.pdfJob.Copies=5

XSLT-Stylesheet für den dritten ApplyXSLTransform-Schritt (Werbeelemente)

<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="1.0">
    <xsl:output method="text" encoding="UTF-8"/>
    <xsl:template match="/">
        <xsl:variable name="var1_initial" select="."/>
        <xsl:for-each select="item">
            <xsl:variable name="var2_current" select="."/>
            <xsl:value-of select="concat('Job.Info.Attr2=', stock/@number, '
', 'Job.Copies=', quantity)"/>
        </xsl:for-each>
    </xsl:template>
</xsl:stylesheet>

Vom dritten ApplyXSLTransform-Schritt erstellte Überschreibungsdatei

Job.Info.Attr2=mug036Job.Copies=5