// Decompiled by Jad v1.5.8e. Copyright 2001 Pavel Kouznetsov. // Jad home page: http://www.geocities.com/kpdus/jad.html // Decompiler options: packimports(3) fieldsfirst lnc // Source File Name: Sets.java package com.icl.saxon.exslt; import com.icl.saxon.Context; import com.icl.saxon.Controller; import com.icl.saxon.expr.*; import com.icl.saxon.om.NodeEnumeration; import java.util.Vector; public abstract class Sets { public Sets() { } public static NodeEnumeration intersection(Context context, NodeEnumeration nodeenumeration, NodeEnumeration nodeenumeration1) throws XPathException { /* 25*/ return new IntersectionEnumeration(nodeenumeration, nodeenumeration1, context.getController()); } public static NodeEnumeration difference(Context context, NodeEnumeration nodeenumeration, NodeEnumeration nodeenumeration1) throws XPathException { /* 36*/ return new DifferenceEnumeration(nodeenumeration, nodeenumeration1, context.getController()); } public static boolean hasSameNode(Context context, NodeEnumeration nodeenumeration, NodeEnumeration nodeenumeration1) throws XPathException { /* 48*/ IntersectionEnumeration intersectionenumeration = new IntersectionEnumeration(nodeenumeration, nodeenumeration1, context.getController()); /* 50*/ return intersectionenumeration.hasMoreElements(); } public static NodeEnumeration distinct(Context context, NodeEnumeration nodeenumeration) throws XPathException { /* 58*/ return new DistinctEnumeration(nodeenumeration, context.getController()); } public static NodeSetValue leading(Context context, NodeEnumeration nodeenumeration, NodeEnumeration nodeenumeration1) throws XPathException { /* 70*/ Controller controller = context.getController(); /* 71*/ if(!nodeenumeration1.hasMoreElements()) /* 72*/ return new NodeSetExtent(nodeenumeration, controller); /* 74*/ com.icl.saxon.om.NodeInfo nodeinfo = nodeenumeration1.nextElement(); /* 76*/ Vector vector = new Vector(); com.icl.saxon.om.NodeInfo nodeinfo1; /* 78*/ for(; nodeenumeration.hasMoreElements(); vector.addElement(nodeinfo1)) { /* 78*/ nodeinfo1 = nodeenumeration.nextElement(); /* 79*/ if(controller.compare(nodeinfo1, nodeinfo) >= 0) /* 80*/ break; } /* 85*/ return new NodeSetExtent(vector, controller); } public static NodeSetValue trailing(Context context, NodeEnumeration nodeenumeration, NodeEnumeration nodeenumeration1) throws XPathException { /* 98*/ if(!nodeenumeration1.hasMoreElements()) /* 99*/ return new EmptyNodeSet(); /* 101*/ com.icl.saxon.om.NodeInfo nodeinfo = nodeenumeration1.nextElement(); /* 102*/ Controller controller = context.getController(); /* 104*/ Vector vector = new Vector(); /* 105*/ boolean flag = false; /* 107*/ while(nodeenumeration.hasMoreElements()) { /* 107*/ com.icl.saxon.om.NodeInfo nodeinfo1 = nodeenumeration.nextElement(); /* 108*/ if(flag) /* 109*/ vector.addElement(nodeinfo1); /* 110*/ else /* 110*/ if(controller.compare(nodeinfo1, nodeinfo) > 0) { /* 111*/ flag = true; /* 112*/ vector.addElement(nodeinfo1); } } /* 115*/ return new NodeSetExtent(vector, controller); } }