Author: gnodet
Date: Mon Jan 21 08:09:47 2008
New Revision: 613920
URL: http://svn.apache.org/viewvc?rev=613920&view=rev
Log:
SM-1200: Problems using document('') inside xslt, depending on the source type
Added:
servicemix/smx3/trunk/deployables/serviceengines/servicemix-saxon/src/test/resources/codes.xml
servicemix/smx3/trunk/deployables/serviceengines/servicemix-saxon/src/test/resources/doc-call.xsl
servicemix/smx3/trunk/deployables/serviceengines/servicemix-saxon/src/test/resources/request.xml
Modified:
servicemix/smx3/trunk/deployables/serviceengines/servicemix-saxon/src/main/java/org/apache/servicemix/saxon/SaxonEndpoint.java
servicemix/smx3/trunk/deployables/serviceengines/servicemix-saxon/src/main/java/org/apache/servicemix/saxon/XsltEndpoint.java
servicemix/smx3/trunk/deployables/serviceengines/servicemix-saxon/src/test/java/org/apache/servicemix/saxon/SaxonComponentTest.java
servicemix/smx3/trunk/deployables/serviceengines/servicemix-saxon/src/test/resources/spring.xml
Modified:
servicemix/smx3/trunk/deployables/serviceengines/servicemix-saxon/src/main/java/org/apache/servicemix/saxon/SaxonEndpoint.java
URL:
http://svn.apache.org/viewvc/servicemix/smx3/trunk/deployables/serviceengines/servicemix-saxon/src/main/java/org/apache/servicemix/saxon/SaxonEndpoint.java?rev=613920&r1=613919&r2=613920&view=diff
==============================================================================
---
servicemix/smx3/trunk/deployables/serviceengines/servicemix-saxon/src/main/java/org/apache/servicemix/saxon/SaxonEndpoint.java
(original)
+++
servicemix/smx3/trunk/deployables/serviceengines/servicemix-saxon/src/main/java/org/apache/servicemix/saxon/SaxonEndpoint.java
Mon Jan 21 08:09:47 2008
@@ -268,7 +268,7 @@
protected Document parse(Resource res) throws Exception {
URL url = null;
try {
- res.getURL();
+ url = res.getURL();
} catch (IOException e) {
// Ignore
}
Modified:
servicemix/smx3/trunk/deployables/serviceengines/servicemix-saxon/src/main/java/org/apache/servicemix/saxon/XsltEndpoint.java
URL:
http://svn.apache.org/viewvc/servicemix/smx3/trunk/deployables/serviceengines/servicemix-saxon/src/main/java/org/apache/servicemix/saxon/XsltEndpoint.java?rev=613920&r1=613919&r2=613920&view=diff
==============================================================================
---
servicemix/smx3/trunk/deployables/serviceengines/servicemix-saxon/src/main/java/org/apache/servicemix/saxon/XsltEndpoint.java
(original)
+++
servicemix/smx3/trunk/deployables/serviceengines/servicemix-saxon/src/main/java/org/apache/servicemix/saxon/XsltEndpoint.java
Mon Jan 21 08:09:47 2008
@@ -18,6 +18,7 @@
import java.io.ByteArrayOutputStream;
import java.io.StringWriter;
+import java.net.URL;
import java.util.Iterator;
import java.util.Map;
@@ -32,9 +33,9 @@
import javax.xml.transform.dom.DOMResult;
import javax.xml.transform.dom.DOMSource;
import javax.xml.transform.stream.StreamResult;
+import javax.xml.transform.stream.StreamSource;
import net.sf.saxon.TransformerFactoryImpl;
-
import org.apache.servicemix.jbi.jaxp.BytesSource;
import org.apache.servicemix.jbi.jaxp.StringSource;
import org.springframework.core.io.Resource;
@@ -47,6 +48,8 @@
private TransformerFactory transformerFactory;
private Source xsltSource;
private Templates templates;
+ private boolean useDomSourceForXslt = true;
+ private Boolean useDomSourceForContent;
public TransformerFactory getTransformerFactory() {
if (transformerFactory == null) {
@@ -59,6 +62,22 @@
this.transformerFactory = transformerFactory;
}
+ public boolean isUseDomSourceForXslt() {
+ return useDomSourceForXslt;
+ }
+
+ public void setUseDomSourceForXslt(boolean useDomSourceForXslt) {
+ this.useDomSourceForXslt = useDomSourceForXslt;
+ }
+
+ public Boolean getUseDomSourceForContent() {
+ return useDomSourceForContent;
+ }
+
+ public void setUseDomSourceForContent(Boolean useDomSourceForContent) {
+ this.useDomSourceForContent = useDomSourceForContent;
+ }
+
public void validate() throws DeploymentException {
if (xsltSource == null && getResource() == null && getExpression() ==
null) {
throw new DeploymentException("xsltSource, resource or expression
must be specified");
@@ -77,8 +96,14 @@
protected void transformContent(Transformer transformer, MessageExchange
exchange,
NormalizedMessage in, NormalizedMessage out) throws Exception {
Source src = in.getContent();
- if (src instanceof DOMSource) {
+ if (useDomSourceForContent != null &&
useDomSourceForContent.booleanValue()) {
src = new DOMSource(getSourceTransformer().toDOMDocument(src));
+ } else if (useDomSourceForContent != null &&
!useDomSourceForContent.booleanValue()) {
+ src = getSourceTransformer().toStreamSource(src);
+ } else {
+ if (src instanceof DOMSource) {
+ src = new DOMSource(getSourceTransformer().toDOMDocument(src));
+ }
}
if (RESULT_BYTES.equalsIgnoreCase(getResult())) {
ByteArrayOutputStream buffer = new ByteArrayOutputStream();
@@ -105,7 +130,17 @@
}
protected Source createXsltSource(Resource res) throws Exception {
- return new DOMSource(parse(res));
+ if (useDomSourceForXslt) {
+ String url = null;
+ try {
+ url = res.getURL().toURI().toString();
+ } catch (Exception e) {
+ // Ignore
+ }
+ return new DOMSource(parse(res), url);
+ } else {
+ return new StreamSource(res.getInputStream());
+ }
}
public Templates getTemplates() throws Exception {
Modified:
servicemix/smx3/trunk/deployables/serviceengines/servicemix-saxon/src/test/java/org/apache/servicemix/saxon/SaxonComponentTest.java
URL:
http://svn.apache.org/viewvc/servicemix/smx3/trunk/deployables/serviceengines/servicemix-saxon/src/test/java/org/apache/servicemix/saxon/SaxonComponentTest.java?rev=613920&r1=613919&r2=613920&view=diff
==============================================================================
---
servicemix/smx3/trunk/deployables/serviceengines/servicemix-saxon/src/test/java/org/apache/servicemix/saxon/SaxonComponentTest.java
(original)
+++
servicemix/smx3/trunk/deployables/serviceengines/servicemix-saxon/src/test/java/org/apache/servicemix/saxon/SaxonComponentTest.java
Mon Jan 21 08:09:47 2008
@@ -35,6 +35,7 @@
import org.apache.servicemix.tck.SpringTestSupport;
import org.apache.xbean.spring.context.ClassPathXmlApplicationContext;
import org.springframework.context.support.AbstractXmlApplicationContext;
+import org.springframework.core.io.ClassPathResource;
public class SaxonComponentTest extends SpringTestSupport {
private static transient Log log =
LogFactory.getLog(SaxonComponentTest.class);
@@ -113,6 +114,27 @@
me.setService(new QName("urn:test", "xslt-params"));
me.getInMessage().setContent(new StringSource("<sample id='777888'
sent='"
+ new Date() + "'>hello world!</sample>"));
+ client.sendSync(me);
+ if (me.getStatus() == ExchangeStatus.ERROR) {
+ if (me.getError() != null) {
+ throw me.getError();
+ } else {
+ fail("Received ERROR status");
+ }
+ } else if (me.getFault() != null) {
+ fail("Received fault: " + new
SourceTransformer().toString(me.getFault().getContent()));
+ }
+ log.info(transformer.toString(me.getOutMessage().getContent()));
+ Element el = transformer.toDOMElement(me.getOutMessage());
+ assertEquals("cheeseyCheese", textValueOfXPath(el, "//param"));
+ assertEquals("4002", textValueOfXPath(el, "//integer"));
+ }
+
+ public void testXsltWithDocCall() throws Exception {
+ DefaultServiceMixClient client = new DefaultServiceMixClient(jbi);
+ InOut me = client.createInOutExchange();
+ me.setService(new QName("urn:test", "xslt-doccall"));
+ me.getInMessage().setContent(new
StreamSource(getClass().getClassLoader().getResourceAsStream("request.xml")));
client.sendSync(me);
if (me.getStatus() == ExchangeStatus.ERROR) {
if (me.getError() != null) {
Added:
servicemix/smx3/trunk/deployables/serviceengines/servicemix-saxon/src/test/resources/codes.xml
URL:
http://svn.apache.org/viewvc/servicemix/smx3/trunk/deployables/serviceengines/servicemix-saxon/src/test/resources/codes.xml?rev=613920&view=auto
==============================================================================
---
servicemix/smx3/trunk/deployables/serviceengines/servicemix-saxon/src/test/resources/codes.xml
(added)
+++
servicemix/smx3/trunk/deployables/serviceengines/servicemix-saxon/src/test/resources/codes.xml
Mon Jan 21 08:09:47 2008
@@ -0,0 +1,491 @@
+<codes xmlns:d="http://dccodes.data" xmlns:f="http://faccodes.data">
+ <!-- Table to translate DC Facility to Owner-Id -->
+ <d:dccodes>
+ <d:dccode>
+ <d:trancode>A07</d:trancode>
+ <d:dcfac>ALA1</d:dcfac>
+ </d:dccode>
+ <d:dccode>
+ <d:trancode>A07</d:trancode>
+ <d:dcfac>ALA3</d:dcfac>
+ </d:dccode>
+ <d:dccode>
+ <d:trancode>C13</d:trancode>
+ <d:dcfac>CRC1</d:dcfac>
+ </d:dccode>
+ <d:dccode>
+ <d:trancode>C13</d:trancode>
+ <d:dcfac>CRC2</d:dcfac>
+ </d:dccode>
+ <d:dccode>
+ <d:trancode>C13</d:trancode>
+ <d:dcfac>CRC3</d:dcfac>
+ </d:dccode>
+ <d:dccode>
+ <d:trancode>C13</d:trancode>
+ <d:dcfac>CRC4</d:dcfac>
+ </d:dccode>
+ <d:dccode>
+ <d:trancode>C13</d:trancode>
+ <d:dcfac>CRC7</d:dcfac>
+ </d:dccode>
+ <d:dccode>
+ <d:trancode>D10</d:trancode>
+ <d:dcfac>DTD1</d:dcfac>
+ </d:dccode>
+ <d:dccode>
+ <d:trancode>D10</d:trancode>
+ <d:dcfac>DTD2</d:dcfac>
+ </d:dccode>
+ <d:dccode>
+ <d:trancode>D10</d:trancode>
+ <d:dcfac>DTD3</d:dcfac>
+ </d:dccode>
+ <d:dccode>
+ <d:trancode>E09</d:trancode>
+ <d:dcfac>ENE1</d:dcfac>
+ </d:dccode>
+ <d:dccode>
+ <d:trancode>E09</d:trancode>
+ <d:dcfac>ENE2</d:dcfac>
+ </d:dccode>
+ <d:dccode>
+ <d:trancode>E09</d:trancode>
+ <d:dcfac>ENE3</d:dcfac>
+ </d:dccode>
+ <d:dccode>
+ <d:trancode>E09</d:trancode>
+ <d:dcfac>ENE7</d:dcfac>
+ </d:dccode>
+ <d:dccode>
+ <d:trancode>F11</d:trancode>
+ <d:dcfac>FLF1</d:dcfac>
+ </d:dccode>
+ <d:dccode>
+ <d:trancode>F11</d:trancode>
+ <d:dcfac>FLF2</d:dcfac>
+ </d:dccode>
+ <d:dccode>
+ <d:trancode>F11</d:trancode>
+ <d:dcfac>FLF7</d:dcfac>
+ </d:dccode>
+ <d:dccode>
+ <d:trancode>I02</d:trancode>
+ <d:dcfac>INI1</d:dcfac>
+ </d:dccode>
+ <d:dccode>
+ <d:trancode>I02</d:trancode>
+ <d:dcfac>INI2</d:dcfac>
+ </d:dccode>
+ <d:dccode>
+ <d:trancode>I02</d:trancode>
+ <d:dcfac>INI3</d:dcfac>
+ </d:dccode>
+ <d:dccode>
+ <d:trancode>I02</d:trancode>
+ <d:dcfac>INI4</d:dcfac>
+ </d:dccode>
+ <d:dccode>
+ <d:trancode>L15</d:trancode>
+ <d:dcfac>LAL1</d:dcfac>
+ </d:dccode>
+ <d:dccode>
+ <d:trancode>L15</d:trancode>
+ <d:dcfac>LAL2</d:dcfac>
+ </d:dccode>
+ <d:dccode>
+ <d:trancode>L15</d:trancode>
+ <d:dcfac>LAL3</d:dcfac>
+ </d:dccode>
+ <d:dccode>
+ <d:trancode>M05</d:trancode>
+ <d:dcfac>MAM1</d:dcfac>
+ </d:dccode>
+ <d:dccode>
+ <d:trancode>M05</d:trancode>
+ <d:dcfac>MAM3</d:dcfac>
+ </d:dccode>
+ <d:dccode>
+ <d:trancode>M05</d:trancode>
+ <d:dcfac>MAM4</d:dcfac>
+ </d:dccode>
+ <d:dccode>
+ <d:trancode>M05</d:trancode>
+ <d:dcfac>MAM5</d:dcfac>
+ </d:dccode>
+ <d:dccode>
+ <d:trancode>M05</d:trancode>
+ <d:dcfac>MAM6</d:dcfac>
+ </d:dccode>
+ <d:dccode>
+ <d:trancode>M05</d:trancode>
+ <d:dcfac>MAM8</d:dcfac>
+ </d:dccode>
+ <d:dccode>
+ <d:trancode>M05</d:trancode>
+ <d:dcfac>MAM9</d:dcfac>
+ </d:dccode>
+ <d:dccode>
+ <d:trancode>N04</d:trancode>
+ <d:dcfac>NJN1</d:dcfac>
+ </d:dccode>
+ <d:dccode>
+ <d:trancode>N04</d:trancode>
+ <d:dcfac>NJN2</d:dcfac>
+ </d:dccode>
+ <d:dccode>
+ <d:trancode>N04</d:trancode>
+ <d:dcfac>NJN3</d:dcfac>
+ </d:dccode>
+ <d:dccode>
+ <d:trancode>N04</d:trancode>
+ <d:dcfac>NJN4</d:dcfac>
+ </d:dccode>
+ <d:dccode>
+ <d:trancode>N04</d:trancode>
+ <d:dcfac>NJN7</d:dcfac>
+ </d:dccode>
+ <d:dccode>
+ <d:trancode>N04</d:trancode>
+ <d:dcfac>NJN8</d:dcfac>
+ </d:dccode>
+ <d:dccode>
+ <d:trancode>N04</d:trancode>
+ <d:dcfac>NJN9</d:dcfac>
+ </d:dccode>
+ <d:dccode>
+ <d:trancode>O12</d:trancode>
+ <d:dcfac>ORO1</d:dcfac>
+ </d:dccode>
+ <d:dccode>
+ <d:trancode>O12</d:trancode>
+ <d:dcfac>ORO2</d:dcfac>
+ </d:dccode>
+ <d:dccode>
+ <d:trancode>O12</d:trancode>
+ <d:dcfac>ORO3</d:dcfac>
+ </d:dccode>
+ <d:dccode>
+ <d:trancode>O12</d:trancode>
+ <d:dcfac>ORO4</d:dcfac>
+ </d:dccode>
+ <d:dccode>
+ <d:trancode>O12</d:trancode>
+ <d:dcfac>ORO5</d:dcfac>
+ </d:dccode>
+ <d:dccode>
+ <d:trancode>P03</d:trancode>
+ <d:dcfac>PAP1</d:dcfac>
+ </d:dccode>
+ <d:dccode>
+ <d:trancode>P03</d:trancode>
+ <d:dcfac>PAP3</d:dcfac>
+ </d:dccode>
+ <d:dccode>
+ <d:trancode>S08</d:trancode>
+ <d:dcfac>SCS1</d:dcfac>
+ </d:dccode>
+ <d:dccode>
+ <d:trancode>S08</d:trancode>
+ <d:dcfac>SCS3</d:dcfac>
+ </d:dccode>
+ <d:dccode>
+ <d:trancode>T06</d:trancode>
+ <d:dcfac>TNT1</d:dcfac>
+ </d:dccode>
+ <d:dccode>
+ <d:trancode>T06</d:trancode>
+ <d:dcfac>TNT2</d:dcfac>
+ </d:dccode>
+ <d:dccode>
+ <d:trancode>T06</d:trancode>
+ <d:dcfac>TNT3</d:dcfac>
+ </d:dccode>
+ <d:dccode>
+ <d:trancode>T06</d:trancode>
+ <d:dcfac>TNT9</d:dcfac>
+ </d:dccode>
+ <d:dccode>
+ <d:trancode>W01</d:trancode>
+ <d:dcfac>WNW1</d:dcfac>
+ </d:dccode>
+ <d:dccode>
+ <d:trancode>W01</d:trancode>
+ <d:dcfac>WNW2</d:dcfac>
+ </d:dccode>
+ <d:dccode>
+ <d:trancode>W01</d:trancode>
+ <d:dcfac>WNW3</d:dcfac>
+ </d:dccode>
+ <d:dccode>
+ <d:trancode>W01</d:trancode>
+ <d:dcfac>WNW4</d:dcfac>
+ </d:dccode>
+ <d:dccode>
+ <d:trancode>W01</d:trancode>
+ <d:dcfac>WNW5</d:dcfac>
+ </d:dccode>
+ <d:dccode>
+ <d:trancode>W01</d:trancode>
+ <d:dcfac>WNW6</d:dcfac>
+ </d:dccode>
+ <d:dccode>
+ <d:trancode>W01</d:trancode>
+ <d:dcfac>WNW7</d:dcfac>
+ </d:dccode>
+ <d:dccode>
+ <d:trancode>W01</d:trancode>
+ <d:dcfac>WNW8</d:dcfac>
+ </d:dccode>
+ <d:dccode>
+ <d:trancode>W01</d:trancode>
+ <d:dcfac>WNW9</d:dcfac>
+ </d:dccode>
+ </d:dccodes>
+ <f:faccodes>
+ <f:faccode>
+ <f:trancode>01</f:trancode>
+ <f:fac>ALA1</f:fac>
+ </f:faccode>
+ <f:faccode>
+ <f:trancode>03</f:trancode>
+ <f:fac>ALA3</f:fac>
+ </f:faccode>
+ <f:faccode>
+ <f:trancode>01</f:trancode>
+ <f:fac>CRC1</f:fac>
+ </f:faccode>
+ <f:faccode>
+ <f:trancode>02</f:trancode>
+ <f:fac>CRC2</f:fac>
+ </f:faccode>
+ <f:faccode>
+ <f:trancode>03</f:trancode>
+ <f:fac>CRC3</f:fac>
+ </f:faccode>
+ <f:faccode>
+ <f:trancode>04</f:trancode>
+ <f:fac>CRC7</f:fac>
+ </f:faccode>
+ <f:faccode>
+ <f:trancode>07</f:trancode>
+ <f:fac>CRC7</f:fac>
+ </f:faccode>
+ <f:faccode>
+ <f:trancode>01</f:trancode>
+ <f:fac>DTD1</f:fac>
+ </f:faccode>
+ <f:faccode>
+ <f:trancode>02</f:trancode>
+ <f:fac>DTD2</f:fac>
+ </f:faccode>
+ <f:faccode>
+ <f:trancode>03</f:trancode>
+ <f:fac>DTD3</f:fac>
+ </f:faccode>
+ <f:faccode>
+ <f:trancode>01</f:trancode>
+ <f:fac>ENE1</f:fac>
+ </f:faccode>
+ <f:faccode>
+ <f:trancode>02</f:trancode>
+ <f:fac>ENE2</f:fac>
+ </f:faccode>
+ <f:faccode>
+ <f:trancode>03</f:trancode>
+ <f:fac>ENE3</f:fac>
+ </f:faccode>
+ <f:faccode>
+ <f:trancode>07</f:trancode>
+ <f:fac>ENE7</f:fac>
+ </f:faccode>
+ <f:faccode>
+ <f:trancode>01</f:trancode>
+ <f:fac>FLF1</f:fac>
+ </f:faccode>
+ <f:faccode>
+ <f:trancode>02</f:trancode>
+ <f:fac>FLF2</f:fac>
+ </f:faccode>
+ <f:faccode>
+ <f:trancode>07</f:trancode>
+ <f:fac>FLF7</f:fac>
+ </f:faccode>
+ <f:faccode>
+ <f:trancode>01</f:trancode>
+ <f:fac>INI1</f:fac>
+ </f:faccode>
+ <f:faccode>
+ <f:trancode>02</f:trancode>
+ <f:fac>INI2</f:fac>
+ </f:faccode>
+ <f:faccode>
+ <f:trancode>03</f:trancode>
+ <f:fac>INI3</f:fac>
+ </f:faccode>
+ <f:faccode>
+ <f:trancode>04</f:trancode>
+ <f:fac>INI4</f:fac>
+ </f:faccode>
+ <f:faccode>
+ <f:trancode>01</f:trancode>
+ <f:fac>LAL1</f:fac>
+ </f:faccode>
+ <f:faccode>
+ <f:trancode>02</f:trancode>
+ <f:fac>LAL2</f:fac>
+ </f:faccode>
+ <f:faccode>
+ <f:trancode>03</f:trancode>
+ <f:fac>LAL3</f:fac>
+ </f:faccode>
+ <f:faccode>
+ <f:trancode>01</f:trancode>
+ <f:fac>MAM1</f:fac>
+ </f:faccode>
+ <f:faccode>
+ <f:trancode>02</f:trancode>
+ <f:fac>MAM2</f:fac>
+ </f:faccode>
+ <f:faccode>
+ <f:trancode>03</f:trancode>
+ <f:fac>MAM3</f:fac>
+ </f:faccode>
+ <f:faccode>
+ <f:trancode>04</f:trancode>
+ <f:fac>MAM4</f:fac>
+ </f:faccode>
+ <f:faccode>
+ <f:trancode>05</f:trancode>
+ <f:fac>MAM5</f:fac>
+ </f:faccode>
+ <f:faccode>
+ <f:trancode>06</f:trancode>
+ <f:fac>MAM6</f:fac>
+ </f:faccode>
+ <f:faccode>
+ <f:trancode>08</f:trancode>
+ <f:fac>MAM8</f:fac>
+ </f:faccode>
+ <f:faccode>
+ <f:trancode>09</f:trancode>
+ <f:fac>MAM9</f:fac>
+ </f:faccode>
+ <f:faccode>
+ <f:trancode>01</f:trancode>
+ <f:fac>NJN1</f:fac>
+ </f:faccode>
+ <f:faccode>
+ <f:trancode>02</f:trancode>
+ <f:fac>NJN20</f:fac>
+ </f:faccode>
+ <f:faccode>
+ <f:trancode>03</f:trancode>
+ <f:fac>NJN3</f:fac>
+ </f:faccode>
+ <f:faccode>
+ <f:trancode>04</f:trancode>
+ <f:fac>NJN4</f:fac>
+ </f:faccode>
+ <f:faccode>
+ <f:trancode>07</f:trancode>
+ <f:fac>NJN7</f:fac>
+ </f:faccode>
+ <f:faccode>
+ <f:trancode>08</f:trancode>
+ <f:fac>NJN8</f:fac>
+ </f:faccode>
+ <f:faccode>
+ <f:trancode>09</f:trancode>
+ <f:fac>NJN9</f:fac>
+ </f:faccode>
+ <f:faccode>
+ <f:trancode>01</f:trancode>
+ <f:fac>ORO1</f:fac>
+ </f:faccode>
+ <f:faccode>
+ <f:trancode>02</f:trancode>
+ <f:fac>ORO2</f:fac>
+ </f:faccode>
+ <f:faccode>
+ <f:trancode>03</f:trancode>
+ <f:fac>ORO3</f:fac>
+ </f:faccode>
+ <f:faccode>
+ <f:trancode>04</f:trancode>
+ <f:fac>ORO4</f:fac>
+ </f:faccode>
+ <f:faccode>
+ <f:trancode>05</f:trancode>
+ <f:fac>ORO5</f:fac>
+ </f:faccode>
+ <f:faccode>
+ <f:trancode>01</f:trancode>
+ <f:fac>PAP1</f:fac>
+ </f:faccode>
+ <f:faccode>
+ <f:trancode>02</f:trancode>
+ <f:fac>PAP2</f:fac>
+ </f:faccode>
+ <f:faccode>
+ <f:trancode>01</f:trancode>
+ <f:fac>SCS1</f:fac>
+ </f:faccode>
+ <f:faccode>
+ <f:trancode>02</f:trancode>
+ <f:fac>SCS2</f:fac>
+ </f:faccode>
+ <f:faccode>
+ <f:trancode>01</f:trancode>
+ <f:fac>TNT1</f:fac>
+ </f:faccode>
+ <f:faccode>
+ <f:trancode>02</f:trancode>
+ <f:fac>TNT2</f:fac>
+ </f:faccode>
+ <f:faccode>
+ <f:trancode>03</f:trancode>
+ <f:fac>TNT3</f:fac>
+ </f:faccode>
+ <f:faccode>
+ <f:trancode>09</f:trancode>
+ <f:fac>TNT9</f:fac>
+ </f:faccode>
+ <f:faccode>
+ <f:trancode>01</f:trancode>
+ <f:fac>WNW1</f:fac>
+ </f:faccode>
+ <f:faccode>
+ <f:trancode>02</f:trancode>
+ <f:fac>WNW2</f:fac>
+ </f:faccode>
+ <f:faccode>
+ <f:trancode>03</f:trancode>
+ <f:fac>WNW3</f:fac>
+ </f:faccode>
+ <f:faccode>
+ <f:trancode>04</f:trancode>
+ <f:fac>WNW4</f:fac>
+ </f:faccode>
+ <f:faccode>
+ <f:trancode>05</f:trancode>
+ <f:fac>WNW5</f:fac>
+ </f:faccode>
+ <f:faccode>
+ <f:trancode>06</f:trancode>
+ <f:fac>WNW6</f:fac>
+ </f:faccode>
+ <f:faccode>
+ <f:trancode>07</f:trancode>
+ <f:fac>WNW7</f:fac>
+ </f:faccode>
+ <f:faccode>
+ <f:trancode>08</f:trancode>
+ <f:fac>WNW8</f:fac>
+ </f:faccode>
+ <f:faccode>
+ <f:trancode>09</f:trancode>
+ <f:fac>WNW9</f:fac>
+ </f:faccode>
+ </f:faccodes>
+</codes>
\ No newline at end of file
Added:
servicemix/smx3/trunk/deployables/serviceengines/servicemix-saxon/src/test/resources/doc-call.xsl
URL:
http://svn.apache.org/viewvc/servicemix/smx3/trunk/deployables/serviceengines/servicemix-saxon/src/test/resources/doc-call.xsl?rev=613920&view=auto
==============================================================================
---
servicemix/smx3/trunk/deployables/serviceengines/servicemix-saxon/src/test/resources/doc-call.xsl
(added)
+++
servicemix/smx3/trunk/deployables/serviceengines/servicemix-saxon/src/test/resources/doc-call.xsl
Mon Jan 21 08:09:47 2008
@@ -0,0 +1,699 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<!--
+
+ Licensed to the Apache Software Foundation (ASF) under one or more
+ contributor license agreements. See the NOTICE file distributed with
+ this work for additional information regarding copyright ownership.
+ The ASF licenses this file to You under the Apache License, Version 2.0
+ (the "License"); you may not use this file except in compliance with
+ the License. You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+
+-->
+<xsl:transform xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:d="http://dccodes.data" xmlns:f="http://faccodes.data" version="1.0">
+ <xsl:output method="text"/>
+ <xsl:variable name="beginHour" select="HH"/>
+ <xsl:variable name="beginMin" select="MM"/>
+ <xsl:variable name="GlobalbeginMin" select="0"/>
+ <xsl:key name="dccode-lookup" match="d:dccode" use="d:dcfac"/>
+ <xsl:variable name="dccodes-top" select="document('')/*/d:dccodes"/>
+ <xsl:key name="faccode-lookup" match="f:faccode" use="f:fac"/>
+ <xsl:variable name="faccodes-top" select="document('')/*/f:faccodes"/>
+ <xsl:template match="/">
+ <xsl:text><![CDATA[<data>]]></xsl:text>
+ <xsl:text>
</xsl:text>
+ <xsl:for-each
select="Command/Execute/Parms/Output/parmDocMonAppointment/DocMonAppointment">
+ <!--Default Appointment record ID -->
+ <text>RT</text>
+ <!-- Add/Modify/Delete transformation -->
+ <xsl:call-template name="append-pad">
+ <xsl:with-param
name="padChar"> </xsl:with-param>
+ <xsl:with-param name="padVar"
select="translate(@ActionCode,'AMD','012')"/>
+ <xsl:with-param name="length" select="1"/>
+ </xsl:call-template>
+ <!-- Owner-ID -->
+ <xsl:apply-templates select="$dccodes-top">
+ <xsl:with-param name="curr-label"
select="[EMAIL PROTECTED]'1']/@FacilityCode"/>
+ </xsl:apply-templates>
+ <xsl:apply-templates select="$faccodes-top">
+ <xsl:with-param name="curr-fac-label"
select="[EMAIL PROTECTED]'1']/@FacilityCode"/>
+ </xsl:apply-templates>
+ <!-- Appointment number -->
+ <xsl:call-template name="prepend-pad">
+ <xsl:with-param
name="padChar">0</xsl:with-param>
+ <xsl:with-param name="padVar"
select="./@RequestNumber"/>
+ <xsl:with-param name="length" select="10"/>
+ </xsl:call-template>
+ <!-- SCAC Code -->
+ <xsl:call-template name="append-pad">
+ <xsl:with-param name="padChar" select="' '" />
+ <xsl:with-param name="padVar" select="[EMAIL
PROTECTED]'2']/@PartyCode"/>
+ <xsl:with-param name="length" select="12"/>
+ </xsl:call-template>
+ <!-- Trucker Date -->
+ <xsl:call-template name="strip-date">
+ <xsl:with-param name="wholeDate"
select="../DocMonAppointment/@AppointmentDTBegin"/>
+ <xsl:with-param name="beginAt" select="0"/>
+ <xsl:with-param name="length" select="5"/>
+ </xsl:call-template>
+ <xsl:call-template name="strip-date">
+ <xsl:with-param name="wholeDate"
select="@AppointmentDTBegin"/>
+ <xsl:with-param name="beginAt" select="6"/>
+ <xsl:with-param name="length" select="2"/>
+ </xsl:call-template>
+ <xsl:call-template name="strip-date">
+ <xsl:with-param name="wholeDate"
select="@AppointmentDTBegin"/>
+ <xsl:with-param name="beginAt" select="9"/>
+ <xsl:with-param name="length" select="2"/>
+ </xsl:call-template>
+ <!-- PO number -->
+ <xsl:call-template name="prepend-pad">
+ <xsl:with-param
name="padChar">0</xsl:with-param>
+ <xsl:with-param name="padVar"
select="DocAppointmentLine/@PONumber"/>
+ <xsl:with-param name="length" select="18"/>
+ </xsl:call-template>
+ <!-- number of cases-->
+ <xsl:call-template name="prepend-pad">
+ <xsl:with-param
name="padChar">0</xsl:with-param>
+ <xsl:with-param name="padVar"
select="DocAppointmentLine/@NumCasesShipped"/>
+ <xsl:with-param name="length" select="5"/>
+ </xsl:call-template>
+ <!-- Trucker Date -->
+ <xsl:call-template name="strip-date">
+ <xsl:with-param name="wholeDate"
select="../DocMonAppointment/@AppointmentDTBegin"/>
+ <xsl:with-param name="beginAt" select="0"/>
+ <xsl:with-param name="length" select="5"/>
+ </xsl:call-template>
+ <xsl:call-template name="strip-date">
+ <xsl:with-param name="wholeDate"
select="@AppointmentDTBegin"/>
+ <xsl:with-param name="beginAt" select="6"/>
+ <xsl:with-param name="length" select="2"/>
+ </xsl:call-template>
+ <xsl:call-template name="strip-date">
+ <xsl:with-param name="wholeDate"
select="@AppointmentDTBegin"/>
+ <xsl:with-param name="beginAt" select="9"/>
+ <xsl:with-param name="length" select="2"/>
+ </xsl:call-template>
+ <!-- Receiving door-->
+ <xsl:call-template name="prepend-pad">
+ <xsl:with-param
name="padChar">0</xsl:with-param>
+ <xsl:with-param name="padVar"
select="MonAppointmentApptDoor/@DoorNum"/>
+ <xsl:with-param name="length" select="3"/>
+ </xsl:call-template>
+ <!-- Appointment begin time HHMM-->
+ <xsl:call-template name="strip-hour">
+ <xsl:with-param name="wholeDate"
select="./@AppointmentDTBegin"/>
+ <xsl:with-param name="beginAt" select="12"/>
+ <xsl:with-param name="length" select="2"/>
+ </xsl:call-template>
+ <xsl:call-template name="strip-min">
+ <xsl:with-param name="wholeDate"
select="./@AppointmentDTBegin"/>
+ <xsl:with-param name="beginAt" select="15"/>
+ <xsl:with-param name="length" select="2"/>
+ </xsl:call-template>
+ <xsl:call-template name="concat-hhmm">
+ <xsl:with-param name="beginHour"
select="substring(./@AppointmentDTBegin,12,2)"/>
+ <xsl:with-param name="beginMin"
select="substring(./@AppointmentDTBegin,15,2) + 30 "/>
+ </xsl:call-template>
+ <!-- Carrige Return-->
+ <xsl:text>
</xsl:text>
+ </xsl:for-each>
+ <xsl:text><![CDATA[</data>]]></xsl:text>
+ </xsl:template>
+ <xsl:template name="append-pad">
+ <!-- recursive template to left justify and append -->
+ <!-- the value with whatever padChar is passed in -->
+ <xsl:param name="padChar"> </xsl:param>
+ <xsl:param name="padVar"/>
+ <xsl:param name="length"/>
+ <xsl:choose>
+ <xsl:when test="string-length($padVar) < $length">
+ <xsl:call-template name="append-pad">
+ <xsl:with-param name="padChar"
select="$padChar"/>
+ <xsl:with-param name="padVar"
select="concat($padVar,$padChar)"/>
+ <xsl:with-param name="length"
select="$length"/>
+ </xsl:call-template>
+ </xsl:when>
+ <xsl:otherwise>
+ <xsl:value-of
select="substring($padVar,1,$length)"/>
+ </xsl:otherwise>
+ </xsl:choose>
+ </xsl:template>
+ <xsl:template match="d:dccodes">
+ <xsl:param name="curr-label"/>
+ <xsl:value-of select="key('dccode-lookup',
$curr-label)/d:trancode"/>
+ </xsl:template>
+ <xsl:template name="prepend-pad">
+ <!-- recursive template to right justify and prepend-->
+ <!-- the value with whatever padChar is passed in -->
+ <xsl:param name="padChar"> </xsl:param>
+ <xsl:param name="padVar"/>
+ <xsl:param name="length"/>
+ <xsl:choose>
+ <xsl:when test="string-length($padVar) < $length">
+ <xsl:call-template name="prepend-pad">
+ <xsl:with-param name="padChar"
select="$padChar"/>
+ <xsl:with-param name="padVar"
select="concat($padChar,$padVar)"/>
+ <xsl:with-param name="length"
select="$length"/>
+ </xsl:call-template>
+ </xsl:when>
+ <xsl:otherwise>
+ <xsl:value-of
select="substring($padVar,string-length($padVar) - $length + 1)"/>
+ </xsl:otherwise>
+ </xsl:choose>
+ </xsl:template>
+ <!-- strip the digits of the date -->
+ <xsl:template name="strip-date">
+ <xsl:param name="wholeDate"/>
+ <xsl:param name="beginAt"/>
+ <xsl:param name="length"/>
+ <xsl:value-of select="substring($wholeDate,$beginAt,$length)"/>
+ </xsl:template>
+ <!-- strip the hour digits -->
+ <xsl:template name="strip-hour">
+ <xsl:param name="wholeDate"/>
+ <xsl:param name="beginAt"/>
+ <xsl:param name="length"/>
+ <xsl:value-of select="substring($wholeDate,$beginAt,$length)"/>
+ </xsl:template>
+ <!-- strip the minutes digits -->
+ <xsl:template name="strip-min">
+ <xsl:param name="wholeDate"/>
+ <xsl:param name="beginAt"/>
+ <xsl:param name="length"/>
+ <xsl:value-of select="substring($wholeDate,$beginAt,$length)"/>
+ </xsl:template>
+ <xsl:template name="concat-hhmm">
+ <xsl:param name="beginHour"/>
+ <xsl:param name="beginMin"/>
+ <xsl:choose>
+ <xsl:when test="$beginMin > 59">
+ <xsl:value-of select="concat($beginHour
+1,$GlobalbeginMin,$GlobalbeginMin)"/>
+ </xsl:when>
+ <xsl:otherwise>
+ <xsl:value-of
select="concat($beginHour,$beginMin)"/>
+ </xsl:otherwise>
+ </xsl:choose>
+ </xsl:template>
+ <!-- Table to translate DC Facility to Owner-Id -->
+ <d:dccodes>
+ <d:dccode>
+ <d:trancode>A07</d:trancode>
+ <d:dcfac>ALA1</d:dcfac>
+ </d:dccode>
+ <d:dccode>
+ <d:trancode>A07</d:trancode>
+ <d:dcfac>ALA3</d:dcfac>
+ </d:dccode>
+ <d:dccode>
+ <d:trancode>C13</d:trancode>
+ <d:dcfac>CRC1</d:dcfac>
+ </d:dccode>
+ <d:dccode>
+ <d:trancode>C13</d:trancode>
+ <d:dcfac>CRC2</d:dcfac>
+ </d:dccode>
+ <d:dccode>
+ <d:trancode>C13</d:trancode>
+ <d:dcfac>CRC3</d:dcfac>
+ </d:dccode>
+ <d:dccode>
+ <d:trancode>C13</d:trancode>
+ <d:dcfac>CRC4</d:dcfac>
+ </d:dccode>
+ <d:dccode>
+ <d:trancode>C13</d:trancode>
+ <d:dcfac>CRC7</d:dcfac>
+ </d:dccode>
+ <d:dccode>
+ <d:trancode>D10</d:trancode>
+ <d:dcfac>DTD1</d:dcfac>
+ </d:dccode>
+ <d:dccode>
+ <d:trancode>D10</d:trancode>
+ <d:dcfac>DTD2</d:dcfac>
+ </d:dccode>
+ <d:dccode>
+ <d:trancode>D10</d:trancode>
+ <d:dcfac>DTD3</d:dcfac>
+ </d:dccode>
+ <d:dccode>
+ <d:trancode>E09</d:trancode>
+ <d:dcfac>ENE1</d:dcfac>
+ </d:dccode>
+ <d:dccode>
+ <d:trancode>E09</d:trancode>
+ <d:dcfac>ENE2</d:dcfac>
+ </d:dccode>
+ <d:dccode>
+ <d:trancode>E09</d:trancode>
+ <d:dcfac>ENE3</d:dcfac>
+ </d:dccode>
+ <d:dccode>
+ <d:trancode>E09</d:trancode>
+ <d:dcfac>ENE7</d:dcfac>
+ </d:dccode>
+ <d:dccode>
+ <d:trancode>F11</d:trancode>
+ <d:dcfac>FLF1</d:dcfac>
+ </d:dccode>
+ <d:dccode>
+ <d:trancode>F11</d:trancode>
+ <d:dcfac>FLF2</d:dcfac>
+ </d:dccode>
+ <d:dccode>
+ <d:trancode>F11</d:trancode>
+ <d:dcfac>FLF7</d:dcfac>
+ </d:dccode>
+ <d:dccode>
+ <d:trancode>I02</d:trancode>
+ <d:dcfac>INI1</d:dcfac>
+ </d:dccode>
+ <d:dccode>
+ <d:trancode>I02</d:trancode>
+ <d:dcfac>INI2</d:dcfac>
+ </d:dccode>
+ <d:dccode>
+ <d:trancode>I02</d:trancode>
+ <d:dcfac>INI3</d:dcfac>
+ </d:dccode>
+ <d:dccode>
+ <d:trancode>I02</d:trancode>
+ <d:dcfac>INI4</d:dcfac>
+ </d:dccode>
+ <d:dccode>
+ <d:trancode>L15</d:trancode>
+ <d:dcfac>LAL1</d:dcfac>
+ </d:dccode>
+ <d:dccode>
+ <d:trancode>L15</d:trancode>
+ <d:dcfac>LAL2</d:dcfac>
+ </d:dccode>
+ <d:dccode>
+ <d:trancode>L15</d:trancode>
+ <d:dcfac>LAL3</d:dcfac>
+ </d:dccode>
+ <d:dccode>
+ <d:trancode>M05</d:trancode>
+ <d:dcfac>MAM1</d:dcfac>
+ </d:dccode>
+ <d:dccode>
+ <d:trancode>M05</d:trancode>
+ <d:dcfac>MAM3</d:dcfac>
+ </d:dccode>
+ <d:dccode>
+ <d:trancode>M05</d:trancode>
+ <d:dcfac>MAM4</d:dcfac>
+ </d:dccode>
+ <d:dccode>
+ <d:trancode>M05</d:trancode>
+ <d:dcfac>MAM5</d:dcfac>
+ </d:dccode>
+ <d:dccode>
+ <d:trancode>M05</d:trancode>
+ <d:dcfac>MAM6</d:dcfac>
+ </d:dccode>
+ <d:dccode>
+ <d:trancode>M05</d:trancode>
+ <d:dcfac>MAM8</d:dcfac>
+ </d:dccode>
+ <d:dccode>
+ <d:trancode>M05</d:trancode>
+ <d:dcfac>MAM9</d:dcfac>
+ </d:dccode>
+ <d:dccode>
+ <d:trancode>N04</d:trancode>
+ <d:dcfac>NJN1</d:dcfac>
+ </d:dccode>
+ <d:dccode>
+ <d:trancode>N04</d:trancode>
+ <d:dcfac>NJN2</d:dcfac>
+ </d:dccode>
+ <d:dccode>
+ <d:trancode>N04</d:trancode>
+ <d:dcfac>NJN3</d:dcfac>
+ </d:dccode>
+ <d:dccode>
+ <d:trancode>N04</d:trancode>
+ <d:dcfac>NJN4</d:dcfac>
+ </d:dccode>
+ <d:dccode>
+ <d:trancode>N04</d:trancode>
+ <d:dcfac>NJN7</d:dcfac>
+ </d:dccode>
+ <d:dccode>
+ <d:trancode>N04</d:trancode>
+ <d:dcfac>NJN8</d:dcfac>
+ </d:dccode>
+ <d:dccode>
+ <d:trancode>N04</d:trancode>
+ <d:dcfac>NJN9</d:dcfac>
+ </d:dccode>
+ <d:dccode>
+ <d:trancode>O12</d:trancode>
+ <d:dcfac>ORO1</d:dcfac>
+ </d:dccode>
+ <d:dccode>
+ <d:trancode>O12</d:trancode>
+ <d:dcfac>ORO2</d:dcfac>
+ </d:dccode>
+ <d:dccode>
+ <d:trancode>O12</d:trancode>
+ <d:dcfac>ORO3</d:dcfac>
+ </d:dccode>
+ <d:dccode>
+ <d:trancode>O12</d:trancode>
+ <d:dcfac>ORO4</d:dcfac>
+ </d:dccode>
+ <d:dccode>
+ <d:trancode>O12</d:trancode>
+ <d:dcfac>ORO5</d:dcfac>
+ </d:dccode>
+ <d:dccode>
+ <d:trancode>P03</d:trancode>
+ <d:dcfac>PAP1</d:dcfac>
+ </d:dccode>
+ <d:dccode>
+ <d:trancode>P03</d:trancode>
+ <d:dcfac>PAP3</d:dcfac>
+ </d:dccode>
+ <d:dccode>
+ <d:trancode>S08</d:trancode>
+ <d:dcfac>SCS1</d:dcfac>
+ </d:dccode>
+ <d:dccode>
+ <d:trancode>S08</d:trancode>
+ <d:dcfac>SCS3</d:dcfac>
+ </d:dccode>
+ <d:dccode>
+ <d:trancode>T06</d:trancode>
+ <d:dcfac>TNT1</d:dcfac>
+ </d:dccode>
+ <d:dccode>
+ <d:trancode>T06</d:trancode>
+ <d:dcfac>TNT2</d:dcfac>
+ </d:dccode>
+ <d:dccode>
+ <d:trancode>T06</d:trancode>
+ <d:dcfac>TNT3</d:dcfac>
+ </d:dccode>
+ <d:dccode>
+ <d:trancode>T06</d:trancode>
+ <d:dcfac>TNT9</d:dcfac>
+ </d:dccode>
+ <d:dccode>
+ <d:trancode>W01</d:trancode>
+ <d:dcfac>WNW1</d:dcfac>
+ </d:dccode>
+ <d:dccode>
+ <d:trancode>W01</d:trancode>
+ <d:dcfac>WNW2</d:dcfac>
+ </d:dccode>
+ <d:dccode>
+ <d:trancode>W01</d:trancode>
+ <d:dcfac>WNW3</d:dcfac>
+ </d:dccode>
+ <d:dccode>
+ <d:trancode>W01</d:trancode>
+ <d:dcfac>WNW4</d:dcfac>
+ </d:dccode>
+ <d:dccode>
+ <d:trancode>W01</d:trancode>
+ <d:dcfac>WNW5</d:dcfac>
+ </d:dccode>
+ <d:dccode>
+ <d:trancode>W01</d:trancode>
+ <d:dcfac>WNW6</d:dcfac>
+ </d:dccode>
+ <d:dccode>
+ <d:trancode>W01</d:trancode>
+ <d:dcfac>WNW7</d:dcfac>
+ </d:dccode>
+ <d:dccode>
+ <d:trancode>W01</d:trancode>
+ <d:dcfac>WNW8</d:dcfac>
+ </d:dccode>
+ <d:dccode>
+ <d:trancode>W01</d:trancode>
+ <d:dcfac>WNW9</d:dcfac>
+ </d:dccode>
+ </d:dccodes>
+ <!-- Table to translate DC Facility to Fafility Number -->
+ <xsl:template match="f:faccodes">
+ <xsl:param name="curr-fac-label"/>
+ <xsl:value-of select="key('faccode-lookup',
$curr-fac-label)/f:trancode"/>
+ </xsl:template>
+ <f:faccodes>
+ <f:faccode>
+ <f:trancode>01</f:trancode>
+ <f:fac>ALA1</f:fac>
+ </f:faccode>
+ <f:faccode>
+ <f:trancode>03</f:trancode>
+ <f:fac>ALA3</f:fac>
+ </f:faccode>
+ <f:faccode>
+ <f:trancode>01</f:trancode>
+ <f:fac>CRC1</f:fac>
+ </f:faccode>
+ <f:faccode>
+ <f:trancode>02</f:trancode>
+ <f:fac>CRC2</f:fac>
+ </f:faccode>
+ <f:faccode>
+ <f:trancode>03</f:trancode>
+ <f:fac>CRC3</f:fac>
+ </f:faccode>
+ <f:faccode>
+ <f:trancode>04</f:trancode>
+ <f:fac>CRC7</f:fac>
+ </f:faccode>
+ <f:faccode>
+ <f:trancode>07</f:trancode>
+ <f:fac>CRC7</f:fac>
+ </f:faccode>
+ <f:faccode>
+ <f:trancode>01</f:trancode>
+ <f:fac>DTD1</f:fac>
+ </f:faccode>
+ <f:faccode>
+ <f:trancode>02</f:trancode>
+ <f:fac>DTD2</f:fac>
+ </f:faccode>
+ <f:faccode>
+ <f:trancode>03</f:trancode>
+ <f:fac>DTD3</f:fac>
+ </f:faccode>
+ <f:faccode>
+ <f:trancode>01</f:trancode>
+ <f:fac>ENE1</f:fac>
+ </f:faccode>
+ <f:faccode>
+ <f:trancode>02</f:trancode>
+ <f:fac>ENE2</f:fac>
+ </f:faccode>
+ <f:faccode>
+ <f:trancode>03</f:trancode>
+ <f:fac>ENE3</f:fac>
+ </f:faccode>
+ <f:faccode>
+ <f:trancode>07</f:trancode>
+ <f:fac>ENE7</f:fac>
+ </f:faccode>
+ <f:faccode>
+ <f:trancode>01</f:trancode>
+ <f:fac>FLF1</f:fac>
+ </f:faccode>
+ <f:faccode>
+ <f:trancode>02</f:trancode>
+ <f:fac>FLF2</f:fac>
+ </f:faccode>
+ <f:faccode>
+ <f:trancode>07</f:trancode>
+ <f:fac>FLF7</f:fac>
+ </f:faccode>
+ <f:faccode>
+ <f:trancode>01</f:trancode>
+ <f:fac>INI1</f:fac>
+ </f:faccode>
+ <f:faccode>
+ <f:trancode>02</f:trancode>
+ <f:fac>INI2</f:fac>
+ </f:faccode>
+ <f:faccode>
+ <f:trancode>03</f:trancode>
+ <f:fac>INI3</f:fac>
+ </f:faccode>
+ <f:faccode>
+ <f:trancode>04</f:trancode>
+ <f:fac>INI4</f:fac>
+ </f:faccode>
+ <f:faccode>
+ <f:trancode>01</f:trancode>
+ <f:fac>LAL1</f:fac>
+ </f:faccode>
+ <f:faccode>
+ <f:trancode>02</f:trancode>
+ <f:fac>LAL2</f:fac>
+ </f:faccode>
+ <f:faccode>
+ <f:trancode>03</f:trancode>
+ <f:fac>LAL3</f:fac>
+ </f:faccode>
+ <f:faccode>
+ <f:trancode>01</f:trancode>
+ <f:fac>MAM1</f:fac>
+ </f:faccode>
+ <f:faccode>
+ <f:trancode>02</f:trancode>
+ <f:fac>MAM2</f:fac>
+ </f:faccode>
+ <f:faccode>
+ <f:trancode>03</f:trancode>
+ <f:fac>MAM3</f:fac>
+ </f:faccode>
+ <f:faccode>
+ <f:trancode>04</f:trancode>
+ <f:fac>MAM4</f:fac>
+ </f:faccode>
+ <f:faccode>
+ <f:trancode>05</f:trancode>
+ <f:fac>MAM5</f:fac>
+ </f:faccode>
+ <f:faccode>
+ <f:trancode>06</f:trancode>
+ <f:fac>MAM6</f:fac>
+ </f:faccode>
+ <f:faccode>
+ <f:trancode>08</f:trancode>
+ <f:fac>MAM8</f:fac>
+ </f:faccode>
+ <f:faccode>
+ <f:trancode>09</f:trancode>
+ <f:fac>MAM9</f:fac>
+ </f:faccode>
+ <f:faccode>
+ <f:trancode>01</f:trancode>
+ <f:fac>NJN1</f:fac>
+ </f:faccode>
+ <f:faccode>
+ <f:trancode>02</f:trancode>
+ <f:fac>NJN20</f:fac>
+ </f:faccode>
+ <f:faccode>
+ <f:trancode>03</f:trancode>
+ <f:fac>NJN3</f:fac>
+ </f:faccode>
+ <f:faccode>
+ <f:trancode>04</f:trancode>
+ <f:fac>NJN4</f:fac>
+ </f:faccode>
+ <f:faccode>
+ <f:trancode>07</f:trancode>
+ <f:fac>NJN7</f:fac>
+ </f:faccode>
+ <f:faccode>
+ <f:trancode>08</f:trancode>
+ <f:fac>NJN8</f:fac>
+ </f:faccode>
+ <f:faccode>
+ <f:trancode>09</f:trancode>
+ <f:fac>NJN9</f:fac>
+ </f:faccode>
+ <f:faccode>
+ <f:trancode>01</f:trancode>
+ <f:fac>ORO1</f:fac>
+ </f:faccode>
+ <f:faccode>
+ <f:trancode>02</f:trancode>
+ <f:fac>ORO2</f:fac>
+ </f:faccode>
+ <f:faccode>
+ <f:trancode>03</f:trancode>
+ <f:fac>ORO3</f:fac>
+ </f:faccode>
+ <f:faccode>
+ <f:trancode>04</f:trancode>
+ <f:fac>ORO4</f:fac>
+ </f:faccode>
+ <f:faccode>
+ <f:trancode>05</f:trancode>
+ <f:fac>ORO5</f:fac>
+ </f:faccode>
+ <f:faccode>
+ <f:trancode>01</f:trancode>
+ <f:fac>PAP1</f:fac>
+ </f:faccode>
+ <f:faccode>
+ <f:trancode>02</f:trancode>
+ <f:fac>PAP2</f:fac>
+ </f:faccode>
+ <f:faccode>
+ <f:trancode>01</f:trancode>
+ <f:fac>SCS1</f:fac>
+ </f:faccode>
+ <f:faccode>
+ <f:trancode>02</f:trancode>
+ <f:fac>SCS2</f:fac>
+ </f:faccode>
+ <f:faccode>
+ <f:trancode>01</f:trancode>
+ <f:fac>TNT1</f:fac>
+ </f:faccode>
+ <f:faccode>
+ <f:trancode>02</f:trancode>
+ <f:fac>TNT2</f:fac>
+ </f:faccode>
+ <f:faccode>
+ <f:trancode>03</f:trancode>
+ <f:fac>TNT3</f:fac>
+ </f:faccode>
+ <f:faccode>
+ <f:trancode>09</f:trancode>
+ <f:fac>TNT9</f:fac>
+ </f:faccode>
+ <f:faccode>
+ <f:trancode>01</f:trancode>
+ <f:fac>WNW1</f:fac>
+ </f:faccode>
+ <f:faccode>
+ <f:trancode>02</f:trancode>
+ <f:fac>WNW2</f:fac>
+ </f:faccode>
+ <f:faccode>
+ <f:trancode>03</f:trancode>
+ <f:fac>WNW3</f:fac>
+ </f:faccode>
+ <f:faccode>
+ <f:trancode>04</f:trancode>
+ <f:fac>WNW4</f:fac>
+ </f:faccode>
+ <f:faccode>
+ <f:trancode>05</f:trancode>
+ <f:fac>WNW5</f:fac>
+ </f:faccode>
+ <f:faccode>
+ <f:trancode>06</f:trancode>
+ <f:fac>WNW6</f:fac>
+ </f:faccode>
+ <f:faccode>
+ <f:trancode>07</f:trancode>
+ <f:fac>WNW7</f:fac>
+ </f:faccode>
+ <f:faccode>
+ <f:trancode>08</f:trancode>
+ <f:fac>WNW8</f:fac>
+ </f:faccode>
+ <f:faccode>
+ <f:trancode>09</f:trancode>
+ <f:fac>WNW9</f:fac>
+ </f:faccode>
+ </f:faccodes>
+</xsl:transform>
Added:
servicemix/smx3/trunk/deployables/serviceengines/servicemix-saxon/src/test/resources/request.xml
URL:
http://svn.apache.org/viewvc/servicemix/smx3/trunk/deployables/serviceengines/servicemix-saxon/src/test/resources/request.xml?rev=613920&view=auto
==============================================================================
---
servicemix/smx3/trunk/deployables/serviceengines/servicemix-saxon/src/test/resources/request.xml
(added)
+++
servicemix/smx3/trunk/deployables/serviceengines/servicemix-saxon/src/test/resources/request.xml
Mon Jan 21 08:09:47 2008
@@ -0,0 +1,63 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<Command>
+ <Header>
+ <Sender>
+ <senderID>Descartes</senderID>
+ </Sender>
+ <Receiver>
+ <receiverID>CVS</receiverID>
+ </Receiver>
+ <ControlData>
+ <SendDateTime>
+ <dateTime>1/10/2008 6:18:36 PM</dateTime>
+ </SendDateTime>
+
<extDocControlID>4f50547a-437e-44f5-8686-35d3aebad5af</extDocControlID>
+ </ControlData>
+ </Header>
+ <Execute>
+ <Parms>
+ <Output>
+ <parmDocMonAppointment>
+ <DocMonAppointment
+ ActionCode="M"
+ RequestNumber="1010355"
+ ControlNumber="2010355"
+ VersionNum="2"
+ ModifyDate="2008-01-10T17:40:44"
+ AppointmentDTBegin="2008-01-11T11:00:00"
+ AppointmentDTEnd="2008-01-11T12:00:00">
+ <MonAppointmentApptLoc
+ PartyType="1"
+ LocationCode="Woonsocket"
+ FacilityCode="WNW1"/>
+ <MonAppointmentApptLoc
+ PartyType="2"
+ PartyCode="PGDR"/>
+ <DocAppointmentLine
+ ActionCode="M"
+ PONumber="1367789"
+ NumCasesOrdered="264"
+ NumCasesShipped="264"/>
+ <DocAppointmentLine
+ ActionCode="M"
+ PONumber="1372801"
+ NumCasesOrdered="895"
+ NumCasesShipped="895"/>
+ <DocAppointmentLine
+ ActionCode="M"
+ PONumber="1372813"
+ NumCasesOrdered="2813"
+ NumCasesShipped="2813"/>
+ <DocAppointmentLine
+ ActionCode="M"
+ PONumber="1372830"
+ NumCasesOrdered="1516"
+ NumCasesShipped="1516"/>
+ <MonAppointmentApptDoor
+ DoorNum="HR058"/>
+ </DocMonAppointment>
+ </parmDocMonAppointment>
+ </Output>
+ </Parms>
+ </Execute>
+</Command>
\ No newline at end of file
Modified:
servicemix/smx3/trunk/deployables/serviceengines/servicemix-saxon/src/test/resources/spring.xml
URL:
http://svn.apache.org/viewvc/servicemix/smx3/trunk/deployables/serviceengines/servicemix-saxon/src/test/resources/spring.xml?rev=613920&r1=613919&r2=613920&view=diff
==============================================================================
---
servicemix/smx3/trunk/deployables/serviceengines/servicemix-saxon/src/test/resources/spring.xml
(original)
+++
servicemix/smx3/trunk/deployables/serviceengines/servicemix-saxon/src/test/resources/spring.xml
Mon Jan 21 08:09:47 2008
@@ -37,8 +37,8 @@
<!-- START SNIPPET: xslt-params -->
<saxon:xslt service="test:xslt-params" endpoint="endpoint"
- resource="classpath:parameter-test.xsl">
- <property name="parameters">
+ resource="classpath:parameter-test.xsl">
+ <property name="parameters">
<map>
<entry key="stringParam" value="cheeseyCheese"/>
<entry key="integerParam">
@@ -47,21 +47,27 @@
</bean>
</entry>
</map>
- </property>
+ </property>
</saxon:xslt>
<!-- END SNIPPET: xslt-params -->
<!-- START SNIPPET: xslt-dynamic -->
<saxon:xslt service="test:xslt-dynamic" endpoint="endpoint">
- <saxon:expression>
- <bean
class="org.apache.servicemix.expression.PropertyExpression">
- <property name="property" value="xslt.source" />
- </bean>
+ <saxon:expression>
+ <bean
class="org.apache.servicemix.expression.PropertyExpression">
+ <property name="property" value="xslt.source" />
+ </bean>
</saxon:expression>
</saxon:xslt>
<!-- END SNIPPET: xslt-dynamic -->
-
- <!-- START SNIPPET: xquery -->
+
+ <saxon:xslt service="test:xslt-doccall" endpoint="endpoint"
+ resource="classpath:doc-call.xsl"
+ useDomSourceForXslt="true"
+ useDomSourceForContent="false"
+ result="bytes" />
+
+ <!-- START SNIPPET: xquery -->
<saxon:xquery service="test:xquery" endpoint="endpoint"
resource="classpath:query.xq" />
<!-- END SNIPPET: xquery -->
@@ -70,12 +76,12 @@
<saxon:xquery service="test:xquery-inline" endpoint="endpoint">
<!-- CDATA are not supported currently -->
<saxon:query>
- for $x in /bookstore/book
- where $x/price > 30
+ for $x in /bookstore/book
+ where $x/price > 30
return $x/title
</saxon:query>
- <saxon:outputProperties>
- <saxon:property
key="{http://saxon.sf.net/}wrap-result-sequence">yes</saxon:property>
+ <saxon:outputProperties>
+ <saxon:property
key="{http://saxon.sf.net/}wrap-result-sequence">yes</saxon:property>
</saxon:outputProperties>
</saxon:xquery>
<!-- END SNIPPET: xquery-inline -->