}
catalog.addCatalogElement(catalogEntry);
return;
}
// processing for backward compatibility end
ICatalogElement catalogElement = null;
if (OASISCatalogConstants.TAG_PUBLIC.equals(localName))
{
// 6.5.3. The public Entry
catalogElement = createEntry(attributes, ICatalogEntry.ENTRY_TYPE_PUBLIC, OASISCatalogConstants.ATTR_PUBLIC_ID);
}
else if (OASISCatalogConstants.TAG_SYSTEM.equals(localName))
{
// 6.5.4. The system Element
catalogElement = createEntry(attributes, ICatalogEntry.ENTRY_TYPE_SYSTEM, OASISCatalogConstants.ATTR_SYSTEM_ID);
}
else if (OASISCatalogConstants.TAG_URI.equals(localName))
{
// 6.5.9. The uri Element
catalogElement = createEntry(attributes, ICatalogEntry.ENTRY_TYPE_URI, OASISCatalogConstants.ATTR_NAME);
}
else if (OASISCatalogConstants.TAG_REWRITE_SYSTEM.equals(localName))
{
// 6.5.5. The rewriteSystem Element
catalogElement = createRewrite(attributes, IRewriteEntry.REWRITE_TYPE_SYSTEM, OASISCatalogConstants.ATTR_SYSTEM_ID_START_STRING);
}
else if (OASISCatalogConstants.TAG_REWRITE_URI.equals(localName))
{
// 6.5.9. The uri Element
catalogElement = createRewrite(attributes, IRewriteEntry.REWRITE_TYPE_URI, OASISCatalogConstants.ATTR_URI_START_STRING);
}
else if (OASISCatalogConstants.TAG_DELEGATE_PUBLIC.equals(localName))
{
// 6.5.7. The delegatePublic Element
catalogElement = createDelegate(attributes, IDelegateCatalog.DELEGATE_TYPE_PUBLIC, OASISCatalogConstants.ATTR_PUBLIC_ID_START_STRING);
}
else if (OASISCatalogConstants.TAG_DELEGATE_SYSTEM.equals(localName))
{
// 6.5.8. The delegateSystem Element
catalogElement = createDelegate(attributes, IDelegateCatalog.DELEGATE_TYPE_SYSTEM, OASISCatalogConstants.ATTR_SYSTEM_ID_START_STRING);
}
else if (OASISCatalogConstants.TAG_DELEGATE_URI.equals(localName))
{
// 6.5.12. The delegateURI Element
catalogElement = createDelegate(attributes, IDelegateCatalog.DELEGATE_TYPE_URI, OASISCatalogConstants.ATTR_URI_START_STRING);
}
else if (OASISCatalogConstants.TAG_SYSTEM_SUFFIX.equals(localName))
{
// 6.5.6. The systemSuffix Element
catalogElement = createSuffix(attributes, ISuffixEntry.SUFFIX_TYPE_SYSTEM, OASISCatalogConstants.ATTR_SYSTEM_ID_SUFFFIX);
}
else if (OASISCatalogConstants.TAG_URI_SUFFIX.equals(localName))
{
// 6.5.11. The uriSuffix Element
catalogElement = createSuffix(attributes, ISuffixEntry.SUFFIX_TYPE_URI, OASISCatalogConstants.ATTR_URI_SUFFIX);
}
else if (OASISCatalogConstants.TAG_NEXT_CATALOG.equals(localName))
{
catalogElement = createNextCatalog(attributes);
}
if (catalogElement == null)
{
// do not set the extra information
return;
}
String attrId = attributes.getValue("", OASISCatalogConstants.ATTR_ID);//$NON-NLS-1$
if (attrId != null && ! "".equals(attrId)) catalogElement.setId(attrId);//$NON-NLS-1$
// process any other attributes
for (int j = 0; j < attributes.getLength(); j++)
{
String attrName = attributes.getLocalName(j);
if (!attrName.equals(OASISCatalogConstants.ATTR_URI) && !attrName.equals(OASISCatalogConstants.ATTR_NAME) && !attrName.equals(OASISCatalogConstants.ATTR_PUBLIC_ID)
&& !attrName.equals(OASISCatalogConstants.ATTR_SYSTEM_ID) && !attrName.equals(OASISCatalogConstants.ATTR_CATALOG) && !attrName.equals(OASISCatalogConstants.ATTR_ID)
&& !attrName.equals(OASISCatalogConstants.ATTR_BASE))
{
String attrValue = attributes.getValue(attrName);
if (attrValue != null && !attrValue.equals("")) //$NON-NLS-1$
{
catalogElement.setAttributeValue(attrName, attrValue);
}
}
}
catalog.addCatalogElement(catalogElement);