// 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: PIGrabber.java package com.icl.saxon; import com.icl.saxon.om.ProcInstParser; import java.util.Vector; import javax.xml.transform.TransformerException; import javax.xml.transform.URIResolver; import javax.xml.transform.sax.SAXSource; import org.xml.sax.Attributes; import org.xml.sax.SAXException; import org.xml.sax.helpers.DefaultHandler; // Referenced classes of package com.icl.saxon: // StandardURIResolver public class PIGrabber extends DefaultHandler { private String reqMedia; private String reqTitle; private String baseURI; private URIResolver uriResolver; private Vector stylesheets; public PIGrabber() { /* 19*/ reqMedia = null; /* 20*/ reqTitle = null; /* 21*/ baseURI = null; /* 22*/ uriResolver = null; /* 23*/ stylesheets = new Vector(); } public void setCriteria(String s, String s1, String s2) { /* 26*/ reqMedia = s; /* 27*/ reqTitle = s1; } public void setBaseURI(String s) { /* 35*/ baseURI = s; } public void setURIResolver(URIResolver uriresolver) { /* 43*/ uriResolver = uriresolver; } public void startElement(String s, String s1, String s2, Attributes attributes) throws SAXException { /* 54*/ throw new SAXException("#start#"); } public void processingInstruction(String s, String s1) throws SAXException { /* 64*/ if(s.equals("xml-stylesheet")) { /* 66*/ String s2 = ProcInstParser.getPseudoAttribute(s1, "media"); /* 67*/ String s3 = ProcInstParser.getPseudoAttribute(s1, "title"); /* 68*/ String s4 = ProcInstParser.getPseudoAttribute(s1, "type"); /* 69*/ String s5 = ProcInstParser.getPseudoAttribute(s1, "alternate"); /* 71*/ if(s4 == null) /* 71*/ return; /* 75*/ if((s4.equals("text/xml") || s4.equals("application/xml") || s4.equals("text/xsl") || s4.equals("applicaton/xsl")) && (reqMedia == null || s2 == null || reqMedia.equals(s2)) && (s3 == null && (s5 == null || s5.equals("no")) || reqTitle == null || s3 != null && s3.equals(reqTitle))) { /* 84*/ String s6 = ProcInstParser.getPseudoAttribute(s1, "href"); /* 85*/ if(s6 == null) /* 86*/ throw new SAXException("xml-stylesheet PI has no href attribute"); /* 90*/ if(s3 == null && (s5 == null || s5.equals("no"))) /* 91*/ stylesheets.insertElementAt(s6, 0); /* 93*/ else /* 93*/ stylesheets.addElement(s6); } } } public SAXSource[] getAssociatedStylesheets() throws TransformerException { /* 108*/ if(stylesheets.size() == 0) /* 109*/ return null; /* 111*/ if(uriResolver == null) /* 112*/ uriResolver = new StandardURIResolver(); /* 114*/ SAXSource asaxsource[] = new SAXSource[stylesheets.size()]; /* 115*/ for(int i = 0; i < stylesheets.size(); i++) { /* 116*/ String s = (String)stylesheets.elementAt(i); /* 117*/ javax.xml.transform.Source source = uriResolver.resolve(s, baseURI); /* 118*/ if(!(source instanceof SAXSource)) /* 119*/ throw new TransformerException("Associated stylesheet URI must yield a SAX source"); /* 121*/ asaxsource[i] = (SAXSource)source; } /* 123*/ return asaxsource; } public String[] getStylesheetURIs() throws SAXException { /* 131*/ if(stylesheets.size() == 0) /* 132*/ return null; /* 134*/ String as[] = new String[stylesheets.size()]; /* 135*/ for(int i = 0; i < stylesheets.size(); i++) /* 136*/ as[i] = (String)stylesheets.elementAt(i); /* 138*/ return as; } }