}
void parseStartElement()
throws ThreddsXmlParserException
{
StartElement startElement = this.getNextEventIfStartElementIsMine();
Attribute nameAtt = startElement.getAttributeByName( DatasetElementNames.DatasetElement_Name );
String name = nameAtt.getValue();
if ( this.parentCatalogBuilder != null )
this.selfBuilder = this.parentCatalogBuilder.addDataset( name );
else if ( this.parentDatasetNodeBuilder != null )
this.selfBuilder = this.parentDatasetNodeBuilder.addDataset( name );
else if ( builderFactory != null )
this.selfBuilder = builderFactory.newDatasetBuilder( name );
else
throw new ThreddsXmlParserException( "" );
this.datasetNodeElementParserHelper = new DatasetNodeElementParserHelper( this.parentDatasetNodeElementParserHelper,
this.selfBuilder,
this.builderFactory );
this.datasetNodeElementParserHelper.parseStartElementIdAttribute( startElement );
this.datasetNodeElementParserHelper.parseStartElementIdAuthorityAttribute( startElement );
Attribute serviceNameAtt = startElement.getAttributeByName( DatasetElementNames.DatasetElement_ServiceName );
if ( serviceNameAtt != null )
this.setDefaultServiceName( serviceNameAtt.getValue() );
Attribute urlPathAtt = startElement.getAttributeByName( DatasetElementNames.DatasetElement_UrlPath );
if ( urlPathAtt != null )
{
// Add AccessBuilder and set urlPath, set ServiceBuilder in postProcessingAfterEndElement().
AccessBuilder accessBuilder = this.selfBuilder.addAccessBuilder();
accessBuilder.setUrlPath( urlPathAtt.getValue() );