[prev in list] [next in list] [prev in thread] [next in thread]
List: xalan-cvs
Subject: [xalan-java] branch xalan-j_xslt3.0 updated: adding few new working test cases, from w3c xslt 3.0 te
From: mukulg () apache ! org
Date: 2023-06-14 10:40:49
Message-ID: 168673924918.4134154.17021637692475312349 () gitbox2-he-fi ! apache ! org
[Download RAW message or body]
This is an automated email from the ASF dual-hosted git repository.
mukulg pushed a commit to branch xalan-j_xslt3.0
in repository https://gitbox.apache.org/repos/asf/xalan-java.git
The following commit(s) were added to refs/heads/xalan-j_xslt3.0 by this push:
new 18b55229 adding few new working test cases, from w3c xslt 3.0 test suite \
related to xpath axes 18b55229 is described below
commit 18b552297ea112b8f95ce78d09fbefff64a7fadf
Author: Mukul Gandhi <gandhi.mukul@gmail.com>
AuthorDate: Wed Jun 14 16:10:32 2023 +0530
adding few new working test cases, from w3c xslt 3.0 test suite related to xpath \
axes
---
src/org/apache/xalan/templates/ElemIterate.java | 20 +-
.../xalan/templates/ElemIterateNextIteration.java | 18 +-
tests/org/apache/xalan/xslt3/AllXsl3Tests.java | 2 +-
.../apache/xalan/xslt3/W3c_xslt30_AxesTests.java | 221 +++++++++++++++++++++
tests/w3c_xslt30_testsuite/axes/axes-001.xsl | 19 ++
tests/w3c_xslt30_testsuite/axes/axes-002.xsl | 19 ++
tests/w3c_xslt30_testsuite/axes/axes-003.xsl | 16 ++
tests/w3c_xslt30_testsuite/axes/axes-004.xsl | 19 ++
tests/w3c_xslt30_testsuite/axes/axes-005.xsl | 19 ++
tests/w3c_xslt30_testsuite/axes/axes-006.xsl | 18 ++
tests/w3c_xslt30_testsuite/axes/axes-007.xsl | 18 ++
tests/w3c_xslt30_testsuite/axes/axes-008.xsl | 18 ++
tests/w3c_xslt30_testsuite/axes/axes-009.xsl | 18 ++
tests/w3c_xslt30_testsuite/axes/axes-010.xsl | 18 ++
tests/w3c_xslt30_testsuite/axes/axes-011.xsl | 18 ++
tests/w3c_xslt30_testsuite/axes/axes-012.xsl | 18 ++
tests/w3c_xslt30_testsuite/axes/axes-013.xsl | 18 ++
tests/w3c_xslt30_testsuite/axes/axes-014.xsl | 18 ++
tests/w3c_xslt30_testsuite/axes/axes-015.xsl | 19 ++
tests/w3c_xslt30_testsuite/axes/axes-031.xsl | 20 ++
tests/w3c_xslt30_testsuite/axes/axes-032.xsl | 18 ++
tests/w3c_xslt30_testsuite/axes/axes001.xml | 12 ++
tests/w3c_xslt30_testsuite/axes/axes002.xml | 12 ++
tests/w3c_xslt30_testsuite/axes/axes003.xml | 12 ++
tests/w3c_xslt30_testsuite/axes/axes004.xml | 13 ++
tests/w3c_xslt30_testsuite/axes/gold/test1.out | 1 +
tests/w3c_xslt30_testsuite/axes/gold/test10.out | 1 +
tests/w3c_xslt30_testsuite/axes/gold/test11.out | 1 +
tests/w3c_xslt30_testsuite/axes/gold/test12.out | 1 +
tests/w3c_xslt30_testsuite/axes/gold/test13.out | 1 +
tests/w3c_xslt30_testsuite/axes/gold/test14.out | 1 +
tests/w3c_xslt30_testsuite/axes/gold/test15.out | 1 +
tests/w3c_xslt30_testsuite/axes/gold/test16.out | 1 +
tests/w3c_xslt30_testsuite/axes/gold/test17.out | 1 +
tests/w3c_xslt30_testsuite/axes/gold/test2.out | 1 +
tests/w3c_xslt30_testsuite/axes/gold/test3.out | 1 +
tests/w3c_xslt30_testsuite/axes/gold/test4.out | 1 +
tests/w3c_xslt30_testsuite/axes/gold/test5.out | 1 +
tests/w3c_xslt30_testsuite/axes/gold/test6.out | 1 +
tests/w3c_xslt30_testsuite/axes/gold/test7.out | 1 +
tests/w3c_xslt30_testsuite/axes/gold/test8.out | 1 +
tests/w3c_xslt30_testsuite/axes/gold/test9.out | 1 +
42 files changed, 618 insertions(+), 20 deletions(-)
diff --git a/src/org/apache/xalan/templates/ElemIterate.java \
b/src/org/apache/xalan/templates/ElemIterate.java index 98f0e64c..9ee7c2b1 100644
--- a/src/org/apache/xalan/templates/ElemIterate.java
+++ b/src/org/apache/xalan/templates/ElemIterate.java
@@ -383,15 +383,15 @@ public class ElemIterate extends ElemTemplateElement implements \
ExpressionOwner ElemParam paramElem = (ElemParam)elemTemplate;
QName paramNameVal = paramElem.getName();
XPath paramSelectXPath = paramElem.getSelect();
- ParamWithparamData paramWithParmDataObj = new \
ParamWithparamData();
- paramWithParmDataObj.setNameVal(paramNameVal);
- paramWithParmDataObj.setSelectVal(paramSelectXPath);
- if (fParamList.contains(paramWithParmDataObj)) {
+ ParamWithparamData paramWithparamDataObj = new \
ParamWithparamData(); + \
paramWithparamDataObj.setNameVal(paramNameVal); + \
paramWithparamDataObj.setSelectVal(paramSelectXPath); + if \
(fParamList.contains(paramWithparamDataObj)) {
throw new TransformerException("XTSE0580 : the name of the \
xsl:param parameter '" + paramNameVal + "' "
\
+ "is not unique.", xctxt.getSAXLocator()); }
else {
- fParamList.add(paramWithParmDataObj);
+ fParamList.add(paramWithparamDataObj);
}
}
else if (elemTemplate instanceof ElemIterateNextIteration) {
@@ -403,15 +403,15 @@ public class ElemIterate extends ElemTemplateElement implements \
ExpressionOwner
ElemWithParam withParamElem = \
(ElemWithParam)nextIterChild;
QName withParamNameVal = withParamElem.getName();
XPath withParamSelectXPath = \
withParamElem.getSelect();
- ParamWithparamData paramWithParmDataObj = new \
ParamWithparamData();
- paramWithParmDataObj.setNameVal(withParamNameVal);
- \
paramWithParmDataObj.setSelectVal(withParamSelectXPath);
- if (fWithparamList.contains(paramWithParmDataObj)) {
+ ParamWithparamData paramWithparamDataObj = new \
ParamWithparamData(); + \
paramWithparamDataObj.setNameVal(withParamNameVal); + \
paramWithparamDataObj.setSelectVal(withParamSelectXPath); + \
if (fWithparamList.contains(paramWithparamDataObj)) {
throw new TransformerException("XTSE0670 : \
duplicate xsl:with-param parameter name '" + withParamNameVal +
\
"'", xctxt.getSAXLocator()); }
else {
- fWithparamList.add(paramWithParmDataObj);
+ fWithparamList.add(paramWithparamDataObj);
}
}
}
diff --git a/src/org/apache/xalan/templates/ElemIterateNextIteration.java \
b/src/org/apache/xalan/templates/ElemIterateNextIteration.java index \
56b56b6d..f8c9ed8c 100644
--- a/src/org/apache/xalan/templates/ElemIterateNextIteration.java
+++ b/src/org/apache/xalan/templates/ElemIterateNextIteration.java
@@ -118,11 +118,11 @@ public class ElemIterateNextIteration extends \
ElemTemplateElement implements Exp super.endCompose(sroot);
}
- /**
- * Get an int constant identifying the type of element.
- * @see org.apache.xalan.templates.Constants
- *
- * @return The token ID for this element
+ /**
+ * Get an int constant identifying the type of element.
+ * @see org.apache.xalan.templates.Constants
+ *
+ * @return The token ID for this element
*/
public int getXSLToken()
{
@@ -148,7 +148,7 @@ public class ElemIterateNextIteration extends ElemTemplateElement \
implements Exp
*/
public void execute(TransformerImpl transformer) throws TransformerException
{
- transformSelectedNodes(transformer);
+ elemIterateNextIterationProcessing(transformer);
}
/**
@@ -158,9 +158,9 @@ public class ElemIterateNextIteration extends ElemTemplateElement \
implements Exp
*
* @xsl.usage advanced
*/
- public void transformSelectedNodes(TransformerImpl transformer) throws
- \
TransformerException {
- // TO DO
+ public void elemIterateNextIterationProcessing(TransformerImpl transformer) \
throws + \
TransformerException { + // no op
}
}
diff --git a/tests/org/apache/xalan/xslt3/AllXsl3Tests.java \
b/tests/org/apache/xalan/xslt3/AllXsl3Tests.java index 7b9ccd26..1a4b27ae 100644
--- a/tests/org/apache/xalan/xslt3/AllXsl3Tests.java
+++ b/tests/org/apache/xalan/xslt3/AllXsl3Tests.java
@@ -47,7 +47,7 @@ import org.junit.runners.Suite.SuiteClasses;
FnUnparsedTextTests.class, FnTokenizeTests.class, \
FnStringJoinTests.class,
FnAbsTests.class, StringTests.class, XsConstructorFunctions.class,
FnIndexOfTests.class, SequenceTests.class, RangeExprTests.class,
- W3c_xslt30_IterateTests.class, XslIterateTests.class })
+ W3c_xslt30_IterateTests.class, W3c_xslt30_AxesTests.class, \
XslIterateTests.class }) public class AllXsl3Tests {
}
diff --git a/tests/org/apache/xalan/xslt3/W3c_xslt30_AxesTests.java \
b/tests/org/apache/xalan/xslt3/W3c_xslt30_AxesTests.java new file mode 100644
index 00000000..76bacb5e
--- /dev/null
+++ b/tests/org/apache/xalan/xslt3/W3c_xslt30_AxesTests.java
@@ -0,0 +1,221 @@
+/*
+ * 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.
+ */
+package org.apache.xalan.xslt3;
+
+import org.apache.xalan.util.XslTransformTestsUtil;
+import org.junit.AfterClass;
+import org.junit.BeforeClass;
+import org.junit.Test;
+
+/**
+ * XSLT 3.0 test cases for the XPath axes.
+ *
+ * @author Mukul Gandhi <mukulg@apache.org>
+ *
+ * @xsl.usage advanced
+ */
+public class W3c_xslt30_AxesTests extends XslTransformTestsUtil {
+
+ private static final String XSL_TRANSFORM_INPUT_DIRPATH = \
XSLConstants.XSL_TRANSFORM_INPUT_DIRPATH_PREFIX + + \
"w3c_xslt30_testsuite/axes/"; +
+ private static final String XSL_TRANSFORM_GOLD_DIRPATH = \
XSLConstants.XSL_TRANSFORM_GOLD_DIRPATH_PREFIX + + \
"w3c_xslt30_testsuite/axes/gold/"; +
+ @BeforeClass
+ public static void setUpBeforeClass() throws Exception {
+ // no op
+ }
+
+ @AfterClass
+ public static void tearDownAfterClass() throws Exception {
+ xmlDocumentBuilderFactory = null;
+ xmlDocumentBuilder = null;
+ xslTransformerFactory = null;
+ }
+
+ @Test
+ public void xslAxesTest1() {
+ String xmlFilePath = XSL_TRANSFORM_INPUT_DIRPATH + "axes001.xml";
+ String xslFilePath = XSL_TRANSFORM_INPUT_DIRPATH + "axes-001.xsl";
+
+ String goldFilePath = XSL_TRANSFORM_GOLD_DIRPATH + "test1.out"; \
+
+ runXslTransformAndAssertOutput(xmlFilePath, xslFilePath, goldFilePath, \
null); + }
+
+ @Test
+ public void xslAxesTest2() {
+ String xmlFilePath = XSL_TRANSFORM_INPUT_DIRPATH + "axes002.xml";
+ String xslFilePath = XSL_TRANSFORM_INPUT_DIRPATH + "axes-002.xsl";
+
+ String goldFilePath = XSL_TRANSFORM_GOLD_DIRPATH + "test2.out"; \
+
+ runXslTransformAndAssertOutput(xmlFilePath, xslFilePath, goldFilePath, \
null); + }
+
+ @Test
+ public void xslAxesTest3() {
+ String xmlFilePath = XSL_TRANSFORM_INPUT_DIRPATH + "axes002.xml";
+ String xslFilePath = XSL_TRANSFORM_INPUT_DIRPATH + "axes-003.xsl";
+
+ String goldFilePath = XSL_TRANSFORM_GOLD_DIRPATH + "test3.out"; \
+
+ runXslTransformAndAssertOutput(xmlFilePath, xslFilePath, goldFilePath, \
null); + }
+
+ @Test
+ public void xslAxesTest4() {
+ String xmlFilePath = XSL_TRANSFORM_INPUT_DIRPATH + "axes002.xml";
+ String xslFilePath = XSL_TRANSFORM_INPUT_DIRPATH + "axes-004.xsl";
+
+ String goldFilePath = XSL_TRANSFORM_GOLD_DIRPATH + "test4.out"; \
+
+ runXslTransformAndAssertOutput(xmlFilePath, xslFilePath, goldFilePath, \
null); + }
+
+ @Test
+ public void xslAxesTest5() {
+ String xmlFilePath = XSL_TRANSFORM_INPUT_DIRPATH + "axes002.xml";
+ String xslFilePath = XSL_TRANSFORM_INPUT_DIRPATH + "axes-005.xsl";
+
+ String goldFilePath = XSL_TRANSFORM_GOLD_DIRPATH + "test5.out"; \
+
+ runXslTransformAndAssertOutput(xmlFilePath, xslFilePath, goldFilePath, \
null); + }
+
+ @Test
+ public void xslAxesTest6() {
+ String xmlFilePath = XSL_TRANSFORM_INPUT_DIRPATH + "axes002.xml";
+ String xslFilePath = XSL_TRANSFORM_INPUT_DIRPATH + "axes-006.xsl";
+
+ String goldFilePath = XSL_TRANSFORM_GOLD_DIRPATH + "test6.out"; \
+
+ runXslTransformAndAssertOutput(xmlFilePath, xslFilePath, goldFilePath, \
null); + }
+
+ @Test
+ public void xslAxesTest7() {
+ String xmlFilePath = XSL_TRANSFORM_INPUT_DIRPATH + "axes002.xml";
+ String xslFilePath = XSL_TRANSFORM_INPUT_DIRPATH + "axes-007.xsl";
+
+ String goldFilePath = XSL_TRANSFORM_GOLD_DIRPATH + "test7.out"; \
+
+ runXslTransformAndAssertOutput(xmlFilePath, xslFilePath, goldFilePath, \
null); + }
+
+ @Test
+ public void xslAxesTest8() {
+ String xmlFilePath = XSL_TRANSFORM_INPUT_DIRPATH + "axes002.xml";
+ String xslFilePath = XSL_TRANSFORM_INPUT_DIRPATH + "axes-008.xsl";
+
+ String goldFilePath = XSL_TRANSFORM_GOLD_DIRPATH + "test8.out"; \
+
+ runXslTransformAndAssertOutput(xmlFilePath, xslFilePath, goldFilePath, \
null); + }
+
+ @Test
+ public void xslAxesTest9() {
+ String xmlFilePath = XSL_TRANSFORM_INPUT_DIRPATH + "axes002.xml";
+ String xslFilePath = XSL_TRANSFORM_INPUT_DIRPATH + "axes-009.xsl";
+
+ String goldFilePath = XSL_TRANSFORM_GOLD_DIRPATH + "test9.out"; \
+
+ runXslTransformAndAssertOutput(xmlFilePath, xslFilePath, goldFilePath, \
null); + }
+
+ @Test
+ public void xslAxesTest10() {
+ String xmlFilePath = XSL_TRANSFORM_INPUT_DIRPATH + "axes002.xml";
+ String xslFilePath = XSL_TRANSFORM_INPUT_DIRPATH + "axes-010.xsl";
+
+ String goldFilePath = XSL_TRANSFORM_GOLD_DIRPATH + "test10.out"; \
+
+ runXslTransformAndAssertOutput(xmlFilePath, xslFilePath, goldFilePath, \
null); + }
+
+ @Test
+ public void xslAxesTest11() {
+ String xmlFilePath = XSL_TRANSFORM_INPUT_DIRPATH + "axes002.xml";
+ String xslFilePath = XSL_TRANSFORM_INPUT_DIRPATH + "axes-011.xsl";
+
+ String goldFilePath = XSL_TRANSFORM_GOLD_DIRPATH + "test11.out"; \
+
+ runXslTransformAndAssertOutput(xmlFilePath, xslFilePath, goldFilePath, \
null); + }
+
+ @Test
+ public void xslAxesTest12() {
+ String xmlFilePath = XSL_TRANSFORM_INPUT_DIRPATH + "axes002.xml";
+ String xslFilePath = XSL_TRANSFORM_INPUT_DIRPATH + "axes-012.xsl";
+
+ String goldFilePath = XSL_TRANSFORM_GOLD_DIRPATH + "test12.out"; \
+
+ runXslTransformAndAssertOutput(xmlFilePath, xslFilePath, goldFilePath, \
null); + }
+
+ @Test
+ public void xslAxesTest13() {
+ String xmlFilePath = XSL_TRANSFORM_INPUT_DIRPATH + "axes002.xml";
+ String xslFilePath = XSL_TRANSFORM_INPUT_DIRPATH + "axes-013.xsl";
+
+ String goldFilePath = XSL_TRANSFORM_GOLD_DIRPATH + "test13.out"; \
+
+ runXslTransformAndAssertOutput(xmlFilePath, xslFilePath, goldFilePath, \
null); + }
+
+ @Test
+ public void xslAxesTest14() {
+ String xmlFilePath = XSL_TRANSFORM_INPUT_DIRPATH + "axes002.xml";
+ String xslFilePath = XSL_TRANSFORM_INPUT_DIRPATH + "axes-014.xsl";
+
+ String goldFilePath = XSL_TRANSFORM_GOLD_DIRPATH + "test14.out"; \
+
+ runXslTransformAndAssertOutput(xmlFilePath, xslFilePath, goldFilePath, \
null); + }
+
+ @Test
+ public void xslAxesTest15() {
+ String xmlFilePath = XSL_TRANSFORM_INPUT_DIRPATH + "axes002.xml";
+ String xslFilePath = XSL_TRANSFORM_INPUT_DIRPATH + "axes-015.xsl";
+
+ String goldFilePath = XSL_TRANSFORM_GOLD_DIRPATH + "test15.out"; \
+
+ runXslTransformAndAssertOutput(xmlFilePath, xslFilePath, goldFilePath, \
null); + }
+
+ @Test
+ public void xslAxesTest16() {
+ String xmlFilePath = XSL_TRANSFORM_INPUT_DIRPATH + "axes003.xml";
+ String xslFilePath = XSL_TRANSFORM_INPUT_DIRPATH + "axes-031.xsl";
+
+ String goldFilePath = XSL_TRANSFORM_GOLD_DIRPATH + "test16.out"; \
+
+ runXslTransformAndAssertOutput(xmlFilePath, xslFilePath, goldFilePath, \
null); + }
+
+ @Test
+ public void xslAxesTest17() {
+ String xmlFilePath = XSL_TRANSFORM_INPUT_DIRPATH + "axes004.xml";
+ String xslFilePath = XSL_TRANSFORM_INPUT_DIRPATH + "axes-032.xsl";
+
+ String goldFilePath = XSL_TRANSFORM_GOLD_DIRPATH + "test17.out"; \
+
+ runXslTransformAndAssertOutput(xmlFilePath, xslFilePath, goldFilePath, \
null); + }
+
+}
diff --git a/tests/w3c_xslt30_testsuite/axes/axes-001.xsl \
b/tests/w3c_xslt30_testsuite/axes/axes-001.xsl new file mode 100644
index 00000000..21dd04e7
--- /dev/null
+++ b/tests/w3c_xslt30_testsuite/axes/axes-001.xsl
@@ -0,0 +1,19 @@
+<?xml version="1.0"?>
+<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="3.0">
+ <!-- PURPOSE: Test for 'ancestor::' Axis Identifier. -->
+
+ <xsl:output method="xml" indent="yes"/>
+
+ <xsl:template match="/">
+ <out>
+ <xsl:for-each select="//center">
+ <xsl:apply-templates select="ancestor::*"/>
+ </xsl:for-each>
+ </out>
+ </xsl:template>
+
+ <xsl:template match="*">
+ <xsl:value-of select="name(.)"/><xsl:text> </xsl:text>
+ </xsl:template>
+
+</xsl:stylesheet>
diff --git a/tests/w3c_xslt30_testsuite/axes/axes-002.xsl \
b/tests/w3c_xslt30_testsuite/axes/axes-002.xsl new file mode 100644
index 00000000..70d5ae1a
--- /dev/null
+++ b/tests/w3c_xslt30_testsuite/axes/axes-002.xsl
@@ -0,0 +1,19 @@
+<?xml version="1.0"?>
+<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="3.0">
+
+<?spec xpath#axes?>
+ <!-- PURPOSE: Test for 'ancestor-or-self::' Axis Identifier -->
+<xsl:template match="/">
+
+ <out>
+ <xsl:for-each select="//center">
+ <xsl:apply-templates select="ancestor-or-self::*"/>
+ </xsl:for-each>
+ </out>
+</xsl:template>
+
+<xsl:template match="*">
+ <xsl:value-of select="name(.)"/><xsl:text> </xsl:text>
+</xsl:template>
+
+</xsl:stylesheet>
diff --git a/tests/w3c_xslt30_testsuite/axes/axes-003.xsl \
b/tests/w3c_xslt30_testsuite/axes/axes-003.xsl new file mode 100644
index 00000000..dc7cebe6
--- /dev/null
+++ b/tests/w3c_xslt30_testsuite/axes/axes-003.xsl
@@ -0,0 +1,16 @@
+<?xml version="1.0"?>
+<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="3.0">
+ <!-- PURPOSE: Test for 'ancestor::' Axis Identifier with index. -->
+ <xsl:template match="/">
+ <out>
+ <xsl:for-each select="//center">
+ <xsl:apply-templates select="ancestor::*[3]"/>
+ </xsl:for-each>
+ </out>
+ </xsl:template>
+
+ <xsl:template match="*">
+ <xsl:value-of select="name(.)"/>
+ </xsl:template>
+
+</xsl:stylesheet>
\ No newline at end of file
diff --git a/tests/w3c_xslt30_testsuite/axes/axes-004.xsl \
b/tests/w3c_xslt30_testsuite/axes/axes-004.xsl new file mode 100644
index 00000000..8a72ae92
--- /dev/null
+++ b/tests/w3c_xslt30_testsuite/axes/axes-004.xsl
@@ -0,0 +1,19 @@
+<?xml version="1.0"?>
+<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="3.0">
+
+<?spec xpath#axes?>
+ <!-- PURPOSE: Test for 'ancestor-or-self::' Axis Identifier with index. -->
+<xsl:template match="/">
+
+ <out>
+ <xsl:for-each select="//center">
+ <xsl:apply-templates select="ancestor-or-self::*[1]"/>
+ </xsl:for-each>
+ </out>
+</xsl:template>
+
+<xsl:template match="*">
+ <xsl:value-of select="name(.)"/>
+</xsl:template>
+
+</xsl:stylesheet>
diff --git a/tests/w3c_xslt30_testsuite/axes/axes-005.xsl \
b/tests/w3c_xslt30_testsuite/axes/axes-005.xsl new file mode 100644
index 00000000..a17fad57
--- /dev/null
+++ b/tests/w3c_xslt30_testsuite/axes/axes-005.xsl
@@ -0,0 +1,19 @@
+<?xml version="1.0"?>
+<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="3.0">
+
+<?spec xpath#axes?>
+ <!-- PURPOSE: Test for 'attribute::' Axis Identifier with index. -->
+<xsl:template match="/">
+ <!--Test for 'attribute::' Axis Identifier.-->
+ <out>
+ <xsl:for-each select="//center">
+ <xsl:apply-templates select="attribute::*[2]"/>
+ </xsl:for-each>
+ </out>
+</xsl:template>
+
+<xsl:template match="*|@*">
+ <xsl:value-of select="name(.)"/>
+</xsl:template>
+
+</xsl:stylesheet>
diff --git a/tests/w3c_xslt30_testsuite/axes/axes-006.xsl \
b/tests/w3c_xslt30_testsuite/axes/axes-006.xsl new file mode 100644
index 00000000..c5557c20
--- /dev/null
+++ b/tests/w3c_xslt30_testsuite/axes/axes-006.xsl
@@ -0,0 +1,18 @@
+<?xml version="1.0"?>
+<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="3.0">
+
+<?spec xpath#abbrev?>
+ <!-- PURPOSE: Test for '@*' abbreviated syntax. -->
+<xsl:template match="/">
+ <out>
+ <xsl:for-each select="//center">
+ <xsl:apply-templates select="@*"/>
+ </xsl:for-each>
+ </out>
+</xsl:template>
+
+<xsl:template match="*|@*">
+ <xsl:value-of select="name(.)"/>
+</xsl:template>
+
+</xsl:stylesheet>
diff --git a/tests/w3c_xslt30_testsuite/axes/axes-007.xsl \
b/tests/w3c_xslt30_testsuite/axes/axes-007.xsl new file mode 100644
index 00000000..df2f6314
--- /dev/null
+++ b/tests/w3c_xslt30_testsuite/axes/axes-007.xsl
@@ -0,0 +1,18 @@
+<?xml version="1.0"?>
+<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="3.0">
+
+<?spec xpath#abbrev?>
+ <!-- PURPOSE: Test for '@*' abbreviated syntax with index. -->
+<xsl:template match="/">
+ <out>
+ <xsl:for-each select="//center">
+ <xsl:apply-templates select="@*[2]"/>
+ </xsl:for-each>
+ </out>
+</xsl:template>
+
+<xsl:template match="*|@*">
+ <xsl:value-of select="name(.)"/>
+</xsl:template>
+
+</xsl:stylesheet>
diff --git a/tests/w3c_xslt30_testsuite/axes/axes-008.xsl \
b/tests/w3c_xslt30_testsuite/axes/axes-008.xsl new file mode 100644
index 00000000..3638e03c
--- /dev/null
+++ b/tests/w3c_xslt30_testsuite/axes/axes-008.xsl
@@ -0,0 +1,18 @@
+<?xml version="1.0"?>
+<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="3.0">
+
+<?spec xpath#axes?>
+ <!-- PURPOSE: Test for 'child::' Axis Identifier with wildcard and index. -->
+<xsl:template match="/">
+ <out>
+ <xsl:for-each select="//center">
+ <xsl:apply-templates select="child::*[2]"/>
+ </xsl:for-each>
+ </out>
+</xsl:template>
+
+<xsl:template match="*">
+ <xsl:value-of select="name(.)"/>
+</xsl:template>
+
+</xsl:stylesheet>
diff --git a/tests/w3c_xslt30_testsuite/axes/axes-009.xsl \
b/tests/w3c_xslt30_testsuite/axes/axes-009.xsl new file mode 100644
index 00000000..c72814d6
--- /dev/null
+++ b/tests/w3c_xslt30_testsuite/axes/axes-009.xsl
@@ -0,0 +1,18 @@
+<?xml version="1.0"?>
+<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="3.0">
+
+ <?spec xpath#axes?>
+ <!-- PURPOSE: Test for 'child::' Axis Identifier with element name. -->
+<xsl:template match="/">
+ <out>
+ <xsl:for-each select="//center">
+ <xsl:apply-templates select="child::near-south-west"/>
+ </xsl:for-each>
+ </out>
+</xsl:template>
+
+<xsl:template match="*">
+ <xsl:value-of select="name(.)"/>
+</xsl:template>
+
+</xsl:stylesheet>
diff --git a/tests/w3c_xslt30_testsuite/axes/axes-010.xsl \
b/tests/w3c_xslt30_testsuite/axes/axes-010.xsl new file mode 100644
index 00000000..fdf8a157
--- /dev/null
+++ b/tests/w3c_xslt30_testsuite/axes/axes-010.xsl
@@ -0,0 +1,18 @@
+<?xml version="1.0"?>
+<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="3.0">
+
+<?spec xpath#axes?>
+ <!-- PURPOSE: Test for 'descendant::' Axis Identifier with wildcard and index. -->
+<xsl:template match="/">
+ <out>
+ <xsl:for-each select="//center">
+ <xsl:apply-templates select="descendant::*[3]"/>
+ </xsl:for-each>
+ </out>
+</xsl:template>
+
+<xsl:template match="*">
+ <xsl:value-of select="name(.)"/>
+</xsl:template>
+
+</xsl:stylesheet>
diff --git a/tests/w3c_xslt30_testsuite/axes/axes-011.xsl \
b/tests/w3c_xslt30_testsuite/axes/axes-011.xsl new file mode 100644
index 00000000..d7f63e57
--- /dev/null
+++ b/tests/w3c_xslt30_testsuite/axes/axes-011.xsl
@@ -0,0 +1,18 @@
+<?xml version="1.0"?>
+<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="3.0">
+
+<?spec xpath#axes?>
+ <!-- PURPOSE: Test for 'descendant::' Axis Identifier with specified element name. \
--> +<xsl:template match="/">
+ <out>
+ <xsl:for-each select="//center">
+ <xsl:apply-templates select="descendant::far-south"/>
+ </xsl:for-each>
+ </out>
+</xsl:template>
+
+<xsl:template match="*">
+ <xsl:value-of select="name(.)"/>
+</xsl:template>
+
+</xsl:stylesheet>
diff --git a/tests/w3c_xslt30_testsuite/axes/axes-012.xsl \
b/tests/w3c_xslt30_testsuite/axes/axes-012.xsl new file mode 100644
index 00000000..cec0e54b
--- /dev/null
+++ b/tests/w3c_xslt30_testsuite/axes/axes-012.xsl
@@ -0,0 +1,18 @@
+<?xml version="1.0"?>
+<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="3.0">
+
+<?spec xpath#axes?>
+ <!-- PURPOSE: Test for 'descendant-or-self::' Axis Identifier with wildcard and \
index. --> +<xsl:template match="/">
+ <out>
+ <xsl:for-each select="//center">
+ <xsl:apply-templates select="descendant-or-self::*[3]"/>
+ </xsl:for-each>
+ </out>
+</xsl:template>
+
+<xsl:template match="*">
+ <xsl:value-of select="name(.)"/>
+</xsl:template>
+
+</xsl:stylesheet>
diff --git a/tests/w3c_xslt30_testsuite/axes/axes-013.xsl \
b/tests/w3c_xslt30_testsuite/axes/axes-013.xsl new file mode 100644
index 00000000..4bd46133
--- /dev/null
+++ b/tests/w3c_xslt30_testsuite/axes/axes-013.xsl
@@ -0,0 +1,18 @@
+<?xml version="1.0"?>
+<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="3.0">
+
+<?spec xpath#axes?>
+ <!-- PURPOSE: Test for 'descendant-or-self::' Axis Identifier with specified \
element name. --> +<xsl:template match="/">
+ <out>
+ <xsl:for-each select="//center">
+ <xsl:apply-templates select="descendant-or-self::far-south"/>
+ </xsl:for-each>
+ </out>
+</xsl:template>
+
+<xsl:template match="*">
+ <xsl:value-of select="name(.)"/>
+</xsl:template>
+
+</xsl:stylesheet>
diff --git a/tests/w3c_xslt30_testsuite/axes/axes-014.xsl \
b/tests/w3c_xslt30_testsuite/axes/axes-014.xsl new file mode 100644
index 00000000..2680aae9
--- /dev/null
+++ b/tests/w3c_xslt30_testsuite/axes/axes-014.xsl
@@ -0,0 +1,18 @@
+<?xml version="1.0"?>
+<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="3.0">
+
+<?spec xpath#axes?>
+ <!-- PURPOSE: Test for 'descendant-or-self::' Axis Identifier with self specified. \
--> +<xsl:template match="/">
+ <out>
+ <xsl:for-each select="//center">
+ <xsl:apply-templates select="descendant-or-self::center"/>
+ </xsl:for-each>
+ </out>
+</xsl:template>
+
+<xsl:template match="*">
+ <xsl:value-of select="name(.)"/>
+</xsl:template>
+
+</xsl:stylesheet>
diff --git a/tests/w3c_xslt30_testsuite/axes/axes-015.xsl \
b/tests/w3c_xslt30_testsuite/axes/axes-015.xsl new file mode 100644
index 00000000..2dac789a
--- /dev/null
+++ b/tests/w3c_xslt30_testsuite/axes/axes-015.xsl
@@ -0,0 +1,19 @@
+<?xml version="1.0"?>
+<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="3.0">
+
+<?spec xpath#axes?>
+ <!-- PURPOSE: Test for 'following::' Axis Identifier with wildcard and index. -->
+<xsl:template match="/">
+ <!--Test for 'following::' Axis Identifier.-->
+ <out>
+ <xsl:for-each select="//center">
+ <xsl:apply-templates select="following::*[4]"/>
+ </xsl:for-each>
+ </out>
+</xsl:template>
+
+<xsl:template match="*">
+ <xsl:value-of select="name(.)"/>
+</xsl:template>
+
+</xsl:stylesheet>
diff --git a/tests/w3c_xslt30_testsuite/axes/axes-031.xsl \
b/tests/w3c_xslt30_testsuite/axes/axes-031.xsl new file mode 100644
index 00000000..1808426d
--- /dev/null
+++ b/tests/w3c_xslt30_testsuite/axes/axes-031.xsl
@@ -0,0 +1,20 @@
+<?xml version="1.0"?>
+<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="3.0">
+
+<?spec xpath#axes?>
+ <!-- PURPOSE: Test for 'attribute::' Axis Identifier. -->
+<xsl:template match="/">
+ <out>
+ <xsl:for-each select="//center">
+ <xsl:apply-templates select="attribute::*">
+ <xsl:sort select="name()"/>
+ </xsl:apply-templates>
+ </xsl:for-each>
+ </out>
+</xsl:template>
+
+<xsl:template match="*|@*">
+ <xsl:value-of select="name(.)"/><xsl:text> </xsl:text>
+</xsl:template>
+
+</xsl:stylesheet>
diff --git a/tests/w3c_xslt30_testsuite/axes/axes-032.xsl \
b/tests/w3c_xslt30_testsuite/axes/axes-032.xsl new file mode 100644
index 00000000..13c4943e
--- /dev/null
+++ b/tests/w3c_xslt30_testsuite/axes/axes-032.xsl
@@ -0,0 +1,18 @@
+<?xml version="1.0"?>
+<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="3.0">
+
+<?spec xpath#axes?>
+ <!-- PURPOSE: Test for 'child::' Axis Identifier with wildcard. -->
+<xsl:template match="/">
+ <out>
+ <xsl:for-each select="//center">
+ <xsl:apply-templates select="child::*"/>
+ </xsl:for-each>
+ </out>
+</xsl:template>
+
+<xsl:template match="*">
+ <xsl:value-of select="name(.)"/><xsl:text> </xsl:text>
+</xsl:template>
+
+</xsl:stylesheet>
diff --git a/tests/w3c_xslt30_testsuite/axes/axes001.xml \
b/tests/w3c_xslt30_testsuite/axes/axes001.xml new file mode 100644
index 00000000..d6f044b4
--- /dev/null
+++ b/tests/w3c_xslt30_testsuite/axes/axes001.xml
@@ -0,0 +1,12 @@
+<?xml version="1.0"?> <far-north>
+<north>
+<near-north><far-west/>
+<west/>
+<near-west/>
+<center>
+<near-south>
+<south>
+<far-south/>></south></near-south></center><near-east/>
+<east/>
+<far-east/>
+</near-north></north></far-north>
\ No newline at end of file
diff --git a/tests/w3c_xslt30_testsuite/axes/axes002.xml \
b/tests/w3c_xslt30_testsuite/axes/axes002.xml new file mode 100644
index 00000000..38c006b8
--- /dev/null
+++ b/tests/w3c_xslt30_testsuite/axes/axes002.xml
@@ -0,0 +1,12 @@
+<?xml version="1.0"?> <far-north>
+<north>
+<near-north><far-west/>
+<west/>
+<near-west/>
+<center>
+<near-south>
+<south>
+<far-south/>></south></near-south></center><near-east/>
+<east/>
+<far-east/>
+</near-north></north></far-north>
\ No newline at end of file
diff --git a/tests/w3c_xslt30_testsuite/axes/axes003.xml \
b/tests/w3c_xslt30_testsuite/axes/axes003.xml new file mode 100644
index 00000000..641d2a21
--- /dev/null
+++ b/tests/w3c_xslt30_testsuite/axes/axes003.xml
@@ -0,0 +1,12 @@
+<?xml version="1.0"?> <far-north>
+<north>
+<near-north><far-west/>
+<west/>
+<near-west/>
+<center center-attr-1="c1" center-attr-2="c2" center-attr-3="c3">
+<near-south>
+<south>
+<far-south/>></south></near-south></center><near-east/>
+<east/>
+<far-east/>
+</near-north></north></far-north>
\ No newline at end of file
diff --git a/tests/w3c_xslt30_testsuite/axes/axes004.xml \
b/tests/w3c_xslt30_testsuite/axes/axes004.xml new file mode 100644
index 00000000..4088c90e
--- /dev/null
+++ b/tests/w3c_xslt30_testsuite/axes/axes004.xml
@@ -0,0 +1,13 @@
+<?xml version="1.0"?> <far-north>
+<north>
+<near-north><far-west/>
+<west/>
+<near-west/>
+<center center-attr-1="c1" center-attr-2="c2" center-attr-3="c3"><near-south-east/>
+<near-south>
+<south>
+<far-south/></south></near-south>
+<near-south-west/></center><near-east/>
+<east/>
+<far-east/>
+</near-north></north></far-north>
\ No newline at end of file
diff --git a/tests/w3c_xslt30_testsuite/axes/gold/test1.out \
b/tests/w3c_xslt30_testsuite/axes/gold/test1.out new file mode 100644
index 00000000..2005fbe6
--- /dev/null
+++ b/tests/w3c_xslt30_testsuite/axes/gold/test1.out
@@ -0,0 +1 @@
+<?xml version="1.0" encoding="UTF-8"?><out>far-north north near-north </out>
diff --git a/tests/w3c_xslt30_testsuite/axes/gold/test10.out \
b/tests/w3c_xslt30_testsuite/axes/gold/test10.out new file mode 100644
index 00000000..47eeec90
--- /dev/null
+++ b/tests/w3c_xslt30_testsuite/axes/gold/test10.out
@@ -0,0 +1 @@
+<?xml version="1.0" encoding="UTF-8"?><out>far-south</out>
\ No newline at end of file
diff --git a/tests/w3c_xslt30_testsuite/axes/gold/test11.out \
b/tests/w3c_xslt30_testsuite/axes/gold/test11.out new file mode 100644
index 00000000..47eeec90
--- /dev/null
+++ b/tests/w3c_xslt30_testsuite/axes/gold/test11.out
@@ -0,0 +1 @@
+<?xml version="1.0" encoding="UTF-8"?><out>far-south</out>
\ No newline at end of file
diff --git a/tests/w3c_xslt30_testsuite/axes/gold/test12.out \
b/tests/w3c_xslt30_testsuite/axes/gold/test12.out new file mode 100644
index 00000000..60dad25b
--- /dev/null
+++ b/tests/w3c_xslt30_testsuite/axes/gold/test12.out
@@ -0,0 +1 @@
+<?xml version="1.0" encoding="UTF-8"?><out>south</out>
\ No newline at end of file
diff --git a/tests/w3c_xslt30_testsuite/axes/gold/test13.out \
b/tests/w3c_xslt30_testsuite/axes/gold/test13.out new file mode 100644
index 00000000..47eeec90
--- /dev/null
+++ b/tests/w3c_xslt30_testsuite/axes/gold/test13.out
@@ -0,0 +1 @@
+<?xml version="1.0" encoding="UTF-8"?><out>far-south</out>
\ No newline at end of file
diff --git a/tests/w3c_xslt30_testsuite/axes/gold/test14.out \
b/tests/w3c_xslt30_testsuite/axes/gold/test14.out new file mode 100644
index 00000000..06cf861c
--- /dev/null
+++ b/tests/w3c_xslt30_testsuite/axes/gold/test14.out
@@ -0,0 +1 @@
+<?xml version="1.0" encoding="UTF-8"?><out>center</out>
\ No newline at end of file
diff --git a/tests/w3c_xslt30_testsuite/axes/gold/test15.out \
b/tests/w3c_xslt30_testsuite/axes/gold/test15.out new file mode 100644
index 00000000..9aa81f1c
--- /dev/null
+++ b/tests/w3c_xslt30_testsuite/axes/gold/test15.out
@@ -0,0 +1 @@
+<?xml version="1.0" encoding="UTF-8"?><out/>
\ No newline at end of file
diff --git a/tests/w3c_xslt30_testsuite/axes/gold/test16.out \
b/tests/w3c_xslt30_testsuite/axes/gold/test16.out new file mode 100644
index 00000000..64f275f9
--- /dev/null
+++ b/tests/w3c_xslt30_testsuite/axes/gold/test16.out
@@ -0,0 +1 @@
+<?xml version="1.0" encoding="UTF-8"?><out>center-attr-1 center-attr-2 center-attr-3 \
</out> \ No newline at end of file
diff --git a/tests/w3c_xslt30_testsuite/axes/gold/test17.out \
b/tests/w3c_xslt30_testsuite/axes/gold/test17.out new file mode 100644
index 00000000..131a3aa4
--- /dev/null
+++ b/tests/w3c_xslt30_testsuite/axes/gold/test17.out
@@ -0,0 +1 @@
+<?xml version="1.0" encoding="UTF-8"?><out>near-south-east near-south \
near-south-west </out> \ No newline at end of file
diff --git a/tests/w3c_xslt30_testsuite/axes/gold/test2.out \
b/tests/w3c_xslt30_testsuite/axes/gold/test2.out new file mode 100644
index 00000000..41f2c8f4
--- /dev/null
+++ b/tests/w3c_xslt30_testsuite/axes/gold/test2.out
@@ -0,0 +1 @@
+<?xml version="1.0" encoding="UTF-8"?><out>far-north north near-north center </out>
\ No newline at end of file
diff --git a/tests/w3c_xslt30_testsuite/axes/gold/test3.out \
b/tests/w3c_xslt30_testsuite/axes/gold/test3.out new file mode 100644
index 00000000..6feade8e
--- /dev/null
+++ b/tests/w3c_xslt30_testsuite/axes/gold/test3.out
@@ -0,0 +1 @@
+<?xml version="1.0" encoding="UTF-8"?><out>far-north</out>
\ No newline at end of file
diff --git a/tests/w3c_xslt30_testsuite/axes/gold/test4.out \
b/tests/w3c_xslt30_testsuite/axes/gold/test4.out new file mode 100644
index 00000000..06cf861c
--- /dev/null
+++ b/tests/w3c_xslt30_testsuite/axes/gold/test4.out
@@ -0,0 +1 @@
+<?xml version="1.0" encoding="UTF-8"?><out>center</out>
\ No newline at end of file
diff --git a/tests/w3c_xslt30_testsuite/axes/gold/test5.out \
b/tests/w3c_xslt30_testsuite/axes/gold/test5.out new file mode 100644
index 00000000..9aa81f1c
--- /dev/null
+++ b/tests/w3c_xslt30_testsuite/axes/gold/test5.out
@@ -0,0 +1 @@
+<?xml version="1.0" encoding="UTF-8"?><out/>
\ No newline at end of file
diff --git a/tests/w3c_xslt30_testsuite/axes/gold/test6.out \
b/tests/w3c_xslt30_testsuite/axes/gold/test6.out new file mode 100644
index 00000000..9aa81f1c
--- /dev/null
+++ b/tests/w3c_xslt30_testsuite/axes/gold/test6.out
@@ -0,0 +1 @@
+<?xml version="1.0" encoding="UTF-8"?><out/>
\ No newline at end of file
diff --git a/tests/w3c_xslt30_testsuite/axes/gold/test7.out \
b/tests/w3c_xslt30_testsuite/axes/gold/test7.out new file mode 100644
index 00000000..9aa81f1c
--- /dev/null
+++ b/tests/w3c_xslt30_testsuite/axes/gold/test7.out
@@ -0,0 +1 @@
+<?xml version="1.0" encoding="UTF-8"?><out/>
\ No newline at end of file
diff --git a/tests/w3c_xslt30_testsuite/axes/gold/test8.out \
b/tests/w3c_xslt30_testsuite/axes/gold/test8.out new file mode 100644
index 00000000..9aa81f1c
--- /dev/null
+++ b/tests/w3c_xslt30_testsuite/axes/gold/test8.out
@@ -0,0 +1 @@
+<?xml version="1.0" encoding="UTF-8"?><out/>
\ No newline at end of file
diff --git a/tests/w3c_xslt30_testsuite/axes/gold/test9.out \
b/tests/w3c_xslt30_testsuite/axes/gold/test9.out new file mode 100644
index 00000000..9aa81f1c
--- /dev/null
+++ b/tests/w3c_xslt30_testsuite/axes/gold/test9.out
@@ -0,0 +1 @@
+<?xml version="1.0" encoding="UTF-8"?><out/>
\ No newline at end of file
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@xalan.apache.org
For additional commands, e-mail: commits-help@xalan.apache.org
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic