in batik-parser/src/main/java/org/apache/batik/parser/FragmentIdentifierParser.java [1178:1427]
protected void parsePreserveAspectRatio()
throws ParseException, IOException {
fragmentIdentifierHandler.startPreserveAspectRatio();
align: switch (current) {
case 'n':
current = reader.read();
if (current != 'o') {
reportCharacterExpectedError( 'o', current );
skipIdentifier();
break align;
}
current = reader.read();
if (current != 'n') {
reportCharacterExpectedError( 'n', current );
skipIdentifier();
break align;
}
current = reader.read();
if (current != 'e') {
reportCharacterExpectedError( 'e', current );
skipIdentifier();
break align;
}
current = reader.read();
skipSpaces();
fragmentIdentifierHandler.none();
break;
case 'x':
current = reader.read();
if (current != 'M') {
reportCharacterExpectedError( 'M', current );
skipIdentifier();
break;
}
current = reader.read();
switch (current) {
case 'a':
current = reader.read();
if (current != 'x') {
reportCharacterExpectedError( 'x', current );
skipIdentifier();
break align;
}
current = reader.read();
if (current != 'Y') {
reportCharacterExpectedError( 'Y', current );
skipIdentifier();
break align;
}
current = reader.read();
if (current != 'M') {
reportCharacterExpectedError( 'M', current );
skipIdentifier();
break align;
}
current = reader.read();
switch (current) {
case 'a':
current = reader.read();
if (current != 'x') {
reportCharacterExpectedError( 'x', current );
skipIdentifier();
break align;
}
fragmentIdentifierHandler.xMaxYMax();
current = reader.read();
break;
case 'i':
current = reader.read();
switch (current) {
case 'd':
fragmentIdentifierHandler.xMaxYMid();
current = reader.read();
break;
case 'n':
fragmentIdentifierHandler.xMaxYMin();
current = reader.read();
break;
default:
reportUnexpectedCharacterError( current );
skipIdentifier();
break align;
}
}
break;
case 'i':
current = reader.read();
switch (current) {
case 'd':
current = reader.read();
if (current != 'Y') {
reportCharacterExpectedError( 'Y', current );
skipIdentifier();
break align;
}
current = reader.read();
if (current != 'M') {
reportCharacterExpectedError( 'M', current );
skipIdentifier();
break align;
}
current = reader.read();
switch (current) {
case 'a':
current = reader.read();
if (current != 'x') {
reportCharacterExpectedError( 'x', current );
skipIdentifier();
break align;
}
fragmentIdentifierHandler.xMidYMax();
current = reader.read();
break;
case 'i':
current = reader.read();
switch (current) {
case 'd':
fragmentIdentifierHandler.xMidYMid();
current = reader.read();
break;
case 'n':
fragmentIdentifierHandler.xMidYMin();
current = reader.read();
break;
default:
reportUnexpectedCharacterError( current );
skipIdentifier();
break align;
}
}
break;
case 'n':
current = reader.read();
if (current != 'Y') {
reportCharacterExpectedError( 'Y', current );
skipIdentifier();
break align;
}
current = reader.read();
if (current != 'M') {
reportCharacterExpectedError( 'M', current );
skipIdentifier();
break align;
}
current = reader.read();
switch (current) {
case 'a':
current = reader.read();
if (current != 'x') {
reportCharacterExpectedError( 'x', current );
skipIdentifier();
break align;
}
fragmentIdentifierHandler.xMinYMax();
current = reader.read();
break;
case 'i':
current = reader.read();
switch (current) {
case 'd':
fragmentIdentifierHandler.xMinYMid();
current = reader.read();
break;
case 'n':
fragmentIdentifierHandler.xMinYMin();
current = reader.read();
break;
default:
reportUnexpectedCharacterError( current );
skipIdentifier();
break align;
}
}
break;
default:
reportUnexpectedCharacterError( current );
skipIdentifier();
break align;
}
break;
default:
reportUnexpectedCharacterError( current );
skipIdentifier();
}
break;
default:
if (current != -1) {
reportUnexpectedCharacterError( current );
skipIdentifier();
}
}
skipCommaSpaces();
switch (current) {
case 'm':
current = reader.read();
if (current != 'e') {
reportCharacterExpectedError( 'e', current );
skipIdentifier();
break;
}
current = reader.read();
if (current != 'e') {
reportCharacterExpectedError( 'e', current );
skipIdentifier();
break;
}
current = reader.read();
if (current != 't') {
reportCharacterExpectedError( 't', current );
skipIdentifier();
break;
}
fragmentIdentifierHandler.meet();
current = reader.read();
break;
case 's':
current = reader.read();
if (current != 'l') {
reportCharacterExpectedError( 'l', current );
skipIdentifier();
break;
}
current = reader.read();
if (current != 'i') {
reportCharacterExpectedError( 'i', current );
skipIdentifier();
break;
}
current = reader.read();
if (current != 'c') {
reportCharacterExpectedError( 'c', current );
skipIdentifier();
break;
}
current = reader.read();
if (current != 'e') {
reportCharacterExpectedError( 'e', current );
skipIdentifier();
break;
}
fragmentIdentifierHandler.slice();
current = reader.read();
}
fragmentIdentifierHandler.endPreserveAspectRatio();
}