return super.beginTag(namespaceURI,localName,qName,atts);
}
else if (qName.equals("published") || qName.equals("updated"))
{
// "published" pr "updated" tag
return new XMLStringContext(theStream,namespaceURI,localName,qName,atts);
}
else if (qName.equals("title"))
{
// "title" tag
return new XMLStringContext(theStream,namespaceURI,localName,qName,atts);
}
else if (qName.equals("category"))
{
String category = atts.getValue("term");
if (category != null && category.length() > 0)
categoryField.add(category);
return super.beginTag(namespaceURI,localName,qName,atts);
}
else
{
switch (dechromedContentMode)
{
case DECHROMED_NONE:
if (qName.equals("subtitle"))
{
return new XMLStringContext(theStream,namespaceURI,localName,qName,atts);
}
break;
case DECHROMED_DESCRIPTION:
if (qName.equals("subtitle"))
{
try
{
File tempFile = File.createTempFile("_rssdata_","tmp");
return new XMLFileContext(theStream,namespaceURI,localName,qName,atts,tempFile);
}
catch (java.net.SocketTimeoutException e)
{
throw new ManifoldCFException("IO exception creating temp file: "+e.getMessage(),e);
}
catch (InterruptedIOException e)
{
throw new ManifoldCFException("Interrupted: "+e.getMessage(),e,ManifoldCFException.INTERRUPTED);
}
catch (IOException e)
{
throw new ManifoldCFException("IO exception creating temp file: "+e.getMessage(),e);
}
}
break;
case DECHROMED_CONTENT:
if (qName.equals("content"))
{
try
{
File tempFile = File.createTempFile("_rssdata_","tmp");
return new XMLFileContext(theStream,namespaceURI,localName,qName,atts,tempFile);
}
catch (java.net.SocketTimeoutException e)
{
throw new ManifoldCFException("IO exception creating temp file: "+e.getMessage(),e);
}
catch (InterruptedIOException e)
{
throw new ManifoldCFException("Interrupted: "+e.getMessage(),e,ManifoldCFException.INTERRUPTED);
}
catch (IOException e)
{
throw new ManifoldCFException("IO exception creating temp file: "+e.getMessage(),e);
}
}
else if (qName.equals("subtitle"))
{
return new XMLStringContext(theStream,namespaceURI,localName,qName,atts);
}
break;
default:
break;
}