#
# Copyright (c) 2021 Oracle and/or its affiliates. All rights reserved.
#
# This program and the accompanying materials are made available under the
# terms of the Eclipse Distribution License v. 1.0, which is available at
# http://www.eclipse.org/org/documents/edl-v10.php.
#
# SPDX-License-Identifier: BSD-3-Clause
#

usage = \
Typed Xml Writer ver. ${project.version}\n\
\ txw <schema file>\n\
\ \ -o <dir>   : Specify the directory to place generated source files\n\
\ \ -p <pkg>   : Specify the Java package to put the generated classes into\n\
\ \ -c         : The input schema is written in the RELAX NG compact syntax\n\
\ \ -x         : The input schema is written in the RELAX NG XML syntax\n\
\ \ -xsd       : The input schema is written in the XML SChema\n\
\ \ -h         : Generate code that allows method invocation chaining

# Not concatenated with any other string (written on a separate line).
missingOperand = an operand is missing

# Not concatenated with any other string (written on a separate line).
unrecognizedParameter = unrecognized parameter {0}

unknownGrammar = grammar is not known
