diff --git a/basis/multiline/multiline-tests.factor b/basis/multiline/multiline-tests.factor index 357fd2cb6c..153b6cedbe 100644 --- a/basis/multiline/multiline-tests.factor +++ b/basis/multiline/multiline-tests.factor @@ -14,3 +14,8 @@ bar [ "hello\nworld" ] [ <" hello world"> ] unit-test + +[ "hello" "world" ] [ <" hello"> <" world"> ] unit-test + +[ "\nhi" ] [ <" +hi"> ] unit-test diff --git a/basis/multiline/multiline.factor b/basis/multiline/multiline.factor index 930e5b9f1c..a79c25750c 100644 --- a/basis/multiline/multiline.factor +++ b/basis/multiline/multiline.factor @@ -1,7 +1,7 @@ ! Copyright (C) 2007 Daniel Ehrenberg ! See http://factorcode.org/license.txt for BSD license. USING: namespaces make parser lexer kernel sequences words -quotations math accessors ; +quotations math accessors locals ; IN: multiline (( -- string )) define-inline ; parsing > [ - 2dup start - [ rot dupd [ swap subseq % ] 2dip length + ] [ - rot tail % "\n" % 0 - lexer get next-line swap (parse-multiline-string) + +:: (parse-multiline-string) ( i end -- j ) + lexer get line-text>> :> text + text [ + end text i start* [| j | + i j text subseq % j end length + + ] [ + text i short tail % CHAR: \n , + lexer get next-line + 0 end (parse-multiline-string) ] if* - ] [ nip unexpected-eof ] if* ; + ] [ end unexpected-eof ] if ; + PRIVATE> : parse-multiline-string ( end-text -- str ) [ - lexer get [ swap (parse-multiline-string) ] change-column drop - ] "" make rest ; + lexer get + [ 1+ swap (parse-multiline-string) ] + change-column drop + ] "" make ; : <" "\">" parse-multiline-string parsed ; parsing diff --git a/basis/state-parser/authors.txt b/basis/state-parser/authors.txt deleted file mode 100644 index f990dd0ed2..0000000000 --- a/basis/state-parser/authors.txt +++ /dev/null @@ -1 +0,0 @@ -Daniel Ehrenberg diff --git a/basis/state-parser/state-parser-docs.factor b/basis/state-parser/state-parser-docs.factor deleted file mode 100644 index 3027c01c19..0000000000 --- a/basis/state-parser/state-parser-docs.factor +++ /dev/null @@ -1,72 +0,0 @@ -USING: help.markup help.syntax ; -IN: state-parser - -ABOUT: { "state-parser" "main" } - -ARTICLE: { "state-parser" "main" } "State-based parsing" - "This module defines a state-based parsing mechanism. It was originally created for libs/xml, but is also used in libs/csv and can be easily used in new libraries or applications." - { $subsection spot } - { $subsection skip-until } - { $subsection take-until } - { $subsection take-char } - { $subsection take-string } - { $subsection next } - { $subsection state-parse } - { $subsection get-char } - { $subsection take-rest } - { $subsection string-parse } - { $subsection expect } - { $subsection expect-string } - { $subsection parsing-error } ; - -HELP: get-char -{ $values { "char" "the current character" } } -{ $description "Accesses the current character of the stream that is being parsed" } ; - -HELP: take-rest -{ $values { "string" "the rest of the parser input" } } -{ $description "Exausts the stream of the parser input and returns a string representing the rest of the input" } ; - -HELP: string-parse -{ $values { "input" "a string" } { "quot" "a quotation ( -- )" } } -{ $description "Calls the given quotation using the given string as parser input" } -{ $see-also state-parse } ; - -HELP: expect -{ $values { "ch" "a number representing a character" } } -{ $description "Asserts that the current character is the given ch, and moves to the next spot" } -{ $see-also expect-string } ; - -HELP: expect-string -{ $values { "string" "a string" } } -{ $description "Asserts that the current parsing spot is followed by the given string, and skips the parser past that string" } -{ $see-also expect } ; - -HELP: spot -{ $var-description "This variable represents the location in the program. It is a tuple T{ spot f char column line next } where char is the current character, line is the line number, column is the column number, and line-str is the full contents of the line, as a string. The contents shouldn't be accessed directly but rather with the proxy words get-char set-char get-line etc." } ; - -HELP: skip-until -{ $values { "quot" "a quotation ( -- ? )" } } -{ $description "executes " { $link next } " until the quotation yields false. Usually, the quotation will call " { $link get-char } " in its test, but not always." } -{ $see-also take-until } ; - -HELP: take-until -{ $values { "quot" "a quotation ( -- ? )" } { "string" "a string" } } -{ $description "like " { $link skip-until } " but records what it passes over and outputs the string." } -{ $see-also skip-until take-char take-string } ; - -HELP: take-char -{ $values { "ch" "a character" } { "string" "a string" } } -{ $description "records the document from the current spot to the first instance of the given character. Outputs the content between those two points." } -{ $see-also take-until take-string } ; - -HELP: take-string -{ $values { "match" "a string to match" } { "string" "the portion of the XML document" } } -{ $description "records the document from the current spot to the first instance of the given character. Outputs the content between those two points." } -{ $notes "match may not contain a newline" } ; - -HELP: next -{ $description "originally written as " { $code "spot inc" } ", code that would no longer run, this word moves the state of the XML parser to the next place in the source file, keeping track of appropriate debugging information." } ; - -HELP: parsing-error -{ $class-description "class from which parsing errors inherit, containing information about which line and column the error occured on, and what the line was. Contains three slots, line, an integer, column, another integer, and line-str, a string" } ; diff --git a/basis/state-parser/state-parser.factor b/basis/state-parser/state-parser.factor deleted file mode 100644 index 9341f39426..0000000000 --- a/basis/state-parser/state-parser.factor +++ /dev/null @@ -1,158 +0,0 @@ -! Copyright (C) 2005, 2006 Daniel Ehrenberg -! See http://factorcode.org/license.txt for BSD license. -USING: io io.streams.string kernel math namespaces sequences -strings circular prettyprint debugger ascii sbufs fry summary -accessors ; -IN: state-parser - -! * Basic underlying words -! Code stored in stdio -! Spot is composite so it won't be lost in sub-scopes -TUPLE: spot char line column next ; - -C: spot - -: get-char ( -- char ) spot get char>> ; -: set-char ( char -- ) spot get swap >>char drop ; -: get-line ( -- line ) spot get line>> ; -: set-line ( line -- ) spot get swap >>line drop ; -: get-column ( -- column ) spot get column>> ; -: set-column ( column -- ) spot get swap >>column drop ; -: get-next ( -- char ) spot get next>> ; -: set-next ( char -- ) spot get swap >>next drop ; - -! * Errors -TUPLE: parsing-error line column ; - -: parsing-error ( class -- obj ) - new - get-line >>line - get-column >>column ; -M: parsing-error summary ( obj -- str ) - [ - "Parsing error" print - "Line: " write dup line>> . - "Column: " write column>> . - ] with-string-writer ; - -TUPLE: expected < parsing-error should-be was ; -: expected ( should-be was -- * ) - \ expected parsing-error - swap >>was - swap >>should-be throw ; -M: expected summary ( obj -- str ) - [ - dup call-next-method write - "Token expected: " write dup should-be>> print - "Token present: " write was>> print - ] with-string-writer ; - -TUPLE: unexpected-end < parsing-error ; -: unexpected-end ( -- * ) \ unexpected-end parsing-error throw ; -M: unexpected-end summary ( obj -- str ) - [ - call-next-method write - "File unexpectedly ended." print - ] with-string-writer ; - -TUPLE: missing-close < parsing-error ; -: missing-close ( -- * ) \ missing-close parsing-error throw ; -M: missing-close summary ( obj -- str ) - [ - call-next-method write - "Missing closing token." print - ] with-string-writer ; - -SYMBOL: prolog-data - -! * Basic utility words - -: record ( char -- ) - CHAR: \n = - [ 0 get-line 1+ set-line ] [ get-column 1+ ] if - set-column ; - -! (next) normalizes \r\n and \r -: (next) ( -- char ) - get-next read1 - 2dup swap CHAR: \r = [ - CHAR: \n = - [ nip read1 ] [ nip CHAR: \n swap ] if - ] [ drop ] if - set-next dup set-char ; - -: next ( -- ) - #! Increment spot. - get-char [ unexpected-end ] unless (next) record ; - -: next* ( -- ) - get-char [ (next) record ] when ; - -: skip-until ( quot: ( -- ? ) -- ) - get-char [ - [ call ] keep swap [ drop ] [ - next skip-until - ] if - ] [ drop ] if ; inline recursive - -: take-until ( quot -- string ) - #! Take the substring of a string starting at spot - #! from code until the quotation given is true and - #! advance spot to after the substring. - 10 [ - '[ @ [ t ] [ get-char _ push f ] if ] skip-until - ] keep >string ; inline - -: take-rest ( -- string ) - [ f ] take-until ; - -: take-char ( ch -- string ) - [ dup get-char = ] take-until nip ; - -TUPLE: not-enough-characters < parsing-error ; -: not-enough-characters ( -- * ) - \ not-enough-characters parsing-error throw ; -M: not-enough-characters summary ( obj -- str ) - [ - call-next-method write - "Not enough characters" print - ] with-string-writer ; - -: take ( n -- string ) - [ 1- ] [ ] bi [ - '[ drop get-char [ next _ push f ] [ t ] if* ] contains? drop - ] keep get-char [ over push ] when* >string ; - -: pass-blank ( -- ) - #! Advance code past any whitespace, including newlines - [ get-char blank? not ] skip-until ; - -: string-matches? ( string circular -- ? ) - get-char over push-circular - sequence= ; - -: take-string ( match -- string ) - dup length - [ 2dup string-matches? ] take-until nip - dup length rot length 1- - head - get-char [ missing-close ] unless next ; - -: expect ( ch -- ) - get-char 2dup = [ 2drop ] [ - [ 1string ] bi@ expected - ] if next ; - -: expect-string ( string -- ) - dup [ get-char next ] replicate 2dup = - [ 2drop ] [ expected ] if ; - -: init-parser ( -- ) - 0 1 0 f spot set - read1 set-next next ; - -: state-parse ( stream quot -- ) - ! with-input-stream implicitly creates a new scope which we use - swap [ init-parser call ] with-input-stream ; inline - -: string-parse ( input quot -- ) - [ ] dip state-parse ; inline diff --git a/basis/state-parser/summary.txt b/basis/state-parser/summary.txt deleted file mode 100644 index 5d1429090b..0000000000 --- a/basis/state-parser/summary.txt +++ /dev/null @@ -1 +0,0 @@ -State-machined based text parsing framework diff --git a/basis/validators/validators.factor b/basis/validators/validators.factor index e49f608e94..eaf8056c45 100644 --- a/basis/validators/validators.factor +++ b/basis/validators/validators.factor @@ -65,7 +65,7 @@ IN: validators v-regexp ; : v-url ( str -- str ) - "URL" R' (ftp|http|https)://\S+' v-regexp ; + "URL" R' (?:ftp|http|https)://\S+' v-regexp ; : v-captcha ( str -- str ) dup empty? [ "must remain blank" throw ] unless ; diff --git a/basis/xml/char-classes/char-classes.factor b/basis/xml/char-classes/char-classes.factor index 4688e20767..03e85e3ea3 100644 --- a/basis/xml/char-classes/char-classes.factor +++ b/basis/xml/char-classes/char-classes.factor @@ -1,21 +1,33 @@ ! Copyright (C) 2005, 2007 Daniel Ehrenberg ! See http://factorcode.org/license.txt for BSD license. -USING: kernel sequences unicode.syntax math math.order ; +USING: kernel sequences unicode.syntax math math.order combinators ; IN: xml.char-classes -CATEGORY: 1.0name-start* Ll Lu Lo Lt Nl \u000559\u0006E5\u0006E6_ ; +CATEGORY: 1.0name-start* Ll Lu Lo Lt Nl \u000559\u0006E5\u0006E6_: ; : 1.0name-start? ( char -- ? ) dup 1.0name-start*? [ drop t ] [ HEX: 2BB HEX: 2C1 between? ] if ; -CATEGORY: 1.0name-char Ll Lu Lo Lt Nl Mc Me Mn Lm Nd _-.\u000387 ; +CATEGORY: 1.0name-char Ll Lu Lo Lt Nl Mc Me Mn Lm Nd _-.\u000387: ; -CATEGORY: 1.1name-start Ll Lu Lo Lm Ln Nl _ ; +CATEGORY: 1.1name-start Ll Lu Lo Lm Ln Nl _: ; -CATEGORY: 1.1name-char Ll Lu Lo Lm Ln Nl Mc Mn Nd Pc Cf _-.\u0000b7 ; +CATEGORY: 1.1name-char Ll Lu Lo Lm Ln Nl Mc Mn Nd Pc Cf _-.\u0000b7: ; : name-start? ( 1.0? char -- ? ) swap [ 1.0name-start? ] [ 1.1name-start? ] if ; : name-char? ( 1.0? char -- ? ) swap [ 1.0name-char? ] [ 1.1name-char? ] if ; + +: text? ( 1.0? char -- ? ) + ! 1.0: + ! #x9 | #xA | #xD | [#x20-#xD7FF] | [#xE000-#xFFFD] | [#x10000-#x10FFFF] + ! 1.1: + ! [#x1-#xD7FF] | [#xE000-#xFFFD] | [#x10000-#x10FFFF] + { + { [ dup HEX: 20 < ] [ "\t\r\n" member? and ] } + { [ nip dup HEX: D800 < ] [ drop t ] } + { [ dup HEX: E000 < ] [ drop f ] } + [ { HEX: FFFE HEX: FFFF } member? not ] + } cond ; diff --git a/basis/xml/data/data-docs.factor b/basis/xml/data/data-docs.factor new file mode 100644 index 0000000000..c5f4f6d670 --- /dev/null +++ b/basis/xml/data/data-docs.factor @@ -0,0 +1,152 @@ +USING: help.markup help.syntax sequences strings ; +IN: xml.data + +ABOUT: "xml.data" + +ARTICLE: "xml.data" "XML data types" +{ $vocab-link "xml.data" } " defines a simple document object model for XML. Everything is simply a tuple and can be manipulated as such." +{ $subsection { "xml.data" "classes" } } +{ $subsection { "xml.data" "constructors" } } +"Simple words for manipulating names:" + { $subsection names-match? } + { $subsection assure-name } +"For high-level tools for manipulating XML, see " { $vocab-link "xml.utilities" } ; + +ARTICLE: { "xml.data" "classes" } "XML data classes" + "Data types that XML documents are made of:" + { $subsection name } + { $subsection tag } + { $subsection contained-tag } + { $subsection open-tag } + { $subsection xml } + { $subsection prolog } + { $subsection comment } + { $subsection instruction } + { $subsection element-decl } + { $subsection attlist-decl } + { $subsection entity-decl } + { $subsection system-id } + { $subsection public-id } + { $subsection doctype-decl } + { $subsection notation-decl } ; + +ARTICLE: { "xml.data" "constructors" } "XML data constructors" + "These data types are constructed with:" + { $subsection } + { $subsection } + { $subsection } + { $subsection } + { $subsection } + { $subsection } + { $subsection } + { $subsection } + { $subsection } + { $subsection } + { $subsection } + { $subsection } + { $subsection } + { $subsection } + { $subsection } ; + +HELP: tag +{ $class-description "tuple representing an XML tag, delegating to a " { $link +name } ", containing the slots attrs (an alist of names to strings) and children (a sequence). Tags implement the sequence protocol by acting like a sequence of its chidren, and the assoc protocol by acting like its attributes." } +{ $see-also name contained-tag xml } ; + +HELP: +{ $values { "name" "an XML tag name" } + { "attrs" "an alist of names to strings" } + { "children" sequence } + { "tag" tag } } +{ $description "constructs an XML " { $link tag } " with the name (not a string) and tag attributes specified in attrs and children specified" } +{ $see-also tag } ; + +HELP: name +{ $class-description "represents an XML name, with the fields space (a string representing the namespace, as written in the document, tag (a string of the actual name of the tag) and url (a string of the URL that the namespace points to)" } +{ $see-also tag } ; + +HELP: +{ $values { "space" "a string" } { "main" "a string" } { "url" "a string" } + { "name" "an XML tag name" } } +{ $description "creates a name tuple with the name-space space and the tag-name tag and the tag-url url." } +{ $see-also name } ; + +HELP: contained-tag +{ $class-description "delegates to tag representing a tag like with no contents. The tag attributes are accessed with tag-attrs" } +{ $see-also tag } ; + +HELP: +{ $values { "name" "an XML tag name" } + { "attrs" "an alist from names to strings" } + { "tag" tag } } +{ $description "creates an empty tag (like ) with the specified name and tag attributes. This delegates to tag" } +{ $see-also contained-tag } ; + +HELP: xml +{ $class-description "tuple representing an XML document, delegating to the main tag, containing the fields prolog (the header ), before (whatever comes between the prolog and the main tag) and after (whatever comes after the main tag)" } +{ $see-also tag prolog } ; + +HELP: +{ $values { "prolog" "an XML prolog" } { "before" "a sequence of XML elements" } +{ "body" tag } { "after" "a sequence of XML elements" } { "xml" "an XML document" } } +{ $description "creates an XML document, delegating to the main tag, with the specified prolog, before, and after" } +{ $see-also xml } ; + +HELP: prolog +{ $class-description "represents an XML prolog, with the tuple fields version (containing \"1.0\" or \"1.1\"), encoding (a string representing the encoding type), and standalone (t or f, whether the document is standalone without external entities)" } +{ $see-also xml } ; + +HELP: +{ $values { "version" "a string, 1.0 or 1.1" } +{ "encoding" "a string" } { "standalone" "a boolean" } { "prolog" "an XML prolog" } } +{ $description "creates an XML prolog tuple" } +{ $see-also prolog } ; + +HELP: comment +{ $class-description "represents a comment in XML. Has one slot, text, which contains the string of the comment" } +{ $see-also } ; + +HELP: +{ $values { "text" "a string" } { "comment" "a comment" } } +{ $description "creates an XML comment tuple" } +{ $see-also comment } ; + +HELP: instruction +{ $class-description "represents an XML instruction, such as . Contains one slot, text, which contains the string between the question marks." } +{ $see-also } ; + +HELP: +{ $values { "text" "a string" } { "instruction" "an XML instruction" } } +{ $description "creates an XML parsing instruction, such as ." } +{ $see-also instruction } ; + +HELP: opener +{ $class-description "describes an opening tag, like . Contains two slots, name and attrs containing, respectively, the name of the tag and its attributes. Usually, the name-url will be f." } +{ $see-also closer contained } ; + +HELP: closer +{ $class-description "describes a closing tag, like . Contains one slot, name, containing the tag's name. Usually, the name-url will be f." } +{ $see-also opener contained } ; + +HELP: contained +{ $class-description "represents a self-closing tag, like . Contains two slots, name and attrs containing, respectively, the name of the tag and its attributes. Usually, the name-url will be f." } +{ $see-also opener closer } ; + +HELP: open-tag +{ $class-description "represents a tag that does have children, ie is not a contained tag" } +{ $notes "the constructor used for this class is simply " { $link } "." } +{ $see-also tag contained-tag } ; + +HELP: names-match? +{ $values { "name1" "a name" } { "name2" "a name" } { "?" "t or f" } } +{ $description "checks to see if the two names match, that is, if all fields are equal, ignoring fields whose value is f in either name." } +{ $example "USING: prettyprint xml.data ;" "T{ name f \"rpc\" \"methodCall\" f } T{ name f f \"methodCall\" \"http://www.xmlrpc.org/\" } names-match? ." "t" } +{ $see-also name } ; + +HELP: assure-name +{ $values { "string/name" "a string or a name" } { "name" "a name" } } +{ $description "Converts a string into an XML name, if it is not already a name." } ; + +HELP: +{ $values { "string" string } { "name" name } } +{ $description "Converts a string into an XML name with an empty prefix and URL." } ; diff --git a/basis/xml/data/data.factor b/basis/xml/data/data.factor index bf4e2047a7..8e6ff4bf09 100644 --- a/basis/xml/data/data.factor +++ b/basis/xml/data/data.factor @@ -17,10 +17,13 @@ C: name [ [ main>> ] bi@ ?= ] 2tri and and ; : ( string -- name ) + "" swap f ; + +: ( string -- name ) f swap f ; : assure-name ( string/name -- name ) - dup name? [ ] unless ; + dup name? [ ] unless ; TUPLE: opener name attrs ; C: opener @@ -54,6 +57,9 @@ C: public-id TUPLE: doctype-decl < directive name external-id internal-subset ; C: doctype-decl +TUPLE: notation-decl < directive name id ; +C: notation-decl + TUPLE: instruction text ; C: instruction diff --git a/basis/xml/entities/entities-docs.factor b/basis/xml/entities/entities-docs.factor new file mode 100644 index 0000000000..ab105300e1 --- /dev/null +++ b/basis/xml/entities/entities-docs.factor @@ -0,0 +1,22 @@ +! Copyright (C) 2005, 2009 Daniel Ehrenberg +! See http://factorcode.org/license.txt for BSD license. +USING: help.markup help.syntax ; +IN: xml.entities + +ABOUT: "xml.entities" + +ARTICLE: "xml.entities" "XML entities" + "When XML is parsed, entities like &foo; are replaced with the characters they represent. A few entities like & and < are defined by default, but more are available, and the set of entities can be customized. Below are some words involved in XML entities, defined in the vocabulary 'entities':" + { $subsection entities } + { $subsection with-entities } +"For entities used in HTML/XHTML, see " { $vocab-link "xml.entities.html" } ; + +HELP: entities +{ $description "a hash table from default XML entity names (like & and <) to the characters they represent. This is automatically included when parsing any XML document." } +{ $see-also with-entities } ; + +HELP: with-entities +{ $values { "entities" "a hash table of strings to chars" } + { "quot" "a quotation ( -- )" } } +{ $description "calls the quotation using the given table of entity values (symbolizing, eg, that &foo; represents CHAR: a) on top of the default XML entities" } ; + diff --git a/basis/xml/entities/html/html-docs.factor b/basis/xml/entities/html/html-docs.factor new file mode 100644 index 0000000000..2e1b67a100 --- /dev/null +++ b/basis/xml/entities/html/html-docs.factor @@ -0,0 +1,18 @@ +! Copyright (C) 2005, 2009 Daniel Ehrenberg +! See http://factorcode.org/license.txt for BSD license. +USING: help.markup help.syntax xml.entities ; +IN: xml.entities.html + +ARTICLE: "xml.entities.html" "HTML entities" +{ $vocab-link "xml.entities.html" } " defines words for using entities defined in HTML/XHTML." + { $subsection html-entities } + { $subsection with-html-entities } ; + +HELP: html-entities +{ $description "a hash table from HTML entity names to their character values" } +{ $see-also entities with-html-entities } ; + +HELP: with-html-entities +{ $values { "quot" "a quotation ( -- )" } } +{ $description "calls the given quotation using HTML entity values" } +{ $see-also html-entities with-entities } ; diff --git a/basis/xml/entities/html/html.factor b/basis/xml/entities/html/html.factor index 6f2732f1d9..601b95a596 100644 --- a/basis/xml/entities/html/html.factor +++ b/basis/xml/entities/html/html.factor @@ -7,8 +7,10 @@ IN: xml.entities.html VALUE: html-entities : read-entities-file ( file -- table ) - f swap binary - [ 2drop extra-entities get ] sax ; + H{ } clone [ extra-entities [ + binary + [ drop ] sax + ] with-variable ] keep ; : get-html ( -- table ) { "lat1" "special" "symbol" } [ diff --git a/basis/xml/errors/errors-docs.factor b/basis/xml/errors/errors-docs.factor new file mode 100644 index 0000000000..b95aecc47a --- /dev/null +++ b/basis/xml/errors/errors-docs.factor @@ -0,0 +1,68 @@ +! Copyright (C) 2005, 2009 Daniel Ehrenberg +! See http://factorcode.org/license.txt for BSD license. +USING: help.markup help.syntax ; +IN: xml.errors + +HELP: multitags +{ $class-description "XML parsing error describing the case where there is more than one main tag in a document. Contains no slots" } ; + +HELP: notags +{ $class-description "XML parsing error describing the case where an XML document contains no main tag, or any tags at all" } ; + +HELP: extra-attrs +{ $class-description "XML parsing error describing the case where the XML prolog () contains attributes other than the three allowed ones, standalone, version and encoding. Contains one slot, attrs, which is a hashtable of all the extra attributes' names. Delegates to " { $link parsing-error } "." } ; + +HELP: nonexist-ns +{ $class-description "XML parsing error describing the case where a namespace doesn't exist but it is used in a tag. Contains one slot, name, which contains the name of the undeclared namespace, and delegates to " { $link parsing-error } "." } ; + +HELP: not-yes/no +{ $class-description "XML parsing error used to describe the case where standalone is set in the XML prolog to something other than 'yes' or 'no'. Delegates to " { $link parsing-error } " and contains one slot, text, which contains offending value." } ; + +HELP: unclosed +{ $class-description "XML parsing error used to describe the case where the XML document contains classes which are not closed by the end of the document. Contains one slot, tags, a sequence of names." } ; + +HELP: mismatched +{ $class-description "XML parsing error describing mismatched tags, eg . Contains two slots: open is the name of the opening tag and close is the name of the closing tag. Delegates to " { $link parsing-error } " showing the location of the closing tag" } ; + +HELP: expected +{ $class-description "XML parsing error describing when an expected token was not present. Delegates to " { $link parsing-error } ". Contains two slots, should-be, which has the expected string, and was, which has the actual string." } ; + +HELP: no-entity +{ $class-description "XML parsing error describing the use of an undefined entity in a case where standalone is marked yes. Delegates to " { $link parsing-error } ". Contains one slot, thing, containing a string representing the entity." } ; + + +HELP: pre/post-content +{ $class-description "describes the error where a non-whitespace string is used before or after the main tag in an XML document. Contains two slots: string contains the offending string, and pre? is t if it occured before the main tag and f if it occured after" } ; + +HELP: unclosed-quote +{ $class-description "describes the error where a quotation for an attribute value is opened but not closed before the end of the document." } ; + +HELP: bad-name +{ $class-description "describes the error where a name is used, for example in an XML tag or attribute key, which is invalid." } ; + +HELP: quoteless-attr +{ $class-description "describes the error where an attribute of an XML tag is missing quotes around a value." } ; + +HELP: xml-parse-error +{ $class-description "the exception class that all parsing errors in XML documents are in." } ; + +ARTICLE: "xml.errors" "XML parsing errors" + { $vocab-link "xml.errors" } " provides a rich and highly inspectable set of parsing errors. All XML errors are described by the union class " { $link xml-parse-error } " but there are many classes contained in that:" + { $subsection multitags } + { $subsection notags } + { $subsection extra-attrs } + { $subsection nonexist-ns } + { $subsection not-yes/no } + { $subsection unclosed } + { $subsection mismatched } + { $subsection expected } + { $subsection no-entity } + { $subsection pre/post-content } + { $subsection unclosed-quote } + { $subsection bad-name } + { $subsection quoteless-attr } + "Additionally, most of these errors are a kind of " { $link parsing-error } " which provides more information" + $nl + "Note that, in parsing an XML document, only the first error is reported." ; + +ABOUT: "xml.errors" diff --git a/basis/xml/errors/errors-tests.factor b/basis/xml/errors/errors-tests.factor index 426ef57736..1aff55fa74 100644 --- a/basis/xml/errors/errors-tests.factor +++ b/basis/xml/errors/errors-tests.factor @@ -1,5 +1,5 @@ USING: continuations xml xml.errors tools.test kernel arrays -xml.data state-parser quotations fry ; +xml.data quotations fry ; IN: xml.errors.tests : xml-error-test ( expected-error xml-string -- ) @@ -25,8 +25,12 @@ T{ capitalized-prolog f 1 6 "XmL" } "" xml-error-test T{ pre/post-content f "x" t } "x" xml-error-test T{ versionless-prolog f 1 8 } "" xml-error-test -T{ bad-instruction f 1 11 T{ instruction f "xsl" } } - "" xml-error-test T{ unclosed-quote f 1 13 } "" xml-error-test +T{ text-w/]]> f 1 6 } "]]>" xml-error-test +T{ duplicate-attr f 1 21 T{ name { space "" } { main "this" } } V{ "a" "b" } } "" xml-error-test +T{ bad-cdata f 1 3 } "" xml-error-test +T{ bad-cdata f 1 7 } "" xml-error-test +T{ pre/post-content f "&" t } "&32;" xml-error-test diff --git a/basis/xml/errors/errors.factor b/basis/xml/errors/errors.factor index 9d3d8a6bb0..fe58eac317 100644 --- a/basis/xml/errors/errors.factor +++ b/basis/xml/errors/errors.factor @@ -1,10 +1,61 @@ ! Copyright (C) 2005, 2006 Daniel Ehrenberg ! See http://factorcode.org/license.txt for BSD license. USING: xml.data xml.writer kernel generic io prettyprint math -debugger sequences state-parser accessors summary +debugger sequences xml.state accessors summary namespaces io.streams.string xml.backend ; IN: xml.errors +TUPLE: parsing-error line column ; + +: parsing-error ( class -- obj ) + new + get-line >>line + get-column >>column ; +M: parsing-error summary ( obj -- str ) + [ + "Parsing error" print + "Line: " write dup line>> . + "Column: " write column>> . + ] with-string-writer ; + +TUPLE: expected < parsing-error should-be was ; +: expected ( should-be was -- * ) + \ expected parsing-error + swap >>was + swap >>should-be throw ; +M: expected summary ( obj -- str ) + [ + dup call-next-method write + "Token expected: " write dup should-be>> print + "Token present: " write was>> print + ] with-string-writer ; + +TUPLE: unexpected-end < parsing-error ; +: unexpected-end ( -- * ) \ unexpected-end parsing-error throw ; +M: unexpected-end summary ( obj -- str ) + [ + call-next-method write + "File unexpectedly ended." print + ] with-string-writer ; + +TUPLE: missing-close < parsing-error ; +: missing-close ( -- * ) \ missing-close parsing-error throw ; +M: missing-close summary ( obj -- str ) + [ + call-next-method write + "Missing closing token." print + ] with-string-writer ; + +TUPLE: disallowed-char < parsing-error char ; + +: disallowed-char ( char -- * ) + \ disallowed-char parsing-error swap >>char throw ; + +M: disallowed-char summary + [ call-next-method ] + [ char>> "Disallowed character in XML document: " swap suffix ] bi + append ; + ERROR: multitags ; M: multitags summary ( obj -- str ) @@ -170,18 +221,6 @@ M: versionless-prolog summary ( obj -- str ) "XML prolog lacks a version declaration" print ] with-string-writer ; -TUPLE: bad-instruction < parsing-error instruction ; - -: bad-instruction ( instruction -- * ) - \ bad-instruction parsing-error swap >>instruction throw ; - -M: bad-instruction summary ( obj -- str ) - [ - dup call-next-method write - "Misplaced processor instruction:" print - instruction>> write-xml-chunk nl - ] with-string-writer ; - TUPLE: bad-directive < parsing-error dir ; : bad-directive ( directive -- * ) @@ -194,13 +233,13 @@ M: bad-directive summary ( obj -- str ) dir>> write ] with-string-writer ; -TUPLE: bad-doctype-decl < parsing-error ; +TUPLE: bad-decl < parsing-error ; -: bad-doctype-decl ( -- * ) - \ bad-doctype-decl parsing-error throw ; +: bad-decl ( -- * ) + \ bad-decl parsing-error throw ; -M: bad-doctype-decl summary ( obj -- str ) - call-next-method "\nBad DOCTYPE" append ; +M: bad-decl summary ( obj -- str ) + call-next-method "\nExtra content in directive" append ; TUPLE: bad-external-id < parsing-error ; @@ -249,7 +288,53 @@ TUPLE: quoteless-attr < parsing-error ; M: quoteless-attr summary call-next-method "Attribute lacks quotes around value\n" append ; -UNION: xml-parse-error multitags notags extra-attrs nonexist-ns - not-yes/no unclosed mismatched expected no-entity - bad-prolog versionless-prolog capitalized-prolog bad-instruction - bad-directive bad-name unclosed-quote quoteless-attr ; +TUPLE: attr-w/< < parsing-error ; + +: attr-w/< ( value -- * ) + \ attr-w/< parsing-error throw ; + +M: attr-w/< summary + call-next-method + "Attribute value contains literal <" append ; + +TUPLE: text-w/]]> < parsing-error ; + +: text-w/]]> ( text -- * ) + \ text-w/]]> parsing-error throw ; + +M: text-w/]]> summary + call-next-method + "Text node contains ']]>'" append ; + +TUPLE: duplicate-attr < parsing-error key values ; + +: duplicate-attr ( key values -- * ) + \ duplicate-attr parsing-error + swap >>values swap >>key throw ; + +M: duplicate-attr summary + call-next-method "\nDuplicate attribute" append ; + +TUPLE: bad-cdata < parsing-error ; + +: bad-cdata ( -- * ) + \ bad-cdata parsing-error throw ; + +M: bad-cdata summary + call-next-method "\nCDATA occurs before or after main tag" append ; + +TUPLE: not-enough-characters < parsing-error ; +: not-enough-characters ( -- * ) + \ not-enough-characters parsing-error throw ; +M: not-enough-characters summary ( obj -- str ) + [ + call-next-method write + "Not enough characters" print + ] with-string-writer ; + +UNION: xml-parse-error + multitags notags extra-attrs nonexist-ns bad-decl + not-yes/no unclosed mismatched expected no-entity + bad-prolog versionless-prolog capitalized-prolog + bad-directive bad-name unclosed-quote quoteless-attr + attr-w/< text-w/]]> duplicate-attr ; diff --git a/basis/xml/interpolate/authors.txt b/basis/xml/interpolate/authors.txt new file mode 100644 index 0000000000..29e79639ae --- /dev/null +++ b/basis/xml/interpolate/authors.txt @@ -0,0 +1 @@ +Daniel Ehrenberg \ No newline at end of file diff --git a/basis/xml/interpolate/interpolate-tests.factor b/basis/xml/interpolate/interpolate-tests.factor new file mode 100644 index 0000000000..0adcb51123 --- /dev/null +++ b/basis/xml/interpolate/interpolate-tests.factor @@ -0,0 +1,4 @@ +! Copyright (C) 2009 Daniel Ehrenberg. +! See http://factorcode.org/license.txt for BSD license. +USING: tools.test xml.interpolate ; +IN: xml.interpolate.tests diff --git a/basis/xml/interpolate/interpolate.factor b/basis/xml/interpolate/interpolate.factor new file mode 100644 index 0000000000..262d0e1adc --- /dev/null +++ b/basis/xml/interpolate/interpolate.factor @@ -0,0 +1,4 @@ +! Copyright (C) 2009 Daniel Ehrenberg. +! See http://factorcode.org/license.txt for BSD license. +USING: ; +IN: xml.interpolate diff --git a/basis/xml/state/state.factor b/basis/xml/state/state.factor new file mode 100644 index 0000000000..8978041111 --- /dev/null +++ b/basis/xml/state/state.factor @@ -0,0 +1,19 @@ +! Copyright (C) 2005, 2009 Daniel Ehrenberg +! See http://factorcode.org/license.txt for BSD license. +USING: accessors kernel namespaces ; +IN: xml.state + +TUPLE: spot char line column next check ; + +C: spot + +: get-char ( -- char ) spot get char>> ; +: set-char ( char -- ) spot get swap >>char drop ; +: get-line ( -- line ) spot get line>> ; +: set-line ( line -- ) spot get swap >>line drop ; +: get-column ( -- column ) spot get column>> ; +: set-column ( column -- ) spot get swap >>column drop ; +: get-next ( -- char ) spot get next>> ; +: set-next ( char -- ) spot get swap >>next drop ; +: get-check ( -- ? ) spot get check>> ; +: check ( -- ) spot get t >>check drop ; diff --git a/basis/xml/tests/soap.xml b/basis/xml/tests/soap.xml index 063090b5f4..a8093442ca 100644 --- a/basis/xml/tests/soap.xml +++ b/basis/xml/tests/soap.xml @@ -25,9 +25,9 @@ true -The O$-1òùReilly <b>Factor</b> with Bill OòùReilly on FOXNews.com. Bill OòùReilly hosts The <br> OòùReilly <b>Factor</b>, the most-watched program on cable news. +The O$-1òùReilly <b>Factor</b> with Bill OòùReilly on FOXNews.com. Bill OòùReilly hosts The <br> OòùReilly <b>Factor</b>, the most-watched program on cable news. -Bill O$-1òùReilly | The OòùReilly <b>Factor</b> - FOXNews.com +Bill O$-1òùReilly | The OòùReilly <b>Factor</b> - FOXNews.com http://www.factor.ca/ diff --git a/basis/state-parser/state-parser-tests.factor b/basis/xml/tests/state-parser-tests.factor similarity index 69% rename from basis/state-parser/state-parser-tests.factor rename to basis/xml/tests/state-parser-tests.factor index e0b274b3e6..3ac9d8bc91 100644 --- a/basis/state-parser/state-parser-tests.factor +++ b/basis/xml/tests/state-parser-tests.factor @@ -1,4 +1,11 @@ -USING: tools.test state-parser kernel io strings ascii ; +USING: tools.test xml.tokenize xml.state io.streams.string kernel io strings ascii ; +IN: xml.test.state + +: string-parse ( str quot -- ) + [ ] dip state-parse ; + +: take-rest ( -- string ) + [ f ] take-until ; [ "hello" ] [ "hello" [ take-rest ] string-parse ] unit-test [ 2 4 ] [ "12\n123" [ take-rest drop get-line get-column ] string-parse ] unit-test diff --git a/basis/xml/tests/test.factor b/basis/xml/tests/test.factor index 7a826756b6..edbb236581 100644 --- a/basis/xml/tests/test.factor +++ b/basis/xml/tests/test.factor @@ -3,7 +3,7 @@ IN: xml.tests USING: kernel xml tools.test io namespaces make sequences xml.errors xml.entities.html parser strings xml.data io.files -xml.writer xml.utilities state-parser continuations assocs +xml.writer xml.utilities continuations assocs sequences.deep accessors io.streams.string ; ! This is insufficient @@ -64,4 +64,5 @@ SYMBOL: xml-file [ t ] [ "" dup string>xml-chunk [ write-xml-chunk ] with-string-writer = ] unit-test [ "foo" ] [ "&bar;" string>xml children>string ] unit-test [ V{ "hello" } ] [ "hello" string>xml-chunk ] unit-test -[ 958 ] [ [ "ξ" string>xml-chunk ] with-html-entities first first ] unit-test \ No newline at end of file +[ 958 ] [ [ "ξ" string>xml-chunk ] with-html-entities first first ] unit-test +[ "x" "<" ] [ "" string>xml [ name>> main>> ] [ "value" swap at ] bi ] unit-test diff --git a/basis/xml/tests/xmltest.factor b/basis/xml/tests/xmltest.factor new file mode 100644 index 0000000000..8caa5e8a75 --- /dev/null +++ b/basis/xml/tests/xmltest.factor @@ -0,0 +1,53 @@ +USING: accessors assocs combinators continuations fry generalizations +io.pathnames kernel macros sequences stack-checker tools.test xml +xml.utilities xml.writer arrays ; +IN: xml.tests.suite + +TUPLE: xml-test id uri sections description type ; + +: >xml-test ( tag -- test ) + xml-test new swap { + [ "TYPE" swap at >>type ] + [ "ID" swap at >>id ] + [ "URI" swap at >>uri ] + [ "SECTIONS" swap at >>sections ] + [ children>> xml-chunk>string >>description ] + } cleave ; + +: parse-tests ( xml -- tests ) + "TEST" tags-named [ >xml-test ] map ; + +: base "resource:basis/xml/tests/xmltest/" ; + +MACRO: drop-output ( quot -- newquot ) + dup infer out>> '[ @ _ ndrop ] ; + +MACRO: drop-input ( quot -- newquot ) + infer in>> '[ _ ndrop ] ; + +: fails? ( quot -- ? ) + [ '[ _ drop-output f ] ] + [ '[ drop _ drop-input t ] ] bi recover ; inline + +: well-formed? ( uri -- answer ) + [ file>xml ] fails? "not-wf" "valid" ? ; + +: test-quots ( test -- result quot ) + [ type>> '[ _ ] ] + [ '[ _ uri>> base swap append-path well-formed? ] ] bi ; + +: xml-tests ( -- tests ) + base "xmltest.xml" append-path file>xml + parse-tests [ test-quots 2array ] map ; + +: run-xml-tests ( -- ) + xml-tests [ unit-test ] assoc-each ; + +: works? ( result quot -- ? ) + [ first ] [ call ] bi* = ; + +: partition-xml-tests ( -- successes failures ) + xml-tests [ first2 works? ] partition ; + +: failing-valids ( -- tests ) + partition-xml-tests nip [ second first ] map [ type>> "valid" = ] filter ; diff --git a/basis/xml/tests/xmltest/canonxml.html b/basis/xml/tests/xmltest/canonxml.html new file mode 100755 index 0000000000..2ba0edf6c6 --- /dev/null +++ b/basis/xml/tests/xmltest/canonxml.html @@ -0,0 +1,44 @@ + +Canonical XML + +

Canonical XML

+

+This document defines a subset of XML called canonical XML. +The intended use of canonical XML is in testing XML processors, +as a representation of the result of parsing an XML document. +

+Every well-formed XML document has a unique structurally equivalent +canonical XML document. Two structurally equivalent XML +documents have a byte-for-byte identical canonical XML document. +Canonicalizing an XML document requires only information that an XML +processor is required to make available to an application. +

+A canonical XML document conforms to the following grammar: +

+CanonXML    ::= Pi* element Pi*
+element     ::= Stag (Datachar | Pi | element)* Etag
+Stag        ::= '<'  Name Atts '>'
+Etag        ::= '</' Name '>'
+Pi          ::= '<?' Name ' ' (((Char - S) Char*)? - (Char* '?>' Char*)) '?>'
+Atts        ::= (' ' Name '=' '"' Datachar* '"')*
+Datachar    ::= '&amp;' | '&lt;' | '&gt;' | '&quot;'
+                 | '&#9;'| '&#10;'| '&#13;'
+                 | (Char - ('&' | '<' | '>' | '"' | #x9 | #xA | #xD))
+Name        ::= (see XML spec)
+Char        ::= (see XML spec)
+S           ::= (see XML spec)
+
+

+Attributes are in lexicographical order (in Unicode bit order). +

+A canonical XML document is encoded in UTF-8. +

+Ignorable white space is considered significant and is treated equivalently +to data. +

+

+James Clark +
+ + + \ No newline at end of file diff --git a/basis/xml/tests/xmltest/invalid/002.ent b/basis/xml/tests/xmltest/invalid/002.ent new file mode 100755 index 0000000000..4cb848b438 --- /dev/null +++ b/basis/xml/tests/xmltest/invalid/002.ent @@ -0,0 +1,2 @@ + + diff --git a/basis/xml/tests/xmltest/invalid/002.xml b/basis/xml/tests/xmltest/invalid/002.xml new file mode 100755 index 0000000000..5a3a96d1ab --- /dev/null +++ b/basis/xml/tests/xmltest/invalid/002.xml @@ -0,0 +1,2 @@ + + diff --git a/basis/xml/tests/xmltest/invalid/005.ent b/basis/xml/tests/xmltest/invalid/005.ent new file mode 100755 index 0000000000..85e16474a6 --- /dev/null +++ b/basis/xml/tests/xmltest/invalid/005.ent @@ -0,0 +1,2 @@ +"> + + diff --git a/basis/xml/tests/xmltest/invalid/006.ent b/basis/xml/tests/xmltest/invalid/006.ent new file mode 100755 index 0000000000..116ca79657 --- /dev/null +++ b/basis/xml/tests/xmltest/invalid/006.ent @@ -0,0 +1,2 @@ +"> + + diff --git a/basis/xml/tests/xmltest/invalid/not-sa/022.ent b/basis/xml/tests/xmltest/invalid/not-sa/022.ent new file mode 100644 index 0000000000..26f2d8beb2 --- /dev/null +++ b/basis/xml/tests/xmltest/invalid/not-sa/022.ent @@ -0,0 +1,3 @@ + + + ]]> diff --git a/basis/xml/tests/xmltest/invalid/not-sa/022.xml b/basis/xml/tests/xmltest/invalid/not-sa/022.xml new file mode 100644 index 0000000000..b639f2551c --- /dev/null +++ b/basis/xml/tests/xmltest/invalid/not-sa/022.xml @@ -0,0 +1,2 @@ + + diff --git a/basis/xml/tests/xmltest/invalid/not-sa/out/022.xml b/basis/xml/tests/xmltest/invalid/not-sa/out/022.xml new file mode 100644 index 0000000000..e05cfe6c31 --- /dev/null +++ b/basis/xml/tests/xmltest/invalid/not-sa/out/022.xml @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/basis/xml/tests/xmltest/not-wf/ext-sa/001.ent b/basis/xml/tests/xmltest/not-wf/ext-sa/001.ent new file mode 100755 index 0000000000..378a2074b7 --- /dev/null +++ b/basis/xml/tests/xmltest/not-wf/ext-sa/001.ent @@ -0,0 +1 @@ +&e; \ No newline at end of file diff --git a/basis/xml/tests/xmltest/not-wf/ext-sa/001.xml b/basis/xml/tests/xmltest/not-wf/ext-sa/001.xml new file mode 100755 index 0000000000..aa624cbe71 --- /dev/null +++ b/basis/xml/tests/xmltest/not-wf/ext-sa/001.xml @@ -0,0 +1,4 @@ + +]> +&e; diff --git a/basis/xml/tests/xmltest/not-wf/ext-sa/002.ent b/basis/xml/tests/xmltest/not-wf/ext-sa/002.ent new file mode 100755 index 0000000000..2cd184a213 --- /dev/null +++ b/basis/xml/tests/xmltest/not-wf/ext-sa/002.ent @@ -0,0 +1,3 @@ + +data + diff --git a/basis/xml/tests/xmltest/not-wf/ext-sa/002.xml b/basis/xml/tests/xmltest/not-wf/ext-sa/002.xml new file mode 100755 index 0000000000..9eaf91724f --- /dev/null +++ b/basis/xml/tests/xmltest/not-wf/ext-sa/002.xml @@ -0,0 +1,5 @@ + + +]> +&e; diff --git a/basis/xml/tests/xmltest/not-wf/ext-sa/003.ent b/basis/xml/tests/xmltest/not-wf/ext-sa/003.ent new file mode 100755 index 0000000000..ac292ee2f3 --- /dev/null +++ b/basis/xml/tests/xmltest/not-wf/ext-sa/003.ent @@ -0,0 +1,2 @@ + +data diff --git a/basis/xml/tests/xmltest/not-wf/ext-sa/003.xml b/basis/xml/tests/xmltest/not-wf/ext-sa/003.xml new file mode 100755 index 0000000000..bb60b663ef --- /dev/null +++ b/basis/xml/tests/xmltest/not-wf/ext-sa/003.xml @@ -0,0 +1,5 @@ + + +]> +&e; diff --git a/basis/xml/tests/xmltest/not-wf/not-sa/001.ent b/basis/xml/tests/xmltest/not-wf/not-sa/001.ent new file mode 100755 index 0000000000..00096e572e --- /dev/null +++ b/basis/xml/tests/xmltest/not-wf/not-sa/001.ent @@ -0,0 +1,3 @@ + +]> diff --git a/basis/xml/tests/xmltest/not-wf/not-sa/001.xml b/basis/xml/tests/xmltest/not-wf/not-sa/001.xml new file mode 100755 index 0000000000..36188451ae --- /dev/null +++ b/basis/xml/tests/xmltest/not-wf/not-sa/001.xml @@ -0,0 +1,2 @@ + + diff --git a/basis/xml/tests/xmltest/not-wf/not-sa/002.xml b/basis/xml/tests/xmltest/not-wf/not-sa/002.xml new file mode 100755 index 0000000000..dd73174135 --- /dev/null +++ b/basis/xml/tests/xmltest/not-wf/not-sa/002.xml @@ -0,0 +1,6 @@ + +"> +%e; +]> + \ No newline at end of file diff --git a/basis/xml/tests/xmltest/not-wf/not-sa/003.ent b/basis/xml/tests/xmltest/not-wf/not-sa/003.ent new file mode 100755 index 0000000000..abf1b1a35e --- /dev/null +++ b/basis/xml/tests/xmltest/not-wf/not-sa/003.ent @@ -0,0 +1,2 @@ + + + diff --git a/basis/xml/tests/xmltest/not-wf/not-sa/004.ent b/basis/xml/tests/xmltest/not-wf/not-sa/004.ent new file mode 100755 index 0000000000..552e4f520a --- /dev/null +++ b/basis/xml/tests/xmltest/not-wf/not-sa/004.ent @@ -0,0 +1,2 @@ + + + diff --git a/basis/xml/tests/xmltest/not-wf/not-sa/005.ent b/basis/xml/tests/xmltest/not-wf/not-sa/005.ent new file mode 100755 index 0000000000..9a369cef12 --- /dev/null +++ b/basis/xml/tests/xmltest/not-wf/not-sa/005.ent @@ -0,0 +1,2 @@ + +%e; diff --git a/basis/xml/tests/xmltest/not-wf/not-sa/005.xml b/basis/xml/tests/xmltest/not-wf/not-sa/005.xml new file mode 100755 index 0000000000..383553d24f --- /dev/null +++ b/basis/xml/tests/xmltest/not-wf/not-sa/005.xml @@ -0,0 +1,2 @@ + + diff --git a/basis/xml/tests/xmltest/not-wf/not-sa/006.ent b/basis/xml/tests/xmltest/not-wf/not-sa/006.ent new file mode 100755 index 0000000000..771daf1915 --- /dev/null +++ b/basis/xml/tests/xmltest/not-wf/not-sa/006.ent @@ -0,0 +1,3 @@ + +]]> diff --git a/basis/xml/tests/xmltest/not-wf/not-sa/006.xml b/basis/xml/tests/xmltest/not-wf/not-sa/006.xml new file mode 100755 index 0000000000..2f14e839e2 --- /dev/null +++ b/basis/xml/tests/xmltest/not-wf/not-sa/006.xml @@ -0,0 +1,2 @@ + + diff --git a/basis/xml/tests/xmltest/not-wf/not-sa/007.ent b/basis/xml/tests/xmltest/not-wf/not-sa/007.ent new file mode 100755 index 0000000000..9e9866d2ad --- /dev/null +++ b/basis/xml/tests/xmltest/not-wf/not-sa/007.ent @@ -0,0 +1,3 @@ + +]> diff --git a/basis/xml/tests/xmltest/not-wf/not-sa/007.xml b/basis/xml/tests/xmltest/not-wf/not-sa/007.xml new file mode 100755 index 0000000000..38897e34ea --- /dev/null +++ b/basis/xml/tests/xmltest/not-wf/not-sa/007.xml @@ -0,0 +1,2 @@ + + diff --git a/basis/xml/tests/xmltest/not-wf/not-sa/008.ent b/basis/xml/tests/xmltest/not-wf/not-sa/008.ent new file mode 100755 index 0000000000..f8b1cd3dad --- /dev/null +++ b/basis/xml/tests/xmltest/not-wf/not-sa/008.ent @@ -0,0 +1,2 @@ + + diff --git a/basis/xml/tests/xmltest/not-wf/not-sa/008.xml b/basis/xml/tests/xmltest/not-wf/not-sa/008.xml new file mode 100755 index 0000000000..54351009cd --- /dev/null +++ b/basis/xml/tests/xmltest/not-wf/not-sa/008.xml @@ -0,0 +1,2 @@ + + diff --git a/basis/xml/tests/xmltest/not-wf/not-sa/009.ent b/basis/xml/tests/xmltest/not-wf/not-sa/009.ent new file mode 100644 index 0000000000..f70eaea9c4 --- /dev/null +++ b/basis/xml/tests/xmltest/not-wf/not-sa/009.ent @@ -0,0 +1,3 @@ + + +%e; --> diff --git a/basis/xml/tests/xmltest/not-wf/not-sa/009.xml b/basis/xml/tests/xmltest/not-wf/not-sa/009.xml new file mode 100644 index 0000000000..9aa72898c2 --- /dev/null +++ b/basis/xml/tests/xmltest/not-wf/not-sa/009.xml @@ -0,0 +1,2 @@ + + diff --git a/basis/xml/tests/xmltest/not-wf/not-sa/010.ent b/basis/xml/tests/xmltest/not-wf/not-sa/010.ent new file mode 100644 index 0000000000..54f3c821b8 --- /dev/null +++ b/basis/xml/tests/xmltest/not-wf/not-sa/010.ent @@ -0,0 +1,2 @@ + +%e; doc (#PCDATA)> diff --git a/basis/xml/tests/xmltest/not-wf/not-sa/010.xml b/basis/xml/tests/xmltest/not-wf/not-sa/010.xml new file mode 100644 index 0000000000..963e4c2f75 --- /dev/null +++ b/basis/xml/tests/xmltest/not-wf/not-sa/010.xml @@ -0,0 +1,2 @@ + + diff --git a/basis/xml/tests/xmltest/not-wf/not-sa/011.ent b/basis/xml/tests/xmltest/not-wf/not-sa/011.ent new file mode 100644 index 0000000000..aae4cc2929 --- /dev/null +++ b/basis/xml/tests/xmltest/not-wf/not-sa/011.ent @@ -0,0 +1,3 @@ + +"> +%e1; doc (#PCDATA) %e2; diff --git a/basis/xml/tests/xmltest/not-wf/not-sa/011.xml b/basis/xml/tests/xmltest/not-wf/not-sa/011.xml new file mode 100644 index 0000000000..dd40c958c3 --- /dev/null +++ b/basis/xml/tests/xmltest/not-wf/not-sa/011.xml @@ -0,0 +1,2 @@ + + diff --git a/basis/xml/tests/xmltest/not-wf/sa/001.xml b/basis/xml/tests/xmltest/not-wf/sa/001.xml new file mode 100755 index 0000000000..d33ec68dcd --- /dev/null +++ b/basis/xml/tests/xmltest/not-wf/sa/001.xml @@ -0,0 +1,5 @@ + + + diff --git a/basis/xml/tests/xmltest/not-wf/sa/002.xml b/basis/xml/tests/xmltest/not-wf/sa/002.xml new file mode 100755 index 0000000000..0a64d52428 --- /dev/null +++ b/basis/xml/tests/xmltest/not-wf/sa/002.xml @@ -0,0 +1,4 @@ + +<.doc> + + diff --git a/basis/xml/tests/xmltest/not-wf/sa/003.xml b/basis/xml/tests/xmltest/not-wf/sa/003.xml new file mode 100755 index 0000000000..e0b8bae4a4 --- /dev/null +++ b/basis/xml/tests/xmltest/not-wf/sa/003.xml @@ -0,0 +1 @@ + diff --git a/basis/xml/tests/xmltest/not-wf/sa/004.xml b/basis/xml/tests/xmltest/not-wf/sa/004.xml new file mode 100755 index 0000000000..e85bc96e56 --- /dev/null +++ b/basis/xml/tests/xmltest/not-wf/sa/004.xml @@ -0,0 +1 @@ + diff --git a/basis/xml/tests/xmltest/not-wf/sa/005.xml b/basis/xml/tests/xmltest/not-wf/sa/005.xml new file mode 100755 index 0000000000..7cd44ef10c --- /dev/null +++ b/basis/xml/tests/xmltest/not-wf/sa/005.xml @@ -0,0 +1 @@ + diff --git a/basis/xml/tests/xmltest/not-wf/sa/006.xml b/basis/xml/tests/xmltest/not-wf/sa/006.xml new file mode 100755 index 0000000000..8594c35cc7 --- /dev/null +++ b/basis/xml/tests/xmltest/not-wf/sa/006.xml @@ -0,0 +1 @@ + diff --git a/basis/xml/tests/xmltest/not-wf/sa/007.xml b/basis/xml/tests/xmltest/not-wf/sa/007.xml new file mode 100755 index 0000000000..286756fdd5 --- /dev/null +++ b/basis/xml/tests/xmltest/not-wf/sa/007.xml @@ -0,0 +1 @@ +& no refc diff --git a/basis/xml/tests/xmltest/not-wf/sa/008.xml b/basis/xml/tests/xmltest/not-wf/sa/008.xml new file mode 100755 index 0000000000..29ef40306b --- /dev/null +++ b/basis/xml/tests/xmltest/not-wf/sa/008.xml @@ -0,0 +1 @@ +&.entity; diff --git a/basis/xml/tests/xmltest/not-wf/sa/009.xml b/basis/xml/tests/xmltest/not-wf/sa/009.xml new file mode 100755 index 0000000000..8e3ff7de10 --- /dev/null +++ b/basis/xml/tests/xmltest/not-wf/sa/009.xml @@ -0,0 +1 @@ +&#RE; diff --git a/basis/xml/tests/xmltest/not-wf/sa/010.xml b/basis/xml/tests/xmltest/not-wf/sa/010.xml new file mode 100755 index 0000000000..a6790846c9 --- /dev/null +++ b/basis/xml/tests/xmltest/not-wf/sa/010.xml @@ -0,0 +1 @@ +A & B diff --git a/basis/xml/tests/xmltest/not-wf/sa/011.xml b/basis/xml/tests/xmltest/not-wf/sa/011.xml new file mode 100755 index 0000000000..57eaf9fc48 --- /dev/null +++ b/basis/xml/tests/xmltest/not-wf/sa/011.xml @@ -0,0 +1 @@ + diff --git a/basis/xml/tests/xmltest/not-wf/sa/012.xml b/basis/xml/tests/xmltest/not-wf/sa/012.xml new file mode 100755 index 0000000000..1b2539ffa6 --- /dev/null +++ b/basis/xml/tests/xmltest/not-wf/sa/012.xml @@ -0,0 +1 @@ + diff --git a/basis/xml/tests/xmltest/not-wf/sa/013.xml b/basis/xml/tests/xmltest/not-wf/sa/013.xml new file mode 100755 index 0000000000..3540df9143 --- /dev/null +++ b/basis/xml/tests/xmltest/not-wf/sa/013.xml @@ -0,0 +1 @@ +"> diff --git a/basis/xml/tests/xmltest/not-wf/sa/015.xml b/basis/xml/tests/xmltest/not-wf/sa/015.xml new file mode 100755 index 0000000000..f2baf947b5 --- /dev/null +++ b/basis/xml/tests/xmltest/not-wf/sa/015.xml @@ -0,0 +1 @@ + diff --git a/basis/xml/tests/xmltest/not-wf/sa/016.xml b/basis/xml/tests/xmltest/not-wf/sa/016.xml new file mode 100755 index 0000000000..22d4b2e265 --- /dev/null +++ b/basis/xml/tests/xmltest/not-wf/sa/016.xml @@ -0,0 +1 @@ + diff --git a/basis/xml/tests/xmltest/not-wf/sa/017.xml b/basis/xml/tests/xmltest/not-wf/sa/017.xml new file mode 100755 index 0000000000..a76f5929e9 --- /dev/null +++ b/basis/xml/tests/xmltest/not-wf/sa/017.xml @@ -0,0 +1 @@ + diff --git a/basis/xml/tests/xmltest/not-wf/sa/018.xml b/basis/xml/tests/xmltest/not-wf/sa/018.xml new file mode 100755 index 0000000000..66e204acc4 --- /dev/null +++ b/basis/xml/tests/xmltest/not-wf/sa/018.xml @@ -0,0 +1 @@ + diff --git a/basis/xml/tests/xmltest/not-wf/sa/019.xml b/basis/xml/tests/xmltest/not-wf/sa/019.xml new file mode 100755 index 0000000000..b835c2d752 --- /dev/null +++ b/basis/xml/tests/xmltest/not-wf/sa/019.xml @@ -0,0 +1 @@ + diff --git a/basis/xml/tests/xmltest/not-wf/sa/020.xml b/basis/xml/tests/xmltest/not-wf/sa/020.xml new file mode 100755 index 0000000000..b30cfcfc10 --- /dev/null +++ b/basis/xml/tests/xmltest/not-wf/sa/020.xml @@ -0,0 +1 @@ + diff --git a/basis/xml/tests/xmltest/not-wf/sa/021.xml b/basis/xml/tests/xmltest/not-wf/sa/021.xml new file mode 100755 index 0000000000..1bfa84aa64 --- /dev/null +++ b/basis/xml/tests/xmltest/not-wf/sa/021.xml @@ -0,0 +1 @@ + diff --git a/basis/xml/tests/xmltest/not-wf/sa/022.xml b/basis/xml/tests/xmltest/not-wf/sa/022.xml new file mode 100755 index 0000000000..44c803bf1b --- /dev/null +++ b/basis/xml/tests/xmltest/not-wf/sa/022.xml @@ -0,0 +1 @@ + diff --git a/basis/xml/tests/xmltest/not-wf/sa/023.xml b/basis/xml/tests/xmltest/not-wf/sa/023.xml new file mode 100755 index 0000000000..b877ae2a6b --- /dev/null +++ b/basis/xml/tests/xmltest/not-wf/sa/023.xml @@ -0,0 +1 @@ + diff --git a/basis/xml/tests/xmltest/not-wf/sa/024.xml b/basis/xml/tests/xmltest/not-wf/sa/024.xml new file mode 100755 index 0000000000..cf68f2c073 --- /dev/null +++ b/basis/xml/tests/xmltest/not-wf/sa/024.xml @@ -0,0 +1,3 @@ + +<123> + diff --git a/basis/xml/tests/xmltest/not-wf/sa/025.xml b/basis/xml/tests/xmltest/not-wf/sa/025.xml new file mode 100755 index 0000000000..6cba95cd78 --- /dev/null +++ b/basis/xml/tests/xmltest/not-wf/sa/025.xml @@ -0,0 +1 @@ +]]> diff --git a/basis/xml/tests/xmltest/not-wf/sa/026.xml b/basis/xml/tests/xmltest/not-wf/sa/026.xml new file mode 100755 index 0000000000..347984fa73 --- /dev/null +++ b/basis/xml/tests/xmltest/not-wf/sa/026.xml @@ -0,0 +1 @@ +]]]> diff --git a/basis/xml/tests/xmltest/not-wf/sa/027.xml b/basis/xml/tests/xmltest/not-wf/sa/027.xml new file mode 100755 index 0000000000..cfafaf0d70 --- /dev/null +++ b/basis/xml/tests/xmltest/not-wf/sa/027.xml @@ -0,0 +1,3 @@ + + diff --git a/basis/xml/tests/xmltest/not-wf/sa/033.xml b/basis/xml/tests/xmltest/not-wf/sa/033.xml new file mode 100755 index 0000000000..afd2328402 --- /dev/null +++ b/basis/xml/tests/xmltest/not-wf/sa/033.xml @@ -0,0 +1 @@ +abcdef diff --git a/basis/xml/tests/xmltest/not-wf/sa/034.xml b/basis/xml/tests/xmltest/not-wf/sa/034.xml new file mode 100755 index 0000000000..d74a77719b --- /dev/null +++ b/basis/xml/tests/xmltest/not-wf/sa/034.xml @@ -0,0 +1 @@ +A form-feed is not white space or a name character diff --git a/basis/xml/tests/xmltest/not-wf/sa/035.xml b/basis/xml/tests/xmltest/not-wf/sa/035.xml new file mode 100755 index 0000000000..e1fc920522 --- /dev/null +++ b/basis/xml/tests/xmltest/not-wf/sa/035.xml @@ -0,0 +1 @@ +1 < 2 but not in XML diff --git a/basis/xml/tests/xmltest/not-wf/sa/036.xml b/basis/xml/tests/xmltest/not-wf/sa/036.xml new file mode 100755 index 0000000000..b8ecb21ba1 --- /dev/null +++ b/basis/xml/tests/xmltest/not-wf/sa/036.xml @@ -0,0 +1,2 @@ + +Illegal data diff --git a/basis/xml/tests/xmltest/not-wf/sa/037.xml b/basis/xml/tests/xmltest/not-wf/sa/037.xml new file mode 100755 index 0000000000..2e02662926 --- /dev/null +++ b/basis/xml/tests/xmltest/not-wf/sa/037.xml @@ -0,0 +1,2 @@ + + diff --git a/basis/xml/tests/xmltest/not-wf/sa/038.xml b/basis/xml/tests/xmltest/not-wf/sa/038.xml new file mode 100755 index 0000000000..68b2803f82 --- /dev/null +++ b/basis/xml/tests/xmltest/not-wf/sa/038.xml @@ -0,0 +1 @@ + diff --git a/basis/xml/tests/xmltest/not-wf/sa/039.xml b/basis/xml/tests/xmltest/not-wf/sa/039.xml new file mode 100755 index 0000000000..80429e3e40 --- /dev/null +++ b/basis/xml/tests/xmltest/not-wf/sa/039.xml @@ -0,0 +1 @@ + diff --git a/basis/xml/tests/xmltest/not-wf/sa/040.xml b/basis/xml/tests/xmltest/not-wf/sa/040.xml new file mode 100755 index 0000000000..dc8ba5a434 --- /dev/null +++ b/basis/xml/tests/xmltest/not-wf/sa/040.xml @@ -0,0 +1,2 @@ + + diff --git a/basis/xml/tests/xmltest/not-wf/sa/041.xml b/basis/xml/tests/xmltest/not-wf/sa/041.xml new file mode 100755 index 0000000000..30bcdd6bfe --- /dev/null +++ b/basis/xml/tests/xmltest/not-wf/sa/041.xml @@ -0,0 +1,2 @@ + + diff --git a/basis/xml/tests/xmltest/not-wf/sa/042.xml b/basis/xml/tests/xmltest/not-wf/sa/042.xml new file mode 100755 index 0000000000..4ae50efc7b --- /dev/null +++ b/basis/xml/tests/xmltest/not-wf/sa/042.xml @@ -0,0 +1 @@ + diff --git a/basis/xml/tests/xmltest/not-wf/sa/043.xml b/basis/xml/tests/xmltest/not-wf/sa/043.xml new file mode 100755 index 0000000000..41824eee4b --- /dev/null +++ b/basis/xml/tests/xmltest/not-wf/sa/043.xml @@ -0,0 +1,2 @@ + +Illegal data diff --git a/basis/xml/tests/xmltest/not-wf/sa/044.xml b/basis/xml/tests/xmltest/not-wf/sa/044.xml new file mode 100755 index 0000000000..3fc232dc37 --- /dev/null +++ b/basis/xml/tests/xmltest/not-wf/sa/044.xml @@ -0,0 +1 @@ + diff --git a/basis/xml/tests/xmltest/not-wf/sa/045.xml b/basis/xml/tests/xmltest/not-wf/sa/045.xml new file mode 100755 index 0000000000..00c10f00bf --- /dev/null +++ b/basis/xml/tests/xmltest/not-wf/sa/045.xml @@ -0,0 +1,4 @@ + + + diff --git a/basis/xml/tests/xmltest/not-wf/sa/046.xml b/basis/xml/tests/xmltest/not-wf/sa/046.xml new file mode 100755 index 0000000000..265cb15301 --- /dev/null +++ b/basis/xml/tests/xmltest/not-wf/sa/046.xml @@ -0,0 +1,3 @@ + + + diff --git a/basis/xml/tests/xmltest/not-wf/sa/047.xml b/basis/xml/tests/xmltest/not-wf/sa/047.xml new file mode 100755 index 0000000000..d18a4a4440 --- /dev/null +++ b/basis/xml/tests/xmltest/not-wf/sa/047.xml @@ -0,0 +1,3 @@ + + + diff --git a/basis/xml/tests/xmltest/not-wf/sa/048.xml b/basis/xml/tests/xmltest/not-wf/sa/048.xml new file mode 100755 index 0000000000..67419c1ed5 --- /dev/null +++ b/basis/xml/tests/xmltest/not-wf/sa/048.xml @@ -0,0 +1,3 @@ + + + diff --git a/basis/xml/tests/xmltest/not-wf/sa/049.xml b/basis/xml/tests/xmltest/not-wf/sa/049.xml new file mode 100755 index 0000000000..3cf0e79422 --- /dev/null +++ b/basis/xml/tests/xmltest/not-wf/sa/049.xml @@ -0,0 +1,4 @@ + + + + diff --git a/basis/xml/tests/xmltest/not-wf/sa/050.xml b/basis/xml/tests/xmltest/not-wf/sa/050.xml new file mode 100644 index 0000000000..e69de29bb2 diff --git a/basis/xml/tests/xmltest/not-wf/sa/051.xml b/basis/xml/tests/xmltest/not-wf/sa/051.xml new file mode 100755 index 0000000000..b52df12cc4 --- /dev/null +++ b/basis/xml/tests/xmltest/not-wf/sa/051.xml @@ -0,0 +1,3 @@ + + + diff --git a/basis/xml/tests/xmltest/not-wf/sa/052.xml b/basis/xml/tests/xmltest/not-wf/sa/052.xml new file mode 100755 index 0000000000..8283895990 --- /dev/null +++ b/basis/xml/tests/xmltest/not-wf/sa/052.xml @@ -0,0 +1,3 @@ + + + diff --git a/basis/xml/tests/xmltest/not-wf/sa/053.xml b/basis/xml/tests/xmltest/not-wf/sa/053.xml new file mode 100755 index 0000000000..9d7f36920f --- /dev/null +++ b/basis/xml/tests/xmltest/not-wf/sa/053.xml @@ -0,0 +1 @@ + diff --git a/basis/xml/tests/xmltest/not-wf/sa/054.xml b/basis/xml/tests/xmltest/not-wf/sa/054.xml new file mode 100755 index 0000000000..eda553c6d3 --- /dev/null +++ b/basis/xml/tests/xmltest/not-wf/sa/054.xml @@ -0,0 +1,4 @@ + +]> + diff --git a/basis/xml/tests/xmltest/not-wf/sa/055.xml b/basis/xml/tests/xmltest/not-wf/sa/055.xml new file mode 100755 index 0000000000..cbb3683a9d --- /dev/null +++ b/basis/xml/tests/xmltest/not-wf/sa/055.xml @@ -0,0 +1,2 @@ + diff --git a/basis/xml/tests/xmltest/not-wf/sa/056.xml b/basis/xml/tests/xmltest/not-wf/sa/056.xml new file mode 100755 index 0000000000..a681684c58 --- /dev/null +++ b/basis/xml/tests/xmltest/not-wf/sa/056.xml @@ -0,0 +1,2 @@ + + diff --git a/basis/xml/tests/xmltest/not-wf/sa/057.xml b/basis/xml/tests/xmltest/not-wf/sa/057.xml new file mode 100755 index 0000000000..848d347120 --- /dev/null +++ b/basis/xml/tests/xmltest/not-wf/sa/057.xml @@ -0,0 +1,4 @@ + +]> + diff --git a/basis/xml/tests/xmltest/not-wf/sa/058.xml b/basis/xml/tests/xmltest/not-wf/sa/058.xml new file mode 100755 index 0000000000..daba266af2 --- /dev/null +++ b/basis/xml/tests/xmltest/not-wf/sa/058.xml @@ -0,0 +1,5 @@ + + +]> + diff --git a/basis/xml/tests/xmltest/not-wf/sa/059.xml b/basis/xml/tests/xmltest/not-wf/sa/059.xml new file mode 100755 index 0000000000..316083dc25 --- /dev/null +++ b/basis/xml/tests/xmltest/not-wf/sa/059.xml @@ -0,0 +1,5 @@ + + +]> + diff --git a/basis/xml/tests/xmltest/not-wf/sa/060.xml b/basis/xml/tests/xmltest/not-wf/sa/060.xml new file mode 100755 index 0000000000..9a610fd38f --- /dev/null +++ b/basis/xml/tests/xmltest/not-wf/sa/060.xml @@ -0,0 +1,5 @@ + + +]> + diff --git a/basis/xml/tests/xmltest/not-wf/sa/061.xml b/basis/xml/tests/xmltest/not-wf/sa/061.xml new file mode 100755 index 0000000000..59181e706f --- /dev/null +++ b/basis/xml/tests/xmltest/not-wf/sa/061.xml @@ -0,0 +1,4 @@ + +]> + diff --git a/basis/xml/tests/xmltest/not-wf/sa/062.xml b/basis/xml/tests/xmltest/not-wf/sa/062.xml new file mode 100755 index 0000000000..e62e9cd370 --- /dev/null +++ b/basis/xml/tests/xmltest/not-wf/sa/062.xml @@ -0,0 +1,4 @@ + +]> + diff --git a/basis/xml/tests/xmltest/not-wf/sa/063.xml b/basis/xml/tests/xmltest/not-wf/sa/063.xml new file mode 100755 index 0000000000..98675b9040 --- /dev/null +++ b/basis/xml/tests/xmltest/not-wf/sa/063.xml @@ -0,0 +1,4 @@ + +]> + diff --git a/basis/xml/tests/xmltest/not-wf/sa/064.xml b/basis/xml/tests/xmltest/not-wf/sa/064.xml new file mode 100755 index 0000000000..3888c46b8b --- /dev/null +++ b/basis/xml/tests/xmltest/not-wf/sa/064.xml @@ -0,0 +1,5 @@ + + +]> + diff --git a/basis/xml/tests/xmltest/not-wf/sa/065.xml b/basis/xml/tests/xmltest/not-wf/sa/065.xml new file mode 100755 index 0000000000..da9cafd137 --- /dev/null +++ b/basis/xml/tests/xmltest/not-wf/sa/065.xml @@ -0,0 +1,5 @@ + + +]> + diff --git a/basis/xml/tests/xmltest/not-wf/sa/066.xml b/basis/xml/tests/xmltest/not-wf/sa/066.xml new file mode 100755 index 0000000000..9c09eb4e5d --- /dev/null +++ b/basis/xml/tests/xmltest/not-wf/sa/066.xml @@ -0,0 +1,5 @@ + + +]> + diff --git a/basis/xml/tests/xmltest/not-wf/sa/067.xml b/basis/xml/tests/xmltest/not-wf/sa/067.xml new file mode 100755 index 0000000000..7e0809bd34 --- /dev/null +++ b/basis/xml/tests/xmltest/not-wf/sa/067.xml @@ -0,0 +1,5 @@ + + +]> + diff --git a/basis/xml/tests/xmltest/not-wf/sa/068.xml b/basis/xml/tests/xmltest/not-wf/sa/068.xml new file mode 100755 index 0000000000..53a80a83a8 --- /dev/null +++ b/basis/xml/tests/xmltest/not-wf/sa/068.xml @@ -0,0 +1,5 @@ + + +]> + diff --git a/basis/xml/tests/xmltest/not-wf/sa/069.xml b/basis/xml/tests/xmltest/not-wf/sa/069.xml new file mode 100755 index 0000000000..6f891dd5e1 --- /dev/null +++ b/basis/xml/tests/xmltest/not-wf/sa/069.xml @@ -0,0 +1,6 @@ + + + +]> + diff --git a/basis/xml/tests/xmltest/not-wf/sa/070.xml b/basis/xml/tests/xmltest/not-wf/sa/070.xml new file mode 100755 index 0000000000..faf4b0ae4c --- /dev/null +++ b/basis/xml/tests/xmltest/not-wf/sa/070.xml @@ -0,0 +1,2 @@ + + diff --git a/basis/xml/tests/xmltest/not-wf/sa/071.xml b/basis/xml/tests/xmltest/not-wf/sa/071.xml new file mode 100755 index 0000000000..5bd3908968 --- /dev/null +++ b/basis/xml/tests/xmltest/not-wf/sa/071.xml @@ -0,0 +1,6 @@ + + + +]> +&e1; diff --git a/basis/xml/tests/xmltest/not-wf/sa/072.xml b/basis/xml/tests/xmltest/not-wf/sa/072.xml new file mode 100755 index 0000000000..743ba79429 --- /dev/null +++ b/basis/xml/tests/xmltest/not-wf/sa/072.xml @@ -0,0 +1 @@ +&foo; diff --git a/basis/xml/tests/xmltest/not-wf/sa/073.xml b/basis/xml/tests/xmltest/not-wf/sa/073.xml new file mode 100755 index 0000000000..2578af42ec --- /dev/null +++ b/basis/xml/tests/xmltest/not-wf/sa/073.xml @@ -0,0 +1,4 @@ + +]> +&f; diff --git a/basis/xml/tests/xmltest/not-wf/sa/074.xml b/basis/xml/tests/xmltest/not-wf/sa/074.xml new file mode 100755 index 0000000000..f8abaeb22c --- /dev/null +++ b/basis/xml/tests/xmltest/not-wf/sa/074.xml @@ -0,0 +1,6 @@ +"> +]> + +&e; + diff --git a/basis/xml/tests/xmltest/not-wf/sa/075.xml b/basis/xml/tests/xmltest/not-wf/sa/075.xml new file mode 100755 index 0000000000..d3dbf50ed6 --- /dev/null +++ b/basis/xml/tests/xmltest/not-wf/sa/075.xml @@ -0,0 +1,7 @@ + + + +]> + + diff --git a/basis/xml/tests/xmltest/not-wf/sa/076.xml b/basis/xml/tests/xmltest/not-wf/sa/076.xml new file mode 100755 index 0000000000..60546720e7 --- /dev/null +++ b/basis/xml/tests/xmltest/not-wf/sa/076.xml @@ -0,0 +1 @@ + diff --git a/basis/xml/tests/xmltest/not-wf/sa/077.xml b/basis/xml/tests/xmltest/not-wf/sa/077.xml new file mode 100755 index 0000000000..f8ac23a5a2 --- /dev/null +++ b/basis/xml/tests/xmltest/not-wf/sa/077.xml @@ -0,0 +1,4 @@ + +]> + diff --git a/basis/xml/tests/xmltest/not-wf/sa/078.xml b/basis/xml/tests/xmltest/not-wf/sa/078.xml new file mode 100755 index 0000000000..446cd85ef9 --- /dev/null +++ b/basis/xml/tests/xmltest/not-wf/sa/078.xml @@ -0,0 +1,5 @@ + + +]> + diff --git a/basis/xml/tests/xmltest/not-wf/sa/079.xml b/basis/xml/tests/xmltest/not-wf/sa/079.xml new file mode 100755 index 0000000000..da016fd3b2 --- /dev/null +++ b/basis/xml/tests/xmltest/not-wf/sa/079.xml @@ -0,0 +1,8 @@ + + + + + +]> + diff --git a/basis/xml/tests/xmltest/not-wf/sa/080.xml b/basis/xml/tests/xmltest/not-wf/sa/080.xml new file mode 100755 index 0000000000..fa4b9e428d --- /dev/null +++ b/basis/xml/tests/xmltest/not-wf/sa/080.xml @@ -0,0 +1,8 @@ + + + + + +]> + diff --git a/basis/xml/tests/xmltest/not-wf/sa/081.xml b/basis/xml/tests/xmltest/not-wf/sa/081.xml new file mode 100755 index 0000000000..d676100e8a --- /dev/null +++ b/basis/xml/tests/xmltest/not-wf/sa/081.xml @@ -0,0 +1,4 @@ + +]> + diff --git a/basis/xml/tests/xmltest/not-wf/sa/082.xml b/basis/xml/tests/xmltest/not-wf/sa/082.xml new file mode 100755 index 0000000000..3217d6f8b4 --- /dev/null +++ b/basis/xml/tests/xmltest/not-wf/sa/082.xml @@ -0,0 +1,6 @@ + + + +]> + diff --git a/basis/xml/tests/xmltest/not-wf/sa/083.xml b/basis/xml/tests/xmltest/not-wf/sa/083.xml new file mode 100755 index 0000000000..469d43fd42 --- /dev/null +++ b/basis/xml/tests/xmltest/not-wf/sa/083.xml @@ -0,0 +1,4 @@ + +]> +&e; diff --git a/basis/xml/tests/xmltest/not-wf/sa/084.xml b/basis/xml/tests/xmltest/not-wf/sa/084.xml new file mode 100755 index 0000000000..abbbcdea69 --- /dev/null +++ b/basis/xml/tests/xmltest/not-wf/sa/084.xml @@ -0,0 +1,6 @@ + + + +]> + diff --git a/basis/xml/tests/xmltest/not-wf/sa/085.xml b/basis/xml/tests/xmltest/not-wf/sa/085.xml new file mode 100755 index 0000000000..ac0aeca3e4 --- /dev/null +++ b/basis/xml/tests/xmltest/not-wf/sa/085.xml @@ -0,0 +1,2 @@ + + diff --git a/basis/xml/tests/xmltest/not-wf/sa/086.xml b/basis/xml/tests/xmltest/not-wf/sa/086.xml new file mode 100755 index 0000000000..df6adfd884 --- /dev/null +++ b/basis/xml/tests/xmltest/not-wf/sa/086.xml @@ -0,0 +1,4 @@ + +]> + diff --git a/basis/xml/tests/xmltest/not-wf/sa/087.xml b/basis/xml/tests/xmltest/not-wf/sa/087.xml new file mode 100755 index 0000000000..ed49492a7a --- /dev/null +++ b/basis/xml/tests/xmltest/not-wf/sa/087.xml @@ -0,0 +1,4 @@ + +]> + diff --git a/basis/xml/tests/xmltest/not-wf/sa/088.xml b/basis/xml/tests/xmltest/not-wf/sa/088.xml new file mode 100755 index 0000000000..da0a68c401 --- /dev/null +++ b/basis/xml/tests/xmltest/not-wf/sa/088.xml @@ -0,0 +1,6 @@ + + + +]> + +]> + diff --git a/basis/xml/tests/xmltest/not-wf/sa/090.xml b/basis/xml/tests/xmltest/not-wf/sa/090.xml new file mode 100755 index 0000000000..3fb72f3cc0 --- /dev/null +++ b/basis/xml/tests/xmltest/not-wf/sa/090.xml @@ -0,0 +1,4 @@ +"> +]> +&e; diff --git a/basis/xml/tests/xmltest/not-wf/sa/091.xml b/basis/xml/tests/xmltest/not-wf/sa/091.xml new file mode 100755 index 0000000000..a61d0914f8 --- /dev/null +++ b/basis/xml/tests/xmltest/not-wf/sa/091.xml @@ -0,0 +1,5 @@ + + +]> + diff --git a/basis/xml/tests/xmltest/not-wf/sa/092.xml b/basis/xml/tests/xmltest/not-wf/sa/092.xml new file mode 100755 index 0000000000..be5266dada --- /dev/null +++ b/basis/xml/tests/xmltest/not-wf/sa/092.xml @@ -0,0 +1,4 @@ +"> +]> +&e; diff --git a/basis/xml/tests/xmltest/not-wf/sa/093.xml b/basis/xml/tests/xmltest/not-wf/sa/093.xml new file mode 100755 index 0000000000..4af61bc645 --- /dev/null +++ b/basis/xml/tests/xmltest/not-wf/sa/093.xml @@ -0,0 +1 @@ +X diff --git a/basis/xml/tests/xmltest/not-wf/sa/094.xml b/basis/xml/tests/xmltest/not-wf/sa/094.xml new file mode 100755 index 0000000000..bdec7a4660 --- /dev/null +++ b/basis/xml/tests/xmltest/not-wf/sa/094.xml @@ -0,0 +1,2 @@ + + diff --git a/basis/xml/tests/xmltest/not-wf/sa/095.xml b/basis/xml/tests/xmltest/not-wf/sa/095.xml new file mode 100755 index 0000000000..090b8b4eec --- /dev/null +++ b/basis/xml/tests/xmltest/not-wf/sa/095.xml @@ -0,0 +1,2 @@ + + diff --git a/basis/xml/tests/xmltest/not-wf/sa/096.xml b/basis/xml/tests/xmltest/not-wf/sa/096.xml new file mode 100755 index 0000000000..d806c3b952 --- /dev/null +++ b/basis/xml/tests/xmltest/not-wf/sa/096.xml @@ -0,0 +1,2 @@ + + \ No newline at end of file diff --git a/basis/xml/tests/xmltest/not-wf/sa/097.xml b/basis/xml/tests/xmltest/not-wf/sa/097.xml new file mode 100755 index 0000000000..d4def544b0 --- /dev/null +++ b/basis/xml/tests/xmltest/not-wf/sa/097.xml @@ -0,0 +1,2 @@ + + \ No newline at end of file diff --git a/basis/xml/tests/xmltest/not-wf/sa/098.xml b/basis/xml/tests/xmltest/not-wf/sa/098.xml new file mode 100755 index 0000000000..9798496aa3 --- /dev/null +++ b/basis/xml/tests/xmltest/not-wf/sa/098.xml @@ -0,0 +1,2 @@ + + \ No newline at end of file diff --git a/basis/xml/tests/xmltest/not-wf/sa/099.xml b/basis/xml/tests/xmltest/not-wf/sa/099.xml new file mode 100755 index 0000000000..d5be08eff0 --- /dev/null +++ b/basis/xml/tests/xmltest/not-wf/sa/099.xml @@ -0,0 +1,2 @@ + + \ No newline at end of file diff --git a/basis/xml/tests/xmltest/not-wf/sa/100.xml b/basis/xml/tests/xmltest/not-wf/sa/100.xml new file mode 100755 index 0000000000..51e06231c2 --- /dev/null +++ b/basis/xml/tests/xmltest/not-wf/sa/100.xml @@ -0,0 +1,2 @@ + + diff --git a/basis/xml/tests/xmltest/not-wf/sa/101.xml b/basis/xml/tests/xmltest/not-wf/sa/101.xml new file mode 100755 index 0000000000..afa5a455fc --- /dev/null +++ b/basis/xml/tests/xmltest/not-wf/sa/101.xml @@ -0,0 +1,2 @@ + + diff --git a/basis/xml/tests/xmltest/not-wf/sa/102.xml b/basis/xml/tests/xmltest/not-wf/sa/102.xml new file mode 100755 index 0000000000..8734adaa6e --- /dev/null +++ b/basis/xml/tests/xmltest/not-wf/sa/102.xml @@ -0,0 +1,2 @@ + + diff --git a/basis/xml/tests/xmltest/not-wf/sa/103.xml b/basis/xml/tests/xmltest/not-wf/sa/103.xml new file mode 100755 index 0000000000..6c4716798f --- /dev/null +++ b/basis/xml/tests/xmltest/not-wf/sa/103.xml @@ -0,0 +1,4 @@ +"> +]> +&e; diff --git a/basis/xml/tests/xmltest/not-wf/sa/104.xml b/basis/xml/tests/xmltest/not-wf/sa/104.xml new file mode 100755 index 0000000000..dd57396239 --- /dev/null +++ b/basis/xml/tests/xmltest/not-wf/sa/104.xml @@ -0,0 +1,4 @@ +"> +]> +&e; diff --git a/basis/xml/tests/xmltest/not-wf/sa/105.xml b/basis/xml/tests/xmltest/not-wf/sa/105.xml new file mode 100755 index 0000000000..809e705870 --- /dev/null +++ b/basis/xml/tests/xmltest/not-wf/sa/105.xml @@ -0,0 +1,4 @@ + + + + diff --git a/basis/xml/tests/xmltest/not-wf/sa/106.xml b/basis/xml/tests/xmltest/not-wf/sa/106.xml new file mode 100755 index 0000000000..d32319ef09 --- /dev/null +++ b/basis/xml/tests/xmltest/not-wf/sa/106.xml @@ -0,0 +1,2 @@ + + diff --git a/basis/xml/tests/xmltest/not-wf/sa/107.xml b/basis/xml/tests/xmltest/not-wf/sa/107.xml new file mode 100755 index 0000000000..3dfd8200e2 --- /dev/null +++ b/basis/xml/tests/xmltest/not-wf/sa/107.xml @@ -0,0 +1,4 @@ + +]> + diff --git a/basis/xml/tests/xmltest/not-wf/sa/108.xml b/basis/xml/tests/xmltest/not-wf/sa/108.xml new file mode 100755 index 0000000000..af5cf50d48 --- /dev/null +++ b/basis/xml/tests/xmltest/not-wf/sa/108.xml @@ -0,0 +1,3 @@ + + + diff --git a/basis/xml/tests/xmltest/not-wf/sa/109.xml b/basis/xml/tests/xmltest/not-wf/sa/109.xml new file mode 100755 index 0000000000..5afc03e8db --- /dev/null +++ b/basis/xml/tests/xmltest/not-wf/sa/109.xml @@ -0,0 +1,4 @@ +"> +]> +&e; diff --git a/basis/xml/tests/xmltest/not-wf/sa/110.xml b/basis/xml/tests/xmltest/not-wf/sa/110.xml new file mode 100755 index 0000000000..cf54ebe5c0 --- /dev/null +++ b/basis/xml/tests/xmltest/not-wf/sa/110.xml @@ -0,0 +1,5 @@ + +]> + +&e; diff --git a/basis/xml/tests/xmltest/not-wf/sa/111.xml b/basis/xml/tests/xmltest/not-wf/sa/111.xml new file mode 100755 index 0000000000..84a469f5d1 --- /dev/null +++ b/basis/xml/tests/xmltest/not-wf/sa/111.xml @@ -0,0 +1,4 @@ + +]> + diff --git a/basis/xml/tests/xmltest/not-wf/sa/112.xml b/basis/xml/tests/xmltest/not-wf/sa/112.xml new file mode 100755 index 0000000000..0c5c1a4341 --- /dev/null +++ b/basis/xml/tests/xmltest/not-wf/sa/112.xml @@ -0,0 +1,3 @@ + + + diff --git a/basis/xml/tests/xmltest/not-wf/sa/113.xml b/basis/xml/tests/xmltest/not-wf/sa/113.xml new file mode 100755 index 0000000000..04fc9d2318 --- /dev/null +++ b/basis/xml/tests/xmltest/not-wf/sa/113.xml @@ -0,0 +1,4 @@ + +]> + diff --git a/basis/xml/tests/xmltest/not-wf/sa/114.xml b/basis/xml/tests/xmltest/not-wf/sa/114.xml new file mode 100755 index 0000000000..1261ee49e1 --- /dev/null +++ b/basis/xml/tests/xmltest/not-wf/sa/114.xml @@ -0,0 +1,4 @@ + +]> + diff --git a/basis/xml/tests/xmltest/not-wf/sa/115.xml b/basis/xml/tests/xmltest/not-wf/sa/115.xml new file mode 100755 index 0000000000..f111dbe153 --- /dev/null +++ b/basis/xml/tests/xmltest/not-wf/sa/115.xml @@ -0,0 +1,4 @@ + +]> + diff --git a/basis/xml/tests/xmltest/not-wf/sa/116.xml b/basis/xml/tests/xmltest/not-wf/sa/116.xml new file mode 100755 index 0000000000..84bb762fdf --- /dev/null +++ b/basis/xml/tests/xmltest/not-wf/sa/116.xml @@ -0,0 +1,4 @@ + +]> +&e;7; diff --git a/basis/xml/tests/xmltest/not-wf/sa/117.xml b/basis/xml/tests/xmltest/not-wf/sa/117.xml new file mode 100755 index 0000000000..e4a5e572ef --- /dev/null +++ b/basis/xml/tests/xmltest/not-wf/sa/117.xml @@ -0,0 +1,4 @@ + +]> +&e;#97; diff --git a/basis/xml/tests/xmltest/not-wf/sa/118.xml b/basis/xml/tests/xmltest/not-wf/sa/118.xml new file mode 100755 index 0000000000..494d53d208 --- /dev/null +++ b/basis/xml/tests/xmltest/not-wf/sa/118.xml @@ -0,0 +1,4 @@ + +]> +&&e;97; diff --git a/basis/xml/tests/xmltest/not-wf/sa/119.xml b/basis/xml/tests/xmltest/not-wf/sa/119.xml new file mode 100755 index 0000000000..aefaa44a1c --- /dev/null +++ b/basis/xml/tests/xmltest/not-wf/sa/119.xml @@ -0,0 +1,6 @@ + +]> + +&e;#38; + diff --git a/basis/xml/tests/xmltest/not-wf/sa/120.xml b/basis/xml/tests/xmltest/not-wf/sa/120.xml new file mode 100755 index 0000000000..b7d6ff9ce9 --- /dev/null +++ b/basis/xml/tests/xmltest/not-wf/sa/120.xml @@ -0,0 +1,6 @@ + +]> + +&e; + diff --git a/basis/xml/tests/xmltest/not-wf/sa/121.xml b/basis/xml/tests/xmltest/not-wf/sa/121.xml new file mode 100755 index 0000000000..2b4adcc6b4 --- /dev/null +++ b/basis/xml/tests/xmltest/not-wf/sa/121.xml @@ -0,0 +1,4 @@ + +]> + diff --git a/basis/xml/tests/xmltest/not-wf/sa/122.xml b/basis/xml/tests/xmltest/not-wf/sa/122.xml new file mode 100755 index 0000000000..ef0b057cee --- /dev/null +++ b/basis/xml/tests/xmltest/not-wf/sa/122.xml @@ -0,0 +1,4 @@ + +]> + diff --git a/basis/xml/tests/xmltest/not-wf/sa/123.xml b/basis/xml/tests/xmltest/not-wf/sa/123.xml new file mode 100755 index 0000000000..06d65f045b --- /dev/null +++ b/basis/xml/tests/xmltest/not-wf/sa/123.xml @@ -0,0 +1,4 @@ + +]> + diff --git a/basis/xml/tests/xmltest/not-wf/sa/124.xml b/basis/xml/tests/xmltest/not-wf/sa/124.xml new file mode 100755 index 0000000000..3bbe0f91a6 --- /dev/null +++ b/basis/xml/tests/xmltest/not-wf/sa/124.xml @@ -0,0 +1,4 @@ + +]> + diff --git a/basis/xml/tests/xmltest/not-wf/sa/125.xml b/basis/xml/tests/xmltest/not-wf/sa/125.xml new file mode 100755 index 0000000000..5f9c22c0c6 --- /dev/null +++ b/basis/xml/tests/xmltest/not-wf/sa/125.xml @@ -0,0 +1,4 @@ + +]> + diff --git a/basis/xml/tests/xmltest/not-wf/sa/126.xml b/basis/xml/tests/xmltest/not-wf/sa/126.xml new file mode 100755 index 0000000000..13e74d6d5e --- /dev/null +++ b/basis/xml/tests/xmltest/not-wf/sa/126.xml @@ -0,0 +1,4 @@ + +]> + diff --git a/basis/xml/tests/xmltest/not-wf/sa/127.xml b/basis/xml/tests/xmltest/not-wf/sa/127.xml new file mode 100755 index 0000000000..a379b9e539 --- /dev/null +++ b/basis/xml/tests/xmltest/not-wf/sa/127.xml @@ -0,0 +1,4 @@ + +]> + diff --git a/basis/xml/tests/xmltest/not-wf/sa/128.xml b/basis/xml/tests/xmltest/not-wf/sa/128.xml new file mode 100755 index 0000000000..dd706bb21f --- /dev/null +++ b/basis/xml/tests/xmltest/not-wf/sa/128.xml @@ -0,0 +1,4 @@ + +]> + diff --git a/basis/xml/tests/xmltest/not-wf/sa/129.xml b/basis/xml/tests/xmltest/not-wf/sa/129.xml new file mode 100755 index 0000000000..d4e4461a6d --- /dev/null +++ b/basis/xml/tests/xmltest/not-wf/sa/129.xml @@ -0,0 +1,4 @@ + +]> + diff --git a/basis/xml/tests/xmltest/not-wf/sa/130.xml b/basis/xml/tests/xmltest/not-wf/sa/130.xml new file mode 100755 index 0000000000..fa7be641f1 --- /dev/null +++ b/basis/xml/tests/xmltest/not-wf/sa/130.xml @@ -0,0 +1,4 @@ + +]> + diff --git a/basis/xml/tests/xmltest/not-wf/sa/131.xml b/basis/xml/tests/xmltest/not-wf/sa/131.xml new file mode 100755 index 0000000000..f34ed453b5 --- /dev/null +++ b/basis/xml/tests/xmltest/not-wf/sa/131.xml @@ -0,0 +1,4 @@ + +]> + diff --git a/basis/xml/tests/xmltest/not-wf/sa/132.xml b/basis/xml/tests/xmltest/not-wf/sa/132.xml new file mode 100755 index 0000000000..ab6cc416e9 --- /dev/null +++ b/basis/xml/tests/xmltest/not-wf/sa/132.xml @@ -0,0 +1,4 @@ + +]> + diff --git a/basis/xml/tests/xmltest/not-wf/sa/133.xml b/basis/xml/tests/xmltest/not-wf/sa/133.xml new file mode 100755 index 0000000000..d2aa604e9f --- /dev/null +++ b/basis/xml/tests/xmltest/not-wf/sa/133.xml @@ -0,0 +1,4 @@ + +]> + diff --git a/basis/xml/tests/xmltest/not-wf/sa/134.xml b/basis/xml/tests/xmltest/not-wf/sa/134.xml new file mode 100755 index 0000000000..c8919c5ef8 --- /dev/null +++ b/basis/xml/tests/xmltest/not-wf/sa/134.xml @@ -0,0 +1,4 @@ + +]> + diff --git a/basis/xml/tests/xmltest/not-wf/sa/135.xml b/basis/xml/tests/xmltest/not-wf/sa/135.xml new file mode 100755 index 0000000000..e639e8b6ea --- /dev/null +++ b/basis/xml/tests/xmltest/not-wf/sa/135.xml @@ -0,0 +1,4 @@ + +]> + diff --git a/basis/xml/tests/xmltest/not-wf/sa/136.xml b/basis/xml/tests/xmltest/not-wf/sa/136.xml new file mode 100755 index 0000000000..499e68bcea --- /dev/null +++ b/basis/xml/tests/xmltest/not-wf/sa/136.xml @@ -0,0 +1,4 @@ + +]> + diff --git a/basis/xml/tests/xmltest/not-wf/sa/137.xml b/basis/xml/tests/xmltest/not-wf/sa/137.xml new file mode 100755 index 0000000000..723b77f776 --- /dev/null +++ b/basis/xml/tests/xmltest/not-wf/sa/137.xml @@ -0,0 +1,4 @@ + +]> + diff --git a/basis/xml/tests/xmltest/not-wf/sa/138.xml b/basis/xml/tests/xmltest/not-wf/sa/138.xml new file mode 100755 index 0000000000..16934cc88e --- /dev/null +++ b/basis/xml/tests/xmltest/not-wf/sa/138.xml @@ -0,0 +1,4 @@ + +]> + diff --git a/basis/xml/tests/xmltest/not-wf/sa/139.xml b/basis/xml/tests/xmltest/not-wf/sa/139.xml new file mode 100755 index 0000000000..34df52ed93 --- /dev/null +++ b/basis/xml/tests/xmltest/not-wf/sa/139.xml @@ -0,0 +1,4 @@ + +]> + diff --git a/basis/xml/tests/xmltest/not-wf/sa/140.xml b/basis/xml/tests/xmltest/not-wf/sa/140.xml new file mode 100755 index 0000000000..467d5ed301 --- /dev/null +++ b/basis/xml/tests/xmltest/not-wf/sa/140.xml @@ -0,0 +1,4 @@ +"> +]> +&e; diff --git a/basis/xml/tests/xmltest/not-wf/sa/141.xml b/basis/xml/tests/xmltest/not-wf/sa/141.xml new file mode 100755 index 0000000000..409d0a7568 --- /dev/null +++ b/basis/xml/tests/xmltest/not-wf/sa/141.xml @@ -0,0 +1,4 @@ +"> +]> +&e; diff --git a/basis/xml/tests/xmltest/not-wf/sa/142.xml b/basis/xml/tests/xmltest/not-wf/sa/142.xml new file mode 100755 index 0000000000..20e88f88b3 --- /dev/null +++ b/basis/xml/tests/xmltest/not-wf/sa/142.xml @@ -0,0 +1,4 @@ + +]> + diff --git a/basis/xml/tests/xmltest/not-wf/sa/143.xml b/basis/xml/tests/xmltest/not-wf/sa/143.xml new file mode 100755 index 0000000000..0ee1c614f8 --- /dev/null +++ b/basis/xml/tests/xmltest/not-wf/sa/143.xml @@ -0,0 +1,4 @@ + +]> + diff --git a/basis/xml/tests/xmltest/not-wf/sa/144.xml b/basis/xml/tests/xmltest/not-wf/sa/144.xml new file mode 100755 index 0000000000..437548c0ba --- /dev/null +++ b/basis/xml/tests/xmltest/not-wf/sa/144.xml @@ -0,0 +1,4 @@ + +]> +￿ diff --git a/basis/xml/tests/xmltest/not-wf/sa/145.xml b/basis/xml/tests/xmltest/not-wf/sa/145.xml new file mode 100755 index 0000000000..71b187a933 --- /dev/null +++ b/basis/xml/tests/xmltest/not-wf/sa/145.xml @@ -0,0 +1,4 @@ + +]> + diff --git a/basis/xml/tests/xmltest/not-wf/sa/146.xml b/basis/xml/tests/xmltest/not-wf/sa/146.xml new file mode 100755 index 0000000000..d0bfbca723 --- /dev/null +++ b/basis/xml/tests/xmltest/not-wf/sa/146.xml @@ -0,0 +1,4 @@ + +]> + diff --git a/basis/xml/tests/xmltest/not-wf/sa/147.xml b/basis/xml/tests/xmltest/not-wf/sa/147.xml new file mode 100755 index 0000000000..3b6145615f --- /dev/null +++ b/basis/xml/tests/xmltest/not-wf/sa/147.xml @@ -0,0 +1,3 @@ + + + diff --git a/basis/xml/tests/xmltest/not-wf/sa/148.xml b/basis/xml/tests/xmltest/not-wf/sa/148.xml new file mode 100755 index 0000000000..774dce18fd --- /dev/null +++ b/basis/xml/tests/xmltest/not-wf/sa/148.xml @@ -0,0 +1,3 @@ + + + diff --git a/basis/xml/tests/xmltest/not-wf/sa/149.xml b/basis/xml/tests/xmltest/not-wf/sa/149.xml new file mode 100755 index 0000000000..725eea0dec --- /dev/null +++ b/basis/xml/tests/xmltest/not-wf/sa/149.xml @@ -0,0 +1,5 @@ + + +]> + diff --git a/basis/xml/tests/xmltest/not-wf/sa/150.xml b/basis/xml/tests/xmltest/not-wf/sa/150.xml new file mode 100755 index 0000000000..44f6b6df92 --- /dev/null +++ b/basis/xml/tests/xmltest/not-wf/sa/150.xml @@ -0,0 +1,3 @@ + + + diff --git a/basis/xml/tests/xmltest/not-wf/sa/151.xml b/basis/xml/tests/xmltest/not-wf/sa/151.xml new file mode 100755 index 0000000000..fecc4f24e3 --- /dev/null +++ b/basis/xml/tests/xmltest/not-wf/sa/151.xml @@ -0,0 +1,3 @@ + + + diff --git a/basis/xml/tests/xmltest/not-wf/sa/152.xml b/basis/xml/tests/xmltest/not-wf/sa/152.xml new file mode 100755 index 0000000000..b5c5cb26ae --- /dev/null +++ b/basis/xml/tests/xmltest/not-wf/sa/152.xml @@ -0,0 +1,2 @@ + + diff --git a/basis/xml/tests/xmltest/not-wf/sa/153.xml b/basis/xml/tests/xmltest/not-wf/sa/153.xml new file mode 100755 index 0000000000..5e2973707e --- /dev/null +++ b/basis/xml/tests/xmltest/not-wf/sa/153.xml @@ -0,0 +1,5 @@ + +"> +]> +&e; diff --git a/basis/xml/tests/xmltest/not-wf/sa/154.xml b/basis/xml/tests/xmltest/not-wf/sa/154.xml new file mode 100755 index 0000000000..96e01d63f5 --- /dev/null +++ b/basis/xml/tests/xmltest/not-wf/sa/154.xml @@ -0,0 +1,2 @@ + + diff --git a/basis/xml/tests/xmltest/not-wf/sa/155.xml b/basis/xml/tests/xmltest/not-wf/sa/155.xml new file mode 100755 index 0000000000..4f16d0f163 --- /dev/null +++ b/basis/xml/tests/xmltest/not-wf/sa/155.xml @@ -0,0 +1,2 @@ + + diff --git a/basis/xml/tests/xmltest/not-wf/sa/156.xml b/basis/xml/tests/xmltest/not-wf/sa/156.xml new file mode 100755 index 0000000000..c6d93fd312 --- /dev/null +++ b/basis/xml/tests/xmltest/not-wf/sa/156.xml @@ -0,0 +1,3 @@ + + + diff --git a/basis/xml/tests/xmltest/not-wf/sa/157.xml b/basis/xml/tests/xmltest/not-wf/sa/157.xml new file mode 100755 index 0000000000..2f058dac3e --- /dev/null +++ b/basis/xml/tests/xmltest/not-wf/sa/157.xml @@ -0,0 +1,3 @@ + + + diff --git a/basis/xml/tests/xmltest/not-wf/sa/158.xml b/basis/xml/tests/xmltest/not-wf/sa/158.xml new file mode 100755 index 0000000000..32b90b722d --- /dev/null +++ b/basis/xml/tests/xmltest/not-wf/sa/158.xml @@ -0,0 +1,6 @@ + + + +]> + diff --git a/basis/xml/tests/xmltest/not-wf/sa/159.xml b/basis/xml/tests/xmltest/not-wf/sa/159.xml new file mode 100755 index 0000000000..066244cb91 --- /dev/null +++ b/basis/xml/tests/xmltest/not-wf/sa/159.xml @@ -0,0 +1,5 @@ + +"> +]> +&e; diff --git a/basis/xml/tests/xmltest/not-wf/sa/160.xml b/basis/xml/tests/xmltest/not-wf/sa/160.xml new file mode 100755 index 0000000000..85424acb1b --- /dev/null +++ b/basis/xml/tests/xmltest/not-wf/sa/160.xml @@ -0,0 +1,6 @@ + + + +]> + diff --git a/basis/xml/tests/xmltest/not-wf/sa/161.xml b/basis/xml/tests/xmltest/not-wf/sa/161.xml new file mode 100755 index 0000000000..4f8a5b7b6b --- /dev/null +++ b/basis/xml/tests/xmltest/not-wf/sa/161.xml @@ -0,0 +1,5 @@ + + +]> + diff --git a/basis/xml/tests/xmltest/not-wf/sa/162.xml b/basis/xml/tests/xmltest/not-wf/sa/162.xml new file mode 100755 index 0000000000..efae4b190e --- /dev/null +++ b/basis/xml/tests/xmltest/not-wf/sa/162.xml @@ -0,0 +1,6 @@ + + + +]> + diff --git a/basis/xml/tests/xmltest/not-wf/sa/163.xml b/basis/xml/tests/xmltest/not-wf/sa/163.xml new file mode 100755 index 0000000000..e14fb76c31 --- /dev/null +++ b/basis/xml/tests/xmltest/not-wf/sa/163.xml @@ -0,0 +1,6 @@ + + +]> +%e; + diff --git a/basis/xml/tests/xmltest/not-wf/sa/164.xml b/basis/xml/tests/xmltest/not-wf/sa/164.xml new file mode 100755 index 0000000000..98dd267c21 --- /dev/null +++ b/basis/xml/tests/xmltest/not-wf/sa/164.xml @@ -0,0 +1,5 @@ + + +] %e; > + diff --git a/basis/xml/tests/xmltest/not-wf/sa/165.xml b/basis/xml/tests/xmltest/not-wf/sa/165.xml new file mode 100755 index 0000000000..36c04618ef --- /dev/null +++ b/basis/xml/tests/xmltest/not-wf/sa/165.xml @@ -0,0 +1,5 @@ + + +]> + diff --git a/basis/xml/tests/xmltest/not-wf/sa/166.xml b/basis/xml/tests/xmltest/not-wf/sa/166.xml new file mode 100755 index 0000000000..ee2ce28630 --- /dev/null +++ b/basis/xml/tests/xmltest/not-wf/sa/166.xml @@ -0,0 +1 @@ +￿ diff --git a/basis/xml/tests/xmltest/not-wf/sa/167.xml b/basis/xml/tests/xmltest/not-wf/sa/167.xml new file mode 100755 index 0000000000..9bdc6c1278 --- /dev/null +++ b/basis/xml/tests/xmltest/not-wf/sa/167.xml @@ -0,0 +1 @@ + diff --git a/basis/xml/tests/xmltest/not-wf/sa/168.xml b/basis/xml/tests/xmltest/not-wf/sa/168.xml new file mode 100755 index 0000000000..f83221a3ad --- /dev/null +++ b/basis/xml/tests/xmltest/not-wf/sa/168.xml @@ -0,0 +1 @@ + diff --git a/basis/xml/tests/xmltest/not-wf/sa/169.xml b/basis/xml/tests/xmltest/not-wf/sa/169.xml new file mode 100755 index 0000000000..310029b976 --- /dev/null +++ b/basis/xml/tests/xmltest/not-wf/sa/169.xml @@ -0,0 +1 @@ + diff --git a/basis/xml/tests/xmltest/not-wf/sa/170.xml b/basis/xml/tests/xmltest/not-wf/sa/170.xml new file mode 100755 index 0000000000..cfa0aee155 --- /dev/null +++ b/basis/xml/tests/xmltest/not-wf/sa/170.xml @@ -0,0 +1 @@ + diff --git a/basis/xml/tests/xmltest/not-wf/sa/171.xml b/basis/xml/tests/xmltest/not-wf/sa/171.xml new file mode 100755 index 0000000000..48b5c7d3bc --- /dev/null +++ b/basis/xml/tests/xmltest/not-wf/sa/171.xml @@ -0,0 +1,2 @@ + + diff --git a/basis/xml/tests/xmltest/not-wf/sa/172.xml b/basis/xml/tests/xmltest/not-wf/sa/172.xml new file mode 100755 index 0000000000..6651d4d299 --- /dev/null +++ b/basis/xml/tests/xmltest/not-wf/sa/172.xml @@ -0,0 +1,2 @@ + + diff --git a/basis/xml/tests/xmltest/not-wf/sa/173.xml b/basis/xml/tests/xmltest/not-wf/sa/173.xml new file mode 100755 index 0000000000..f9f9f42023 --- /dev/null +++ b/basis/xml/tests/xmltest/not-wf/sa/173.xml @@ -0,0 +1 @@ + diff --git a/basis/xml/tests/xmltest/not-wf/sa/174.xml b/basis/xml/tests/xmltest/not-wf/sa/174.xml new file mode 100755 index 0000000000..42bef861c6 --- /dev/null +++ b/basis/xml/tests/xmltest/not-wf/sa/174.xml @@ -0,0 +1 @@ + diff --git a/basis/xml/tests/xmltest/not-wf/sa/175.xml b/basis/xml/tests/xmltest/not-wf/sa/175.xml new file mode 100755 index 0000000000..69912f36d2 --- /dev/null +++ b/basis/xml/tests/xmltest/not-wf/sa/175.xml @@ -0,0 +1,5 @@ + + +]> + diff --git a/basis/xml/tests/xmltest/not-wf/sa/176.xml b/basis/xml/tests/xmltest/not-wf/sa/176.xml new file mode 100755 index 0000000000..9c8e2e47d1 --- /dev/null +++ b/basis/xml/tests/xmltest/not-wf/sa/176.xml @@ -0,0 +1,4 @@ + +]> + diff --git a/basis/xml/tests/xmltest/not-wf/sa/177.xml b/basis/xml/tests/xmltest/not-wf/sa/177.xml new file mode 100755 index 0000000000..6bc8228879 --- /dev/null +++ b/basis/xml/tests/xmltest/not-wf/sa/177.xml @@ -0,0 +1,4 @@ + +]> +A￿ diff --git a/basis/xml/tests/xmltest/not-wf/sa/178.xml b/basis/xml/tests/xmltest/not-wf/sa/178.xml new file mode 100755 index 0000000000..e8f2d18eed --- /dev/null +++ b/basis/xml/tests/xmltest/not-wf/sa/178.xml @@ -0,0 +1,5 @@ + + +]> + +]> + diff --git a/basis/xml/tests/xmltest/not-wf/sa/180.xml b/basis/xml/tests/xmltest/not-wf/sa/180.xml new file mode 100755 index 0000000000..569d553a8c --- /dev/null +++ b/basis/xml/tests/xmltest/not-wf/sa/180.xml @@ -0,0 +1,6 @@ + + + +]> + diff --git a/basis/xml/tests/xmltest/not-wf/sa/181.xml b/basis/xml/tests/xmltest/not-wf/sa/181.xml new file mode 100755 index 0000000000..4341d99ee2 --- /dev/null +++ b/basis/xml/tests/xmltest/not-wf/sa/181.xml @@ -0,0 +1,5 @@ + + +]> +&e;]]> diff --git a/basis/xml/tests/xmltest/not-wf/sa/182.xml b/basis/xml/tests/xmltest/not-wf/sa/182.xml new file mode 100755 index 0000000000..920f431666 --- /dev/null +++ b/basis/xml/tests/xmltest/not-wf/sa/182.xml @@ -0,0 +1,5 @@ + + +]> +&e;--> diff --git a/basis/xml/tests/xmltest/not-wf/sa/183.xml b/basis/xml/tests/xmltest/not-wf/sa/183.xml new file mode 100755 index 0000000000..7a5677de54 --- /dev/null +++ b/basis/xml/tests/xmltest/not-wf/sa/183.xml @@ -0,0 +1,5 @@ + + +]> + diff --git a/basis/xml/tests/xmltest/not-wf/sa/184.xml b/basis/xml/tests/xmltest/not-wf/sa/184.xml new file mode 100755 index 0000000000..103384a06e --- /dev/null +++ b/basis/xml/tests/xmltest/not-wf/sa/184.xml @@ -0,0 +1,6 @@ + + +]> + + diff --git a/basis/xml/tests/xmltest/not-wf/sa/185.ent b/basis/xml/tests/xmltest/not-wf/sa/185.ent new file mode 100755 index 0000000000..e557426454 --- /dev/null +++ b/basis/xml/tests/xmltest/not-wf/sa/185.ent @@ -0,0 +1 @@ + diff --git a/basis/xml/tests/xmltest/not-wf/sa/185.xml b/basis/xml/tests/xmltest/not-wf/sa/185.xml new file mode 100755 index 0000000000..81d5ef4bcd --- /dev/null +++ b/basis/xml/tests/xmltest/not-wf/sa/185.xml @@ -0,0 +1,3 @@ + + +&e; diff --git a/basis/xml/tests/xmltest/not-wf/sa/186.xml b/basis/xml/tests/xmltest/not-wf/sa/186.xml new file mode 100755 index 0000000000..85b26ec0a2 --- /dev/null +++ b/basis/xml/tests/xmltest/not-wf/sa/186.xml @@ -0,0 +1,5 @@ + + +]> + diff --git a/basis/xml/tests/xmltest/not-wf/sa/null.ent b/basis/xml/tests/xmltest/not-wf/sa/null.ent new file mode 100644 index 0000000000..e69de29bb2 diff --git a/basis/xml/tests/xmltest/readme.html b/basis/xml/tests/xmltest/readme.html new file mode 100755 index 0000000000..fc7310c68e --- /dev/null +++ b/basis/xml/tests/xmltest/readme.html @@ -0,0 +1,60 @@ + +XML Test Cases + +

XML Test Cases version 1998-11-18

+

+Copyright (C) 1998 James Clark. All rights reserved. Permission is +granted to copy and modify this collection in any way for internal use +within a company or organization. Permission is granted to +redistribute the file xmltest.zip containing this +collection to third parties provided that no modifications of any kind +are made to this file. Note that permission to distribute the +collection in any other form is not granted. +

+The collection is structured into three directories: +

+
not-wf +
this contains cases that are not well-formed XML documents +
valid +
this contains cases that are valid XML documents +
invalid +
this contains cases that are well-formed XML documents +but are not valid XML documents +
+

+The not-wf and valid directories each have +three subdirectories: +

+
+sa +
+this contains cases that are standalone (as defined in XML) and do not +have references to external general entities +
+ext-sa +
+this contains case that are standalone and have references to external +general entities +
+not-sa +
+this contains cases that are not standalone +
+

+In each directory, files with a .xml extension are the +XML document test cases, and files with a .ent extension +are external entities referenced by the test cases. +

+Within the valid directory, each of these three +subdirectories has an out subdirectory which contains an +equivalent canonical XML document for each +of the cases. +

+

+Bug reports and contributions of new test cases are welcome. +

+

+James Clark +
+ + diff --git a/basis/xml/tests/xmltest/valid/ext-sa/001.ent b/basis/xml/tests/xmltest/valid/ext-sa/001.ent new file mode 100755 index 0000000000..1cff3fd44f --- /dev/null +++ b/basis/xml/tests/xmltest/valid/ext-sa/001.ent @@ -0,0 +1 @@ +Data diff --git a/basis/xml/tests/xmltest/valid/ext-sa/001.xml b/basis/xml/tests/xmltest/valid/ext-sa/001.xml new file mode 100755 index 0000000000..147d70d2d1 --- /dev/null +++ b/basis/xml/tests/xmltest/valid/ext-sa/001.xml @@ -0,0 +1,5 @@ + + +]> +&e; diff --git a/basis/xml/tests/xmltest/valid/ext-sa/002.ent b/basis/xml/tests/xmltest/valid/ext-sa/002.ent new file mode 100755 index 0000000000..45f6d8e74e --- /dev/null +++ b/basis/xml/tests/xmltest/valid/ext-sa/002.ent @@ -0,0 +1 @@ +Data \ No newline at end of file diff --git a/basis/xml/tests/xmltest/valid/ext-sa/002.xml b/basis/xml/tests/xmltest/valid/ext-sa/002.xml new file mode 100755 index 0000000000..9eaf91724f --- /dev/null +++ b/basis/xml/tests/xmltest/valid/ext-sa/002.xml @@ -0,0 +1,5 @@ + + +]> +&e; diff --git a/basis/xml/tests/xmltest/valid/ext-sa/003.ent b/basis/xml/tests/xmltest/valid/ext-sa/003.ent new file mode 100755 index 0000000000..e69de29bb2 diff --git a/basis/xml/tests/xmltest/valid/ext-sa/003.xml b/basis/xml/tests/xmltest/valid/ext-sa/003.xml new file mode 100755 index 0000000000..bb60b663ef --- /dev/null +++ b/basis/xml/tests/xmltest/valid/ext-sa/003.xml @@ -0,0 +1,5 @@ + + +]> +&e; diff --git a/basis/xml/tests/xmltest/valid/ext-sa/004.ent b/basis/xml/tests/xmltest/valid/ext-sa/004.ent new file mode 100755 index 0000000000..3436f20001 --- /dev/null +++ b/basis/xml/tests/xmltest/valid/ext-sa/004.ent @@ -0,0 +1 @@ +Data \ No newline at end of file diff --git a/basis/xml/tests/xmltest/valid/ext-sa/004.xml b/basis/xml/tests/xmltest/valid/ext-sa/004.xml new file mode 100755 index 0000000000..074498ce19 --- /dev/null +++ b/basis/xml/tests/xmltest/valid/ext-sa/004.xml @@ -0,0 +1,5 @@ + + +]> +&e; diff --git a/basis/xml/tests/xmltest/valid/ext-sa/005.ent b/basis/xml/tests/xmltest/valid/ext-sa/005.ent new file mode 100755 index 0000000000..c6e97f821f --- /dev/null +++ b/basis/xml/tests/xmltest/valid/ext-sa/005.ent @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/basis/xml/tests/xmltest/valid/ext-sa/005.xml b/basis/xml/tests/xmltest/valid/ext-sa/005.xml new file mode 100755 index 0000000000..82a6228205 --- /dev/null +++ b/basis/xml/tests/xmltest/valid/ext-sa/005.xml @@ -0,0 +1,6 @@ + + + +]> +&e; diff --git a/basis/xml/tests/xmltest/valid/ext-sa/006.ent b/basis/xml/tests/xmltest/valid/ext-sa/006.ent new file mode 100755 index 0000000000..4df2f0c2ac --- /dev/null +++ b/basis/xml/tests/xmltest/valid/ext-sa/006.ent @@ -0,0 +1,4 @@ +Data + +More data + diff --git a/basis/xml/tests/xmltest/valid/ext-sa/006.xml b/basis/xml/tests/xmltest/valid/ext-sa/006.xml new file mode 100755 index 0000000000..0b326cad4c --- /dev/null +++ b/basis/xml/tests/xmltest/valid/ext-sa/006.xml @@ -0,0 +1,6 @@ + + + +]> +&e; diff --git a/basis/xml/tests/xmltest/valid/ext-sa/007.ent b/basis/xml/tests/xmltest/valid/ext-sa/007.ent new file mode 100755 index 0000000000..ab1d696dd7 Binary files /dev/null and b/basis/xml/tests/xmltest/valid/ext-sa/007.ent differ diff --git a/basis/xml/tests/xmltest/valid/ext-sa/007.xml b/basis/xml/tests/xmltest/valid/ext-sa/007.xml new file mode 100755 index 0000000000..825e3b286a --- /dev/null +++ b/basis/xml/tests/xmltest/valid/ext-sa/007.xml @@ -0,0 +1,5 @@ + + +]> +X&e;Z diff --git a/basis/xml/tests/xmltest/valid/ext-sa/008.ent b/basis/xml/tests/xmltest/valid/ext-sa/008.ent new file mode 100755 index 0000000000..c6ca61f9c8 Binary files /dev/null and b/basis/xml/tests/xmltest/valid/ext-sa/008.ent differ diff --git a/basis/xml/tests/xmltest/valid/ext-sa/008.xml b/basis/xml/tests/xmltest/valid/ext-sa/008.xml new file mode 100755 index 0000000000..3c001b6cb3 --- /dev/null +++ b/basis/xml/tests/xmltest/valid/ext-sa/008.xml @@ -0,0 +1,5 @@ + + +]> +X&e;Z diff --git a/basis/xml/tests/xmltest/valid/ext-sa/009.ent b/basis/xml/tests/xmltest/valid/ext-sa/009.ent new file mode 100755 index 0000000000..67c3297611 --- /dev/null +++ b/basis/xml/tests/xmltest/valid/ext-sa/009.ent @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/basis/xml/tests/xmltest/valid/ext-sa/009.xml b/basis/xml/tests/xmltest/valid/ext-sa/009.xml new file mode 100755 index 0000000000..a5866e5a77 --- /dev/null +++ b/basis/xml/tests/xmltest/valid/ext-sa/009.xml @@ -0,0 +1,5 @@ + + +]> +&e; diff --git a/basis/xml/tests/xmltest/valid/ext-sa/010.ent b/basis/xml/tests/xmltest/valid/ext-sa/010.ent new file mode 100755 index 0000000000..e69de29bb2 diff --git a/basis/xml/tests/xmltest/valid/ext-sa/010.xml b/basis/xml/tests/xmltest/valid/ext-sa/010.xml new file mode 100755 index 0000000000..418e9b0141 --- /dev/null +++ b/basis/xml/tests/xmltest/valid/ext-sa/010.xml @@ -0,0 +1,5 @@ + + +]> +&e; diff --git a/basis/xml/tests/xmltest/valid/ext-sa/011.ent b/basis/xml/tests/xmltest/valid/ext-sa/011.ent new file mode 100755 index 0000000000..b19be3a497 --- /dev/null +++ b/basis/xml/tests/xmltest/valid/ext-sa/011.ent @@ -0,0 +1 @@ +xyzzy diff --git a/basis/xml/tests/xmltest/valid/ext-sa/011.xml b/basis/xml/tests/xmltest/valid/ext-sa/011.xml new file mode 100755 index 0000000000..2ceefa1d21 --- /dev/null +++ b/basis/xml/tests/xmltest/valid/ext-sa/011.xml @@ -0,0 +1,5 @@ + + +]> +&e; diff --git a/basis/xml/tests/xmltest/valid/ext-sa/012.ent b/basis/xml/tests/xmltest/valid/ext-sa/012.ent new file mode 100755 index 0000000000..8eb1fb9c41 --- /dev/null +++ b/basis/xml/tests/xmltest/valid/ext-sa/012.ent @@ -0,0 +1 @@ +&e4; \ No newline at end of file diff --git a/basis/xml/tests/xmltest/valid/ext-sa/012.xml b/basis/xml/tests/xmltest/valid/ext-sa/012.xml new file mode 100755 index 0000000000..5a8f009b4a --- /dev/null +++ b/basis/xml/tests/xmltest/valid/ext-sa/012.xml @@ -0,0 +1,9 @@ + + + + + + +]> +&e1; diff --git a/basis/xml/tests/xmltest/valid/ext-sa/013.ent b/basis/xml/tests/xmltest/valid/ext-sa/013.ent new file mode 100755 index 0000000000..7f25c502dd --- /dev/null +++ b/basis/xml/tests/xmltest/valid/ext-sa/013.ent @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/basis/xml/tests/xmltest/valid/ext-sa/013.xml b/basis/xml/tests/xmltest/valid/ext-sa/013.xml new file mode 100755 index 0000000000..7717c97afe --- /dev/null +++ b/basis/xml/tests/xmltest/valid/ext-sa/013.xml @@ -0,0 +1,10 @@ + + + + +]> +&x; diff --git a/basis/xml/tests/xmltest/valid/ext-sa/014.ent b/basis/xml/tests/xmltest/valid/ext-sa/014.ent new file mode 100755 index 0000000000..470fd6fe44 Binary files /dev/null and b/basis/xml/tests/xmltest/valid/ext-sa/014.ent differ diff --git a/basis/xml/tests/xmltest/valid/ext-sa/014.xml b/basis/xml/tests/xmltest/valid/ext-sa/014.xml new file mode 100755 index 0000000000..816fd1e796 --- /dev/null +++ b/basis/xml/tests/xmltest/valid/ext-sa/014.xml @@ -0,0 +1,5 @@ + + +]> +&e; diff --git a/basis/xml/tests/xmltest/valid/ext-sa/out/001.xml b/basis/xml/tests/xmltest/valid/ext-sa/out/001.xml new file mode 100755 index 0000000000..0a7acf8ebe --- /dev/null +++ b/basis/xml/tests/xmltest/valid/ext-sa/out/001.xml @@ -0,0 +1 @@ +Data \ No newline at end of file diff --git a/basis/xml/tests/xmltest/valid/ext-sa/out/002.xml b/basis/xml/tests/xmltest/valid/ext-sa/out/002.xml new file mode 100755 index 0000000000..d4a445e555 --- /dev/null +++ b/basis/xml/tests/xmltest/valid/ext-sa/out/002.xml @@ -0,0 +1 @@ +Data \ No newline at end of file diff --git a/basis/xml/tests/xmltest/valid/ext-sa/out/003.xml b/basis/xml/tests/xmltest/valid/ext-sa/out/003.xml new file mode 100755 index 0000000000..7e8f183484 --- /dev/null +++ b/basis/xml/tests/xmltest/valid/ext-sa/out/003.xml @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/basis/xml/tests/xmltest/valid/ext-sa/out/004.xml b/basis/xml/tests/xmltest/valid/ext-sa/out/004.xml new file mode 100755 index 0000000000..0a7acf8ebe --- /dev/null +++ b/basis/xml/tests/xmltest/valid/ext-sa/out/004.xml @@ -0,0 +1 @@ +Data \ No newline at end of file diff --git a/basis/xml/tests/xmltest/valid/ext-sa/out/005.xml b/basis/xml/tests/xmltest/valid/ext-sa/out/005.xml new file mode 100755 index 0000000000..6e293aa70e --- /dev/null +++ b/basis/xml/tests/xmltest/valid/ext-sa/out/005.xml @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/basis/xml/tests/xmltest/valid/ext-sa/out/006.xml b/basis/xml/tests/xmltest/valid/ext-sa/out/006.xml new file mode 100755 index 0000000000..04b6fc82ee --- /dev/null +++ b/basis/xml/tests/xmltest/valid/ext-sa/out/006.xml @@ -0,0 +1 @@ +Data More data \ No newline at end of file diff --git a/basis/xml/tests/xmltest/valid/ext-sa/out/007.xml b/basis/xml/tests/xmltest/valid/ext-sa/out/007.xml new file mode 100755 index 0000000000..ab2a74c9d1 --- /dev/null +++ b/basis/xml/tests/xmltest/valid/ext-sa/out/007.xml @@ -0,0 +1 @@ +XYZ \ No newline at end of file diff --git a/basis/xml/tests/xmltest/valid/ext-sa/out/008.xml b/basis/xml/tests/xmltest/valid/ext-sa/out/008.xml new file mode 100755 index 0000000000..ab2a74c9d1 --- /dev/null +++ b/basis/xml/tests/xmltest/valid/ext-sa/out/008.xml @@ -0,0 +1 @@ +XYZ \ No newline at end of file diff --git a/basis/xml/tests/xmltest/valid/ext-sa/out/009.xml b/basis/xml/tests/xmltest/valid/ext-sa/out/009.xml new file mode 100755 index 0000000000..a79dff65fd --- /dev/null +++ b/basis/xml/tests/xmltest/valid/ext-sa/out/009.xml @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/basis/xml/tests/xmltest/valid/ext-sa/out/010.xml b/basis/xml/tests/xmltest/valid/ext-sa/out/010.xml new file mode 100755 index 0000000000..7e8f183484 --- /dev/null +++ b/basis/xml/tests/xmltest/valid/ext-sa/out/010.xml @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/basis/xml/tests/xmltest/valid/ext-sa/out/011.xml b/basis/xml/tests/xmltest/valid/ext-sa/out/011.xml new file mode 100755 index 0000000000..bf275adb2b --- /dev/null +++ b/basis/xml/tests/xmltest/valid/ext-sa/out/011.xml @@ -0,0 +1 @@ +xyzzy \ No newline at end of file diff --git a/basis/xml/tests/xmltest/valid/ext-sa/out/012.xml b/basis/xml/tests/xmltest/valid/ext-sa/out/012.xml new file mode 100755 index 0000000000..81a251cb4b --- /dev/null +++ b/basis/xml/tests/xmltest/valid/ext-sa/out/012.xml @@ -0,0 +1 @@ +(e5) \ No newline at end of file diff --git a/basis/xml/tests/xmltest/valid/ext-sa/out/013.xml b/basis/xml/tests/xmltest/valid/ext-sa/out/013.xml new file mode 100755 index 0000000000..524d94ee6b --- /dev/null +++ b/basis/xml/tests/xmltest/valid/ext-sa/out/013.xml @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/basis/xml/tests/xmltest/valid/ext-sa/out/014.xml b/basis/xml/tests/xmltest/valid/ext-sa/out/014.xml new file mode 100755 index 0000000000..71c6dc3e8e --- /dev/null +++ b/basis/xml/tests/xmltest/valid/ext-sa/out/014.xml @@ -0,0 +1 @@ +data \ No newline at end of file diff --git a/basis/xml/tests/xmltest/valid/not-sa/001.ent b/basis/xml/tests/xmltest/valid/not-sa/001.ent new file mode 100755 index 0000000000..e69de29bb2 diff --git a/basis/xml/tests/xmltest/valid/not-sa/001.xml b/basis/xml/tests/xmltest/valid/not-sa/001.xml new file mode 100755 index 0000000000..2d6f41a137 --- /dev/null +++ b/basis/xml/tests/xmltest/valid/not-sa/001.xml @@ -0,0 +1,4 @@ + +]> + diff --git a/basis/xml/tests/xmltest/valid/not-sa/002.ent b/basis/xml/tests/xmltest/valid/not-sa/002.ent new file mode 100755 index 0000000000..67c3297611 --- /dev/null +++ b/basis/xml/tests/xmltest/valid/not-sa/002.ent @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/basis/xml/tests/xmltest/valid/not-sa/002.xml b/basis/xml/tests/xmltest/valid/not-sa/002.xml new file mode 100755 index 0000000000..023fce8499 --- /dev/null +++ b/basis/xml/tests/xmltest/valid/not-sa/002.xml @@ -0,0 +1,4 @@ + +]> + diff --git a/basis/xml/tests/xmltest/valid/not-sa/003-1.ent b/basis/xml/tests/xmltest/valid/not-sa/003-1.ent new file mode 100755 index 0000000000..931f3ad6d8 --- /dev/null +++ b/basis/xml/tests/xmltest/valid/not-sa/003-1.ent @@ -0,0 +1,3 @@ + + + diff --git a/basis/xml/tests/xmltest/valid/not-sa/003-2.ent b/basis/xml/tests/xmltest/valid/not-sa/003-2.ent new file mode 100644 index 0000000000..e69de29bb2 diff --git a/basis/xml/tests/xmltest/valid/not-sa/003.xml b/basis/xml/tests/xmltest/valid/not-sa/003.xml new file mode 100755 index 0000000000..63a5e8bdfc --- /dev/null +++ b/basis/xml/tests/xmltest/valid/not-sa/003.xml @@ -0,0 +1,2 @@ + + diff --git a/basis/xml/tests/xmltest/valid/not-sa/004-1.ent b/basis/xml/tests/xmltest/valid/not-sa/004-1.ent new file mode 100755 index 0000000000..40f7ff58a2 --- /dev/null +++ b/basis/xml/tests/xmltest/valid/not-sa/004-1.ent @@ -0,0 +1,4 @@ + + + +%e1; diff --git a/basis/xml/tests/xmltest/valid/not-sa/004-2.ent b/basis/xml/tests/xmltest/valid/not-sa/004-2.ent new file mode 100755 index 0000000000..61def75cb7 --- /dev/null +++ b/basis/xml/tests/xmltest/valid/not-sa/004-2.ent @@ -0,0 +1 @@ + diff --git a/basis/xml/tests/xmltest/valid/not-sa/004.xml b/basis/xml/tests/xmltest/valid/not-sa/004.xml new file mode 100755 index 0000000000..adc9201496 --- /dev/null +++ b/basis/xml/tests/xmltest/valid/not-sa/004.xml @@ -0,0 +1,2 @@ + + diff --git a/basis/xml/tests/xmltest/valid/not-sa/005-1.ent b/basis/xml/tests/xmltest/valid/not-sa/005-1.ent new file mode 100755 index 0000000000..ade9599032 --- /dev/null +++ b/basis/xml/tests/xmltest/valid/not-sa/005-1.ent @@ -0,0 +1,3 @@ + + +%e; diff --git a/basis/xml/tests/xmltest/valid/not-sa/005-2.ent b/basis/xml/tests/xmltest/valid/not-sa/005-2.ent new file mode 100755 index 0000000000..bef50b1f38 --- /dev/null +++ b/basis/xml/tests/xmltest/valid/not-sa/005-2.ent @@ -0,0 +1 @@ + diff --git a/basis/xml/tests/xmltest/valid/not-sa/005.xml b/basis/xml/tests/xmltest/valid/not-sa/005.xml new file mode 100755 index 0000000000..6bd44cfee0 --- /dev/null +++ b/basis/xml/tests/xmltest/valid/not-sa/005.xml @@ -0,0 +1,2 @@ + + diff --git a/basis/xml/tests/xmltest/valid/not-sa/006.ent b/basis/xml/tests/xmltest/valid/not-sa/006.ent new file mode 100755 index 0000000000..8f305a82bd --- /dev/null +++ b/basis/xml/tests/xmltest/valid/not-sa/006.ent @@ -0,0 +1,2 @@ + + diff --git a/basis/xml/tests/xmltest/valid/not-sa/006.xml b/basis/xml/tests/xmltest/valid/not-sa/006.xml new file mode 100755 index 0000000000..eb80bb7409 --- /dev/null +++ b/basis/xml/tests/xmltest/valid/not-sa/006.xml @@ -0,0 +1,4 @@ + +]> + diff --git a/basis/xml/tests/xmltest/valid/not-sa/007.ent b/basis/xml/tests/xmltest/valid/not-sa/007.ent new file mode 100755 index 0000000000..fbf4ca4947 --- /dev/null +++ b/basis/xml/tests/xmltest/valid/not-sa/007.ent @@ -0,0 +1,2 @@ + + diff --git a/basis/xml/tests/xmltest/valid/not-sa/007.xml b/basis/xml/tests/xmltest/valid/not-sa/007.xml new file mode 100755 index 0000000000..38897e34ea --- /dev/null +++ b/basis/xml/tests/xmltest/valid/not-sa/007.xml @@ -0,0 +1,2 @@ + + diff --git a/basis/xml/tests/xmltest/valid/not-sa/008.ent b/basis/xml/tests/xmltest/valid/not-sa/008.ent new file mode 100755 index 0000000000..fbf4ca4947 --- /dev/null +++ b/basis/xml/tests/xmltest/valid/not-sa/008.ent @@ -0,0 +1,2 @@ + + diff --git a/basis/xml/tests/xmltest/valid/not-sa/008.xml b/basis/xml/tests/xmltest/valid/not-sa/008.xml new file mode 100755 index 0000000000..bf777a7ff2 --- /dev/null +++ b/basis/xml/tests/xmltest/valid/not-sa/008.xml @@ -0,0 +1,2 @@ + + diff --git a/basis/xml/tests/xmltest/valid/not-sa/009.ent b/basis/xml/tests/xmltest/valid/not-sa/009.ent new file mode 100755 index 0000000000..fbf4ca4947 --- /dev/null +++ b/basis/xml/tests/xmltest/valid/not-sa/009.ent @@ -0,0 +1,2 @@ + + diff --git a/basis/xml/tests/xmltest/valid/not-sa/009.xml b/basis/xml/tests/xmltest/valid/not-sa/009.xml new file mode 100755 index 0000000000..c17562fe68 --- /dev/null +++ b/basis/xml/tests/xmltest/valid/not-sa/009.xml @@ -0,0 +1,4 @@ + +]> + diff --git a/basis/xml/tests/xmltest/valid/not-sa/010.ent b/basis/xml/tests/xmltest/valid/not-sa/010.ent new file mode 100755 index 0000000000..52a28f5deb --- /dev/null +++ b/basis/xml/tests/xmltest/valid/not-sa/010.ent @@ -0,0 +1,2 @@ + + diff --git a/basis/xml/tests/xmltest/valid/not-sa/010.xml b/basis/xml/tests/xmltest/valid/not-sa/010.xml new file mode 100755 index 0000000000..2786b328f3 --- /dev/null +++ b/basis/xml/tests/xmltest/valid/not-sa/010.xml @@ -0,0 +1,4 @@ + +]> + diff --git a/basis/xml/tests/xmltest/valid/not-sa/011.ent b/basis/xml/tests/xmltest/valid/not-sa/011.ent new file mode 100755 index 0000000000..fbf4ca4947 --- /dev/null +++ b/basis/xml/tests/xmltest/valid/not-sa/011.ent @@ -0,0 +1,2 @@ + + diff --git a/basis/xml/tests/xmltest/valid/not-sa/011.xml b/basis/xml/tests/xmltest/valid/not-sa/011.xml new file mode 100755 index 0000000000..03b482bbb6 --- /dev/null +++ b/basis/xml/tests/xmltest/valid/not-sa/011.xml @@ -0,0 +1,5 @@ + +%e; +]> + diff --git a/basis/xml/tests/xmltest/valid/not-sa/012.ent b/basis/xml/tests/xmltest/valid/not-sa/012.ent new file mode 100755 index 0000000000..7e372e65e9 --- /dev/null +++ b/basis/xml/tests/xmltest/valid/not-sa/012.ent @@ -0,0 +1,3 @@ + + + diff --git a/basis/xml/tests/xmltest/valid/not-sa/012.xml b/basis/xml/tests/xmltest/valid/not-sa/012.xml new file mode 100755 index 0000000000..1967edbba7 --- /dev/null +++ b/basis/xml/tests/xmltest/valid/not-sa/012.xml @@ -0,0 +1,5 @@ + +%e; +]> + diff --git a/basis/xml/tests/xmltest/valid/not-sa/013.ent b/basis/xml/tests/xmltest/valid/not-sa/013.ent new file mode 100755 index 0000000000..a3691d9f08 --- /dev/null +++ b/basis/xml/tests/xmltest/valid/not-sa/013.ent @@ -0,0 +1,4 @@ + + +]]> diff --git a/basis/xml/tests/xmltest/valid/not-sa/013.xml b/basis/xml/tests/xmltest/valid/not-sa/013.xml new file mode 100755 index 0000000000..cf44f2600a --- /dev/null +++ b/basis/xml/tests/xmltest/valid/not-sa/013.xml @@ -0,0 +1,2 @@ + + diff --git a/basis/xml/tests/xmltest/valid/not-sa/014.ent b/basis/xml/tests/xmltest/valid/not-sa/014.ent new file mode 100755 index 0000000000..6eaf779329 --- /dev/null +++ b/basis/xml/tests/xmltest/valid/not-sa/014.ent @@ -0,0 +1,4 @@ + + +]]> diff --git a/basis/xml/tests/xmltest/valid/not-sa/014.xml b/basis/xml/tests/xmltest/valid/not-sa/014.xml new file mode 100755 index 0000000000..bd08502489 --- /dev/null +++ b/basis/xml/tests/xmltest/valid/not-sa/014.xml @@ -0,0 +1,4 @@ + +]> + diff --git a/basis/xml/tests/xmltest/valid/not-sa/015.ent b/basis/xml/tests/xmltest/valid/not-sa/015.ent new file mode 100755 index 0000000000..00d2f30e1d --- /dev/null +++ b/basis/xml/tests/xmltest/valid/not-sa/015.ent @@ -0,0 +1,5 @@ + + +]]> + diff --git a/basis/xml/tests/xmltest/valid/not-sa/015.xml b/basis/xml/tests/xmltest/valid/not-sa/015.xml new file mode 100755 index 0000000000..e04e75ffca --- /dev/null +++ b/basis/xml/tests/xmltest/valid/not-sa/015.xml @@ -0,0 +1,4 @@ + +]> + diff --git a/basis/xml/tests/xmltest/valid/not-sa/016.ent b/basis/xml/tests/xmltest/valid/not-sa/016.ent new file mode 100755 index 0000000000..bf77ef8336 --- /dev/null +++ b/basis/xml/tests/xmltest/valid/not-sa/016.ent @@ -0,0 +1,4 @@ + + +]]> diff --git a/basis/xml/tests/xmltest/valid/not-sa/016.xml b/basis/xml/tests/xmltest/valid/not-sa/016.xml new file mode 100755 index 0000000000..4ccf4af350 --- /dev/null +++ b/basis/xml/tests/xmltest/valid/not-sa/016.xml @@ -0,0 +1,4 @@ + +]> + diff --git a/basis/xml/tests/xmltest/valid/not-sa/017.ent b/basis/xml/tests/xmltest/valid/not-sa/017.ent new file mode 100755 index 0000000000..ffd9adde61 --- /dev/null +++ b/basis/xml/tests/xmltest/valid/not-sa/017.ent @@ -0,0 +1,3 @@ + +"> +%e; diff --git a/basis/xml/tests/xmltest/valid/not-sa/017.xml b/basis/xml/tests/xmltest/valid/not-sa/017.xml new file mode 100755 index 0000000000..7fe18f4c7a --- /dev/null +++ b/basis/xml/tests/xmltest/valid/not-sa/017.xml @@ -0,0 +1,2 @@ + + diff --git a/basis/xml/tests/xmltest/valid/not-sa/018.ent b/basis/xml/tests/xmltest/valid/not-sa/018.ent new file mode 100755 index 0000000000..2d46f76fc3 --- /dev/null +++ b/basis/xml/tests/xmltest/valid/not-sa/018.ent @@ -0,0 +1,3 @@ + + + diff --git a/basis/xml/tests/xmltest/valid/not-sa/018.xml b/basis/xml/tests/xmltest/valid/not-sa/018.xml new file mode 100755 index 0000000000..31e90f2405 --- /dev/null +++ b/basis/xml/tests/xmltest/valid/not-sa/018.xml @@ -0,0 +1,2 @@ + + diff --git a/basis/xml/tests/xmltest/valid/not-sa/019.ent b/basis/xml/tests/xmltest/valid/not-sa/019.ent new file mode 100755 index 0000000000..d18201a98b --- /dev/null +++ b/basis/xml/tests/xmltest/valid/not-sa/019.ent @@ -0,0 +1,3 @@ + + + diff --git a/basis/xml/tests/xmltest/valid/not-sa/019.xml b/basis/xml/tests/xmltest/valid/not-sa/019.xml new file mode 100755 index 0000000000..b7a18faba0 --- /dev/null +++ b/basis/xml/tests/xmltest/valid/not-sa/019.xml @@ -0,0 +1,2 @@ + + diff --git a/basis/xml/tests/xmltest/valid/not-sa/020.ent b/basis/xml/tests/xmltest/valid/not-sa/020.ent new file mode 100755 index 0000000000..815291c6d2 --- /dev/null +++ b/basis/xml/tests/xmltest/valid/not-sa/020.ent @@ -0,0 +1,3 @@ + + + diff --git a/basis/xml/tests/xmltest/valid/not-sa/020.xml b/basis/xml/tests/xmltest/valid/not-sa/020.xml new file mode 100755 index 0000000000..d70892f7ad --- /dev/null +++ b/basis/xml/tests/xmltest/valid/not-sa/020.xml @@ -0,0 +1,2 @@ + + diff --git a/basis/xml/tests/xmltest/valid/not-sa/021.ent b/basis/xml/tests/xmltest/valid/not-sa/021.ent new file mode 100755 index 0000000000..9f8f2afd2b --- /dev/null +++ b/basis/xml/tests/xmltest/valid/not-sa/021.ent @@ -0,0 +1,3 @@ + + + diff --git a/basis/xml/tests/xmltest/valid/not-sa/021.xml b/basis/xml/tests/xmltest/valid/not-sa/021.xml new file mode 100755 index 0000000000..70c28730db --- /dev/null +++ b/basis/xml/tests/xmltest/valid/not-sa/021.xml @@ -0,0 +1,2 @@ + + diff --git a/basis/xml/tests/xmltest/valid/not-sa/023.ent b/basis/xml/tests/xmltest/valid/not-sa/023.ent new file mode 100755 index 0000000000..e3268819f7 --- /dev/null +++ b/basis/xml/tests/xmltest/valid/not-sa/023.ent @@ -0,0 +1,5 @@ + + + + + diff --git a/basis/xml/tests/xmltest/valid/not-sa/023.xml b/basis/xml/tests/xmltest/valid/not-sa/023.xml new file mode 100755 index 0000000000..1c2484b70b --- /dev/null +++ b/basis/xml/tests/xmltest/valid/not-sa/023.xml @@ -0,0 +1,2 @@ + + diff --git a/basis/xml/tests/xmltest/valid/not-sa/024.ent b/basis/xml/tests/xmltest/valid/not-sa/024.ent new file mode 100755 index 0000000000..aa6d0eccac --- /dev/null +++ b/basis/xml/tests/xmltest/valid/not-sa/024.ent @@ -0,0 +1,4 @@ + + + + diff --git a/basis/xml/tests/xmltest/valid/not-sa/024.xml b/basis/xml/tests/xmltest/valid/not-sa/024.xml new file mode 100755 index 0000000000..96e1ecb61b --- /dev/null +++ b/basis/xml/tests/xmltest/valid/not-sa/024.xml @@ -0,0 +1,2 @@ + + diff --git a/basis/xml/tests/xmltest/valid/not-sa/025.ent b/basis/xml/tests/xmltest/valid/not-sa/025.ent new file mode 100755 index 0000000000..389d259eb1 --- /dev/null +++ b/basis/xml/tests/xmltest/valid/not-sa/025.ent @@ -0,0 +1,5 @@ + + + + + diff --git a/basis/xml/tests/xmltest/valid/not-sa/025.xml b/basis/xml/tests/xmltest/valid/not-sa/025.xml new file mode 100755 index 0000000000..8fdbc14c47 --- /dev/null +++ b/basis/xml/tests/xmltest/valid/not-sa/025.xml @@ -0,0 +1,2 @@ + + diff --git a/basis/xml/tests/xmltest/valid/not-sa/026.ent b/basis/xml/tests/xmltest/valid/not-sa/026.ent new file mode 100755 index 0000000000..bdc93af639 --- /dev/null +++ b/basis/xml/tests/xmltest/valid/not-sa/026.ent @@ -0,0 +1 @@ + diff --git a/basis/xml/tests/xmltest/valid/not-sa/026.xml b/basis/xml/tests/xmltest/valid/not-sa/026.xml new file mode 100755 index 0000000000..7b109c0913 --- /dev/null +++ b/basis/xml/tests/xmltest/valid/not-sa/026.xml @@ -0,0 +1,7 @@ + + +%e; + +]> + diff --git a/basis/xml/tests/xmltest/valid/not-sa/027.ent b/basis/xml/tests/xmltest/valid/not-sa/027.ent new file mode 100755 index 0000000000..712cce3700 --- /dev/null +++ b/basis/xml/tests/xmltest/valid/not-sa/027.ent @@ -0,0 +1,2 @@ + + diff --git a/basis/xml/tests/xmltest/valid/not-sa/027.xml b/basis/xml/tests/xmltest/valid/not-sa/027.xml new file mode 100755 index 0000000000..d0c8c7abb5 --- /dev/null +++ b/basis/xml/tests/xmltest/valid/not-sa/027.xml @@ -0,0 +1,2 @@ + + diff --git a/basis/xml/tests/xmltest/valid/not-sa/028.ent b/basis/xml/tests/xmltest/valid/not-sa/028.ent new file mode 100755 index 0000000000..ac249d7b2c --- /dev/null +++ b/basis/xml/tests/xmltest/valid/not-sa/028.ent @@ -0,0 +1,2 @@ + +]]> diff --git a/basis/xml/tests/xmltest/valid/not-sa/028.xml b/basis/xml/tests/xmltest/valid/not-sa/028.xml new file mode 100755 index 0000000000..50e5248cbf --- /dev/null +++ b/basis/xml/tests/xmltest/valid/not-sa/028.xml @@ -0,0 +1,2 @@ + + diff --git a/basis/xml/tests/xmltest/valid/not-sa/029.ent b/basis/xml/tests/xmltest/valid/not-sa/029.ent new file mode 100755 index 0000000000..df94df5560 --- /dev/null +++ b/basis/xml/tests/xmltest/valid/not-sa/029.ent @@ -0,0 +1,3 @@ + +]]> + diff --git a/basis/xml/tests/xmltest/valid/not-sa/029.xml b/basis/xml/tests/xmltest/valid/not-sa/029.xml new file mode 100755 index 0000000000..07e226c1d7 --- /dev/null +++ b/basis/xml/tests/xmltest/valid/not-sa/029.xml @@ -0,0 +1,2 @@ + + diff --git a/basis/xml/tests/xmltest/valid/not-sa/030.ent b/basis/xml/tests/xmltest/valid/not-sa/030.ent new file mode 100755 index 0000000000..e3864460df --- /dev/null +++ b/basis/xml/tests/xmltest/valid/not-sa/030.ent @@ -0,0 +1,3 @@ + + + diff --git a/basis/xml/tests/xmltest/valid/not-sa/030.xml b/basis/xml/tests/xmltest/valid/not-sa/030.xml new file mode 100755 index 0000000000..01fc2be4ca --- /dev/null +++ b/basis/xml/tests/xmltest/valid/not-sa/030.xml @@ -0,0 +1,2 @@ + + diff --git a/basis/xml/tests/xmltest/valid/not-sa/031-1.ent b/basis/xml/tests/xmltest/valid/not-sa/031-1.ent new file mode 100755 index 0000000000..f7f94ab152 --- /dev/null +++ b/basis/xml/tests/xmltest/valid/not-sa/031-1.ent @@ -0,0 +1,3 @@ + + +"> diff --git a/basis/xml/tests/xmltest/valid/not-sa/031-2.ent b/basis/xml/tests/xmltest/valid/not-sa/031-2.ent new file mode 100755 index 0000000000..bef50b1f38 --- /dev/null +++ b/basis/xml/tests/xmltest/valid/not-sa/031-2.ent @@ -0,0 +1 @@ + diff --git a/basis/xml/tests/xmltest/valid/not-sa/031.xml b/basis/xml/tests/xmltest/valid/not-sa/031.xml new file mode 100755 index 0000000000..c3fe5fca71 --- /dev/null +++ b/basis/xml/tests/xmltest/valid/not-sa/031.xml @@ -0,0 +1,2 @@ + +&e; diff --git a/basis/xml/tests/xmltest/valid/not-sa/out/001.xml b/basis/xml/tests/xmltest/valid/not-sa/out/001.xml new file mode 100755 index 0000000000..7e8f183484 --- /dev/null +++ b/basis/xml/tests/xmltest/valid/not-sa/out/001.xml @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/basis/xml/tests/xmltest/valid/not-sa/out/002.xml b/basis/xml/tests/xmltest/valid/not-sa/out/002.xml new file mode 100755 index 0000000000..7e8f183484 --- /dev/null +++ b/basis/xml/tests/xmltest/valid/not-sa/out/002.xml @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/basis/xml/tests/xmltest/valid/not-sa/out/003.xml b/basis/xml/tests/xmltest/valid/not-sa/out/003.xml new file mode 100755 index 0000000000..e05cfe6c31 --- /dev/null +++ b/basis/xml/tests/xmltest/valid/not-sa/out/003.xml @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/basis/xml/tests/xmltest/valid/not-sa/out/004.xml b/basis/xml/tests/xmltest/valid/not-sa/out/004.xml new file mode 100755 index 0000000000..bdc39e2224 --- /dev/null +++ b/basis/xml/tests/xmltest/valid/not-sa/out/004.xml @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/basis/xml/tests/xmltest/valid/not-sa/out/005.xml b/basis/xml/tests/xmltest/valid/not-sa/out/005.xml new file mode 100755 index 0000000000..e05cfe6c31 --- /dev/null +++ b/basis/xml/tests/xmltest/valid/not-sa/out/005.xml @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/basis/xml/tests/xmltest/valid/not-sa/out/006.xml b/basis/xml/tests/xmltest/valid/not-sa/out/006.xml new file mode 100755 index 0000000000..d07627d7a3 --- /dev/null +++ b/basis/xml/tests/xmltest/valid/not-sa/out/006.xml @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/basis/xml/tests/xmltest/valid/not-sa/out/007.xml b/basis/xml/tests/xmltest/valid/not-sa/out/007.xml new file mode 100755 index 0000000000..e05cfe6c31 --- /dev/null +++ b/basis/xml/tests/xmltest/valid/not-sa/out/007.xml @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/basis/xml/tests/xmltest/valid/not-sa/out/008.xml b/basis/xml/tests/xmltest/valid/not-sa/out/008.xml new file mode 100755 index 0000000000..e05cfe6c31 --- /dev/null +++ b/basis/xml/tests/xmltest/valid/not-sa/out/008.xml @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/basis/xml/tests/xmltest/valid/not-sa/out/009.xml b/basis/xml/tests/xmltest/valid/not-sa/out/009.xml new file mode 100755 index 0000000000..7293fb63dc --- /dev/null +++ b/basis/xml/tests/xmltest/valid/not-sa/out/009.xml @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/basis/xml/tests/xmltest/valid/not-sa/out/010.xml b/basis/xml/tests/xmltest/valid/not-sa/out/010.xml new file mode 100755 index 0000000000..e05cfe6c31 --- /dev/null +++ b/basis/xml/tests/xmltest/valid/not-sa/out/010.xml @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/basis/xml/tests/xmltest/valid/not-sa/out/011.xml b/basis/xml/tests/xmltest/valid/not-sa/out/011.xml new file mode 100755 index 0000000000..e05cfe6c31 --- /dev/null +++ b/basis/xml/tests/xmltest/valid/not-sa/out/011.xml @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/basis/xml/tests/xmltest/valid/not-sa/out/012.xml b/basis/xml/tests/xmltest/valid/not-sa/out/012.xml new file mode 100755 index 0000000000..e05cfe6c31 --- /dev/null +++ b/basis/xml/tests/xmltest/valid/not-sa/out/012.xml @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/basis/xml/tests/xmltest/valid/not-sa/out/013.xml b/basis/xml/tests/xmltest/valid/not-sa/out/013.xml new file mode 100755 index 0000000000..e05cfe6c31 --- /dev/null +++ b/basis/xml/tests/xmltest/valid/not-sa/out/013.xml @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/basis/xml/tests/xmltest/valid/not-sa/out/014.xml b/basis/xml/tests/xmltest/valid/not-sa/out/014.xml new file mode 100755 index 0000000000..e05cfe6c31 --- /dev/null +++ b/basis/xml/tests/xmltest/valid/not-sa/out/014.xml @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/basis/xml/tests/xmltest/valid/not-sa/out/015.xml b/basis/xml/tests/xmltest/valid/not-sa/out/015.xml new file mode 100755 index 0000000000..131a32fe69 --- /dev/null +++ b/basis/xml/tests/xmltest/valid/not-sa/out/015.xml @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/basis/xml/tests/xmltest/valid/not-sa/out/016.xml b/basis/xml/tests/xmltest/valid/not-sa/out/016.xml new file mode 100755 index 0000000000..e05cfe6c31 --- /dev/null +++ b/basis/xml/tests/xmltest/valid/not-sa/out/016.xml @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/basis/xml/tests/xmltest/valid/not-sa/out/017.xml b/basis/xml/tests/xmltest/valid/not-sa/out/017.xml new file mode 100755 index 0000000000..e05cfe6c31 --- /dev/null +++ b/basis/xml/tests/xmltest/valid/not-sa/out/017.xml @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/basis/xml/tests/xmltest/valid/not-sa/out/018.xml b/basis/xml/tests/xmltest/valid/not-sa/out/018.xml new file mode 100755 index 0000000000..e05cfe6c31 --- /dev/null +++ b/basis/xml/tests/xmltest/valid/not-sa/out/018.xml @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/basis/xml/tests/xmltest/valid/not-sa/out/019.xml b/basis/xml/tests/xmltest/valid/not-sa/out/019.xml new file mode 100755 index 0000000000..e05cfe6c31 --- /dev/null +++ b/basis/xml/tests/xmltest/valid/not-sa/out/019.xml @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/basis/xml/tests/xmltest/valid/not-sa/out/020.xml b/basis/xml/tests/xmltest/valid/not-sa/out/020.xml new file mode 100755 index 0000000000..e05cfe6c31 --- /dev/null +++ b/basis/xml/tests/xmltest/valid/not-sa/out/020.xml @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/basis/xml/tests/xmltest/valid/not-sa/out/021.xml b/basis/xml/tests/xmltest/valid/not-sa/out/021.xml new file mode 100755 index 0000000000..e05cfe6c31 --- /dev/null +++ b/basis/xml/tests/xmltest/valid/not-sa/out/021.xml @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/basis/xml/tests/xmltest/valid/not-sa/out/022.xml b/basis/xml/tests/xmltest/valid/not-sa/out/022.xml new file mode 100755 index 0000000000..e05cfe6c31 --- /dev/null +++ b/basis/xml/tests/xmltest/valid/not-sa/out/022.xml @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/basis/xml/tests/xmltest/valid/not-sa/out/023.xml b/basis/xml/tests/xmltest/valid/not-sa/out/023.xml new file mode 100755 index 0000000000..e05cfe6c31 --- /dev/null +++ b/basis/xml/tests/xmltest/valid/not-sa/out/023.xml @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/basis/xml/tests/xmltest/valid/not-sa/out/024.xml b/basis/xml/tests/xmltest/valid/not-sa/out/024.xml new file mode 100755 index 0000000000..e05cfe6c31 --- /dev/null +++ b/basis/xml/tests/xmltest/valid/not-sa/out/024.xml @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/basis/xml/tests/xmltest/valid/not-sa/out/025.xml b/basis/xml/tests/xmltest/valid/not-sa/out/025.xml new file mode 100755 index 0000000000..eb3f9674e8 --- /dev/null +++ b/basis/xml/tests/xmltest/valid/not-sa/out/025.xml @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/basis/xml/tests/xmltest/valid/not-sa/out/026.xml b/basis/xml/tests/xmltest/valid/not-sa/out/026.xml new file mode 100755 index 0000000000..71c02026e4 --- /dev/null +++ b/basis/xml/tests/xmltest/valid/not-sa/out/026.xml @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/basis/xml/tests/xmltest/valid/not-sa/out/027.xml b/basis/xml/tests/xmltest/valid/not-sa/out/027.xml new file mode 100755 index 0000000000..7e8f183484 --- /dev/null +++ b/basis/xml/tests/xmltest/valid/not-sa/out/027.xml @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/basis/xml/tests/xmltest/valid/not-sa/out/028.xml b/basis/xml/tests/xmltest/valid/not-sa/out/028.xml new file mode 100755 index 0000000000..e05cfe6c31 --- /dev/null +++ b/basis/xml/tests/xmltest/valid/not-sa/out/028.xml @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/basis/xml/tests/xmltest/valid/not-sa/out/029.xml b/basis/xml/tests/xmltest/valid/not-sa/out/029.xml new file mode 100755 index 0000000000..7ac8b2b89d --- /dev/null +++ b/basis/xml/tests/xmltest/valid/not-sa/out/029.xml @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/basis/xml/tests/xmltest/valid/not-sa/out/030.xml b/basis/xml/tests/xmltest/valid/not-sa/out/030.xml new file mode 100755 index 0000000000..7e8f183484 --- /dev/null +++ b/basis/xml/tests/xmltest/valid/not-sa/out/030.xml @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/basis/xml/tests/xmltest/valid/not-sa/out/031.xml b/basis/xml/tests/xmltest/valid/not-sa/out/031.xml new file mode 100755 index 0000000000..03a6c3f9cd --- /dev/null +++ b/basis/xml/tests/xmltest/valid/not-sa/out/031.xml @@ -0,0 +1 @@ +<!ATTLIST doc a1 CDATA "v1"> \ No newline at end of file diff --git a/basis/xml/tests/xmltest/valid/sa/001.xml b/basis/xml/tests/xmltest/valid/sa/001.xml new file mode 100755 index 0000000000..7fbef49502 --- /dev/null +++ b/basis/xml/tests/xmltest/valid/sa/001.xml @@ -0,0 +1,4 @@ + +]> + diff --git a/basis/xml/tests/xmltest/valid/sa/002.xml b/basis/xml/tests/xmltest/valid/sa/002.xml new file mode 100755 index 0000000000..2e3f1d81dd --- /dev/null +++ b/basis/xml/tests/xmltest/valid/sa/002.xml @@ -0,0 +1,4 @@ + +]> + diff --git a/basis/xml/tests/xmltest/valid/sa/003.xml b/basis/xml/tests/xmltest/valid/sa/003.xml new file mode 100755 index 0000000000..c841b81784 --- /dev/null +++ b/basis/xml/tests/xmltest/valid/sa/003.xml @@ -0,0 +1,4 @@ + +]> + diff --git a/basis/xml/tests/xmltest/valid/sa/004.xml b/basis/xml/tests/xmltest/valid/sa/004.xml new file mode 100755 index 0000000000..a9c5756933 --- /dev/null +++ b/basis/xml/tests/xmltest/valid/sa/004.xml @@ -0,0 +1,5 @@ + + +]> + diff --git a/basis/xml/tests/xmltest/valid/sa/005.xml b/basis/xml/tests/xmltest/valid/sa/005.xml new file mode 100755 index 0000000000..b069efe727 --- /dev/null +++ b/basis/xml/tests/xmltest/valid/sa/005.xml @@ -0,0 +1,5 @@ + + +]> + diff --git a/basis/xml/tests/xmltest/valid/sa/006.xml b/basis/xml/tests/xmltest/valid/sa/006.xml new file mode 100755 index 0000000000..39a346342f --- /dev/null +++ b/basis/xml/tests/xmltest/valid/sa/006.xml @@ -0,0 +1,5 @@ + + +]> + diff --git a/basis/xml/tests/xmltest/valid/sa/007.xml b/basis/xml/tests/xmltest/valid/sa/007.xml new file mode 100755 index 0000000000..cc3dc53166 --- /dev/null +++ b/basis/xml/tests/xmltest/valid/sa/007.xml @@ -0,0 +1,4 @@ + +]> + diff --git a/basis/xml/tests/xmltest/valid/sa/008.xml b/basis/xml/tests/xmltest/valid/sa/008.xml new file mode 100755 index 0000000000..b3370eb1cc --- /dev/null +++ b/basis/xml/tests/xmltest/valid/sa/008.xml @@ -0,0 +1,4 @@ + +]> +&<>"' diff --git a/basis/xml/tests/xmltest/valid/sa/009.xml b/basis/xml/tests/xmltest/valid/sa/009.xml new file mode 100755 index 0000000000..0fa183eccf --- /dev/null +++ b/basis/xml/tests/xmltest/valid/sa/009.xml @@ -0,0 +1,4 @@ + +]> + diff --git a/basis/xml/tests/xmltest/valid/sa/010.xml b/basis/xml/tests/xmltest/valid/sa/010.xml new file mode 100755 index 0000000000..eb64d18590 --- /dev/null +++ b/basis/xml/tests/xmltest/valid/sa/010.xml @@ -0,0 +1,5 @@ + + +]> + diff --git a/basis/xml/tests/xmltest/valid/sa/011.xml b/basis/xml/tests/xmltest/valid/sa/011.xml new file mode 100755 index 0000000000..4cac44b4e4 --- /dev/null +++ b/basis/xml/tests/xmltest/valid/sa/011.xml @@ -0,0 +1,5 @@ + + +]> + diff --git a/basis/xml/tests/xmltest/valid/sa/012.xml b/basis/xml/tests/xmltest/valid/sa/012.xml new file mode 100755 index 0000000000..6ce2a3eae2 --- /dev/null +++ b/basis/xml/tests/xmltest/valid/sa/012.xml @@ -0,0 +1,5 @@ + + +]> + diff --git a/basis/xml/tests/xmltest/valid/sa/013.xml b/basis/xml/tests/xmltest/valid/sa/013.xml new file mode 100755 index 0000000000..2f4aae4e28 --- /dev/null +++ b/basis/xml/tests/xmltest/valid/sa/013.xml @@ -0,0 +1,5 @@ + + +]> + diff --git a/basis/xml/tests/xmltest/valid/sa/014.xml b/basis/xml/tests/xmltest/valid/sa/014.xml new file mode 100755 index 0000000000..47f1f723e3 --- /dev/null +++ b/basis/xml/tests/xmltest/valid/sa/014.xml @@ -0,0 +1,5 @@ + + +]> + diff --git a/basis/xml/tests/xmltest/valid/sa/015.xml b/basis/xml/tests/xmltest/valid/sa/015.xml new file mode 100755 index 0000000000..861df8a610 --- /dev/null +++ b/basis/xml/tests/xmltest/valid/sa/015.xml @@ -0,0 +1,5 @@ + + +]> + diff --git a/basis/xml/tests/xmltest/valid/sa/016.xml b/basis/xml/tests/xmltest/valid/sa/016.xml new file mode 100755 index 0000000000..66b1973c5d --- /dev/null +++ b/basis/xml/tests/xmltest/valid/sa/016.xml @@ -0,0 +1,4 @@ + +]> + diff --git a/basis/xml/tests/xmltest/valid/sa/017.xml b/basis/xml/tests/xmltest/valid/sa/017.xml new file mode 100755 index 0000000000..827ba963bf --- /dev/null +++ b/basis/xml/tests/xmltest/valid/sa/017.xml @@ -0,0 +1,4 @@ + +]> + diff --git a/basis/xml/tests/xmltest/valid/sa/018.xml b/basis/xml/tests/xmltest/valid/sa/018.xml new file mode 100755 index 0000000000..4570903fee --- /dev/null +++ b/basis/xml/tests/xmltest/valid/sa/018.xml @@ -0,0 +1,4 @@ + +]> +]]> diff --git a/basis/xml/tests/xmltest/valid/sa/019.xml b/basis/xml/tests/xmltest/valid/sa/019.xml new file mode 100755 index 0000000000..3e6b74cbf2 --- /dev/null +++ b/basis/xml/tests/xmltest/valid/sa/019.xml @@ -0,0 +1,4 @@ + +]> + diff --git a/basis/xml/tests/xmltest/valid/sa/020.xml b/basis/xml/tests/xmltest/valid/sa/020.xml new file mode 100755 index 0000000000..f749551a1b --- /dev/null +++ b/basis/xml/tests/xmltest/valid/sa/020.xml @@ -0,0 +1,4 @@ + +]> +]]]> diff --git a/basis/xml/tests/xmltest/valid/sa/021.xml b/basis/xml/tests/xmltest/valid/sa/021.xml new file mode 100755 index 0000000000..13dda8c8a5 --- /dev/null +++ b/basis/xml/tests/xmltest/valid/sa/021.xml @@ -0,0 +1,4 @@ + +]> + diff --git a/basis/xml/tests/xmltest/valid/sa/022.xml b/basis/xml/tests/xmltest/valid/sa/022.xml new file mode 100755 index 0000000000..41d300e950 --- /dev/null +++ b/basis/xml/tests/xmltest/valid/sa/022.xml @@ -0,0 +1,4 @@ + +]> + diff --git a/basis/xml/tests/xmltest/valid/sa/023.xml b/basis/xml/tests/xmltest/valid/sa/023.xml new file mode 100755 index 0000000000..3837b831ad --- /dev/null +++ b/basis/xml/tests/xmltest/valid/sa/023.xml @@ -0,0 +1,5 @@ + + +]> +&e; diff --git a/basis/xml/tests/xmltest/valid/sa/024.xml b/basis/xml/tests/xmltest/valid/sa/024.xml new file mode 100755 index 0000000000..b0655c634c --- /dev/null +++ b/basis/xml/tests/xmltest/valid/sa/024.xml @@ -0,0 +1,6 @@ + + +"> +]> +&e; diff --git a/basis/xml/tests/xmltest/valid/sa/025.xml b/basis/xml/tests/xmltest/valid/sa/025.xml new file mode 100755 index 0000000000..ed01f36d89 --- /dev/null +++ b/basis/xml/tests/xmltest/valid/sa/025.xml @@ -0,0 +1,5 @@ + + +]> + diff --git a/basis/xml/tests/xmltest/valid/sa/026.xml b/basis/xml/tests/xmltest/valid/sa/026.xml new file mode 100755 index 0000000000..1ba033c1a7 --- /dev/null +++ b/basis/xml/tests/xmltest/valid/sa/026.xml @@ -0,0 +1,5 @@ + + +]> + diff --git a/basis/xml/tests/xmltest/valid/sa/027.xml b/basis/xml/tests/xmltest/valid/sa/027.xml new file mode 100755 index 0000000000..ee02439051 --- /dev/null +++ b/basis/xml/tests/xmltest/valid/sa/027.xml @@ -0,0 +1,5 @@ + + +]> + diff --git a/basis/xml/tests/xmltest/valid/sa/028.xml b/basis/xml/tests/xmltest/valid/sa/028.xml new file mode 100755 index 0000000000..3d95747913 --- /dev/null +++ b/basis/xml/tests/xmltest/valid/sa/028.xml @@ -0,0 +1,5 @@ + + +]> + diff --git a/basis/xml/tests/xmltest/valid/sa/029.xml b/basis/xml/tests/xmltest/valid/sa/029.xml new file mode 100755 index 0000000000..909f6ff712 --- /dev/null +++ b/basis/xml/tests/xmltest/valid/sa/029.xml @@ -0,0 +1,5 @@ + + +]> + diff --git a/basis/xml/tests/xmltest/valid/sa/030.xml b/basis/xml/tests/xmltest/valid/sa/030.xml new file mode 100755 index 0000000000..3a7ddaa716 --- /dev/null +++ b/basis/xml/tests/xmltest/valid/sa/030.xml @@ -0,0 +1,5 @@ + + +]> + diff --git a/basis/xml/tests/xmltest/valid/sa/031.xml b/basis/xml/tests/xmltest/valid/sa/031.xml new file mode 100755 index 0000000000..a58e05867f --- /dev/null +++ b/basis/xml/tests/xmltest/valid/sa/031.xml @@ -0,0 +1,5 @@ + + +]> + diff --git a/basis/xml/tests/xmltest/valid/sa/032.xml b/basis/xml/tests/xmltest/valid/sa/032.xml new file mode 100755 index 0000000000..be55c8d721 --- /dev/null +++ b/basis/xml/tests/xmltest/valid/sa/032.xml @@ -0,0 +1,5 @@ + + +]> + diff --git a/basis/xml/tests/xmltest/valid/sa/033.xml b/basis/xml/tests/xmltest/valid/sa/033.xml new file mode 100755 index 0000000000..a3f9053868 --- /dev/null +++ b/basis/xml/tests/xmltest/valid/sa/033.xml @@ -0,0 +1,5 @@ + + +]> + diff --git a/basis/xml/tests/xmltest/valid/sa/034.xml b/basis/xml/tests/xmltest/valid/sa/034.xml new file mode 100755 index 0000000000..7d52f31c0e --- /dev/null +++ b/basis/xml/tests/xmltest/valid/sa/034.xml @@ -0,0 +1,4 @@ + +]> + diff --git a/basis/xml/tests/xmltest/valid/sa/035.xml b/basis/xml/tests/xmltest/valid/sa/035.xml new file mode 100755 index 0000000000..f109a8b782 --- /dev/null +++ b/basis/xml/tests/xmltest/valid/sa/035.xml @@ -0,0 +1,4 @@ + +]> + diff --git a/basis/xml/tests/xmltest/valid/sa/036.xml b/basis/xml/tests/xmltest/valid/sa/036.xml new file mode 100755 index 0000000000..8ab2b3fb16 --- /dev/null +++ b/basis/xml/tests/xmltest/valid/sa/036.xml @@ -0,0 +1,5 @@ + +]> + + diff --git a/basis/xml/tests/xmltest/valid/sa/037.xml b/basis/xml/tests/xmltest/valid/sa/037.xml new file mode 100755 index 0000000000..f9b2113940 --- /dev/null +++ b/basis/xml/tests/xmltest/valid/sa/037.xml @@ -0,0 +1,6 @@ + +]> + + + diff --git a/basis/xml/tests/xmltest/valid/sa/038.xml b/basis/xml/tests/xmltest/valid/sa/038.xml new file mode 100755 index 0000000000..d14f41bfe2 --- /dev/null +++ b/basis/xml/tests/xmltest/valid/sa/038.xml @@ -0,0 +1,6 @@ + + +]> + + diff --git a/basis/xml/tests/xmltest/valid/sa/039.xml b/basis/xml/tests/xmltest/valid/sa/039.xml new file mode 100755 index 0000000000..0897316e46 --- /dev/null +++ b/basis/xml/tests/xmltest/valid/sa/039.xml @@ -0,0 +1,5 @@ + + +]> + diff --git a/basis/xml/tests/xmltest/valid/sa/040.xml b/basis/xml/tests/xmltest/valid/sa/040.xml new file mode 100755 index 0000000000..12c419b65b --- /dev/null +++ b/basis/xml/tests/xmltest/valid/sa/040.xml @@ -0,0 +1,5 @@ + + +]> + diff --git a/basis/xml/tests/xmltest/valid/sa/041.xml b/basis/xml/tests/xmltest/valid/sa/041.xml new file mode 100755 index 0000000000..a59f536277 --- /dev/null +++ b/basis/xml/tests/xmltest/valid/sa/041.xml @@ -0,0 +1,5 @@ + + +]> + diff --git a/basis/xml/tests/xmltest/valid/sa/042.xml b/basis/xml/tests/xmltest/valid/sa/042.xml new file mode 100755 index 0000000000..5d7c650944 --- /dev/null +++ b/basis/xml/tests/xmltest/valid/sa/042.xml @@ -0,0 +1,4 @@ + +]> +A diff --git a/basis/xml/tests/xmltest/valid/sa/043.xml b/basis/xml/tests/xmltest/valid/sa/043.xml new file mode 100755 index 0000000000..a8095dfe28 --- /dev/null +++ b/basis/xml/tests/xmltest/valid/sa/043.xml @@ -0,0 +1,6 @@ + + +]> + diff --git a/basis/xml/tests/xmltest/valid/sa/044.xml b/basis/xml/tests/xmltest/valid/sa/044.xml new file mode 100755 index 0000000000..bee1d23e1a --- /dev/null +++ b/basis/xml/tests/xmltest/valid/sa/044.xml @@ -0,0 +1,10 @@ + + + +]> + + + + + diff --git a/basis/xml/tests/xmltest/valid/sa/045.xml b/basis/xml/tests/xmltest/valid/sa/045.xml new file mode 100755 index 0000000000..e2567f532d --- /dev/null +++ b/basis/xml/tests/xmltest/valid/sa/045.xml @@ -0,0 +1,6 @@ + + + +]> + diff --git a/basis/xml/tests/xmltest/valid/sa/046.xml b/basis/xml/tests/xmltest/valid/sa/046.xml new file mode 100755 index 0000000000..c50a2846f9 --- /dev/null +++ b/basis/xml/tests/xmltest/valid/sa/046.xml @@ -0,0 +1,6 @@ + + + +]> + diff --git a/basis/xml/tests/xmltest/valid/sa/047.xml b/basis/xml/tests/xmltest/valid/sa/047.xml new file mode 100755 index 0000000000..a4c688cf1a --- /dev/null +++ b/basis/xml/tests/xmltest/valid/sa/047.xml @@ -0,0 +1,5 @@ + +]> +X +Y diff --git a/basis/xml/tests/xmltest/valid/sa/048.xml b/basis/xml/tests/xmltest/valid/sa/048.xml new file mode 100755 index 0000000000..c6b2dedbba --- /dev/null +++ b/basis/xml/tests/xmltest/valid/sa/048.xml @@ -0,0 +1,4 @@ + +]> +] diff --git a/basis/xml/tests/xmltest/valid/sa/049.xml b/basis/xml/tests/xmltest/valid/sa/049.xml new file mode 100755 index 0000000000..c3cc797b59 Binary files /dev/null and b/basis/xml/tests/xmltest/valid/sa/049.xml differ diff --git a/basis/xml/tests/xmltest/valid/sa/050.xml b/basis/xml/tests/xmltest/valid/sa/050.xml new file mode 100755 index 0000000000..12303b1af2 Binary files /dev/null and b/basis/xml/tests/xmltest/valid/sa/050.xml differ diff --git a/basis/xml/tests/xmltest/valid/sa/051.xml b/basis/xml/tests/xmltest/valid/sa/051.xml new file mode 100755 index 0000000000..7ae8f6c73a Binary files /dev/null and b/basis/xml/tests/xmltest/valid/sa/051.xml differ diff --git a/basis/xml/tests/xmltest/valid/sa/052.xml b/basis/xml/tests/xmltest/valid/sa/052.xml new file mode 100755 index 0000000000..3f33a4c760 --- /dev/null +++ b/basis/xml/tests/xmltest/valid/sa/052.xml @@ -0,0 +1,4 @@ + +]> +𐀀􏿽 diff --git a/basis/xml/tests/xmltest/valid/sa/053.xml b/basis/xml/tests/xmltest/valid/sa/053.xml new file mode 100755 index 0000000000..0d88f28718 --- /dev/null +++ b/basis/xml/tests/xmltest/valid/sa/053.xml @@ -0,0 +1,6 @@ +"> + + +]> +&e; diff --git a/basis/xml/tests/xmltest/valid/sa/054.xml b/basis/xml/tests/xmltest/valid/sa/054.xml new file mode 100755 index 0000000000..5d1c88b946 --- /dev/null +++ b/basis/xml/tests/xmltest/valid/sa/054.xml @@ -0,0 +1,10 @@ + +]> + + + + + diff --git a/basis/xml/tests/xmltest/valid/sa/055.xml b/basis/xml/tests/xmltest/valid/sa/055.xml new file mode 100755 index 0000000000..da0292c5bc --- /dev/null +++ b/basis/xml/tests/xmltest/valid/sa/055.xml @@ -0,0 +1,5 @@ + +]> + + diff --git a/basis/xml/tests/xmltest/valid/sa/056.xml b/basis/xml/tests/xmltest/valid/sa/056.xml new file mode 100755 index 0000000000..144871b2a3 --- /dev/null +++ b/basis/xml/tests/xmltest/valid/sa/056.xml @@ -0,0 +1,4 @@ + +]> +A diff --git a/basis/xml/tests/xmltest/valid/sa/057.xml b/basis/xml/tests/xmltest/valid/sa/057.xml new file mode 100755 index 0000000000..c1ac849ed1 --- /dev/null +++ b/basis/xml/tests/xmltest/valid/sa/057.xml @@ -0,0 +1,4 @@ + +]> + diff --git a/basis/xml/tests/xmltest/valid/sa/058.xml b/basis/xml/tests/xmltest/valid/sa/058.xml new file mode 100755 index 0000000000..2ff23b233f --- /dev/null +++ b/basis/xml/tests/xmltest/valid/sa/058.xml @@ -0,0 +1,5 @@ + + +]> + diff --git a/basis/xml/tests/xmltest/valid/sa/059.xml b/basis/xml/tests/xmltest/valid/sa/059.xml new file mode 100755 index 0000000000..2171480ecf --- /dev/null +++ b/basis/xml/tests/xmltest/valid/sa/059.xml @@ -0,0 +1,10 @@ + + + +]> + + + + + diff --git a/basis/xml/tests/xmltest/valid/sa/060.xml b/basis/xml/tests/xmltest/valid/sa/060.xml new file mode 100755 index 0000000000..6cd6b4386b --- /dev/null +++ b/basis/xml/tests/xmltest/valid/sa/060.xml @@ -0,0 +1,4 @@ + +]> +X Y diff --git a/basis/xml/tests/xmltest/valid/sa/061.xml b/basis/xml/tests/xmltest/valid/sa/061.xml new file mode 100755 index 0000000000..bbdc152492 --- /dev/null +++ b/basis/xml/tests/xmltest/valid/sa/061.xml @@ -0,0 +1,4 @@ + +]> +£ diff --git a/basis/xml/tests/xmltest/valid/sa/062.xml b/basis/xml/tests/xmltest/valid/sa/062.xml new file mode 100755 index 0000000000..f4ba53090a --- /dev/null +++ b/basis/xml/tests/xmltest/valid/sa/062.xml @@ -0,0 +1,4 @@ + +]> +เจมส์ diff --git a/basis/xml/tests/xmltest/valid/sa/063.xml b/basis/xml/tests/xmltest/valid/sa/063.xml new file mode 100755 index 0000000000..9668f2da73 --- /dev/null +++ b/basis/xml/tests/xmltest/valid/sa/063.xml @@ -0,0 +1,4 @@ + +]> +<เจมส์> diff --git a/basis/xml/tests/xmltest/valid/sa/064.xml b/basis/xml/tests/xmltest/valid/sa/064.xml new file mode 100755 index 0000000000..74a97aa431 --- /dev/null +++ b/basis/xml/tests/xmltest/valid/sa/064.xml @@ -0,0 +1,4 @@ + +]> +𐀀􏿽 diff --git a/basis/xml/tests/xmltest/valid/sa/065.xml b/basis/xml/tests/xmltest/valid/sa/065.xml new file mode 100755 index 0000000000..f708f2bc17 --- /dev/null +++ b/basis/xml/tests/xmltest/valid/sa/065.xml @@ -0,0 +1,5 @@ + + +]> + diff --git a/basis/xml/tests/xmltest/valid/sa/066.xml b/basis/xml/tests/xmltest/valid/sa/066.xml new file mode 100755 index 0000000000..a27340b9a7 --- /dev/null +++ b/basis/xml/tests/xmltest/valid/sa/066.xml @@ -0,0 +1,7 @@ + + + + +]> + diff --git a/basis/xml/tests/xmltest/valid/sa/067.xml b/basis/xml/tests/xmltest/valid/sa/067.xml new file mode 100755 index 0000000000..a0ccf772a5 --- /dev/null +++ b/basis/xml/tests/xmltest/valid/sa/067.xml @@ -0,0 +1,4 @@ + +]> + diff --git a/basis/xml/tests/xmltest/valid/sa/068.xml b/basis/xml/tests/xmltest/valid/sa/068.xml new file mode 100755 index 0000000000..8ed806b9a3 --- /dev/null +++ b/basis/xml/tests/xmltest/valid/sa/068.xml @@ -0,0 +1,5 @@ + + +]> +&e; diff --git a/basis/xml/tests/xmltest/valid/sa/069.xml b/basis/xml/tests/xmltest/valid/sa/069.xml new file mode 100755 index 0000000000..2437f60530 --- /dev/null +++ b/basis/xml/tests/xmltest/valid/sa/069.xml @@ -0,0 +1,5 @@ + + +]> + diff --git a/basis/xml/tests/xmltest/valid/sa/070.xml b/basis/xml/tests/xmltest/valid/sa/070.xml new file mode 100755 index 0000000000..eef097df76 --- /dev/null +++ b/basis/xml/tests/xmltest/valid/sa/070.xml @@ -0,0 +1,5 @@ +"> +%e; +]> + diff --git a/basis/xml/tests/xmltest/valid/sa/071.xml b/basis/xml/tests/xmltest/valid/sa/071.xml new file mode 100755 index 0000000000..ebfba230a4 --- /dev/null +++ b/basis/xml/tests/xmltest/valid/sa/071.xml @@ -0,0 +1,5 @@ + + +]> + diff --git a/basis/xml/tests/xmltest/valid/sa/072.xml b/basis/xml/tests/xmltest/valid/sa/072.xml new file mode 100755 index 0000000000..6ef39dc49e --- /dev/null +++ b/basis/xml/tests/xmltest/valid/sa/072.xml @@ -0,0 +1,5 @@ + + +]> + diff --git a/basis/xml/tests/xmltest/valid/sa/073.xml b/basis/xml/tests/xmltest/valid/sa/073.xml new file mode 100755 index 0000000000..217476d9a9 --- /dev/null +++ b/basis/xml/tests/xmltest/valid/sa/073.xml @@ -0,0 +1,5 @@ + + +]> + diff --git a/basis/xml/tests/xmltest/valid/sa/074.xml b/basis/xml/tests/xmltest/valid/sa/074.xml new file mode 100755 index 0000000000..8b2354ff73 --- /dev/null +++ b/basis/xml/tests/xmltest/valid/sa/074.xml @@ -0,0 +1,5 @@ + + +]> + diff --git a/basis/xml/tests/xmltest/valid/sa/075.xml b/basis/xml/tests/xmltest/valid/sa/075.xml new file mode 100755 index 0000000000..33c012441a --- /dev/null +++ b/basis/xml/tests/xmltest/valid/sa/075.xml @@ -0,0 +1,5 @@ + + +]> + diff --git a/basis/xml/tests/xmltest/valid/sa/076.xml b/basis/xml/tests/xmltest/valid/sa/076.xml new file mode 100755 index 0000000000..65b731cf6d --- /dev/null +++ b/basis/xml/tests/xmltest/valid/sa/076.xml @@ -0,0 +1,7 @@ + + + + +]> + diff --git a/basis/xml/tests/xmltest/valid/sa/077.xml b/basis/xml/tests/xmltest/valid/sa/077.xml new file mode 100755 index 0000000000..e5f301eac8 --- /dev/null +++ b/basis/xml/tests/xmltest/valid/sa/077.xml @@ -0,0 +1,5 @@ + + +]> + diff --git a/basis/xml/tests/xmltest/valid/sa/078.xml b/basis/xml/tests/xmltest/valid/sa/078.xml new file mode 100755 index 0000000000..b31f40f94e --- /dev/null +++ b/basis/xml/tests/xmltest/valid/sa/078.xml @@ -0,0 +1,5 @@ + + +]> + diff --git a/basis/xml/tests/xmltest/valid/sa/079.xml b/basis/xml/tests/xmltest/valid/sa/079.xml new file mode 100755 index 0000000000..a3290d6cbb --- /dev/null +++ b/basis/xml/tests/xmltest/valid/sa/079.xml @@ -0,0 +1,5 @@ + + +]> + diff --git a/basis/xml/tests/xmltest/valid/sa/080.xml b/basis/xml/tests/xmltest/valid/sa/080.xml new file mode 100755 index 0000000000..3208fa9aa5 --- /dev/null +++ b/basis/xml/tests/xmltest/valid/sa/080.xml @@ -0,0 +1,5 @@ + + +]> + diff --git a/basis/xml/tests/xmltest/valid/sa/081.xml b/basis/xml/tests/xmltest/valid/sa/081.xml new file mode 100755 index 0000000000..51ee1a375c --- /dev/null +++ b/basis/xml/tests/xmltest/valid/sa/081.xml @@ -0,0 +1,7 @@ + + + + +]> + diff --git a/basis/xml/tests/xmltest/valid/sa/082.xml b/basis/xml/tests/xmltest/valid/sa/082.xml new file mode 100755 index 0000000000..d5245ac51a --- /dev/null +++ b/basis/xml/tests/xmltest/valid/sa/082.xml @@ -0,0 +1,5 @@ + + +]> + diff --git a/basis/xml/tests/xmltest/valid/sa/083.xml b/basis/xml/tests/xmltest/valid/sa/083.xml new file mode 100755 index 0000000000..937cfc0bdd --- /dev/null +++ b/basis/xml/tests/xmltest/valid/sa/083.xml @@ -0,0 +1,5 @@ + + +]> + diff --git a/basis/xml/tests/xmltest/valid/sa/084.xml b/basis/xml/tests/xmltest/valid/sa/084.xml new file mode 100755 index 0000000000..82760767aa --- /dev/null +++ b/basis/xml/tests/xmltest/valid/sa/084.xml @@ -0,0 +1 @@ +]> diff --git a/basis/xml/tests/xmltest/valid/sa/085.xml b/basis/xml/tests/xmltest/valid/sa/085.xml new file mode 100755 index 0000000000..cf5834f2a5 --- /dev/null +++ b/basis/xml/tests/xmltest/valid/sa/085.xml @@ -0,0 +1,6 @@ + +"> + +]> +&e; diff --git a/basis/xml/tests/xmltest/valid/sa/086.xml b/basis/xml/tests/xmltest/valid/sa/086.xml new file mode 100755 index 0000000000..bbc3080db6 --- /dev/null +++ b/basis/xml/tests/xmltest/valid/sa/086.xml @@ -0,0 +1,6 @@ + + +"> +]> +&e; diff --git a/basis/xml/tests/xmltest/valid/sa/087.xml b/basis/xml/tests/xmltest/valid/sa/087.xml new file mode 100755 index 0000000000..34797a67d7 --- /dev/null +++ b/basis/xml/tests/xmltest/valid/sa/087.xml @@ -0,0 +1,6 @@ + + + +]> +&e; diff --git a/basis/xml/tests/xmltest/valid/sa/088.xml b/basis/xml/tests/xmltest/valid/sa/088.xml new file mode 100755 index 0000000000..f97d96848d --- /dev/null +++ b/basis/xml/tests/xmltest/valid/sa/088.xml @@ -0,0 +1,5 @@ + +"> +]> +&e; diff --git a/basis/xml/tests/xmltest/valid/sa/089.xml b/basis/xml/tests/xmltest/valid/sa/089.xml new file mode 100755 index 0000000000..2d80c8f3fb --- /dev/null +++ b/basis/xml/tests/xmltest/valid/sa/089.xml @@ -0,0 +1,5 @@ + + +]> +&e; diff --git a/basis/xml/tests/xmltest/valid/sa/090.xml b/basis/xml/tests/xmltest/valid/sa/090.xml new file mode 100755 index 0000000000..c392c96084 --- /dev/null +++ b/basis/xml/tests/xmltest/valid/sa/090.xml @@ -0,0 +1,7 @@ + + + + +]> + diff --git a/basis/xml/tests/xmltest/valid/sa/091.xml b/basis/xml/tests/xmltest/valid/sa/091.xml new file mode 100755 index 0000000000..7343d0f795 --- /dev/null +++ b/basis/xml/tests/xmltest/valid/sa/091.xml @@ -0,0 +1,7 @@ + + + + +]> + diff --git a/basis/xml/tests/xmltest/valid/sa/092.xml b/basis/xml/tests/xmltest/valid/sa/092.xml new file mode 100755 index 0000000000..627b74ecdf --- /dev/null +++ b/basis/xml/tests/xmltest/valid/sa/092.xml @@ -0,0 +1,10 @@ + + +]> + + + + + + diff --git a/basis/xml/tests/xmltest/valid/sa/093.xml b/basis/xml/tests/xmltest/valid/sa/093.xml new file mode 100755 index 0000000000..300578eb5c --- /dev/null +++ b/basis/xml/tests/xmltest/valid/sa/093.xml @@ -0,0 +1,7 @@ + +]> + + + + diff --git a/basis/xml/tests/xmltest/valid/sa/094.xml b/basis/xml/tests/xmltest/valid/sa/094.xml new file mode 100755 index 0000000000..5726e7db6f --- /dev/null +++ b/basis/xml/tests/xmltest/valid/sa/094.xml @@ -0,0 +1,6 @@ + + + +]> + diff --git a/basis/xml/tests/xmltest/valid/sa/095.xml b/basis/xml/tests/xmltest/valid/sa/095.xml new file mode 100755 index 0000000000..1fe69596da --- /dev/null +++ b/basis/xml/tests/xmltest/valid/sa/095.xml @@ -0,0 +1,6 @@ + + + +]> + diff --git a/basis/xml/tests/xmltest/valid/sa/096.xml b/basis/xml/tests/xmltest/valid/sa/096.xml new file mode 100755 index 0000000000..a6f8f43620 --- /dev/null +++ b/basis/xml/tests/xmltest/valid/sa/096.xml @@ -0,0 +1,5 @@ + + +]> + diff --git a/basis/xml/tests/xmltest/valid/sa/097.ent b/basis/xml/tests/xmltest/valid/sa/097.ent new file mode 100755 index 0000000000..e06554ace2 --- /dev/null +++ b/basis/xml/tests/xmltest/valid/sa/097.ent @@ -0,0 +1 @@ + diff --git a/basis/xml/tests/xmltest/valid/sa/097.xml b/basis/xml/tests/xmltest/valid/sa/097.xml new file mode 100755 index 0000000000..c606afa97f --- /dev/null +++ b/basis/xml/tests/xmltest/valid/sa/097.xml @@ -0,0 +1,8 @@ + + + +%e; + +]> + diff --git a/basis/xml/tests/xmltest/valid/sa/098.xml b/basis/xml/tests/xmltest/valid/sa/098.xml new file mode 100755 index 0000000000..33a64ce5ae --- /dev/null +++ b/basis/xml/tests/xmltest/valid/sa/098.xml @@ -0,0 +1,5 @@ + +]> + diff --git a/basis/xml/tests/xmltest/valid/sa/099.xml b/basis/xml/tests/xmltest/valid/sa/099.xml new file mode 100755 index 0000000000..1b7214a137 --- /dev/null +++ b/basis/xml/tests/xmltest/valid/sa/099.xml @@ -0,0 +1,5 @@ + + +]> + diff --git a/basis/xml/tests/xmltest/valid/sa/100.xml b/basis/xml/tests/xmltest/valid/sa/100.xml new file mode 100755 index 0000000000..5b839e76bc --- /dev/null +++ b/basis/xml/tests/xmltest/valid/sa/100.xml @@ -0,0 +1,5 @@ + + +]> + diff --git a/basis/xml/tests/xmltest/valid/sa/101.xml b/basis/xml/tests/xmltest/valid/sa/101.xml new file mode 100755 index 0000000000..f464484bf5 --- /dev/null +++ b/basis/xml/tests/xmltest/valid/sa/101.xml @@ -0,0 +1,5 @@ + + +]> + diff --git a/basis/xml/tests/xmltest/valid/sa/102.xml b/basis/xml/tests/xmltest/valid/sa/102.xml new file mode 100755 index 0000000000..f239ff5fee --- /dev/null +++ b/basis/xml/tests/xmltest/valid/sa/102.xml @@ -0,0 +1,5 @@ + + +]> + diff --git a/basis/xml/tests/xmltest/valid/sa/103.xml b/basis/xml/tests/xmltest/valid/sa/103.xml new file mode 100755 index 0000000000..1dbbd5bb7c --- /dev/null +++ b/basis/xml/tests/xmltest/valid/sa/103.xml @@ -0,0 +1,4 @@ + +]> +<doc> diff --git a/basis/xml/tests/xmltest/valid/sa/104.xml b/basis/xml/tests/xmltest/valid/sa/104.xml new file mode 100755 index 0000000000..666f43de0f --- /dev/null +++ b/basis/xml/tests/xmltest/valid/sa/104.xml @@ -0,0 +1,5 @@ + + +]> + diff --git a/basis/xml/tests/xmltest/valid/sa/105.xml b/basis/xml/tests/xmltest/valid/sa/105.xml new file mode 100755 index 0000000000..6b3af2b847 --- /dev/null +++ b/basis/xml/tests/xmltest/valid/sa/105.xml @@ -0,0 +1,5 @@ + + +]> + diff --git a/basis/xml/tests/xmltest/valid/sa/106.xml b/basis/xml/tests/xmltest/valid/sa/106.xml new file mode 100755 index 0000000000..8757c0a5ae --- /dev/null +++ b/basis/xml/tests/xmltest/valid/sa/106.xml @@ -0,0 +1,5 @@ + + +]> + diff --git a/basis/xml/tests/xmltest/valid/sa/107.xml b/basis/xml/tests/xmltest/valid/sa/107.xml new file mode 100755 index 0000000000..3d2c2566a7 --- /dev/null +++ b/basis/xml/tests/xmltest/valid/sa/107.xml @@ -0,0 +1,5 @@ + + +]> + diff --git a/basis/xml/tests/xmltest/valid/sa/108.xml b/basis/xml/tests/xmltest/valid/sa/108.xml new file mode 100755 index 0000000000..e919bf229a --- /dev/null +++ b/basis/xml/tests/xmltest/valid/sa/108.xml @@ -0,0 +1,7 @@ + + + +]> + diff --git a/basis/xml/tests/xmltest/valid/sa/109.xml b/basis/xml/tests/xmltest/valid/sa/109.xml new file mode 100755 index 0000000000..33fa38e13b --- /dev/null +++ b/basis/xml/tests/xmltest/valid/sa/109.xml @@ -0,0 +1,5 @@ + + +]> + diff --git a/basis/xml/tests/xmltest/valid/sa/110.xml b/basis/xml/tests/xmltest/valid/sa/110.xml new file mode 100755 index 0000000000..0c61c65119 --- /dev/null +++ b/basis/xml/tests/xmltest/valid/sa/110.xml @@ -0,0 +1,6 @@ + + + +]> + diff --git a/basis/xml/tests/xmltest/valid/sa/111.xml b/basis/xml/tests/xmltest/valid/sa/111.xml new file mode 100755 index 0000000000..cb56f264b0 --- /dev/null +++ b/basis/xml/tests/xmltest/valid/sa/111.xml @@ -0,0 +1,5 @@ + + +]> + diff --git a/basis/xml/tests/xmltest/valid/sa/112.xml b/basis/xml/tests/xmltest/valid/sa/112.xml new file mode 100755 index 0000000000..27b6a4c793 --- /dev/null +++ b/basis/xml/tests/xmltest/valid/sa/112.xml @@ -0,0 +1,5 @@ + + +]> + diff --git a/basis/xml/tests/xmltest/valid/sa/113.xml b/basis/xml/tests/xmltest/valid/sa/113.xml new file mode 100755 index 0000000000..d2edd0f01d --- /dev/null +++ b/basis/xml/tests/xmltest/valid/sa/113.xml @@ -0,0 +1,5 @@ + + +]> + diff --git a/basis/xml/tests/xmltest/valid/sa/114.xml b/basis/xml/tests/xmltest/valid/sa/114.xml new file mode 100755 index 0000000000..52e207096d --- /dev/null +++ b/basis/xml/tests/xmltest/valid/sa/114.xml @@ -0,0 +1,5 @@ + +"> +]> +&e; diff --git a/basis/xml/tests/xmltest/valid/sa/115.xml b/basis/xml/tests/xmltest/valid/sa/115.xml new file mode 100755 index 0000000000..d939a67010 --- /dev/null +++ b/basis/xml/tests/xmltest/valid/sa/115.xml @@ -0,0 +1,6 @@ + + + +]> +&e1; diff --git a/basis/xml/tests/xmltest/valid/sa/116.xml b/basis/xml/tests/xmltest/valid/sa/116.xml new file mode 100755 index 0000000000..55ab49620b --- /dev/null +++ b/basis/xml/tests/xmltest/valid/sa/116.xml @@ -0,0 +1,5 @@ + +]> + diff --git a/basis/xml/tests/xmltest/valid/sa/117.xml b/basis/xml/tests/xmltest/valid/sa/117.xml new file mode 100755 index 0000000000..e4f02b14c8 --- /dev/null +++ b/basis/xml/tests/xmltest/valid/sa/117.xml @@ -0,0 +1,5 @@ + + +]> +] diff --git a/basis/xml/tests/xmltest/valid/sa/118.xml b/basis/xml/tests/xmltest/valid/sa/118.xml new file mode 100755 index 0000000000..fba6c44668 --- /dev/null +++ b/basis/xml/tests/xmltest/valid/sa/118.xml @@ -0,0 +1,5 @@ + + +]> +] diff --git a/basis/xml/tests/xmltest/valid/sa/119.xml b/basis/xml/tests/xmltest/valid/sa/119.xml new file mode 100755 index 0000000000..876e74730c --- /dev/null +++ b/basis/xml/tests/xmltest/valid/sa/119.xml @@ -0,0 +1,4 @@ + +]> + diff --git a/basis/xml/tests/xmltest/valid/sa/out/001.xml b/basis/xml/tests/xmltest/valid/sa/out/001.xml new file mode 100755 index 0000000000..7e8f183484 --- /dev/null +++ b/basis/xml/tests/xmltest/valid/sa/out/001.xml @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/basis/xml/tests/xmltest/valid/sa/out/002.xml b/basis/xml/tests/xmltest/valid/sa/out/002.xml new file mode 100755 index 0000000000..7e8f183484 --- /dev/null +++ b/basis/xml/tests/xmltest/valid/sa/out/002.xml @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/basis/xml/tests/xmltest/valid/sa/out/003.xml b/basis/xml/tests/xmltest/valid/sa/out/003.xml new file mode 100755 index 0000000000..7e8f183484 --- /dev/null +++ b/basis/xml/tests/xmltest/valid/sa/out/003.xml @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/basis/xml/tests/xmltest/valid/sa/out/004.xml b/basis/xml/tests/xmltest/valid/sa/out/004.xml new file mode 100755 index 0000000000..e05cfe6c31 --- /dev/null +++ b/basis/xml/tests/xmltest/valid/sa/out/004.xml @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/basis/xml/tests/xmltest/valid/sa/out/005.xml b/basis/xml/tests/xmltest/valid/sa/out/005.xml new file mode 100755 index 0000000000..e05cfe6c31 --- /dev/null +++ b/basis/xml/tests/xmltest/valid/sa/out/005.xml @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/basis/xml/tests/xmltest/valid/sa/out/006.xml b/basis/xml/tests/xmltest/valid/sa/out/006.xml new file mode 100755 index 0000000000..e05cfe6c31 --- /dev/null +++ b/basis/xml/tests/xmltest/valid/sa/out/006.xml @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/basis/xml/tests/xmltest/valid/sa/out/007.xml b/basis/xml/tests/xmltest/valid/sa/out/007.xml new file mode 100755 index 0000000000..97cf3e3b86 --- /dev/null +++ b/basis/xml/tests/xmltest/valid/sa/out/007.xml @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/basis/xml/tests/xmltest/valid/sa/out/008.xml b/basis/xml/tests/xmltest/valid/sa/out/008.xml new file mode 100755 index 0000000000..3ea232c21a --- /dev/null +++ b/basis/xml/tests/xmltest/valid/sa/out/008.xml @@ -0,0 +1 @@ +&<>"' \ No newline at end of file diff --git a/basis/xml/tests/xmltest/valid/sa/out/009.xml b/basis/xml/tests/xmltest/valid/sa/out/009.xml new file mode 100755 index 0000000000..97cf3e3b86 --- /dev/null +++ b/basis/xml/tests/xmltest/valid/sa/out/009.xml @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/basis/xml/tests/xmltest/valid/sa/out/010.xml b/basis/xml/tests/xmltest/valid/sa/out/010.xml new file mode 100755 index 0000000000..e05cfe6c31 --- /dev/null +++ b/basis/xml/tests/xmltest/valid/sa/out/010.xml @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/basis/xml/tests/xmltest/valid/sa/out/011.xml b/basis/xml/tests/xmltest/valid/sa/out/011.xml new file mode 100755 index 0000000000..7293fb63dc --- /dev/null +++ b/basis/xml/tests/xmltest/valid/sa/out/011.xml @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/basis/xml/tests/xmltest/valid/sa/out/012.xml b/basis/xml/tests/xmltest/valid/sa/out/012.xml new file mode 100755 index 0000000000..5a0c9831ae --- /dev/null +++ b/basis/xml/tests/xmltest/valid/sa/out/012.xml @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/basis/xml/tests/xmltest/valid/sa/out/013.xml b/basis/xml/tests/xmltest/valid/sa/out/013.xml new file mode 100755 index 0000000000..c9c7ec5da8 --- /dev/null +++ b/basis/xml/tests/xmltest/valid/sa/out/013.xml @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/basis/xml/tests/xmltest/valid/sa/out/014.xml b/basis/xml/tests/xmltest/valid/sa/out/014.xml new file mode 100755 index 0000000000..ac6b28f97a --- /dev/null +++ b/basis/xml/tests/xmltest/valid/sa/out/014.xml @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/basis/xml/tests/xmltest/valid/sa/out/015.xml b/basis/xml/tests/xmltest/valid/sa/out/015.xml new file mode 100755 index 0000000000..8e216eb99b --- /dev/null +++ b/basis/xml/tests/xmltest/valid/sa/out/015.xml @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/basis/xml/tests/xmltest/valid/sa/out/016.xml b/basis/xml/tests/xmltest/valid/sa/out/016.xml new file mode 100755 index 0000000000..4fc76928b2 --- /dev/null +++ b/basis/xml/tests/xmltest/valid/sa/out/016.xml @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/basis/xml/tests/xmltest/valid/sa/out/017.xml b/basis/xml/tests/xmltest/valid/sa/out/017.xml new file mode 100755 index 0000000000..3b9a2f8d4e --- /dev/null +++ b/basis/xml/tests/xmltest/valid/sa/out/017.xml @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/basis/xml/tests/xmltest/valid/sa/out/018.xml b/basis/xml/tests/xmltest/valid/sa/out/018.xml new file mode 100755 index 0000000000..a5471011df --- /dev/null +++ b/basis/xml/tests/xmltest/valid/sa/out/018.xml @@ -0,0 +1 @@ +<foo> \ No newline at end of file diff --git a/basis/xml/tests/xmltest/valid/sa/out/019.xml b/basis/xml/tests/xmltest/valid/sa/out/019.xml new file mode 100755 index 0000000000..05d4e2fcf9 --- /dev/null +++ b/basis/xml/tests/xmltest/valid/sa/out/019.xml @@ -0,0 +1 @@ +<& \ No newline at end of file diff --git a/basis/xml/tests/xmltest/valid/sa/out/020.xml b/basis/xml/tests/xmltest/valid/sa/out/020.xml new file mode 100755 index 0000000000..95ae08a12e --- /dev/null +++ b/basis/xml/tests/xmltest/valid/sa/out/020.xml @@ -0,0 +1 @@ +<&]>] \ No newline at end of file diff --git a/basis/xml/tests/xmltest/valid/sa/out/021.xml b/basis/xml/tests/xmltest/valid/sa/out/021.xml new file mode 100755 index 0000000000..7e8f183484 --- /dev/null +++ b/basis/xml/tests/xmltest/valid/sa/out/021.xml @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/basis/xml/tests/xmltest/valid/sa/out/022.xml b/basis/xml/tests/xmltest/valid/sa/out/022.xml new file mode 100755 index 0000000000..7e8f183484 --- /dev/null +++ b/basis/xml/tests/xmltest/valid/sa/out/022.xml @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/basis/xml/tests/xmltest/valid/sa/out/023.xml b/basis/xml/tests/xmltest/valid/sa/out/023.xml new file mode 100755 index 0000000000..7e8f183484 --- /dev/null +++ b/basis/xml/tests/xmltest/valid/sa/out/023.xml @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/basis/xml/tests/xmltest/valid/sa/out/024.xml b/basis/xml/tests/xmltest/valid/sa/out/024.xml new file mode 100755 index 0000000000..a9aa2074ff --- /dev/null +++ b/basis/xml/tests/xmltest/valid/sa/out/024.xml @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/basis/xml/tests/xmltest/valid/sa/out/025.xml b/basis/xml/tests/xmltest/valid/sa/out/025.xml new file mode 100755 index 0000000000..de0f566020 --- /dev/null +++ b/basis/xml/tests/xmltest/valid/sa/out/025.xml @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/basis/xml/tests/xmltest/valid/sa/out/026.xml b/basis/xml/tests/xmltest/valid/sa/out/026.xml new file mode 100755 index 0000000000..de0f566020 --- /dev/null +++ b/basis/xml/tests/xmltest/valid/sa/out/026.xml @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/basis/xml/tests/xmltest/valid/sa/out/027.xml b/basis/xml/tests/xmltest/valid/sa/out/027.xml new file mode 100755 index 0000000000..de0f566020 --- /dev/null +++ b/basis/xml/tests/xmltest/valid/sa/out/027.xml @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/basis/xml/tests/xmltest/valid/sa/out/028.xml b/basis/xml/tests/xmltest/valid/sa/out/028.xml new file mode 100755 index 0000000000..7e8f183484 --- /dev/null +++ b/basis/xml/tests/xmltest/valid/sa/out/028.xml @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/basis/xml/tests/xmltest/valid/sa/out/029.xml b/basis/xml/tests/xmltest/valid/sa/out/029.xml new file mode 100755 index 0000000000..7e8f183484 --- /dev/null +++ b/basis/xml/tests/xmltest/valid/sa/out/029.xml @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/basis/xml/tests/xmltest/valid/sa/out/030.xml b/basis/xml/tests/xmltest/valid/sa/out/030.xml new file mode 100755 index 0000000000..7e8f183484 --- /dev/null +++ b/basis/xml/tests/xmltest/valid/sa/out/030.xml @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/basis/xml/tests/xmltest/valid/sa/out/031.xml b/basis/xml/tests/xmltest/valid/sa/out/031.xml new file mode 100755 index 0000000000..7e8f183484 --- /dev/null +++ b/basis/xml/tests/xmltest/valid/sa/out/031.xml @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/basis/xml/tests/xmltest/valid/sa/out/032.xml b/basis/xml/tests/xmltest/valid/sa/out/032.xml new file mode 100755 index 0000000000..7e8f183484 --- /dev/null +++ b/basis/xml/tests/xmltest/valid/sa/out/032.xml @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/basis/xml/tests/xmltest/valid/sa/out/033.xml b/basis/xml/tests/xmltest/valid/sa/out/033.xml new file mode 100755 index 0000000000..7e8f183484 --- /dev/null +++ b/basis/xml/tests/xmltest/valid/sa/out/033.xml @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/basis/xml/tests/xmltest/valid/sa/out/034.xml b/basis/xml/tests/xmltest/valid/sa/out/034.xml new file mode 100755 index 0000000000..7e8f183484 --- /dev/null +++ b/basis/xml/tests/xmltest/valid/sa/out/034.xml @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/basis/xml/tests/xmltest/valid/sa/out/035.xml b/basis/xml/tests/xmltest/valid/sa/out/035.xml new file mode 100755 index 0000000000..7e8f183484 --- /dev/null +++ b/basis/xml/tests/xmltest/valid/sa/out/035.xml @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/basis/xml/tests/xmltest/valid/sa/out/036.xml b/basis/xml/tests/xmltest/valid/sa/out/036.xml new file mode 100755 index 0000000000..2bcfb06cf1 --- /dev/null +++ b/basis/xml/tests/xmltest/valid/sa/out/036.xml @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/basis/xml/tests/xmltest/valid/sa/out/037.xml b/basis/xml/tests/xmltest/valid/sa/out/037.xml new file mode 100755 index 0000000000..7e8f183484 --- /dev/null +++ b/basis/xml/tests/xmltest/valid/sa/out/037.xml @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/basis/xml/tests/xmltest/valid/sa/out/038.xml b/basis/xml/tests/xmltest/valid/sa/out/038.xml new file mode 100755 index 0000000000..7e8f183484 --- /dev/null +++ b/basis/xml/tests/xmltest/valid/sa/out/038.xml @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/basis/xml/tests/xmltest/valid/sa/out/039.xml b/basis/xml/tests/xmltest/valid/sa/out/039.xml new file mode 100755 index 0000000000..82d117d492 --- /dev/null +++ b/basis/xml/tests/xmltest/valid/sa/out/039.xml @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/basis/xml/tests/xmltest/valid/sa/out/040.xml b/basis/xml/tests/xmltest/valid/sa/out/040.xml new file mode 100755 index 0000000000..d79cfe1493 --- /dev/null +++ b/basis/xml/tests/xmltest/valid/sa/out/040.xml @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/basis/xml/tests/xmltest/valid/sa/out/041.xml b/basis/xml/tests/xmltest/valid/sa/out/041.xml new file mode 100755 index 0000000000..6f2cd5832e --- /dev/null +++ b/basis/xml/tests/xmltest/valid/sa/out/041.xml @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/basis/xml/tests/xmltest/valid/sa/out/042.xml b/basis/xml/tests/xmltest/valid/sa/out/042.xml new file mode 100755 index 0000000000..f683039a80 --- /dev/null +++ b/basis/xml/tests/xmltest/valid/sa/out/042.xml @@ -0,0 +1 @@ +A \ No newline at end of file diff --git a/basis/xml/tests/xmltest/valid/sa/out/043.xml b/basis/xml/tests/xmltest/valid/sa/out/043.xml new file mode 100755 index 0000000000..e162b76504 --- /dev/null +++ b/basis/xml/tests/xmltest/valid/sa/out/043.xml @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/basis/xml/tests/xmltest/valid/sa/out/044.xml b/basis/xml/tests/xmltest/valid/sa/out/044.xml new file mode 100755 index 0000000000..78028b704b --- /dev/null +++ b/basis/xml/tests/xmltest/valid/sa/out/044.xml @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/basis/xml/tests/xmltest/valid/sa/out/045.xml b/basis/xml/tests/xmltest/valid/sa/out/045.xml new file mode 100755 index 0000000000..e05cfe6c31 --- /dev/null +++ b/basis/xml/tests/xmltest/valid/sa/out/045.xml @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/basis/xml/tests/xmltest/valid/sa/out/046.xml b/basis/xml/tests/xmltest/valid/sa/out/046.xml new file mode 100755 index 0000000000..7293fb63dc --- /dev/null +++ b/basis/xml/tests/xmltest/valid/sa/out/046.xml @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/basis/xml/tests/xmltest/valid/sa/out/047.xml b/basis/xml/tests/xmltest/valid/sa/out/047.xml new file mode 100755 index 0000000000..b327ebd67f --- /dev/null +++ b/basis/xml/tests/xmltest/valid/sa/out/047.xml @@ -0,0 +1 @@ +X Y \ No newline at end of file diff --git a/basis/xml/tests/xmltest/valid/sa/out/048.xml b/basis/xml/tests/xmltest/valid/sa/out/048.xml new file mode 100755 index 0000000000..ced7d02719 --- /dev/null +++ b/basis/xml/tests/xmltest/valid/sa/out/048.xml @@ -0,0 +1 @@ +] \ No newline at end of file diff --git a/basis/xml/tests/xmltest/valid/sa/out/049.xml b/basis/xml/tests/xmltest/valid/sa/out/049.xml new file mode 100755 index 0000000000..7cc53f9ea0 --- /dev/null +++ b/basis/xml/tests/xmltest/valid/sa/out/049.xml @@ -0,0 +1 @@ +£ \ No newline at end of file diff --git a/basis/xml/tests/xmltest/valid/sa/out/050.xml b/basis/xml/tests/xmltest/valid/sa/out/050.xml new file mode 100755 index 0000000000..33703c7925 --- /dev/null +++ b/basis/xml/tests/xmltest/valid/sa/out/050.xml @@ -0,0 +1 @@ +เจมส์ \ No newline at end of file diff --git a/basis/xml/tests/xmltest/valid/sa/out/051.xml b/basis/xml/tests/xmltest/valid/sa/out/051.xml new file mode 100755 index 0000000000..cfeb5a5366 --- /dev/null +++ b/basis/xml/tests/xmltest/valid/sa/out/051.xml @@ -0,0 +1 @@ +<เจมส์> \ No newline at end of file diff --git a/basis/xml/tests/xmltest/valid/sa/out/052.xml b/basis/xml/tests/xmltest/valid/sa/out/052.xml new file mode 100755 index 0000000000..f5a0484791 --- /dev/null +++ b/basis/xml/tests/xmltest/valid/sa/out/052.xml @@ -0,0 +1 @@ +𐀀􏿽 \ No newline at end of file diff --git a/basis/xml/tests/xmltest/valid/sa/out/053.xml b/basis/xml/tests/xmltest/valid/sa/out/053.xml new file mode 100755 index 0000000000..c4083843d9 --- /dev/null +++ b/basis/xml/tests/xmltest/valid/sa/out/053.xml @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/basis/xml/tests/xmltest/valid/sa/out/054.xml b/basis/xml/tests/xmltest/valid/sa/out/054.xml new file mode 100755 index 0000000000..7e8f183484 --- /dev/null +++ b/basis/xml/tests/xmltest/valid/sa/out/054.xml @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/basis/xml/tests/xmltest/valid/sa/out/055.xml b/basis/xml/tests/xmltest/valid/sa/out/055.xml new file mode 100755 index 0000000000..82d117d492 --- /dev/null +++ b/basis/xml/tests/xmltest/valid/sa/out/055.xml @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/basis/xml/tests/xmltest/valid/sa/out/056.xml b/basis/xml/tests/xmltest/valid/sa/out/056.xml new file mode 100755 index 0000000000..f683039a80 --- /dev/null +++ b/basis/xml/tests/xmltest/valid/sa/out/056.xml @@ -0,0 +1 @@ +A \ No newline at end of file diff --git a/basis/xml/tests/xmltest/valid/sa/out/057.xml b/basis/xml/tests/xmltest/valid/sa/out/057.xml new file mode 100755 index 0000000000..7e8f183484 --- /dev/null +++ b/basis/xml/tests/xmltest/valid/sa/out/057.xml @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/basis/xml/tests/xmltest/valid/sa/out/058.xml b/basis/xml/tests/xmltest/valid/sa/out/058.xml new file mode 100755 index 0000000000..f898cc8c98 --- /dev/null +++ b/basis/xml/tests/xmltest/valid/sa/out/058.xml @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/basis/xml/tests/xmltest/valid/sa/out/059.xml b/basis/xml/tests/xmltest/valid/sa/out/059.xml new file mode 100755 index 0000000000..78028b704b --- /dev/null +++ b/basis/xml/tests/xmltest/valid/sa/out/059.xml @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/basis/xml/tests/xmltest/valid/sa/out/060.xml b/basis/xml/tests/xmltest/valid/sa/out/060.xml new file mode 100755 index 0000000000..b327ebd67f --- /dev/null +++ b/basis/xml/tests/xmltest/valid/sa/out/060.xml @@ -0,0 +1 @@ +X Y \ No newline at end of file diff --git a/basis/xml/tests/xmltest/valid/sa/out/061.xml b/basis/xml/tests/xmltest/valid/sa/out/061.xml new file mode 100755 index 0000000000..7cc53f9ea0 --- /dev/null +++ b/basis/xml/tests/xmltest/valid/sa/out/061.xml @@ -0,0 +1 @@ +£ \ No newline at end of file diff --git a/basis/xml/tests/xmltest/valid/sa/out/062.xml b/basis/xml/tests/xmltest/valid/sa/out/062.xml new file mode 100755 index 0000000000..33703c7925 --- /dev/null +++ b/basis/xml/tests/xmltest/valid/sa/out/062.xml @@ -0,0 +1 @@ +เจมส์ \ No newline at end of file diff --git a/basis/xml/tests/xmltest/valid/sa/out/063.xml b/basis/xml/tests/xmltest/valid/sa/out/063.xml new file mode 100755 index 0000000000..cfeb5a5366 --- /dev/null +++ b/basis/xml/tests/xmltest/valid/sa/out/063.xml @@ -0,0 +1 @@ +<เจมส์> \ No newline at end of file diff --git a/basis/xml/tests/xmltest/valid/sa/out/064.xml b/basis/xml/tests/xmltest/valid/sa/out/064.xml new file mode 100755 index 0000000000..f5a0484791 --- /dev/null +++ b/basis/xml/tests/xmltest/valid/sa/out/064.xml @@ -0,0 +1 @@ +𐀀􏿽 \ No newline at end of file diff --git a/basis/xml/tests/xmltest/valid/sa/out/065.xml b/basis/xml/tests/xmltest/valid/sa/out/065.xml new file mode 100755 index 0000000000..7e8f183484 --- /dev/null +++ b/basis/xml/tests/xmltest/valid/sa/out/065.xml @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/basis/xml/tests/xmltest/valid/sa/out/066.xml b/basis/xml/tests/xmltest/valid/sa/out/066.xml new file mode 100755 index 0000000000..7597d31bf9 --- /dev/null +++ b/basis/xml/tests/xmltest/valid/sa/out/066.xml @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/basis/xml/tests/xmltest/valid/sa/out/067.xml b/basis/xml/tests/xmltest/valid/sa/out/067.xml new file mode 100755 index 0000000000..4bbdad45ed --- /dev/null +++ b/basis/xml/tests/xmltest/valid/sa/out/067.xml @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/basis/xml/tests/xmltest/valid/sa/out/068.xml b/basis/xml/tests/xmltest/valid/sa/out/068.xml new file mode 100755 index 0000000000..4bbdad45ed --- /dev/null +++ b/basis/xml/tests/xmltest/valid/sa/out/068.xml @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/basis/xml/tests/xmltest/valid/sa/out/069.xml b/basis/xml/tests/xmltest/valid/sa/out/069.xml new file mode 100755 index 0000000000..41eed46727 --- /dev/null +++ b/basis/xml/tests/xmltest/valid/sa/out/069.xml @@ -0,0 +1,4 @@ + +]> + \ No newline at end of file diff --git a/basis/xml/tests/xmltest/valid/sa/out/070.xml b/basis/xml/tests/xmltest/valid/sa/out/070.xml new file mode 100755 index 0000000000..7e8f183484 --- /dev/null +++ b/basis/xml/tests/xmltest/valid/sa/out/070.xml @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/basis/xml/tests/xmltest/valid/sa/out/071.xml b/basis/xml/tests/xmltest/valid/sa/out/071.xml new file mode 100755 index 0000000000..7e8f183484 --- /dev/null +++ b/basis/xml/tests/xmltest/valid/sa/out/071.xml @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/basis/xml/tests/xmltest/valid/sa/out/072.xml b/basis/xml/tests/xmltest/valid/sa/out/072.xml new file mode 100755 index 0000000000..7e8f183484 --- /dev/null +++ b/basis/xml/tests/xmltest/valid/sa/out/072.xml @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/basis/xml/tests/xmltest/valid/sa/out/073.xml b/basis/xml/tests/xmltest/valid/sa/out/073.xml new file mode 100755 index 0000000000..7e8f183484 --- /dev/null +++ b/basis/xml/tests/xmltest/valid/sa/out/073.xml @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/basis/xml/tests/xmltest/valid/sa/out/074.xml b/basis/xml/tests/xmltest/valid/sa/out/074.xml new file mode 100755 index 0000000000..7e8f183484 --- /dev/null +++ b/basis/xml/tests/xmltest/valid/sa/out/074.xml @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/basis/xml/tests/xmltest/valid/sa/out/075.xml b/basis/xml/tests/xmltest/valid/sa/out/075.xml new file mode 100755 index 0000000000..7e8f183484 --- /dev/null +++ b/basis/xml/tests/xmltest/valid/sa/out/075.xml @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/basis/xml/tests/xmltest/valid/sa/out/076.xml b/basis/xml/tests/xmltest/valid/sa/out/076.xml new file mode 100755 index 0000000000..b07019e90f --- /dev/null +++ b/basis/xml/tests/xmltest/valid/sa/out/076.xml @@ -0,0 +1,5 @@ + + +]> + \ No newline at end of file diff --git a/basis/xml/tests/xmltest/valid/sa/out/077.xml b/basis/xml/tests/xmltest/valid/sa/out/077.xml new file mode 100755 index 0000000000..7e8f183484 --- /dev/null +++ b/basis/xml/tests/xmltest/valid/sa/out/077.xml @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/basis/xml/tests/xmltest/valid/sa/out/078.xml b/basis/xml/tests/xmltest/valid/sa/out/078.xml new file mode 100755 index 0000000000..fcab0cd7ff --- /dev/null +++ b/basis/xml/tests/xmltest/valid/sa/out/078.xml @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/basis/xml/tests/xmltest/valid/sa/out/079.xml b/basis/xml/tests/xmltest/valid/sa/out/079.xml new file mode 100755 index 0000000000..fcab0cd7ff --- /dev/null +++ b/basis/xml/tests/xmltest/valid/sa/out/079.xml @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/basis/xml/tests/xmltest/valid/sa/out/080.xml b/basis/xml/tests/xmltest/valid/sa/out/080.xml new file mode 100755 index 0000000000..fcab0cd7ff --- /dev/null +++ b/basis/xml/tests/xmltest/valid/sa/out/080.xml @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/basis/xml/tests/xmltest/valid/sa/out/081.xml b/basis/xml/tests/xmltest/valid/sa/out/081.xml new file mode 100755 index 0000000000..e356e7e4db --- /dev/null +++ b/basis/xml/tests/xmltest/valid/sa/out/081.xml @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/basis/xml/tests/xmltest/valid/sa/out/082.xml b/basis/xml/tests/xmltest/valid/sa/out/082.xml new file mode 100755 index 0000000000..7e8f183484 --- /dev/null +++ b/basis/xml/tests/xmltest/valid/sa/out/082.xml @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/basis/xml/tests/xmltest/valid/sa/out/083.xml b/basis/xml/tests/xmltest/valid/sa/out/083.xml new file mode 100755 index 0000000000..7e8f183484 --- /dev/null +++ b/basis/xml/tests/xmltest/valid/sa/out/083.xml @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/basis/xml/tests/xmltest/valid/sa/out/084.xml b/basis/xml/tests/xmltest/valid/sa/out/084.xml new file mode 100755 index 0000000000..7e8f183484 --- /dev/null +++ b/basis/xml/tests/xmltest/valid/sa/out/084.xml @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/basis/xml/tests/xmltest/valid/sa/out/085.xml b/basis/xml/tests/xmltest/valid/sa/out/085.xml new file mode 100755 index 0000000000..7e8f183484 --- /dev/null +++ b/basis/xml/tests/xmltest/valid/sa/out/085.xml @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/basis/xml/tests/xmltest/valid/sa/out/086.xml b/basis/xml/tests/xmltest/valid/sa/out/086.xml new file mode 100755 index 0000000000..7e8f183484 --- /dev/null +++ b/basis/xml/tests/xmltest/valid/sa/out/086.xml @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/basis/xml/tests/xmltest/valid/sa/out/087.xml b/basis/xml/tests/xmltest/valid/sa/out/087.xml new file mode 100755 index 0000000000..a9aa2074ff --- /dev/null +++ b/basis/xml/tests/xmltest/valid/sa/out/087.xml @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/basis/xml/tests/xmltest/valid/sa/out/088.xml b/basis/xml/tests/xmltest/valid/sa/out/088.xml new file mode 100755 index 0000000000..a5471011df --- /dev/null +++ b/basis/xml/tests/xmltest/valid/sa/out/088.xml @@ -0,0 +1 @@ +<foo> \ No newline at end of file diff --git a/basis/xml/tests/xmltest/valid/sa/out/089.xml b/basis/xml/tests/xmltest/valid/sa/out/089.xml new file mode 100755 index 0000000000..e01d86e8d3 --- /dev/null +++ b/basis/xml/tests/xmltest/valid/sa/out/089.xml @@ -0,0 +1 @@ +𐀀􏿽􏿿 \ No newline at end of file diff --git a/basis/xml/tests/xmltest/valid/sa/out/090.xml b/basis/xml/tests/xmltest/valid/sa/out/090.xml new file mode 100755 index 0000000000..41eed46727 --- /dev/null +++ b/basis/xml/tests/xmltest/valid/sa/out/090.xml @@ -0,0 +1,4 @@ + +]> + \ No newline at end of file diff --git a/basis/xml/tests/xmltest/valid/sa/out/091.xml b/basis/xml/tests/xmltest/valid/sa/out/091.xml new file mode 100755 index 0000000000..c55a698bbb --- /dev/null +++ b/basis/xml/tests/xmltest/valid/sa/out/091.xml @@ -0,0 +1,4 @@ + +]> + \ No newline at end of file diff --git a/basis/xml/tests/xmltest/valid/sa/out/092.xml b/basis/xml/tests/xmltest/valid/sa/out/092.xml new file mode 100755 index 0000000000..87269f79d9 --- /dev/null +++ b/basis/xml/tests/xmltest/valid/sa/out/092.xml @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/basis/xml/tests/xmltest/valid/sa/out/093.xml b/basis/xml/tests/xmltest/valid/sa/out/093.xml new file mode 100755 index 0000000000..631bfde91e --- /dev/null +++ b/basis/xml/tests/xmltest/valid/sa/out/093.xml @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/basis/xml/tests/xmltest/valid/sa/out/094.xml b/basis/xml/tests/xmltest/valid/sa/out/094.xml new file mode 100755 index 0000000000..636ab4729a --- /dev/null +++ b/basis/xml/tests/xmltest/valid/sa/out/094.xml @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/basis/xml/tests/xmltest/valid/sa/out/095.xml b/basis/xml/tests/xmltest/valid/sa/out/095.xml new file mode 100755 index 0000000000..a20706ee01 --- /dev/null +++ b/basis/xml/tests/xmltest/valid/sa/out/095.xml @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/basis/xml/tests/xmltest/valid/sa/out/096.xml b/basis/xml/tests/xmltest/valid/sa/out/096.xml new file mode 100755 index 0000000000..f898cc8c98 --- /dev/null +++ b/basis/xml/tests/xmltest/valid/sa/out/096.xml @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/basis/xml/tests/xmltest/valid/sa/out/097.xml b/basis/xml/tests/xmltest/valid/sa/out/097.xml new file mode 100755 index 0000000000..e05cfe6c31 --- /dev/null +++ b/basis/xml/tests/xmltest/valid/sa/out/097.xml @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/basis/xml/tests/xmltest/valid/sa/out/098.xml b/basis/xml/tests/xmltest/valid/sa/out/098.xml new file mode 100755 index 0000000000..f6408de9b8 --- /dev/null +++ b/basis/xml/tests/xmltest/valid/sa/out/098.xml @@ -0,0 +1,2 @@ + \ No newline at end of file diff --git a/basis/xml/tests/xmltest/valid/sa/out/099.xml b/basis/xml/tests/xmltest/valid/sa/out/099.xml new file mode 100755 index 0000000000..7e8f183484 --- /dev/null +++ b/basis/xml/tests/xmltest/valid/sa/out/099.xml @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/basis/xml/tests/xmltest/valid/sa/out/100.xml b/basis/xml/tests/xmltest/valid/sa/out/100.xml new file mode 100755 index 0000000000..7e8f183484 --- /dev/null +++ b/basis/xml/tests/xmltest/valid/sa/out/100.xml @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/basis/xml/tests/xmltest/valid/sa/out/101.xml b/basis/xml/tests/xmltest/valid/sa/out/101.xml new file mode 100755 index 0000000000..7e8f183484 --- /dev/null +++ b/basis/xml/tests/xmltest/valid/sa/out/101.xml @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/basis/xml/tests/xmltest/valid/sa/out/102.xml b/basis/xml/tests/xmltest/valid/sa/out/102.xml new file mode 100755 index 0000000000..6e66b8da21 --- /dev/null +++ b/basis/xml/tests/xmltest/valid/sa/out/102.xml @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/basis/xml/tests/xmltest/valid/sa/out/103.xml b/basis/xml/tests/xmltest/valid/sa/out/103.xml new file mode 100755 index 0000000000..96495d45c3 --- /dev/null +++ b/basis/xml/tests/xmltest/valid/sa/out/103.xml @@ -0,0 +1 @@ +<doc> \ No newline at end of file diff --git a/basis/xml/tests/xmltest/valid/sa/out/104.xml b/basis/xml/tests/xmltest/valid/sa/out/104.xml new file mode 100755 index 0000000000..cc3def3336 --- /dev/null +++ b/basis/xml/tests/xmltest/valid/sa/out/104.xml @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/basis/xml/tests/xmltest/valid/sa/out/105.xml b/basis/xml/tests/xmltest/valid/sa/out/105.xml new file mode 100755 index 0000000000..5aed3d613b --- /dev/null +++ b/basis/xml/tests/xmltest/valid/sa/out/105.xml @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/basis/xml/tests/xmltest/valid/sa/out/106.xml b/basis/xml/tests/xmltest/valid/sa/out/106.xml new file mode 100755 index 0000000000..1197d2ff9c --- /dev/null +++ b/basis/xml/tests/xmltest/valid/sa/out/106.xml @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/basis/xml/tests/xmltest/valid/sa/out/107.xml b/basis/xml/tests/xmltest/valid/sa/out/107.xml new file mode 100755 index 0000000000..288f23cdf2 --- /dev/null +++ b/basis/xml/tests/xmltest/valid/sa/out/107.xml @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/basis/xml/tests/xmltest/valid/sa/out/108.xml b/basis/xml/tests/xmltest/valid/sa/out/108.xml new file mode 100755 index 0000000000..cc3def3336 --- /dev/null +++ b/basis/xml/tests/xmltest/valid/sa/out/108.xml @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/basis/xml/tests/xmltest/valid/sa/out/109.xml b/basis/xml/tests/xmltest/valid/sa/out/109.xml new file mode 100755 index 0000000000..c43bdf9b9c --- /dev/null +++ b/basis/xml/tests/xmltest/valid/sa/out/109.xml @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/basis/xml/tests/xmltest/valid/sa/out/110.xml b/basis/xml/tests/xmltest/valid/sa/out/110.xml new file mode 100755 index 0000000000..a92237b4ec --- /dev/null +++ b/basis/xml/tests/xmltest/valid/sa/out/110.xml @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/basis/xml/tests/xmltest/valid/sa/out/111.xml b/basis/xml/tests/xmltest/valid/sa/out/111.xml new file mode 100755 index 0000000000..cc3def3336 --- /dev/null +++ b/basis/xml/tests/xmltest/valid/sa/out/111.xml @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/basis/xml/tests/xmltest/valid/sa/out/112.xml b/basis/xml/tests/xmltest/valid/sa/out/112.xml new file mode 100755 index 0000000000..c82f47bca8 --- /dev/null +++ b/basis/xml/tests/xmltest/valid/sa/out/112.xml @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/basis/xml/tests/xmltest/valid/sa/out/113.xml b/basis/xml/tests/xmltest/valid/sa/out/113.xml new file mode 100755 index 0000000000..7e8f183484 --- /dev/null +++ b/basis/xml/tests/xmltest/valid/sa/out/113.xml @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/basis/xml/tests/xmltest/valid/sa/out/114.xml b/basis/xml/tests/xmltest/valid/sa/out/114.xml new file mode 100755 index 0000000000..8e0722abad --- /dev/null +++ b/basis/xml/tests/xmltest/valid/sa/out/114.xml @@ -0,0 +1 @@ +&foo; \ No newline at end of file diff --git a/basis/xml/tests/xmltest/valid/sa/out/115.xml b/basis/xml/tests/xmltest/valid/sa/out/115.xml new file mode 100755 index 0000000000..682b8140ec --- /dev/null +++ b/basis/xml/tests/xmltest/valid/sa/out/115.xml @@ -0,0 +1 @@ +v \ No newline at end of file diff --git a/basis/xml/tests/xmltest/valid/sa/out/116.xml b/basis/xml/tests/xmltest/valid/sa/out/116.xml new file mode 100755 index 0000000000..a79dff65fd --- /dev/null +++ b/basis/xml/tests/xmltest/valid/sa/out/116.xml @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/basis/xml/tests/xmltest/valid/sa/out/117.xml b/basis/xml/tests/xmltest/valid/sa/out/117.xml new file mode 100755 index 0000000000..ced7d02719 --- /dev/null +++ b/basis/xml/tests/xmltest/valid/sa/out/117.xml @@ -0,0 +1 @@ +] \ No newline at end of file diff --git a/basis/xml/tests/xmltest/valid/sa/out/118.xml b/basis/xml/tests/xmltest/valid/sa/out/118.xml new file mode 100755 index 0000000000..31e37a9398 --- /dev/null +++ b/basis/xml/tests/xmltest/valid/sa/out/118.xml @@ -0,0 +1 @@ +]] \ No newline at end of file diff --git a/basis/xml/tests/xmltest/valid/sa/out/119.xml b/basis/xml/tests/xmltest/valid/sa/out/119.xml new file mode 100755 index 0000000000..7e8f183484 --- /dev/null +++ b/basis/xml/tests/xmltest/valid/sa/out/119.xml @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/basis/xml/tests/xmltest/xmltest.xml b/basis/xml/tests/xmltest/xmltest.xml new file mode 100755 index 0000000000..733523bc16 --- /dev/null +++ b/basis/xml/tests/xmltest/xmltest.xml @@ -0,0 +1,1435 @@ + + + + + + + + Attribute values must start with attribute names, not "?". + + Names may not start with "."; it's not a Letter. + + Processing Instruction target name is required. + + SGML-ism: processing instructions end in '?>' not '>'. + + Processing instructions end in '?>' not '?'. + + XML comments may not contain "--" + + General entity references have no whitespace after the + entity name and before the semicolon. + + Entity references must include names, which don't begin + with '.' (it's not a Letter or other name start character). + + Character references may have only decimal or numeric strings. + + Ampersand may only appear as part of a general entity reference. + + SGML-ism: attribute values must be explicitly assigned a + value, it can't act as a boolean toggle. + + SGML-ism: attribute values must be quoted in all cases. + + The quotes on both ends of an attribute value must match. + + Attribute values may not contain literal '<' characters. + + Attribute values need a value, not just an equals sign. + + Attribute values need an associated name. + + CDATA sections need a terminating ']]>'. + + CDATA sections begin with a literal '<![CDATA[', no space. + + End tags may not be abbreviated as '</>'. + + Attribute values may not contain literal '&' + characters except as part of an entity reference. + + Attribute values may not contain literal '&' + characters except as part of an entity reference. + + Character references end with semicolons, always! + + Digits are not valid name start characters. + + Digits are not valid name start characters. + + Text may not contain a literal ']]>' sequence. + + Text may not contain a literal ']]>' sequence. + + Comments must be terminated with "-->". + + Processing instructions must end with '?>'. + + Text may not contain a literal ']]>' sequence. + + A form feed is not a legal XML character. + + A form feed is not a legal XML character. + + A form feed is not a legal XML character. + + An ESC (octal 033) is not a legal XML character. + + A form feed is not a legal XML character. + + The '<' character is a markup delimiter and must + start an element, CDATA section, PI, or comment. + + Text may not appear after the root element. + + Character references may not appear after the root element. + + Tests the "Unique Att Spec" WF constraint by providing + multiple values for an attribute. + + Tests the Element Type Match WFC - end tag name must + match start tag name. + + Provides two document elements. + + Provides two document elements. + + Invalid End Tag + + Provides #PCDATA text after the document element. + + Provides two document elements. + + Invalid Empty Element Tag + + This start (or empty element) tag was not terminated correctly. + + Invalid empty element tag invalid whitespace + + Provides a CDATA section after the root element. + + Missing start tag + + Empty document, with no root element. + + CDATA is invalid at top level of document. + + Invalid character reference. + + End tag does not match start tag. + + PUBLIC requires two literals. + + Invalid Document Type Definition format. + + Invalid Document Type Definition format - misplaced comment. + + This isn't SGML; comments can't exist in declarations. + + Invalid character , in ATTLIST enumeration + + String literal must be in quotes. + + Invalid type NAME defined in ATTLIST. + + External entity declarations require whitespace between public + and system IDs. + + Entity declarations need space after the entity name. + + Conditional sections may only appear in the external + DTD subset. + + Space is required between attribute type and default values + in <!ATTLIST...> declarations. + + Space is required between attribute name and type + in <!ATTLIST...> declarations. + + Required whitespace is missing. + + Space is required between attribute type and default values + in <!ATTLIST...> declarations. + + Space is required between NOTATION keyword and list of + enumerated choices in <!ATTLIST...> declarations. + + Space is required before an NDATA entity annotation. + + XML comments may not contain "--" + + ENTITY can't reference itself directly or indirectly. + + Undefined ENTITY foo. + + Undefined ENTITY f. + + Internal general parsed entities are only well formed if + they match the "content" production. + + ENTITY can't reference itself directly or indirectly. + + Undefined ENTITY foo. + + Undefined ENTITY bar. + + Undefined ENTITY foo. + + ENTITY can't reference itself directly or indirectly. + + ENTITY can't reference itself directly or indirectly. + + This tests the No External Entity References WFC, + since the entity is referred to within an attribute. + + This tests the No External Entity References WFC, + since the entity is referred to within an attribute. + + Undefined NOTATION n. + + Tests the Parsed Entity WFC by referring to an + unparsed entity. (This precedes the error of not declaring + that entity's notation, which may be detected any time before + the DTD parsing is completed.) + + Public IDs may not contain "[". + + Public IDs may not contain "[". + + Public IDs may not contain "[". + + Attribute values are terminated by literal quote characters, + and any entity expansion is done afterwards. + + Parameter entities "are" always parsed; NDATA annotations + are not permitted. + + Attributes may not contain a literal "<" character; + this one has one because of reference expansion. + + Parameter entities "are" always parsed; NDATA annotations + are not permitted. + + The replacement text of this entity has an illegal reference, + because the character reference is expanded immediately. + + Hexadecimal character references may not use the uppercase 'X'. + + Prolog VERSION must be lowercase. + + VersionInfo must come before EncodingDecl. + + Space is required before the standalone declaration. + + Both quotes surrounding VersionNum must be the same. + + Only one "version=..." string may appear in an XML declaration. + + Only three pseudo-attributes are in the XML declaration, + and "valid=..." is not one of them. + + Only "yes" and "no" are permitted as values of "standalone". + + Space is not permitted in an encoding name. + + Provides an illegal XML version number; spaces are illegal. + + End-tag required for element foo. + + Internal general parsed entities are only well formed if + they match the "content" production. + + Invalid placement of CDATA section. + + Invalid placement of entity declaration. + + Invalid document type declaration. CDATA alone is invalid. + + No space in '<![CDATA['. + + Tags invalid within EntityDecl. + + Entity reference must be in content of element. + + Entiry reference must be in content of element not Start-tag. + + CDATA sections start '<![CDATA[', not '<!cdata['. + + Parameter entity values must use valid reference syntax; + this reference is malformed. + + General entity values must use valid reference syntax; + this reference is malformed. + + The replacement text of this entity is an illegal character + reference, which must be rejected when it is parsed in the + context of an attribute value. + + Internal general parsed entities are only well formed if + they match the "content" production. This is a partial + character reference, not a full one. + + Internal general parsed entities are only well formed if + they match the "content" production. This is a partial + character reference, not a full one. + + Entity reference expansion is not recursive. + + Internal general parsed entities are only well formed if + they match the "content" production. This is a partial + character reference, not a full one. + + Character references are expanded in the replacement text of + an internal entity, which is then parsed as usual. Accordingly, + & must be doubly quoted - encoded either as &amp; + or as &#38;#38;. + + A name of an ENTITY was started with an invalid character. + + Invalid syntax mixed connectors are used. + + Invalid syntax mismatched parenthesis. + + Invalid format of Mixed-content declaration. + + Invalid syntax extra set of parenthesis not necessary. + + Invalid syntax Mixed-content must be defined as zero or more. + + Invalid syntax Mixed-content must be defined as zero or more. + + Invalid CDATA syntax. + + Invalid syntax for Element Type Declaration. + + Invalid syntax for Element Type Declaration. + + Invalid syntax for Element Type Declaration. + + Invalid syntax mixed connectors used. + + Illegal whitespace before optional character causes syntax error. + + Illegal whitespace before optional character causes syntax error. + + Invalid character used as connector. + + Tag omission is invalid in XML. + + Space is required before a content model. + + Invalid syntax for content particle. + + The element-content model should not be empty. + + Character '&#x309a;' is a CombiningChar, not a + Letter, and so may not begin a name. + + Character #x0E5C is not legal in XML names. + + Character #x0000 is not legal anywhere in an XML document. + + Character #x001F is not legal anywhere in an XML document. + + Character #xFFFF is not legal anywhere in an XML document. + + Character #xD800 is not legal anywhere in an XML document. (If it + appeared in a UTF-16 surrogate pair, it'd represent half of a UCS-4 + character and so wouldn't really be in the document.) + + Character references must also refer to legal XML characters; + #x00110000 is one more than the largest legal character. + + XML Declaration may not be preceded by whitespace. + + XML Declaration may not be preceded by comments or whitespace. + + XML Declaration may not be within a DTD. + + XML declarations may not be within element content. + + XML declarations may not follow document content. + + XML declarations must include the "version=..." string. + + Text declarations may not begin internal parsed entities; + they may only appear at the beginning of external parsed + (parameter or general) entities. + + '<?XML ...?>' is neither an XML declaration + nor a legal processing instruction target name. + + '<?xmL ...?>' is neither an XML declaration + nor a legal processing instruction target name. + + '<?xMl ...?>' is neither an XML declaration + nor a legal processing instruction target name. + + '<?xmL ...?>' is not a legal processing instruction + target name. + + SGML-ism: "#NOTATION gif" can't have attributes. + + Uses '&' unquoted in an entity declaration, + which is illegal syntax for an entity reference. + + Violates the PEs in Internal Subset WFC + by using a PE reference within a declaration. + + Violates the PEs in Internal Subset WFC + by using a PE reference within a declaration. + + Violates the PEs in Internal Subset WFC + by using a PE reference within a declaration. + + Invalid placement of Parameter entity reference. + + Invalid placement of Parameter entity reference. + + Parameter entity declarations must have a space before + the '%'. + + Character FFFF is not legal anywhere in an XML document. + + Character FFFE is not legal anywhere in an XML document. + + An unpaired surrogate (D800) is not legal anywhere + in an XML document. + + An unpaired surrogate (DC00) is not legal anywhere + in an XML document. + + Four byte UTF-8 encodings can encode UCS-4 characters + which are beyond the range of legal XML characters + (and can't be expressed in Unicode surrogate pairs). + This document holds such a character. + + Character FFFF is not legal anywhere in an XML document. + + Character FFFF is not legal anywhere in an XML document. + + Character FFFF is not legal anywhere in an XML document. + + Character FFFF is not legal anywhere in an XML document. + + Character FFFF is not legal anywhere in an XML document. + + Start tags must have matching end tags. + + Character FFFF is not legal anywhere in an XML document. + + Invalid syntax matching double quote is missing. + + Invalid syntax matching double quote is missing. + + The Entity Declared WFC requires entities to be declared + before they are used in an attribute list declaration. + + Internal parsed entities must match the content + production to be well formed. + + Internal parsed entities must match the content + production to be well formed. + + Mixed content declarations may not include content particles. + + In mixed content models, element names must not be + parenthesized. + + Tests the Entity Declared WFC. + Note: a nonvalidating parser is permitted not to report + this WFC violation, since it would need to read an external + parameter entity to distinguish it from a violation of + the Standalone Declaration VC. + + Whitespace is required between attribute/value pairs. + + + + Conditional sections must be properly terminated ("]>" used + instead of "]]>"). + + Processing instruction target names may not be "XML" + in any combination of cases. + + Conditional sections must be properly terminated ("]]>" omitted). + + Conditional sections must be properly terminated ("]]>" omitted). + + Tests the Entity Declared VC by referring to an + undefined parameter entity within an external entity. + + Conditional sections need a '[' after the INCLUDE or IGNORE. + + A <!DOCTYPE ...> declaration may not begin any external + entity; it's only found once, in the document entity. + + In DTDs, the '%' character must be part of a parameter + entity reference. + + This test violates WFC:PE Between Declarations in Production 28a. + The last character of a markup declaration is not contained in the same + parameter-entity text replacement. + + + Tests the No Recursion WFC by having an external general + entity be self-recursive. + + External entities have "text declarations", which do + not permit the "standalone=..." attribute that's allowed + in XML declarations. + + Only one text declaration is permitted; a second one + looks like an illegal processing instruction (target names + of "xml" in any case are not allowed). + + + + + + Tests the "Proper Group/PE Nesting" validity constraint by + fragmenting a content model between two parameter entities. + + Tests the "Proper Declaration/PE Nesting" validity constraint by + fragmenting an element declaration between two parameter entities. + + Tests the "Proper Declaration/PE Nesting" validity constraint by + fragmenting an element declaration between two parameter entities. + + Test the "Proper Conditional Section/ PE Nesting" validity constraint. + + + + Test demonstrates an Element Type Declaration with Mixed Content. + + Test demonstrates that whitespace is permitted after the tag name in a Start-tag. + + Test demonstrates that whitespace is permitted after the tag name in an End-tag. + + Test demonstrates a valid attribute specification within a Start-tag. + + Test demonstrates a valid attribute specification within a Start-tag that +contains whitespace on both sides of the equal sign. + + Test demonstrates that the AttValue within a Start-tag can use a single quote as a delimter. + + Test demonstrates numeric character references can be used for element content. + + Test demonstrates character references can be used for element content. + + Test demonstrates that PubidChar can be used for element content. + + Test demonstrates that whitespace is valid after the Attribute in a Start-tag. + + Test demonstrates mutliple Attibutes within the Start-tag. + + Uses a legal XML 1.0 name consisting of a single colon + character (disallowed by the latest XML Namespaces draft). + + Test demonstrates that the Attribute in a Start-tag can consist of numerals along with special characters. + + Test demonstrates that all lower case letters are valid for the Attribute in a Start-tag. + + Test demonstrates that all upper case letters are valid for the Attribute in a Start-tag. + + Test demonstrates that Processing Instructions are valid element content. + + Test demonstrates that Processing Instructions are valid element content and there can be more than one. + + Test demonstrates that CDATA sections are valid element content. + + Test demonstrates that CDATA sections are valid element content and that +ampersands may occur in their literal form. + + Test demonstractes that CDATA sections are valid element content and that +everyting between the CDStart and CDEnd is recognized as character data not markup. + + Test demonstrates that comments are valid element content. + + Test demonstrates that comments are valid element content and that all characters before the double-hypen right angle combination are considered part of thecomment. + + Test demonstrates that Entity References are valid element content. + + Test demonstrates that Entity References are valid element content and also demonstrates a valid Entity Declaration. + + Test demonstrates an Element Type Declaration and that the contentspec can be of mixed content. + + Test demonstrates an Element Type Declaration and that EMPTY is a valid contentspec. + + Test demonstrates an Element Type Declaration and that ANY is a valid contenspec. + + Test demonstrates a valid prolog that uses double quotes as delimeters around the VersionNum. + + Test demonstrates a valid prolog that uses single quotes as delimters around the VersionNum. + + Test demonstrates a valid prolog that contains whitespace on both sides of the equal sign in the VersionInfo. + + Test demonstrates a valid EncodingDecl within the prolog. + + Test demonstrates a valid SDDecl within the prolog. + + Test demonstrates that both a EncodingDecl and SDDecl are valid within the prolog. + + Test demonstrates the correct syntax for an Empty element tag. + + Test demonstrates that whitespace is permissible after the name in an Empty element tag. + + Test demonstrates a valid processing instruction. + + Test demonstrates a valid comment and that it may appear anywhere in the document including at the end. + + Test demonstrates a valid comment and that it may appear anywhere in the document including the beginning. + + Test demonstrates a valid processing instruction and that it may appear at the beginning of the document. + + Test demonstrates an Attribute List declaration that uses a StringType as the AttType. + + Test demonstrates an Attribute List declaration that uses a StringType as the AttType and also expands the CDATA attribute with a character reference. + + Test demonstrates an Attribute List declaration that uses a StringType as the AttType and also expands the CDATA attribute with a character reference. The test also shows that the leading zeros in the character reference are ignored. + + An element's attributes may be declared before its content + model; and attribute values may contain newlines. + + Test demonstrates that the empty-element tag must be use for an elements that are declared EMPTY. + + Tests whether more than one definition can be provided for the same attribute of a given element type with the first declaration being binding. + + Test demonstrates that when more than one AttlistDecl is provided for a given element type, the contents of all those provided are merged. + + Test demonstrates that extra whitespace is normalized into single space character. + + Test demonstrates that character data is valid element content. + + Test demonstrates that characters outside of normal ascii range can be used as element content. + + Test demonstrates that characters outside of normal ascii range can be used as element content. + + The document is encoded in UTF-16 and uses some name + characters well outside of the normal ASCII range. + + + The document is encoded in UTF-8 and the text inside the + root element uses two non-ASCII characters, encoded in UTF-8 + and each of which expands to a Unicode surrogate pair. + + Tests inclusion of a well-formed internal entity, which + holds an element required by the content model. + + Test demonstrates that extra whitespace within Start-tags and End-tags are nomalized into single spaces. + + Test demonstrates that extra whitespace within a processing instruction willnormalized into s single space character. + + Test demonstrates an Attribute List declaration that uses a StringType as the AttType and also expands the CDATA attribute with a character reference. The test also shows that the leading zeros in the character reference are ignored. + + Test demonstrates an element content model whose element can occur zero or more times. + + Test demonstrates that extra whitespace be normalized into a single space character in an attribute of type NMTOKENS. + + Test demonstrates an Element Type Declaration that uses the contentspec of EMPTY. The element cannot have any contents and must always appear as an empty element in the document. The test also shows an Attribute-list declaration with multiple AttDef's. + + Test demonstrates the use of decimal Character References within element content. + + Test demonstrates the use of decimal Character References within element content. + + Test demonstrates the use of hexadecimal Character References within element. + + The document is encoded in UTF-8 and the name of the + root element type uses non-ASCII characters. + + Tests in-line handling of two legal character references, which + each expand to a Unicode surrogate pair. + + Tests ability to define an internal entity which can't + legally be expanded (contains an unquoted <). + + Expands a CDATA attribute with a character reference. + + Test demonstrates the use of decimal character references within element content. + + Tests definition of an internal entity holding a carriage return character + reference, which must not be normalized before reporting to the application. Line + break normalization only occurs when parsing external parsed entities. + + Verifies that an XML parser will parse a NOTATION + declaration; the output phase of this test ensures that + it's reported to the application. + + Verifies that internal parameter entities are correctly + expanded within the internal subset. + + Test demonstrates that an AttlistDecl can use ID as the TokenizedType within the Attribute type. The test also shows that IMPLIED is a valid DefaultDecl. + + Test demonstrates that an AttlistDecl can use IDREF as the TokenizedType within the Attribute type. The test also shows that IMPLIED is a valid DefaultDecl. + + Test demonstrates that an AttlistDecl can use IDREFS as the TokenizedType within the Attribute type. The test also shows that IMPLIED is a valid DefaultDecl. + + Test demonstrates that an AttlistDecl can use ENTITY as the TokenizedType within the Attribute type. The test also shows that IMPLIED is a valid DefaultDecl. + + Test demonstrates that an AttlistDecl can use ENTITIES as the TokenizedType within the Attribute type. The test also shows that IMPLIED is a valid DefaultDecl. + + Verifies that an XML parser will parse a NOTATION + attribute; the output phase of this test ensures that + both notations are reported to the application. + + Test demonstrates that an AttlistDecl can use an EnumeratedType within the Attribute type. The test also shows that IMPLIED is a valid DefaultDecl. + + Test demonstrates that an AttlistDecl can use an StringType of CDATA within the Attribute type. The test also shows that REQUIRED is a valid DefaultDecl. + + Test demonstrates that an AttlistDecl can use an StringType of CDATA within the Attribute type. The test also shows that FIXED is a valid DefaultDecl and that a value can be given to the attribute in the Start-tag as well as the AttListDecl. + + Test demonstrates that an AttlistDecl can use an StringType of CDATA within the Attribute type. The test also shows that FIXED is a valid DefaultDecl and that an value can be given to the attribute. + + Test demonstrates the use of the optional character following a name or list to govern the number of times an element or content particles in the list occur. + + Tests that an external PE may be defined (but not referenced). + + Tests that an external PE may be defined (but not referenced). + + Test demonstrates that although whitespace can be used to set apart markup for greater readability it is not necessary. + + Parameter and General entities use different namespaces, + so there can be an entity of each type with a given name. + + Tests whether entities may be declared more than once, + with the first declaration being the binding one. + + Tests whether character references in internal entities are + expanded early enough, by relying on correct handling to + make the entity be well formed. + + Tests whether entity references in internal entities are + expanded late enough, by relying on correct handling to + make the expanded text be valid. (If it's expanded too + early, the entity will parse as an element that's not + valid in that context.) + + Tests entity expansion of three legal character references, + which each expand to a Unicode surrogate pair. + + Verifies that an XML parser will parse a NOTATION + attribute; the output phase of this test ensures that + the notation is reported to the application. + + Verifies that an XML parser will parse an ENTITY + attribute; the output phase of this test ensures that + the notation is reported to the application, and for + validating parsers it further tests that the entity + is so reported. + + Test demostrates that extra whitespace is normalized into a single space character. + + Test demonstrates that extra whitespace is not intended for inclusion in the delivered version of the document. + + Attribute defaults with a DTD have special parsing rules, different + from other strings. That means that characters found there may look + like an undefined parameter entity reference "within a markup + declaration", but they aren't ... so they can't be violating + the PEs in Internal Subset WFC. + + + Basically an output test, this requires extra whitespace + to be normalized into a single space character in an + attribute of type NMTOKENS. + + Test demonstrates that extra whitespace is normalized into a single space character in an attribute of type NMTOKENS. + + Basically an output test, this tests whether an externally + defined attribute declaration (with a default) takes proper + precedence over a subsequent internal declaration. + + Test demonstrates that extra whitespace within a processing instruction is converted into a single space character. + + Test demonstrates the name of the encoding can be composed of lowercase characters. + + Makes sure that PUBLIC identifiers may have some strange + characters. NOTE: The XML editors have said that the XML + specification errata will specify that parameter entity expansion + does not occur in PUBLIC identifiers, so that the '%' character + will not flag a malformed parameter entity reference. + + This tests whether entity expansion is (incorrectly) done + while processing entity declarations; if it is, the entity + value literal will terminate prematurely. + + Test demonstrates that a CDATA attribute can pass a double quote as its value. + + Test demonstrates that an attribute can pass a less than sign as its value. + + Test demonstrates that extra whitespace within an Attribute of a Start-tag is normalized to a single space character. + + Basically an output test, this requires a CDATA attribute + with a tab character to be passed through as one space. + + Basically an output test, this requires a CDATA attribute + with a newline character to be passed through as one space. + + Basically an output test, this requires a CDATA attribute + with a return character to be passed through as one space. + + This tests normalization of end-of-line characters (CRLF) + within entities to LF, primarily as an output test. + + Test demonstrates that an attribute can have a null value. + + Basically an output test, this requires that a CDATA + attribute with a CRLF be normalized to one space. + + Character references expanding to spaces doesn't affect + treatment of attributes. + + Test demonstrates shows the use of content particles within the element content. + + Test demonstrates that it is not an error to have attributes declared for an element not itself declared. + + Test demonstrates that all text within a valid CDATA section is considered text and not recognized as markup. + + Test demonstrates that an entity reference is processed by recursively processing the replacement text of the entity. + + Test demonstrates that a line break within CDATA will be normalized. + + Test demonstrates that entity expansion is done while processing entity declarations. + + Test demonstrates that entity expansion is done while processing entity declarations. + + Comments may contain any legal XML characters; + only the string "--" is disallowed. + + + + + Test demonstrates the use of an ExternalID within a document type definition. + + Test demonstrates the use of an ExternalID within a document type definition. + + Test demonstrates the expansion of an external parameter entity that declares an attribute. + + Expands an external parameter entity in two different ways, + with one of them declaring an attribute. + + Test demonstrates the expansion of an external parameter entity that declares an attribute. + + Test demonstrates that when more than one definition is provided for the same attribute of a given element type only the first declaration is binding. + + Test demonstrates the use of an Attribute list declaration within an external entity. + + Test demonstrates that an external identifier may include a public identifier. + + Test demonstrates that an external identifier may include a public identifier. + + Test demonstrates that when more that one definition is provided for the same attribute of a given element type only the first declaration is binding. + + Test demonstrates a parameter entity declaration whose parameter entity definition is an ExternalID. + + Test demonstrates an enternal parsed entity that begins with a text declaration. + + Test demonstrates the use of the conditional section INCLUDE that will include its contents as part of the DTD. + + Test demonstrates the use of the conditional section INCLUDE that will include its contents as part of the DTD. The keyword is a parameter-entity reference. + + Test demonstrates the use of the conditonal section IGNORE the will ignore its content from being part of the DTD. The keyword is a parameter-entity reference. + + Test demonstrates the use of the conditional section INCLUDE that will include its contents as part of the DTD. The keyword is a parameter-entity reference. + + Test demonstrates a parameter entity declaration that contains an attribute list declaration. + + Test demonstrates an EnternalID whose contents contain an parameter entity declaration and a attribute list definition. + + Test demonstrates that a parameter entity will be expanded with spaces on either side. + + Parameter entities expand with spaces on either side. + + Test demonstrates a parameter entity declaration that contains a partial attribute list declaration. + + Test demonstrates the use of a parameter entity reference within an attribute list declaration. + + + Constructs an <!ATTLIST...> declaration from several PEs. + + Test demonstrates that when more that one definition is provided for the same entity only the first declaration is binding. + + Test demonstrates that when more that one definition is provided for the same attribute of a given element type only the first declaration is binding. + + Test demonstrates a parameter entity reference whose value is NULL. + + Test demonstrates the use of the conditional section INCLUDE that will include its contents. + + Test demonstrates the use of the conditonal section IGNORE the will ignore its content from being used. + + Test demonstrates the use of the conditonal section IGNORE the will ignore its content from being used. + + Expands a general entity which contains a CDATA section with + what looks like a markup declaration (but is just text since + it's in a CDATA section). + + + + + A combination of carriage return line feed in an external entity must + be normalized to a single newline. + + A carriage return (also CRLF) in an external entity must + be normalized to a single newline. + + Test demonstrates that the content of an element can be empty. In this case the external entity is an empty file. + + A carriage return (also CRLF) in an external entity must + be normalized to a single newline. + + Test demonstrates the use of optional character and content particles within an element content. The test also show the use of external entity. + + Test demonstrates the use of optional character and content particles within mixed element content. The test also shows the use of an external entity and that a carriage control line feed in an external entity must be normalized to a single newline. + + Test demonstrates the use of external entity and how replacement +text is retrieved and processed. + Test demonstrates the use of external +entity and how replacement text is retrieved and processed. Also tests the use of an +EncodingDecl of UTF-16. + + A carriage return (also CRLF) in an external entity must + be normalized to a single newline. + + Test demonstrates the use of a public identifier with and external entity. +The test also show that a carriage control line feed combination in an external +entity must be normalized to a single newline. + + Test demonstrates both internal and external entities and that processing of entity references may be required to produce the correct replacement text. + + Test demonstrates that whitespace is handled by adding a single whitespace to the normalized value in the attribute list. + + Test demonstrates use of characters outside of normal ASCII range. + diff --git a/basis/xml/tokenize/tokenize.factor b/basis/xml/tokenize/tokenize.factor index a2ae9c4d58..20ff888305 100644 --- a/basis/xml/tokenize/tokenize.factor +++ b/basis/xml/tokenize/tokenize.factor @@ -1,17 +1,102 @@ ! Copyright (C) 2005, 2006 Daniel Ehrenberg ! See http://factorcode.org/license.txt for BSD license. -USING: accessors arrays ascii assocs combinators +USING: accessors arrays ascii assocs combinators locals combinators.short-circuit fry io.encodings io.encodings.iana io.encodings.string io.encodings.utf16 io.encodings.utf8 kernel make -math math.parser namespaces sequences sets splitting state-parser -strings xml.char-classes xml.data xml.entities xml.errors hashtables ; +math math.parser namespaces sequences sets splitting xml.state +strings xml.char-classes xml.data xml.entities xml.errors hashtables +circular io sbufs ; IN: xml.tokenize +! Originally from state-parser + +SYMBOL: prolog-data + +: version=1.0? ( -- ? ) + prolog-data get [ version>> "1.0" = ] [ t ] if* ; + +: assure-good-char ( ch -- ch ) + [ + version=1.0? over text? not get-check and + [ disallowed-char ] when + ] [ f ] if* ; + +! * Basic utility words + +: record ( char -- ) + CHAR: \n = + [ 0 get-line 1+ set-line ] [ get-column 1+ ] if + set-column ; + +! (next) normalizes \r\n and \r +: (next) ( -- char ) + get-next read1 + 2dup swap CHAR: \r = [ + CHAR: \n = + [ nip read1 ] [ nip CHAR: \n swap ] if + ] [ drop ] if + set-next dup set-char assure-good-char ; + +: next ( -- ) + #! Increment spot. + get-char [ unexpected-end ] unless (next) record ; + +: skip-until ( quot: ( -- ? ) -- ) + get-char [ + [ call ] keep swap [ drop ] [ + next skip-until + ] if + ] [ drop ] if ; inline recursive + +: take-until ( quot -- string ) + #! Take the substring of a string starting at spot + #! from code until the quotation given is true and + #! advance spot to after the substring. + 10 [ + '[ @ [ t ] [ get-char _ push f ] if ] skip-until + ] keep >string ; inline + +: take-char ( ch -- string ) + [ dup get-char = ] take-until nip ; + +: pass-blank ( -- ) + #! Advance code past any whitespace, including newlines + [ get-char blank? not ] skip-until ; + +: string-matches? ( string circular -- ? ) + get-char over push-circular + sequence= ; + +: take-string ( match -- string ) + dup length + [ 2dup string-matches? ] take-until nip + dup length rot length 1- - head + get-char [ missing-close ] unless next ; + +: expect ( ch -- ) + get-char 2dup = [ 2drop ] [ + [ 1string ] bi@ expected + ] if next ; + +: expect-string ( string -- ) + dup [ get-char next ] replicate 2dup = + [ 2drop ] [ expected ] if ; + +: init-parser ( -- ) + 0 1 0 f f spot set + read1 set-next next ; + +: state-parse ( stream quot -- ) + ! with-input-stream implicitly creates a new scope which we use + swap [ init-parser call ] with-input-stream ; inline + ! XML namespace processing: ns = namespace ! A stack of hashtables SYMBOL: ns-stack +SYMBOL: depth + : attrs>ns ( attrs-alist -- hash ) ! this should check to make sure URIs are valid [ @@ -49,35 +134,41 @@ SYMBOL: ns-stack ! Parsing names -: version=1.0? ( -- ? ) - prolog-data get version>> "1.0" = ; +: valid-name? ( str -- ? ) + [ f ] [ + version=1.0? swap { + [ first name-start? ] + [ rest-slice [ name-char? ] with all? ] + } 2&& + ] if-empty ; -! version=1.0? is calculated once and passed around for efficiency +: prefixed-name ( str -- name/f ) + ":" split dup length 2 = [ + [ [ valid-name? ] all? ] + [ first2 f ] bi and + ] [ drop f ] if ; -: assure-name ( str version=1.0? -- str ) - over { - [ first name-start? ] - [ rest-slice [ name-char? ] with all? ] - } 2&& [ bad-name ] unless ; +: interpret-name ( str -- name ) + dup prefixed-name [ ] [ + dup valid-name? + [ ] [ bad-name ] if + ] ?if ; -: (parse-name) ( start -- str ) - version=1.0? - [ [ get-char name-char? not ] curry take-until append ] - [ assure-name ] bi ; - -: parse-name-starting ( start -- name ) - (parse-name) get-char CHAR: : = - [ next "" (parse-name) ] [ "" swap ] if f ; +: take-name ( -- string ) + version=1.0? '[ _ get-char name-char? not ] take-until ; : parse-name ( -- name ) - "" parse-name-starting ; + take-name interpret-name ; + +: parse-name-starting ( string -- name ) + take-name append interpret-name ; ! -- Parsing strings : parse-named-entity ( string -- ) - dup entities at [ , ] [ + dup entities at [ , ] [ dup extra-entities get at - [ dup number? [ , ] [ % ] if ] [ no-entity ] ?if ! Make less hackish + [ % ] [ no-entity ] ?if ] ?if ; : parse-entity ( -- ) @@ -86,20 +177,40 @@ SYMBOL: ns-stack "x" ?head 16 10 ? base> , ] [ parse-named-entity ] if ; -: (parse-char) ( ch -- ) - get-char { - { [ dup not ] [ 2drop ] } - { [ 2dup = ] [ 2drop next ] } - { [ dup CHAR: & = ] [ drop parse-entity (parse-char) ] } - [ , next (parse-char) ] - } cond ; +SYMBOL: pe-table +SYMBOL: in-dtd? -: parse-char ( ch -- string ) - [ (parse-char) ] "" make ; +: parse-pe ( -- ) + next CHAR: ; take-char dup next + pe-table get at [ % ] [ no-entity ] ?if ; + +:: (parse-char) ( quot: ( ch -- ? ) -- ) + get-char :> char + { + { [ char not ] [ ] } + { [ char quot call ] [ next ] } + { [ char CHAR: & = ] [ parse-entity quot (parse-char) ] } + { [ in-dtd? get char CHAR: % = and ] [ parse-pe quot (parse-char) ] } + [ char , next quot (parse-char) ] + } cond ; inline recursive + +: parse-char ( quot: ( ch -- ? ) -- seq ) + [ (parse-char) ] "" make ; inline + +: assure-no-]]> ( circular -- ) + "]]>" sequence= [ text-w/]]> ] when ; + +:: parse-text ( -- string ) + 3 f :> circ + depth get zero? :> no-text [| char | + char circ push-circular + circ assure-no-]]> + no-text [ char blank? char CHAR: < = or [ + char 1string t pre/post-content + ] unless ] when + char CHAR: < = + ] parse-char ; -: parse-text ( -- string ) - CHAR: < parse-char ; - ! Parsing tags : start-tag ( -- name ? ) @@ -107,31 +218,48 @@ SYMBOL: ns-stack get-char CHAR: / = dup [ next ] when parse-name swap ; -: (parse-quote) ( ch -- string ) - parse-char get-char - [ unclosed-quote ] unless ; +: normalize-quote ( str -- str ) + [ dup "\t\r\n" member? [ drop CHAR: \s ] when ] map ; + +: (parse-quote) ( <-disallowed? ch -- string ) + swap '[ + dup _ = [ drop t ] + [ CHAR: < = _ and [ attr-w/< ] [ f ] if ] if + ] parse-char normalize-quote get-char + [ unclosed-quote ] unless ; inline + +: parse-quote* ( <-disallowed? -- seq ) + pass-blank get-char dup "'\"" member? + [ next (parse-quote) ] [ quoteless-attr ] if ; inline : parse-quote ( -- seq ) - pass-blank get-char dup "'\"" member? - [ next (parse-quote) ] [ quoteless-attr ] if ; + f parse-quote* ; : parse-attr ( -- ) - parse-name - pass-blank CHAR: = expect - parse-quote - 2array , ; + parse-name pass-blank CHAR: = expect pass-blank + t parse-quote* 2array , ; : (middle-tag) ( -- ) pass-blank version=1.0? get-char name-start? [ parse-attr (middle-tag) ] when ; +: assure-no-duplicates ( attrs-alist -- attrs-alist ) + H{ } clone 2dup '[ swap _ push-at ] assoc-each + [ nip length 2 >= ] assoc-filter >alist + [ first first2 duplicate-attr ] unless-empty ; + : middle-tag ( -- attrs-alist ) ! f make will make a vector if it has any elements - [ (middle-tag) ] f make pass-blank ; + [ (middle-tag) ] f make pass-blank + assure-no-duplicates ; + +: close ( -- ) + pass-blank CHAR: > expect ; : end-tag ( name attrs-alist -- tag ) tag-ns pass-blank get-char CHAR: / = - [ pop-ns next ] [ ] if ; + [ pop-ns next CHAR: > expect ] + [ depth inc close ] if ; : take-comment ( -- comment ) "--" expect-string @@ -140,34 +268,32 @@ SYMBOL: ns-stack CHAR: > expect ; : take-cdata ( -- string ) + depth get zero? [ bad-cdata ] when "[CDATA[" expect-string "]]>" take-string ; -: take-element-decl ( -- element-decl ) - pass-blank " " take-string pass-blank ">" take-string ; +: take-word ( -- string ) + [ get-char blank? ] take-until ; -: take-attlist-decl ( -- doctype-decl ) - pass-blank " " take-string pass-blank ">" take-string ; +: take-decl-contents ( -- first second ) + pass-blank take-word pass-blank ">" take-string ; + +: take-element-decl ( -- element-decl ) + take-decl-contents ; + +: take-attlist-decl ( -- attlist-decl ) + take-decl-contents ; + +: take-notation-decl ( -- notation-decl ) + take-decl-contents ; : take-until-one-of ( seps -- str sep ) '[ get-char _ member? ] take-until get-char ; -: only-blanks ( str -- ) - [ blank? ] all? [ bad-doctype-decl ] unless ; - -: take-system-literal ( -- str ) ! replace with parse-quote? - pass-blank get-char next { - { CHAR: ' [ "'" take-string ] } - { CHAR: " [ "\"" take-string ] } - } case ; - : take-system-id ( -- system-id ) - take-system-literal - ">" take-string only-blanks ; + parse-quote close ; : take-public-id ( -- public-id ) - take-system-literal - take-system-literal - ">" take-string only-blanks ; + parse-quote parse-quote close ; DEFER: direct @@ -178,7 +304,11 @@ DEFER: direct } case ; : take-internal-subset ( -- seq ) - [ (take-internal-subset) ] { } make ; + [ + H{ } pe-table set + t in-dtd? set + (take-internal-subset) + ] { } make ; : (take-external-id) ( token -- external-id ) pass-blank { @@ -188,47 +318,50 @@ DEFER: direct } case ; : take-external-id ( -- external-id ) - " " take-string (take-external-id) ; + take-word (take-external-id) ; + +: only-blanks ( str -- ) + [ blank? ] all? [ bad-decl ] unless ; + +: nontrivial-doctype ( -- external-id internal-subset ) + pass-blank get-char CHAR: [ = [ + next take-internal-subset f swap close + ] [ + " >" take-until-one-of { + { CHAR: \s [ (take-external-id) ] } + { CHAR: > [ only-blanks f ] } + } case f + ] if ; : take-doctype-decl ( -- doctype-decl ) pass-blank " >" take-until-one-of { - { CHAR: \s [ - pass-blank get-char CHAR: [ = [ - next take-internal-subset f swap - ">" take-string only-blanks - ] [ - " >" take-until-one-of { - { CHAR: \s [ (take-external-id) ] } - { CHAR: > [ only-blanks f ] } - } case f - ] if - ] } + { CHAR: \s [ nontrivial-doctype ] } { CHAR: > [ f f ] } } case ; -: take-entity-def ( -- entity-name entity-def ) - " " take-string pass-blank get-char { - { CHAR: ' [ parse-quote ] } - { CHAR: " [ parse-quote ] } - [ drop take-external-id ] - } case ; - -: associate-entity ( entity-name entity-def -- ) - swap extra-entities [ ?set-at ] change ; +: take-entity-def ( var -- entity-name entity-def ) + [ + take-word pass-blank get-char { + { CHAR: ' [ parse-quote ] } + { CHAR: " [ parse-quote ] } + [ drop take-external-id ] + } case swap + ] dip [ [ ?set-at ] change ] 2keep swap ; : take-entity-decl ( -- entity-decl ) pass-blank get-char { - { CHAR: % [ next pass-blank take-entity-def ] } - [ drop take-entity-def 2dup associate-entity ] + { CHAR: % [ next pass-blank pe-table take-entity-def ] } + [ drop extra-entities take-entity-def ] } case - ">" take-string only-blanks ; + close ; : take-directive ( -- directive ) - " " take-string { + take-name { { "ELEMENT" [ take-element-decl ] } { "ATTLIST" [ take-attlist-decl ] } { "DOCTYPE" [ take-doctype-decl ] } { "ENTITY" [ take-entity-decl ] } + { "NOTATION" [ take-notation-decl ] } [ bad-directive ] } case ; @@ -239,13 +372,6 @@ DEFER: direct [ drop take-directive ] } case ; -: yes/no>bool ( string -- t/f ) - { - { "yes" [ t ] } - { "no" [ f ] } - [ not-yes/no ] - } case ; - : assure-no-extra ( seq -- ) [ first ] map { T{ name f "" "version" f } @@ -264,6 +390,13 @@ DEFER: direct : prolog-encoding ( alist -- encoding ) T{ name f "" "encoding" f } swap at "UTF-8" or ; +: yes/no>bool ( string -- t/f ) + { + { "yes" [ t ] } + { "no" [ f ] } + [ not-yes/no ] + } case ; + : prolog-standalone ( alist -- version ) T{ name f "" "standalone" f } swap at [ yes/no>bool ] [ f ] if* ; @@ -286,33 +419,32 @@ SYMBOL: string-input? dup prolog-data set ; : instruct ( -- instruction ) - "" (parse-name) dup "xml" = - [ drop parse-prolog ] [ - dup >lower "xml" = - [ capitalized-prolog ] - [ "?>" take-string append ] if - ] if ; + take-name { + { [ dup "xml" = ] [ drop parse-prolog ] } + { [ dup >lower "xml" = ] [ capitalized-prolog ] } + { [ dup valid-name? not ] [ bad-name ] } + [ "?>" take-string append ] + } cond ; : make-tag ( -- tag ) { { [ get-char dup CHAR: ! = ] [ drop next direct ] } { [ CHAR: ? = ] [ next instruct ] } [ - start-tag [ dup add-ns pop-ns ] + start-tag [ dup add-ns pop-ns depth dec close ] [ middle-tag end-tag ] if - CHAR: > expect ] } cond ; ! Autodetecting encodings : continue-make-tag ( str -- tag ) - parse-name-starting middle-tag end-tag CHAR: > expect ; + parse-name-starting middle-tag end-tag ; : start-utf16le ( -- tag ) utf16le decode-input-if CHAR: ? expect - 0 expect instruct ; + 0 expect check instruct ; : 10xxxxxx? ( ch -- ? ) -6 shift 3 bitand 2 = ; @@ -330,17 +462,17 @@ SYMBOL: string-input? : start< ( -- tag ) get-next { { 0 [ next next start-utf16le ] } - { CHAR: ? [ next next instruct ] } ! XML prolog parsing sets the encoding - { CHAR: ! [ utf8 decode-input next next direct ] } - [ start, in the case of XML chunks? - } case ; + } case check ; diff --git a/basis/xml/utilities/utilities-docs.factor b/basis/xml/utilities/utilities-docs.factor new file mode 100644 index 0000000000..5e391832dd --- /dev/null +++ b/basis/xml/utilities/utilities-docs.factor @@ -0,0 +1,101 @@ +! Copyright (C) 2005, 2009 Daniel Ehrenberg +! See http://factorcode.org/license.txt for BSD license. +USING: help.markup help.syntax xml.data sequences strings ; +IN: xml.utilities + +ABOUT: "xml.utilities" + +ARTICLE: "xml.utilities" "Utilities for processing XML" + "Utilities for processing XML include..." + $nl + "System sfor creating words which dispatch on XML tags:" + { $subsection POSTPONE: PROCESS: } + { $subsection POSTPONE: TAG: } + "Getting parts of an XML document or tag:" + $nl + "Note: the difference between deep-tag-named and tag-named is that the former searches recursively among all children and children of children of the tag, while the latter only looks at the direct children, and is therefore more efficient." + { $subsection tag-named } + { $subsection tags-named } + { $subsection deep-tag-named } + { $subsection deep-tags-named } + { $subsection get-id } + "Words for simplified generation of XML:" + { $subsection build-tag* } + { $subsection build-tag } + { $subsection build-xml } + "Other relevant words:" + { $subsection children>string } + { $subsection children-tags } + { $subsection first-child-tag } + { $subsection assert-tag } ; + +HELP: deep-tag-named +{ $values { "tag" "an XML tag or document" } { "name/string" "an XML name or string representing a name" } { "matching-tag" tag } } +{ $description "finds an XML tag with a matching name, recursively searching children and children of children" } +{ $see-also tags-named tag-named deep-tags-named } ; + +HELP: deep-tags-named +{ $values { "tag" "an XML tag or document" } { "name/string" "an XML name or string representing a name" } { "tags-seq" "a sequence of tags" } } +{ $description "returns a sequence of all tags of a matching name, recursively searching children and children of children" } +{ $see-also tag-named deep-tag-named tags-named } ; + +HELP: children>string +{ $values { "tag" "an XML tag or document" } { "string" "a string" } } +{ $description "concatenates the children of the tag, ignoring everything that's not a string" } ; + +HELP: children-tags +{ $values { "tag" "an XML tag or document" } { "sequence" sequence } } +{ $description "gets the children of the tag that are themselves tags" } +{ $see-also first-child-tag } ; + +HELP: first-child-tag +{ $values { "tag" "an XML tag or document" } { "tag" tag } } +{ $description "returns the first child of the given tag that is a tag" } +{ $see-also children-tags } ; + +HELP: tag-named +{ $values { "tag" "an XML tag or document" } + { "name/string" "an XML name or string representing the name" } + { "matching-tag" tag } } +{ $description "finds the first tag with matching name which is the direct child of the given tag" } +{ $see-also deep-tags-named deep-tag-named tags-named } ; + +HELP: tags-named +{ $values { "tag" "an XML tag or document" } + { "name/string" "an XML name or string representing the name" } + { "tags-seq" "a sequence of tags" } } +{ $description "finds all tags with matching name that are the direct children of the given tag" } +{ $see-also deep-tag-named deep-tags-named tag-named } ; + +HELP: get-id +{ $values { "tag" "an XML tag or document" } { "id" "a string" } { "elem" "an XML element or f" } } +{ $description "finds the XML tag with the specified id, ignoring the namespace" } ; + +HELP: PROCESS: +{ $syntax "PROCESS: word" } +{ $values { "word" "a new word to define" } } +{ $description "creates a new word to process XML tags" } +{ $see-also POSTPONE: TAG: } ; + +HELP: TAG: +{ $syntax "TAG: tag word definition... ;" } +{ $values { "tag" "an xml tag name" } { "word" "an XML process" } } +{ $description "defines what a process should do when it encounters a specific tag" } +{ $examples { $code "PROCESS: x ( tag -- )\nTAG: a x drop \"hi\" write ;" } } +{ $see-also POSTPONE: PROCESS: } ; + +HELP: build-tag* +{ $values { "items" "sequence of elements" } { "name" "string" } + { "tag" tag } } +{ $description "builds a " { $link tag } " with the specified name, in the namespace \"\" and URL \"\" containing the children listed in item" } +{ $see-also build-tag build-xml } ; + +HELP: build-tag +{ $values { "item" "an element" } { "name" string } { "tag" tag } } +{ $description "builds a " { $link tag } " with the specified name containing the single child item" } +{ $see-also build-tag* build-xml } ; + +HELP: build-xml +{ $values { "tag" tag } { "xml" "an XML document" } } +{ $description "builds an XML document out of a tag" } +{ $see-also build-tag* build-tag } ; diff --git a/basis/xml/writer/writer-docs.factor b/basis/xml/writer/writer-docs.factor new file mode 100644 index 0000000000..6d5a9de1fc --- /dev/null +++ b/basis/xml/writer/writer-docs.factor @@ -0,0 +1,62 @@ +! Copyright (C) 2005, 2009 Daniel Ehrenberg +! See http://factorcode.org/license.txt for BSD license. +USING: help.syntax help.markup io strings ; +IN: xml.writer + +ABOUT: "xml.writer" + +ARTICLE: "xml.writer" "Writing XML" + "These words are used in implementing prettyprint" + { $subsection write-xml-chunk } + "These words are used to print XML normally" + { $subsection xml>string } + { $subsection write-xml } + { $subsection print-xml } + "These words are used to prettyprint XML" + { $subsection pprint-xml>string } + { $subsection pprint-xml>string-but } + { $subsection pprint-xml } + { $subsection pprint-xml-but } ; + +HELP: write-xml-chunk +{ $values { "object" "an XML element" } } +{ $description "writes an XML element to " { $link output-stream } "." } +{ $see-also write-xml-chunk write-xml } ; + +HELP: xml>string +{ $values { "xml" "an xml document" } { "string" "a string" } } +{ $description "converts an XML document into a string" } +{ $notes "does not preserve what type of quotes were used or what data was omitted from version declaration" } ; + +HELP: pprint-xml>string +{ $values { "xml" "an xml document" } { "string" "a string" } } +{ $description "converts an XML document into a string in a prettyprinted form." } +{ $notes "does not preserve what type of quotes were used or what data was omitted from version declaration" } ; + +HELP: write-xml +{ $values { "xml" "an XML document" } } +{ $description "prints the contents of an XML document to " { $link output-stream } "." } +{ $notes "does not preserve what type of quotes were used or what data was omitted from version declaration" } ; + +HELP: print-xml +{ $values { "xml" "an XML document" } } +{ $description "prints the contents of an XML document to " { $link output-stream } ", followed by a newline" } +{ $notes "does not preserve what type of quotes were used or what data was omitted from version declaration" } ; + +HELP: pprint-xml +{ $values { "xml" "an XML document" } } +{ $description "prints the contents of an XML document to " { $link output-stream } " in a prettyprinted form." } +{ $notes "does not preserve what type of quotes were used or what data was omitted from version declaration" } ; + +HELP: pprint-xml-but +{ $values { "xml" "an XML document" } { "sensitive-tags" "a sequence of names" } } +{ $description "Prettyprints an XML document, leaving the whitespace of the tags with names in sensitive-tags intact." } +{ $notes "does not preserve what type of quotes were used or what data was omitted from version declaration" } ; + +HELP: pprint-xml>string-but +{ $values { "xml" "an XML document" } { "sensitive-tags" "a sequence of names" } { "string" string } } +{ $description "Prettyprints an XML document, returning the result as a string and leaving the whitespace of the tags with names in sensitive-tags intact." } +{ $notes "does not preserve what type of quotes were used or what data was omitted from version declaration" } ; + +{ xml>string print-xml write-xml pprint-xml pprint-xml>string pprint-xml>string-but pprint-xml-but } related-words + diff --git a/basis/xml/writer/writer.factor b/basis/xml/writer/writer.factor index cd6fd944a4..4d715a1634 100644 --- a/basis/xml/writer/writer.factor +++ b/basis/xml/writer/writer.factor @@ -155,6 +155,9 @@ M: xml write-xml-chunk : xml>string ( xml -- string ) [ write-xml ] with-string-writer ; +: xml-chunk>string ( object -- string ) + [ write-xml-chunk ] with-string-writer ; + : with-xml-pprint ( sensitive-tags quot -- ) [ swap [ assure-name ] map sensitive-tags set diff --git a/basis/xml/xml-docs.factor b/basis/xml/xml-docs.factor index e87c32d375..60bc88bad6 100644 --- a/basis/xml/xml-docs.factor +++ b/basis/xml/xml-docs.factor @@ -1,8 +1,6 @@ -! Copyright (C) 2005, 2006 Daniel Ehrenberg +! Copyright (C) 2005, 2009 Daniel Ehrenberg ! See http://factorcode.org/license.txt for BSD license. -USING: help.markup help.syntax kernel xml.data xml.errors -xml.writer state-parser xml.tokenize xml.utilities xml.entities -strings sequences io xml.entities.html ; +USING: help.markup help.syntax xml.data io ; IN: xml HELP: string>xml @@ -13,7 +11,7 @@ HELP: string>xml HELP: read-xml { $values { "stream" "a stream that supports readln" } { "xml" "an XML document" } } -{ $description "exausts the given stream, reading an XML document from it" } ; +{ $description "exausts the given stream, reading an XML document from it. A binary stream, one without encoding, should be used as input, and the encoding is automatically detected." } ; HELP: file>xml { $values { "filename" "a string representing a filename" } @@ -22,170 +20,10 @@ HELP: file>xml { string>xml read-xml file>xml } related-words -HELP: xml>string -{ $values { "xml" "an xml document" } { "string" "a string" } } -{ $description "converts an xml document (" { $link xml } ") into a string" } -{ $notes "does not preserve what type of quotes were used or what data was omitted from version declaration" } ; - -HELP: pprint-xml>string -{ $values { "xml" "an xml document" } { "string" "a string" } } -{ $description "converts an xml document (" { $link xml } ") into a string in a prettyprinted form." } -{ $notes "does not preserve what type of quotes were used or what data was omitted from version declaration" } ; - -HELP: xml-parse-error -{ $class-description "the exception class that all parsing errors in XML documents are in." } ; - -HELP: xml-reprint -{ $values { "string" "a string of XML" } } -{ $description "parses XML and prints it out again, for testing purposes" } -{ $notes "does not preserve what type of quotes were used or what data was omitted from version declaration" } ; - -HELP: write-xml -{ $values { "xml" "an XML document" } } -{ $description "prints the contents of an XML document (" { $link xml } ") to " { $link output-stream } "." } -{ $notes "does not preserve what type of quotes were used or what data was omitted from version declaration" } ; - -HELP: print-xml -{ $values { "xml" "an XML document" } } -{ $description "prints the contents of an XML document (" { $link xml } ") to " { $link output-stream } ", followed by a newline" } -{ $notes "does not preserve what type of quotes were used or what data was omitted from version declaration" } ; - -HELP: pprint-xml -{ $values { "xml" "an XML document" } } -{ $description "prints the contents of an XML document (" { $link xml } ") to " { $link output-stream } " in a prettyprinted form." } -{ $notes "does not preserve what type of quotes were used or what data was omitted from version declaration" } ; - -HELP: pprint-xml-but -{ $values { "xml" "an XML document" } { "sensitive-tags" "a sequence of names" } } -{ $description "Prettyprints an XML document, leaving the whitespace of the tags with names in sensitive-tags intact." } -{ $notes "does not preserve what type of quotes were used or what data was omitted from version declaration" } ; - -HELP: pprint-xml>string-but -{ $values { "xml" "an XML document" } { "sensitive-tags" "a sequence of names" } { "string" string } } -{ $description "Prettyprints an XML document, returning the result as a string and leaving the whitespace of the tags with names in sensitive-tags intact." } -{ $notes "does not preserve what type of quotes were used or what data was omitted from version declaration" } ; - -{ xml>string print-xml write-xml pprint-xml xml-reprint pprint-xml>string pprint-xml>string-but pprint-xml-but } related-words - -HELP: PROCESS: -{ $syntax "PROCESS: word" } -{ $values { "word" "a new word to define" } } -{ $description "creates a new word to process XML tags" } -{ $see-also POSTPONE: TAG: } ; - -HELP: TAG: -{ $syntax "TAG: tag word definition... ;" } -{ $values { "tag" "an xml tag name" } { "word" "an XML process" } } -{ $description "defines what a process should do when it encounters a specific tag" } -{ $examples { $code "PROCESS: x ( tag -- )\nTAG: a x drop \"hi\" write ;" } } -{ $see-also POSTPONE: PROCESS: } ; -HELP: build-tag* -{ $values { "items" "sequence of elements" } { "name" "string" } - { "tag" tag } } -{ $description "builds a " { $link tag } " with the specified name, in the namespace \"\" and URL \"\" containing the children listed in item" } -{ $see-also build-tag build-xml } ; - -HELP: build-tag -{ $values { "item" "an element" } { "name" string } { "tag" tag } } -{ $description "builds a " { $link tag } " with the specified name containing the single child item" } -{ $see-also build-tag* build-xml } ; - -HELP: build-xml -{ $values { "tag" tag } { "xml" "an XML document" } } -{ $description "builds an XML document out of a tag" } -{ $see-also build-tag* build-tag } ; - -HELP: tag -{ $class-description "tuple representing an XML tag, delegating to a " { $link -name } ", containing the slots attrs (an alist of names to strings) and children (a sequence). Tags implement the sequence protocol by acting like a sequence of its chidren, and the assoc protocol by acting like its attributes." } -{ $see-also name contained-tag xml } ; - -HELP: -{ $values { "name" "an XML tag name" } - { "attrs" "an alist of names to strings" } - { "children" sequence } - { "tag" tag } } -{ $description "constructs an XML " { $link tag } " with the name (not a string) and tag attributes specified in attrs and children specified" } -{ $see-also tag build-tag build-tag* } ; - -HELP: name -{ $class-description "represents an XML name, with the fields space (a string representing the namespace, as written in the document, tag (a string of the actual name of the tag) and url (a string of the URL that the namespace points to)" } -{ $see-also tag } ; - -HELP: -{ $values { "space" "a string" } { "main" "a string" } { "url" "a string" } - { "name" "an XML tag name" } } -{ $description "creates a name tuple with the name-space space and the tag-name tag and the tag-url url." } -{ $see-also name } ; - -HELP: contained-tag -{ $class-description "delegates to tag representing a tag like with no contents. The tag attributes are accessed with tag-attrs" } -{ $see-also tag } ; - -HELP: -{ $values { "name" "an XML tag name" } - { "attrs" "an alist from names to strings" } - { "tag" tag } } -{ $description "creates an empty tag (like ) with the specified name and tag attributes. This delegates to tag" } -{ $see-also contained-tag } ; - -HELP: xml -{ $class-description "tuple representing an XML document, delegating to the main tag, containing the fields prolog (the header ), before (whatever comes between the prolog and the main tag) and after (whatever comes after the main tag)" } -{ $see-also tag prolog } ; - -HELP: -{ $values { "prolog" "an XML prolog" } { "before" "a sequence of XML elements" } -{ "body" tag } { "after" "a sequence of XML elements" } { "xml" "an XML document" } } -{ $description "creates an XML document, delegating to the main tag, with the specified prolog, before, and after" } -{ $see-also xml } ; - -HELP: prolog -{ $class-description "represents an XML prolog, with the tuple fields version (containing \"1.0\" or \"1.1\"), encoding (a string representing the encoding type), and standalone (t or f, whether the document is standalone without external entities)" } -{ $see-also xml } ; - -HELP: -{ $values { "version" "a string, 1.0 or 1.1" } -{ "encoding" "a string" } { "standalone" "a boolean" } { "prolog" "an XML prolog" } } -{ $description "creates an XML prolog tuple" } -{ $see-also prolog } ; - -HELP: comment -{ $class-description "represents a comment in XML. Has one slot, text, which contains the string of the comment" } -{ $see-also } ; - -HELP: -{ $values { "text" "a string" } { "comment" "a comment" } } -{ $description "creates an XML comment tuple" } -{ $see-also comment } ; - -HELP: instruction -{ $class-description "represents an XML instruction, such as . Contains one slot, text, which contains the string between the question marks." } -{ $see-also } ; - -HELP: -{ $values { "text" "a string" } { "instruction" "an XML instruction" } } -{ $description "creates an XML parsing instruction, such as ." } -{ $see-also instruction } ; - -HELP: names-match? -{ $values { "name1" "a name" } { "name2" "a name" } { "?" "t or f" } } -{ $description "checks to see if the two names match, that is, if all fields are equal, ignoring fields whose value is f in either name." } -{ $example "USING: prettyprint xml.data ;" "T{ name f \"rpc\" \"methodCall\" f } T{ name f f \"methodCall\" \"http://www.xmlrpc.org/\" } names-match? ." "t" } -{ $see-also name } ; - HELP: read-xml-chunk { $values { "stream" "an input stream" } { "seq" "a sequence of elements" } } { $description "rather than parse a document, as " { $link read-xml } " does, this word parses and returns a sequence of XML elements (tags, strings, etc), ie a document fragment. This is useful for pieces of XML which may have more than one main tag." } -{ $see-also write-xml-chunk read-xml } ; - -HELP: get-id -{ $values { "tag" "an XML tag or document" } { "id" "a string" } { "elem" "an XML element or f" } } -{ $description "finds the XML tag with the specified id, ignoring the namespace" } -{ $see-also } ; - -HELP: process -{ $values { "object" "an opener, closer, contained or text element" } } -{ $description "takes an XML event and, using the XML stack, processes it and adds it to the tree" } ; +{ $see-also read-xml } ; HELP: sax { $values { "stream" "an input stream" } { "quot" "a quotation ( xml-elem -- )" } } @@ -193,33 +31,6 @@ HELP: sax { $notes "It is important to note that this is not SAX, merely an event-based XML view" } { $see-also read-xml } ; -HELP: opener -{ $class-description "describes an opening tag, like . Contains two slots, name and attrs containing, respectively, the name of the tag and its attributes. Usually, the name-url will be f." } -{ $see-also closer contained } ; - -HELP: closer -{ $class-description "describes a closing tag, like . Contains one slot, name, containing the tag's name. Usually, the name-url will be f." } -{ $see-also opener contained } ; - -HELP: contained -{ $class-description "represents a self-closing tag, like . Contains two slots, name and attrs containing, respectively, the name of the tag and its attributes. Usually, the name-url will be f." } -{ $see-also opener closer } ; - -HELP: parse-text -{ $values { "string" "a string" } } -{ $description "moves the pointer from the current spot to the beginning of the next tag, parsing the text underneath, returning the text element it passed. This parses XML entities like &bar; a and &" } -{ $see-also parse-name } ; - -HELP: parse-name -{ $values { "name" "an XML name" } } -{ $description "parses a " { $link name } " from the input stream. Returns a name with only the name-space and name-tag defined, with name-url=f" } -{ $see-also parse-text } ; - -HELP: make-tag -{ $values { "tag" "an opener, closer or contained" } } -{ $description "assuming the pointer is just past a <, this word parses until the next > and emits a tuple representing the tag parsed" } -{ $see-also opener closer contained } ; - HELP: pull-xml { $class-description "represents the state of a pull-parser for XML. Has one slot, scope, which is a namespace which contains all relevant state information." } { $see-also pull-event pull-elem } ; @@ -239,116 +50,6 @@ HELP: pull-event { $description "gets the next XML event from the given XML pull parser. Returns f upon exhaustion." } { $see-also pull-xml pull-elem } ; -HELP: write-xml-chunk -{ $values { "object" "an XML element" } } -{ $description "writes an XML element to " { $link output-stream } "." } -{ $see-also write-xml-chunk write-xml } ; - -HELP: deep-tag-named -{ $values { "tag" "an XML tag or document" } { "name/string" "an XML name or string representing a name" } { "matching-tag" tag } } -{ $description "finds an XML tag with a matching name, recursively searching children and children of children" } -{ $see-also tags-named tag-named deep-tags-named } ; - -HELP: deep-tags-named -{ $values { "tag" "an XML tag or document" } { "name/string" "an XML name or string representing a name" } { "tags-seq" "a sequence of tags" } } -{ $description "returns a sequence of all tags of a matching name, recursively searching children and children of children" } -{ $see-also tag-named deep-tag-named tags-named } ; - -HELP: children>string -{ $values { "tag" "an XML tag or document" } { "string" "a string" } } -{ $description "concatenates the children of the tag, ignoring everything that's not a string" } ; - -HELP: children-tags -{ $values { "tag" "an XML tag or document" } { "sequence" sequence } } -{ $description "gets the children of the tag that are themselves tags" } -{ $see-also first-child-tag } ; - -HELP: first-child-tag -{ $values { "tag" "an XML tag or document" } { "tag" tag } } -{ $description "returns the first child of the given tag that is a tag" } -{ $see-also children-tags } ; - -HELP: multitags -{ $class-description "XML parsing error describing the case where there is more than one main tag in a document. Contains no slots" } ; - -HELP: notags -{ $class-description "XML parsing error describing the case where an XML document contains no main tag, or any tags at all" } ; - -HELP: extra-attrs -{ $class-description "XML parsing error describing the case where the XML prolog () contains attributes other than the three allowed ones, standalone, version and encoding. Contains one slot, attrs, which is a hashtable of all the extra attributes' names. Delegates to " { $link parsing-error } "." } ; - -HELP: nonexist-ns -{ $class-description "XML parsing error describing the case where a namespace doesn't exist but it is used in a tag. Contains one slot, name, which contains the name of the undeclared namespace, and delegates to " { $link parsing-error } "." } ; - -HELP: not-yes/no -{ $class-description "XML parsing error used to describe the case where standalone is set in the XML prolog to something other than 'yes' or 'no'. Delegates to " { $link parsing-error } " and contains one slot, text, which contains offending value." } ; - -HELP: unclosed -{ $class-description "XML parsing error used to describe the case where the XML document contains classes which are not closed by the end of the document. Contains one slot, tags, a sequence of names." } ; - -HELP: mismatched -{ $class-description "XML parsing error describing mismatched tags, eg . Contains two slots: open is the name of the opening tag and close is the name of the closing tag. Delegates to " { $link parsing-error } " showing the location of the closing tag" } ; - -HELP: expected -{ $class-description "XML parsing error describing when an expected token was not present. Delegates to " { $link parsing-error } ". Contains two slots, should-be, which has the expected string, and was, which has the actual string." } ; - -HELP: no-entity -{ $class-description "XML parsing error describing the use of an undefined entity in a case where standalone is marked yes. Delegates to " { $link parsing-error } ". Contains one slot, thing, containing a string representing the entity." } ; - -HELP: open-tag -{ $class-description "represents a tag that does have children, ie is not a contained tag" } -{ $notes "the constructor used for this class is simply " { $link } "." } -{ $see-also tag contained-tag } ; - -HELP: tag-named -{ $values { "tag" "an XML tag or document" } - { "name/string" "an XML name or string representing the name" } - { "matching-tag" tag } } -{ $description "finds the first tag with matching name which is the direct child of the given tag" } -{ $see-also deep-tags-named deep-tag-named tags-named } ; - -HELP: tags-named -{ $values { "tag" "an XML tag or document" } - { "name/string" "an XML name or string representing the name" } - { "tags-seq" "a sequence of tags" } } -{ $description "finds all tags with matching name that are the direct children of the given tag" } -{ $see-also deep-tag-named deep-tags-named tag-named } ; - -HELP: state-parse -{ $values { "stream" "an input stream" } { "quot" "a quotation ( -- )" } } -{ $description "takes a stream and runs an imperative parser on it, allowing words like " { $link next } " to be used within the context of the stream." } ; - -HELP: pre/post-content -{ $class-description "describes the error where a non-whitespace string is used before or after the main tag in an XML document. Contains two slots: string contains the offending string, and pre? is t if it occured before the main tag and f if it occured after" } ; - -HELP: unclosed-quote -{ $class-description "describes the error where a quotation for an attribute value is opened but not closed before the end of the document." } ; - -HELP: bad-name -{ $class-description "describes the error where a name is used, for example in an XML tag or attribute key, which is invalid." } ; - -HELP: quoteless-attr -{ $class-description "describes the error where an attribute of an XML tag is missing quotes around a value." } ; - -HELP: entities -{ $description "a hash table from default XML entity names (like & and <) to the characters they represent. This is automatically included when parsing any XML document." } -{ $see-also html-entities } ; - -HELP: html-entities -{ $description "a hash table from HTML entity names to their character values" } -{ $see-also entities with-html-entities } ; - -HELP: with-entities -{ $values { "entities" "a hash table of strings to chars" } - { "quot" "a quotation ( -- )" } } -{ $description "calls the quotation using the given table of entity values (symbolizing, eg, that &foo; represents CHAR: a) on top of the default XML entities" } -{ $see-also with-html-entities } ; - -HELP: with-html-entities -{ $values { "quot" "a quotation ( -- )" } } -{ $description "calls the given quotation using HTML entity values" } -{ $see-also html-entities with-entities } ; - ARTICLE: { "xml" "reading" } "Reading XML" "The following words are used to read something into an XML document" { $subsection string>xml } @@ -357,77 +58,8 @@ ARTICLE: { "xml" "reading" } "Reading XML" { $subsection string>xml-chunk } { $subsection file>xml } ; -ARTICLE: { "xml" "writing" } "Writing XML" - "These words are used in implementing prettyprint" - { $subsection write-xml-chunk } - "These words are used to print XML normally" - { $subsection xml>string } - { $subsection write-xml } - { $subsection print-xml } - "These words are used to prettyprint XML" - { $subsection pprint-xml>string } - { $subsection pprint-xml>string-but } - { $subsection pprint-xml } - { $subsection pprint-xml-but } - "This word reads and writes XML" - { $subsection xml-reprint } ; - -ARTICLE: { "xml" "classes" } "XML data classes" - "Data types that XML documents are made of:" - { $subsection name } - { $subsection tag } - { $subsection contained-tag } - { $subsection open-tag } - { $subsection xml } - { $subsection prolog } - { $subsection comment } - { $subsection instruction } ; - -ARTICLE: { "xml" "construct" } "XML data constructors" - "These data types are constructed with:" - { $subsection } - { $subsection } - { $subsection } - { $subsection } - { $subsection } - { $subsection } - { $subsection } ; - -ARTICLE: { "xml" "utils" } "XML processing utilities" - "Utilities for processing XML include..." - $nl - "System sfor creating words which dispatch on XML tags:" - { $subsection POSTPONE: PROCESS: } - { $subsection POSTPONE: TAG: } - "Getting parts of an XML document or tag:" - $nl - "Note: the difference between deep-tag-named and tag-named is that the former searches recursively among all children and children of children of the tag, while the latter only looks at the direct children, and is therefore more efficient." - { $subsection tag-named } - { $subsection tags-named } - { $subsection deep-tag-named } - { $subsection deep-tags-named } - { $subsection get-id } - "Words for simplified generation of XML:" - { $subsection build-tag* } - { $subsection build-tag } - { $subsection build-xml } - "Other relevant words:" - { $subsection children>string } - { $subsection children-tags } - { $subsection first-child-tag } - { $subsection names-match? } - { $subsection assert-tag } ; - -ARTICLE: { "xml" "internal" } "Internals of the XML parser" - "The XML parser creates its own parsing framework to process XML documents. The parser operates on streams. Important words involved in processing are:" - { $subsection parse-text } - { $subsection make-tag } - { $subsection parse-name } - { $subsection process } - "The XML parser is implemented using the libs/state-parser module. For more information, see " { $link { "state-parser" "main" } } ; - ARTICLE: { "xml" "events" } "Event-based XML parsing" - "In addition to DOM-style parsing based around " { $link read-xml } ", the XML module also provides SAX-style event-based parsing. This uses much of the same data structures as normal XML, with the exception of the classes " { $link xml } " and " { $link tag } " and as such, the articles " { $link { "xml" "classes" } } " and " { $link { "xml" "construct" } } " may be useful in learning how to process documents in this way. Other useful words are:" + "In addition to DOM-style parsing based around " { $link read-xml } ", the XML module also provides SAX-style event-based parsing. This uses much of the same data structures as normal XML, with the exception of the classes " { $link xml } " and " { $link tag } " and as such, the article " { $vocab-link "xml.data" } " may be useful in learning how to process documents in this way. Other useful words are:" { $subsection sax } { $subsection opener } { $subsection closer } @@ -438,44 +70,14 @@ ARTICLE: { "xml" "events" } "Event-based XML parsing" { $subsection pull-event } { $subsection pull-elem } ; -ARTICLE: { "xml" "errors" } "XML parsing errors" - "The XML module provides a rich and highly inspectable set of parsing errors. All XML errors are described by the union class " { $link xml-parse-error } " but there are many classes contained in that:" - { $subsection multitags } - { $subsection notags } - { $subsection extra-attrs } - { $subsection nonexist-ns } - { $subsection not-yes/no } - { $subsection unclosed } - { $subsection mismatched } - { $subsection expected } - { $subsection no-entity } - { $subsection pre/post-content } - { $subsection unclosed-quote } - { $subsection bad-name } - { $subsection quoteless-attr } - "Additionally, most of these errors delegate to " { $link parsing-error } " in order to provide more information" - $nl - "Note that, in parsing an XML document, only the first error is reported." ; - -ARTICLE: { "xml" "entities" } "XML entities" - "When XML is parsed, entities like &foo; are replaced with the characters they represent. A few entities like & and < are defined by default, but more are available, and the set of entities can be customized. Below are some words involved in XML entities, defined in the vocabulary 'entities':" - { $subsection entities } - { $subsection html-entities } - { $subsection with-entities } - { $subsection with-html-entities } ; - ARTICLE: "xml" "XML parser" "The " { $vocab-link "xml" } " vocabulary implements the XML 1.0 and 1.1 standards, converting strings of text into XML and vice versa." { $subsection { "xml" "reading" } } - { $subsection { "xml" "writing" } } - { $subsection { "xml" "classes" } } - { $subsection { "xml" "construct" } } - { $subsection { "xml" "utils" } } - { $subsection { "xml" "internal" } } { $subsection { "xml" "events" } } - { $subsection { "xml" "errors" } } - { $subsection { "xml" "entities" } } ; - -IN: xml + { $vocab-subsection "Utilities for processing XML" "xml.utilities" } + { $vocab-subsection "Writing XML" "xml.writer" } + { $vocab-subsection "XML parsing errors" "xml.errors" } + { $vocab-subsection "XML entities" "xml.entities" } + { $vocab-subsection "XML data types" "xml.data" } ; ABOUT: "xml" diff --git a/basis/xml/xml.factor b/basis/xml/xml.factor index 328a058a58..727393b9a2 100644 --- a/basis/xml/xml.factor +++ b/basis/xml/xml.factor @@ -1,9 +1,9 @@ ! Copyright (C) 2005, 2006 Daniel Ehrenberg ! See http://factorcode.org/license.txt for BSD license. USING: accessors arrays io io.encodings.binary io.files -io.streams.string kernel namespaces sequences state-parser strings -xml.backend xml.data xml.errors xml.tokenize ascii -xml.writer ; +io.streams.string kernel namespaces sequences strings +xml.backend xml.data xml.errors xml.tokenize ascii xml.entities +xml.writer xml.state assocs ; IN: xml ! -- Overall parser with data tree @@ -25,11 +25,6 @@ M: prolog process xml-stack get V{ { f V{ } } } = [ bad-prolog ] unless drop ; -M: instruction process - xml-stack get length 1 = - [ bad-instruction ] unless - add-child ; - M: directive process xml-stack get dup length 1 = swap first second [ tag? ] contains? not and @@ -53,7 +48,9 @@ M: closer process add-child ; : init-xml-stack ( -- ) - V{ } clone xml-stack set f push-xml ; + V{ } clone xml-stack set + extra-entities [ H{ } assoc-like ] change + f push-xml ; : default-prolog ( -- prolog ) "1.0" "UTF-8" f ; @@ -150,11 +147,12 @@ TUPLE: pull-xml scope ; ] state-parse ; : read-xml ( stream -- xml ) - #! Produces a tree of XML nodes - (read-xml-chunk) make-xml-doc ; + 0 depth + [ (read-xml-chunk) make-xml-doc ] with-variable ; : read-xml-chunk ( stream -- seq ) - (read-xml-chunk) nip ; + 1 depth + [ (read-xml-chunk) nip ] with-variable ; : string>xml ( string -- xml ) read-xml ; @@ -164,9 +162,4 @@ TUPLE: pull-xml scope ; [ read-xml-chunk ] with-variable ; : file>xml ( filename -- xml ) - ! Autodetect encoding! binary read-xml ; - -: xml-reprint ( string -- ) - string>xml print-xml ; -