summaryrefslogtreecommitdiff
path: root/sources
diff options
context:
space:
mode:
authorburaq <buraq@epfl.ch>2003-11-03 15:21:37 +0000
committerburaq <buraq@epfl.ch>2003-11-03 15:21:37 +0000
commit26801b88cd3dd0bf6e0af638086254e43065d9c6 (patch)
tree3928110f6a74c4b5302b04e5ba7c58a285e6a394 /sources
parent33d19305e4e00a38a167d3e159e92d90cd4de7ce (diff)
downloadscala-26801b88cd3dd0bf6e0af638086254e43065d9c6.tar.gz
scala-26801b88cd3dd0bf6e0af638086254e43065d9c6.tar.bz2
scala-26801b88cd3dd0bf6e0af638086254e43065d9c6.zip
XPath expression
Diffstat (limited to 'sources')
-rw-r--r--sources/scala/xml/path/Expression.scala30
1 files changed, 30 insertions, 0 deletions
diff --git a/sources/scala/xml/path/Expression.scala b/sources/scala/xml/path/Expression.scala
new file mode 100644
index 0000000000..4fec113a9b
--- /dev/null
+++ b/sources/scala/xml/path/Expression.scala
@@ -0,0 +1,30 @@
+package scala.xml.path;
+
+import scala.xml.Element ;
+
+object Expression {
+ def evaluate(expr:Expression):List[Element] = {
+ Nil; // to do
+ }
+}
+
+abstract class Expression ;
+
+case class Node[T<:Element]( conds:Condition* ) extends Expression {
+ type t = T;
+
+ def test( x:Element ):boolean = {
+ x.isInstanceOf[t];
+ }
+};
+
+case class Attribute( name:String ) extends Expression;
+
+case object Wildcard extends Expression;
+
+case object Descendant extends Expression;
+
+abstract class Condition ;
+
+case class Present(attr:Attribute) extends Condition;
+case class Equals(attr:Attribute, str:String) extends Condition;