XML Quiz

Roger L Costello <[email protected]> Sun, 26 Mar 2023 14:40:01 +0000
Newsgroups gmane.text.xml.devel
Message-ID <SA9PR09MB595231EF812283A91BA478DDC88A9@SA9PR09MB5952.namprd09.prod.outlook.com>
Scenario: an XML Schema has this top-level element declaration:

<xs:element name="num" type="xs:integer"/>

An XML Schema validator is provided two files:

1. An XML Schema file that contains the above element declaration.
2. An XML file containing this:

<num>44</num>

The XML Schema validator is "executed". It proceeds to determine whether the XML conforms to the XML Schema. 

Within the <num> element the validator sees this sequence of characters '4' '4'. 

Is '4' '4' an integer? 

Clearly it is not. It is a string that consists of two characters. 

So how does the validator decide that 44 **represents** an integer?

Scroll down to see the answer ...














Answer: the XML Schema validator determines that the content (44) of the <num> element is an xs:integer because the content obeys the syntax of xs:integer. That is, the string within the <num> element obeys this regular expression:  [+-]?[0-9]+ 

Recap:
1. 44 is not an integer. It is a string.
2. XML does not contain integers (or floats or booleans or URLs or anything else). XML only contains a sequence of characters.
3. An application -- such as an XML Schema validator -- determines that 44 is an integer by checking 44 against a regular expression for integers. That is, the validator sees if 44 obeys the syntax of xs:integer.

_______________________________________________________________________

XML-DEV is a publicly archived, unmoderated list hosted by OASIS
to support XML implementation and development. To minimize
spam in the archives, you must subscribe before posting.

[Un]Subscribe/change address: http://www.oasis-open.org/mlmanage/
Or unsubscribe: [email protected]
subscribe: [email protected]
List archive: http://lists.xml.org/archives/xml-dev/
List Guidelines: http://www.oasis-open.org/maillists/guidelines.php