o != arg0
is the same as !(o == (arg0))
.
o != arg0
is the same as !(o == (arg0))
.
the object to compare against this object for dis-equality.
false
if the receiver object is equivalent to the argument; true
otherwise.
o == arg0
is the same as if (o eq null) arg0 eq null else o.equals(arg0)
.
o == arg0
is the same as if (o eq null) arg0 eq null else o.equals(arg0)
.
the object to compare against this object for equality.
true
if the receiver object is equivalent to the argument; false
otherwise.
o == arg0
is the same as o.equals(arg0)
.
o == arg0
is the same as o.equals(arg0)
.
the object to compare against this object for equality.
true
if the receiver object is equivalent to the argument; false
otherwise.
This method is used to cast the receiver object to be of type T0
.
This method is used to cast the receiver object to be of type T0
.
Note that the success of a cast at runtime is modulo Scala's erasure semantics. Therefore the expression1.asInstanceOf[String]
will throw a ClassCastException
at runtime, while the expressionList(1).asInstanceOf[List[String]]
will not. In the latter example, because the type argument is erased as
part of compilation it is not possible to check whether the contents of the list are of the requested typed.
the receiver object.
<! attlist := ATTLIST
<! attlist := ATTLIST
character buffer, for names
holds the next character
holds the next character
This method creates and returns a copy of the receiver object.
This method creates and returns a copy of the receiver object.
The default implementation of the clone
method is platform dependent.
a copy of the receiver object.
callback method invoked by MarkupParser after parsing comment.
callback method invoked by MarkupParser after parsing comment.
content1 ::= '<' content1 | '&' charref .
content1 ::= '<' content1 | '&' charref ...
'<' content1 ::= .
'<' content1 ::= ...
[22] prolog ::= XMLDecl? Misc* (doctypedecl Misc*)? [23] XMLDecl ::= '<?xml' VersionInfo EncodingDecl? SDDecl? S? '?>' [24] VersionInfo ::= S 'version' Eq ("'" VersionNum "'" | '"' VersionNum '"') [25] Eq ::= S? '=' S? [26] VersionNum ::= '1.
[22] prolog ::= XMLDecl? Misc* (doctypedecl Misc*)? [23] XMLDecl ::= '<?xml' VersionInfo EncodingDecl? SDDecl? S? '?>' [24] VersionInfo ::= S 'version' Eq ("'" VersionNum "'" | '"' VersionNum '"') [25] Eq ::= S? '=' S? [26] VersionNum ::= '1.0' [27] Misc ::= Comment | PI | S
callback method invoked by MarkupParser after parsing an element, between the elemStart and elemEnd callbacks
callback method invoked by MarkupParser after parsing an element, between the elemStart and elemEnd callbacks
the position in the source file
the prefix
the local name
the attributes (metadata)
...
callback method invoked by MarkupParser after end-tag of element.
callback method invoked by MarkupParser after end-tag of element.
the position in the source file
the prefix
the local name
callback method invoked by MarkupParser after start-tag of element.
callback method invoked by MarkupParser after start-tag of element.
the position in the sourcefile
the prefix
the local name
the attributes (metadata)
'<' element ::= xmlTag1 '>' { xmlExpr | '{' simpleExpr '}' } ETag | xmlTag1 '/' '>'
'<' element ::= xmlTag1 '>' { xmlExpr | '{' simpleExpr '}' } ETag | xmlTag1 '/' '>'
<! element := ELEMENT
<! element := ELEMENT
<! element := ELEMENT
<! element := ELEMENT
callback method invoked by MarkupParser after parsing entity ref.
callback method invoked by MarkupParser after parsing entity ref.
This method is used to test whether the argument (arg0
) is a reference to the
receiver object (this
).
This method is used to test whether the argument (arg0
) is a reference to the
receiver object (this
).
The eq
method implements an [http://en.wikipedia.org/wiki/Equivalence_relation equivalence relation] on
non-null instances of AnyRef
:
* It is reflexive: for any non-null instance x
of type AnyRef
, x.eq(x)
returns true
.
* It is symmetric: for any non-null instances x
and y
of type AnyRef
, x.eq(y)
returns true
if and
only if y.eq(x)
returns true
.
* It is transitive: for any non-null instances x
, y
, and z
of type AnyRef
if x.eq(y)
returns true
and y.eq(z)
returns true
, then x.eq(z)
returns true
.
Additionally, the eq
method has three other properties.
* It is consistent: for any non-null instances x
and y
of type AnyRef
, multiple invocations of
x.eq(y)
consistently returns true
or consistently returns false
.
* For any non-null instance x
of type AnyRef
, x.eq(null)
and null.eq(x)
returns false
.
* null.eq(null)
returns true
.
When overriding the equals
or hashCode
methods, it is important to ensure that their behavior is
consistent with reference equality. Therefore, if two objects are references to each other (o1 eq o2
), they
should be equal to each other (o1 == o2
) and they should hash to the same value (o1.hashCode == o2.hashCode
).
the object to compare against this object for reference equality.
true
if the argument is a reference to the receiver object; false
otherwise.
This method is used to compare the receiver object (this
) with the argument object (arg0
) for equivalence.
This method is used to compare the receiver object (this
) with the argument object (arg0
) for equivalence.
The default implementations of this method is an [http://en.wikipedia.org/wiki/Equivalence_relation equivalence
relation]:
* It is reflexive: for any instance x
of type Any
, x.equals(x)
should return true
.
* It is symmetric: for any instances x
and y
of type Any
, x.equals(y)
should return true
if and
only if y.equals(x)
returns true
.
* It is transitive: for any instances x
, y
, and z
of type AnyRef
if x.equals(y)
returns true
and
y.equals(z)
returns true
, then x.equals(z)
should return true
.
If you override this method, you should verify that your implementation remains an equivalence relation.
Additionally, when overriding this method it is often necessary to override hashCode
to ensure that objects
that are "equal" (o1.equals(o2)
returns true
) hash to the same
scala.Int
(o1.hashCode.equals(o2.hashCode)
).
the object to compare against this object for equality.
true
if the receiver object is equivalent to the argument; false
otherwise.
externalID ::= SYSTEM S syslit PUBLIC S pubid S syslit
externalID ::= SYSTEM S syslit PUBLIC S pubid S syslit
.
This method is called by the garbage collector on the receiver object when garbage collection determines that there are no more references to the object.
This method is called by the garbage collector on the receiver object when garbage collection determines that there are no more references to the object.
The details of when and if the finalize
method are invoked, as well as the interaction between finalize
and non-local returns and exceptions, are all platform dependent.
Returns a representation that corresponds to the dynamic class of the receiver object.
Returns a representation that corresponds to the dynamic class of the receiver object.
The nature of the representation is platform dependent.
a representation that corresponds to the dynamic class of the receiver object.
Returns a hash code value for the object.
Returns a hash code value for the object.
The default hashing algorithm is platform dependent.
Note that it is allowed for two objects to have identical hash codes (o1.hashCode.equals(o2.hashCode)
) yet
not be equal (o1.equals(o2)
returns false
). A degenerate implementation could always return 0
.
However, it is required that if two objects are equal (o1.equals(o2)
returns true
) that they have
identical hash codes (o1.hashCode.equals(o2.hashCode)
). Therefore, when overriding this method, be sure
to verify that the behavior is consistent with the equals
method.
the hash code value for the object.
As the current code requires you to call nextch once manually after construction, this method formalizes that suboptimal reality.
As the current code requires you to call nextch once manually after construction, this method formalizes that suboptimal reality.
stack of inputs
stack of inputs
"rec-xml/#ExtSubset" pe references may not occur within markup declarations
"rec-xml/#ExtSubset" pe references may not occur within markup declarations
These are 99% sure to be redundant but refactoring on the safe side.
These are 99% sure to be redundant but refactoring on the safe side.
This method is used to test whether the dynamic type of the receiver object is T0
.
This method is used to test whether the dynamic type of the receiver object is T0
.
Note that the test result of the test is modulo Scala's erasure semantics. Therefore the expression1.isInstanceOf[String]
will return false
, while the expression List(1).isInstanceOf[List[String]]
will
return true
. In the latter example, because the type argument is erased as part of compilation it is not
possible to check whether the contents of the list are of the requested typed.
true
if the receiver object is an instance of erasure of type T0
; false
otherwise.
Name ::= ( Letter | '_' ) (NameChar)*
Name ::= ( Letter | '_' ) (NameChar)*
see [5] of XML 1.0 specification
NameChar ::= Letter | Digit | '.
NameChar ::= Letter | Digit | '.' | '-' | '_' | ':' | CombiningChar | Extender
see [4] and Appendix B of XML 1.0 specification
NameStart ::= ( Letter | '_' ) where Letter means in one of the Unicode general categories { Ll, Lu, Lo, Lt, Nl }
NameStart ::= ( Letter | '_' ) where Letter means in one of the Unicode general categories { Ll, Lu, Lo, Lt, Nl }
We do not allow a name to start with ':'. see [3] and Appendix B of XML 1.0 specification
(#x20 | #x9 | #xD | #xA)+
(#x20 | #x9 | #xD | #xA)
Returns true if the encoding name is a valid IANA encoding.
Returns true if the encoding name is a valid IANA encoding. This method does not verify that there is a decoder available for this encoding, only that the characters are valid for an IANA encoding name.
The IANA encoding name.
returns true is this markup handler is validating
returns true is this markup handler is validating
This method should log the message given as argument somewhere as a side-effect.
This method should log the message given as argument somewhere as a side-effect.
...
Create a lookahead reader which does not influence the input
Create a lookahead reader which does not influence the input
o.ne(arg0)
is the same as !(o.eq(arg0))
.
o.ne(arg0)
is the same as !(o.eq(arg0))
.
the object to compare against this object for reference dis-equality.
false
if the argument is not a reference to the receiver object; true
otherwise.
this method assign the next character to ch and advances in input
this method assign the next character to ch and advances in input
'N' notationDecl ::= "OTATION"
'N' notationDecl ::= "OTATION"
Wakes up a single thread that is waiting on the receiver object's monitor.
Wakes up a single thread that is waiting on the receiver object's monitor.
Wakes up all threads that are waiting on the receiver object's monitor.
Wakes up all threads that are waiting on the receiver object's monitor.
parses document type declaration and assigns it to instance variable dtd.
parses document type declaration and assigns it to instance variable dtd.
<! parseDTD ::= DOCTYPE name ... >
holds the position in the source file
holds the position in the source file
if true, does not remove surplus whitespace
if true, does not remove surplus whitespace
callback method invoked by MarkupParser after parsing PI.
callback method invoked by MarkupParser after parsing PI.
<? prolog ::= xml S? // this is a bit more lenient than necessary.
<? prolog ::= xml S? // this is a bit more lenient than necessary...
append Unicode character to name buffer
Apply a function and return the passed value
Apply a function and return the passed value
Execute body with a variable saved and restored after execution
Execute body with a variable saved and restored after execution
attribute value, terminated by either ' or ".
attribute value, terminated by either ' or ". value may not contain <.
AttValue ::= '
{ _ } '
| "
{ _ } "
callback method invoked by MarkupParser after parsing text.
callback method invoked by MarkupParser after parsing text.
prolog, but without standalone
prolog, but without standalone
holds temporary values of pos
holds temporary values of pos
Returns a string representation of the object.
Returns a string representation of the object.
The default representation is platform dependent.
a string representation of the object.
attribute value, terminated by either ' or ".
attribute value, terminated by either ' or ". value may not contain <.
parse attribute and create namespace scope, metadata [41] Attributes ::= { S Name Eq AttValue }
parse attribute and create namespace scope, metadata [41] Attributes ::= { S Name Eq AttValue }
'<! CharData ::= [CDATA[ ( {char} - {char}"]]>"{char} ) ']]>'
'<! CharData ::= [CDATA[ ( {char} - {char}"]]>"{char} ) ']]>'
see [15]
CharRef ::= "&#" '0'.
CharRef ::= "&#" '0'..'9' {'0'..'9'} ";" | "&#x" '0'..'9'|'A'..'F'|'a'..'f' { hexdigit } ";"
see [66]
Comment ::= '<!--' ((Char - '-') | ('-' (Char - '-')))* '-->'
Comment ::= '<!--' ((Char - '-') | ('-' (Char - '-')))* '-->'
see [15]
scan [S] '=' [S]
scan [S] '=' [S]
[42] '<' xmlEndTag ::= '<' '/' Name S? '>'
[42] '<' xmlEndTag ::= '<' '/' Name S? '>'
entity value, terminated by either ' or ".
entity value, terminated by either ' or ". value may not contain <.
AttValue ::= '
{ _ } '
| "
{ _ } "
actually, Name ::= (Letter | '_' | ':') (NameChar)* but starting with ':' cannot happen Name ::= (Letter | '_') (NameChar)*
actually, Name ::= (Letter | '_' | ':') (NameChar)* but starting with ':' cannot happen Name ::= (Letter | '_') (NameChar)*
see [5] of XML 1.0 specification
pre-condition: ch != ':' // assured by definition of XMLSTART token post-condition: name does neither start, nor end in ':'
'<?' ProcInstr ::= Name [S ({Char} - ({Char}'>?' {Char})]'?>'
'<?' ProcInstr ::= Name [S ({Char} - ({Char}'>?' {Char})]'?>'
see [15]
scan [3] S ::= (#x20 | #x9 | #xD | #xA)+
scan [3] S ::= (#x20 | #x9 | #xD | #xA)+
skip optional space S?
skip optional space S?
parse a start or empty tag.
parse a start or empty tag. [40] STag ::= '<' Name { S Attribute } [S] [44] EmptyElemTag ::= '<' Name { S Attribute } [S]
Take characters from input stream until given String "until" is seen.
Take characters from input stream until given String "until" is seen. Once seen, the accumulated characters are passed along with the current Position to the supplied handler function.
parse character data.
parse character data. precondition: xEmbeddedBlock == false (we are not in a scala block)
<? prolog ::= xml S .
<? prolog ::= xml S ... ?>
An xml parser. parses XML and invokes callback methods of a MarkupHandler. Don't forget to call next.ch on a freshly instantiated parser in order to initialize it. If you get the parser from the object method, initialization is already done for you.