diff --git a/tools/owl/src/main/java/org/eurocris/cerif2/owl/Model.java b/tools/owl/src/main/java/org/eurocris/cerif2/owl/Model.java index 8ca4574..8f21eb3 100644 --- a/tools/owl/src/main/java/org/eurocris/cerif2/owl/Model.java +++ b/tools/owl/src/main/java/org/eurocris/cerif2/owl/Model.java @@ -484,9 +484,6 @@ protected void handle() throws InterruptedException, ExecutionException { } protected void processAttributeNode( final IRI classIRI, final OWLClass owlClass, final Node node, BasedSequence text ) throws ParseException { - if ( text.startsWith( "" ) ) { - text = text.subSequence( text.indexOf( ">" ) + 1, text.length() - "".length() ); - } final int colonPosition = text.indexOf( ':' ); if ( colonPosition < 0 ) { throw new ParseException( "No colon specified", node ); @@ -496,7 +493,8 @@ protected void processAttributeNode( final IRI classIRI, final OWLClass owlClass final int endashPosition = rest.indexOf( '–' ); final BasedSequence datatypeSpec = ( endashPosition > 0 ) ? rest.subSequence( 0, endashPosition ).trim() : rest.trim(); final String datatypeLinkTarget = datatypeSpec.toString().replaceAll( "[^(]*\\(([^)]*)\\)[^)]*", "$1" ); - final String attributeName = ( attributeText.contains( " " ) || Character.isUpperCase( attributeText.charAt( 0 ) ) ) ? CaseUtils.toCamelCase( attributeText, false, ' ', '-', '_', '.' ) : attributeText; + final String attributeName1 = attributeText.replaceFirst( "([^<]*)", "$1" ); + final String attributeName = ( attributeName1.contains( " " ) || Character.isUpperCase( attributeName1.charAt( 0 ) ) ) ? CaseUtils.toCamelCase( attributeName1, false, ' ', '-', '_', '.' ) : attributeName1; log.info( "Attribute " + attributeName + ", datatype " + datatypeLinkTarget ); if ( !datatypeLinkTarget.startsWith( "../datatypes/" ) ) { throw new ParseException( "Not referencing ../datatypes/", node );