Author: mukulg
Date: Fri Jan 14 00:44:50 2022
New Revision: 1897022

URL: http://svn.apache.org/viewvc?rev=1897022&view=rev
Log:
committing few test cases related to jira issue XERCESJ-1726 

Added:
    xerces/java/branches/xs-1.1-tests/data/jira_bugs/1726_1.xml   (with props)
    xerces/java/branches/xs-1.1-tests/data/jira_bugs/1726_1.xsd   (with props)
Modified:
    
xerces/java/branches/xs-1.1-tests/src/org/apache/xerces/tests/JiraBugsTests.java

Added: xerces/java/branches/xs-1.1-tests/data/jira_bugs/1726_1.xml
URL: 
http://svn.apache.org/viewvc/xerces/java/branches/xs-1.1-tests/data/jira_bugs/1726_1.xml?rev=1897022&view=auto
==============================================================================
--- xerces/java/branches/xs-1.1-tests/data/jira_bugs/1726_1.xml (added)
+++ xerces/java/branches/xs-1.1-tests/data/jira_bugs/1726_1.xml Fri Jan 14 
00:44:50 2022
@@ -0,0 +1,293 @@
+<extension version="3.7" client="administrator" type="language" 
method="upgrade"> <!-- change to client="site" if site pack -->
+       <name>French (fr-FR)</name> <!-- New in 3.7.0: Use only latin ascii 
characters. -->
+       <tag>fr-FR</tag>
+       <version>3.7.0.1</version>
+       <creationDate>15/02/2017</creationDate>
+       <author>French translation team : joomla.fr</author>
+       <authorEmail>[email protected]</authorEmail>
+       <authorUrl>www.joomla.fr</authorUrl>
+       <copyright>Copyright (C) 2005 - 2017 joomla.fr et Open Source Matters. 
Tous droits réservés</copyright>
+       <license>GNU General Public License version 2 or later; see 
LICENSE.txt</license>
+       <description>fr-FR administrator language</description>
+       <files>
+               <filename>fr-FR.plg_captcha_recaptcha.sys.ini</filename>
+               <filename>fr-FR.com_admin.ini</filename>
+               <filename>fr-FR.com_admin.sys.ini</filename>
+               <filename>fr-FR.com_ajax.ini</filename>
+               <filename>fr-FR.com_ajax.sys.ini</filename>
+               <filename>fr-FR.com_associations.ini</filename>
+               <filename>fr-FR.com_associations.sys.ini</filename>
+               <filename>fr-FR.com_banners.ini</filename>
+               <filename>fr-FR.com_banners.sys.ini</filename>
+               <filename>fr-FR.com_cache.ini</filename>
+               <filename>fr-FR.com_cache.sys.ini</filename>
+               <filename>fr-FR.com_categories.ini</filename>
+               <filename>fr-FR.com_categories.sys.ini</filename>
+               <filename>fr-FR.com_checkin.ini</filename>
+               <filename>fr-FR.com_checkin.sys.ini</filename>
+               <filename>fr-FR.com_config.ini</filename>
+               <filename>fr-FR.com_config.sys.ini</filename>
+               <filename>fr-FR.com_contact.ini</filename>
+               <filename>fr-FR.com_contact.sys.ini</filename>
+               <filename>fr-FR.com_content.ini</filename>
+               <filename>fr-FR.com_content.sys.ini</filename>
+               <filename>fr-FR.com_contenthistory.ini</filename>
+               <filename>fr-FR.com_contenthistory.sys.ini</filename>
+               <filename>fr-FR.com_cpanel.ini</filename>
+               <filename>fr-FR.com_cpanel.sys.ini</filename>
+               <filename>fr-FR.com_fields.ini</filename>
+               <filename>fr-FR.com_fields.sys.ini</filename>
+               <filename>fr-FR.com_finder.ini</filename>
+               <filename>fr-FR.com_finder.sys.ini</filename>
+               <filename>fr-FR.com_installer.ini</filename>
+               <filename>fr-FR.com_installer.sys.ini</filename>
+               <filename>fr-FR.com_joomlaupdate.ini</filename>
+               <filename>fr-FR.com_joomlaupdate.sys.ini</filename>
+               <filename>fr-FR.com_languages.ini</filename>
+               <filename>fr-FR.com_languages.sys.ini</filename>
+               <filename>fr-FR.com_login.ini</filename>
+               <filename>fr-FR.com_login.sys.ini</filename>
+               <filename>fr-FR.com_mailto.sys.ini</filename>
+               <filename>fr-FR.com_media.ini</filename>
+               <filename>fr-FR.com_media.sys.ini</filename>
+               <filename>fr-FR.com_menus.ini</filename>
+               <filename>fr-FR.com_menus.sys.ini</filename>
+               <filename>fr-FR.com_messages.ini</filename>
+               <filename>fr-FR.com_messages.sys.ini</filename>
+               <filename>fr-FR.com_modules.ini</filename>
+               <filename>fr-FR.com_modules.sys.ini</filename>
+               <filename>fr-FR.com_newsfeeds.ini</filename>
+               <filename>fr-FR.com_newsfeeds.sys.ini</filename>
+               <filename>fr-FR.com_plugins.ini</filename>
+               <filename>fr-FR.com_plugins.sys.ini</filename>
+               <filename>fr-FR.com_postinstall.ini</filename>
+               <filename>fr-FR.com_postinstall.sys.ini</filename>
+               <filename>fr-FR.com_redirect.ini</filename>
+               <filename>fr-FR.com_redirect.sys.ini</filename>
+               <filename>fr-FR.com_search.ini</filename>
+               <filename>fr-FR.com_search.sys.ini</filename>
+               <filename>fr-FR.com_tags.ini</filename>
+               <filename>fr-FR.com_tags.sys.ini</filename>
+               <filename>fr-FR.com_templates.ini</filename>
+               <filename>fr-FR.com_templates.sys.ini</filename>
+               <filename>fr-FR.com_users.ini</filename>
+               <filename>fr-FR.com_users.sys.ini</filename>
+               <filename>fr-FR.com_weblinks.ini</filename>
+               <filename>fr-FR.com_weblinks.sys.ini</filename>
+               <filename>fr-FR.com_wrapper.ini</filename>
+               <filename>fr-FR.com_wrapper.sys.ini</filename>
+               <!-- this file can be added in the ADMINISTRATOR pack if one 
wants to change the fonts used to display the back-end interface.-->
+                       <filename>fr-FR.css</filename>
+               <!-- -->
+               <filename>fr-FR.ini</filename>
+               <filename>fr-FR.lib_joomla.ini</filename>
+               <filename>fr-FR.localise.php</filename>
+               <filename>fr-FR.mod_custom.ini</filename>
+               <filename>fr-FR.mod_custom.sys.ini</filename>
+               <filename>fr-FR.mod_feed.ini</filename>
+               <filename>fr-FR.mod_feed.sys.ini</filename>
+               <filename>fr-FR.mod_latest.ini</filename>
+               <filename>fr-FR.mod_latest.sys.ini</filename>
+               <filename>fr-FR.mod_logged.ini</filename>
+               <filename>fr-FR.mod_logged.sys.ini</filename>
+               <filename>fr-FR.mod_login.ini</filename>
+               <filename>fr-FR.mod_login.sys.ini</filename>
+               <filename>fr-FR.mod_menu.ini</filename>
+               <filename>fr-FR.mod_menu.sys.ini</filename>
+               <filename>fr-FR.mod_multilangstatus.ini</filename>
+               <filename>fr-FR.mod_multilangstatus.sys.ini</filename>
+               <filename>fr-FR.mod_popular.ini</filename>
+               <filename>fr-FR.mod_popular.sys.ini</filename>
+               <filename>fr-FR.mod_quickicon.ini</filename>
+               <filename>fr-FR.mod_quickicon.sys.ini</filename>
+               <filename>fr-FR.mod_stats_admin.ini</filename>
+               <filename>fr-FR.mod_stats_admin.sys.ini</filename>
+               <filename>fr-FR.mod_status.ini</filename>
+               <filename>fr-FR.mod_status.sys.ini</filename>
+               <filename>fr-FR.mod_submenu.ini</filename>
+               <filename>fr-FR.mod_submenu.sys.ini</filename>
+               <filename>fr-FR.mod_title.ini</filename>
+               <filename>fr-FR.mod_title.sys.ini</filename>
+               <filename>fr-FR.mod_toolbar.ini</filename>
+               <filename>fr-FR.mod_toolbar.sys.ini</filename>
+               <filename>fr-FR.mod_version.ini</filename>
+               <filename>fr-FR.mod_version.sys.ini</filename>
+               <filename>fr-FR.plg_authentication_cookie.ini</filename>
+               <filename>fr-FR.plg_authentication_cookie.sys.ini</filename>
+               <filename>fr-FR.plg_authentication_gmail.ini</filename>
+               <filename>fr-FR.plg_authentication_gmail.sys.ini</filename>
+               <filename>fr-FR.plg_authentication_joomla.ini</filename>
+               <filename>fr-FR.plg_authentication_joomla.sys.ini</filename>
+               <filename>fr-FR.plg_authentication_ldap.ini</filename>
+               <filename>fr-FR.plg_authentication_ldap.sys.ini</filename>
+               <filename>fr-FR.plg_captcha_recaptcha.ini</filename>
+               <filename>fr-FR.plg_captcha_recaptcha.sys.ini</filename>
+               <filename>fr-FR.plg_content_contact.ini</filename>
+               <filename>fr-FR.plg_content_contact.sys.ini</filename>
+               <filename>fr-FR.plg_content_emailcloak.ini</filename>
+               <filename>fr-FR.plg_content_emailcloak.sys.ini</filename>
+               <filename>fr-FR.plg_content_fields.ini</filename>
+               <filename>fr-FR.plg_content_fields.sys.ini</filename>
+               <filename>fr-FR.plg_content_finder.ini</filename>
+               <filename>fr-FR.plg_content_finder.sys.ini</filename>
+               <filename>fr-FR.plg_content_joomla.ini</filename>
+               <filename>fr-FR.plg_content_joomla.sys.ini</filename>
+               <filename>fr-FR.plg_content_loadmodule.ini</filename>
+               <filename>fr-FR.plg_content_loadmodule.sys.ini</filename>
+               <filename>fr-FR.plg_content_pagebreak.ini</filename>
+               <filename>fr-FR.plg_content_pagebreak.sys.ini</filename>
+               <filename>fr-FR.plg_content_pagenavigation.ini</filename>
+               <filename>fr-FR.plg_content_pagenavigation.sys.ini</filename>
+               <filename>fr-FR.plg_content_vote.ini</filename>
+               <filename>fr-FR.plg_content_vote.sys.ini</filename>
+               <filename>fr-FR.plg_editors-xtd_article.ini</filename>
+               <filename>fr-FR.plg_editors-xtd_article.sys.ini</filename>
+               <filename>fr-FR.plg_editors-xtd_contact.ini</filename>
+               <filename>fr-FR.plg_editors-xtd_contact.sys.ini</filename>
+               <filename>fr-FR.plg_editors-xtd_fields.ini</filename>
+               <filename>fr-FR.plg_editors-xtd_fields.sys.ini</filename>
+               <filename>fr-FR.plg_editors-xtd_image.ini</filename>
+               <filename>fr-FR.plg_editors-xtd_image.sys.ini</filename>
+               <filename>fr-FR.plg_editors-xtd_menu.ini</filename>
+               <filename>fr-FR.plg_editors-xtd_menu.sys.ini</filename>
+               <filename>fr-FR.plg_editors-xtd_module.ini</filename>
+               <filename>fr-FR.plg_editors-xtd_module.sys.ini</filename>
+               <filename>fr-FR.plg_editors-xtd_pagebreak.ini</filename>
+               <filename>fr-FR.plg_editors-xtd_pagebreak.sys.ini</filename>
+               <!-- Spacer to get past a buggy record count! -->
+               <filename>fr-FR.plg_editors-xtd_readmore.ini</filename>
+               <filename>fr-FR.plg_editors-xtd_readmore.sys.ini</filename>
+               <filename>fr-FR.plg_editors_codemirror.ini</filename>
+               <filename>fr-FR.plg_editors_codemirror.sys.ini</filename>
+               <filename>fr-FR.plg_editors_none.ini</filename>
+               <filename>fr-FR.plg_editors_none.sys.ini</filename>
+               <filename>fr-FR.plg_editors_tinymce.ini</filename>
+               <filename>fr-FR.plg_editors_tinymce.sys.ini</filename>
+               <filename>fr-FR.plg_extension_joomla.ini</filename>
+               <filename>fr-FR.plg_extension_joomla.sys.ini</filename>
+               <filename>fr-FR.plg_fields_calendar.ini</filename>
+               <filename>fr-FR.plg_fields_calendar.sys.ini</filename>
+               <filename>fr-FR.plg_fields_checkboxes.ini</filename>
+               <filename>fr-FR.plg_fields_checkboxes.sys.ini</filename>
+               <filename>fr-FR.plg_fields_color.ini</filename>
+               <filename>fr-FR.plg_fields_color.sys.ini</filename>
+               <filename>fr-FR.plg_fields_editor.ini</filename>
+               <filename>fr-FR.plg_fields_editor.sys.ini</filename>
+               <filename>fr-FR.plg_fields_gallery.ini</filename>
+               <filename>fr-FR.plg_fields_gallery.sys.ini</filename>
+               <filename>fr-FR.plg_fields_image.ini</filename>
+               <filename>fr-FR.plg_fields_image.sys.ini</filename>
+               <filename>fr-FR.plg_fields_imagelist.ini</filename>
+               <filename>fr-FR.plg_fields_imagelist.sys.ini</filename>
+               <filename>fr-FR.plg_fields_integer.ini</filename>
+               <filename>fr-FR.plg_fields_integer.sys.ini</filename>
+               <filename>fr-FR.plg_fields_list.ini</filename>
+               <filename>fr-FR.plg_fields_list.sys.ini</filename>
+               <filename>fr-FR.plg_fields_media.ini</filename>
+               <filename>fr-FR.plg_fields_media.sys.ini</filename>
+               <filename>fr-FR.plg_fields_radio.ini</filename>
+               <filename>fr-FR.plg_fields_radio.sys.ini</filename>
+               <filename>fr-FR.plg_fields_sql.ini</filename>
+               <filename>fr-FR.plg_fields_sql.sys.ini</filename>
+               <filename>fr-FR.plg_fields_text.ini</filename>
+               <filename>fr-FR.plg_fields_text.sys.ini</filename>
+               <filename>fr-FR.plg_fields_textarea.ini</filename>
+               <filename>fr-FR.plg_fields_textarea.sys.ini</filename>
+               <filename>fr-FR.plg_fields_url.ini</filename>
+               <filename>fr-FR.plg_fields_url.sys.ini</filename>
+               <filename>fr-FR.plg_fields_user.ini</filename>
+               <filename>fr-FR.plg_fields_user.sys.ini</filename>
+               <filename>fr-FR.plg_fields_usergrouplist.ini</filename>
+               <filename>fr-FR.plg_fields_usergrouplist.sys.ini</filename>
+               <filename>fr-FR.plg_finder_categories.ini</filename>
+               <filename>fr-FR.plg_finder_categories.sys.ini</filename>
+               <filename>fr-FR.plg_finder_contacts.ini</filename>
+               <filename>fr-FR.plg_finder_contacts.sys.ini</filename>
+               <filename>fr-FR.plg_finder_content.ini</filename>
+               <filename>fr-FR.plg_finder_content.sys.ini</filename>
+               <filename>fr-FR.plg_finder_newsfeeds.ini</filename>
+               <filename>fr-FR.plg_finder_newsfeeds.sys.ini</filename>
+               <filename>fr-FR.plg_finder_tags.ini</filename>
+               <filename>fr-FR.plg_finder_tags.sys.ini</filename>
+               <filename>fr-FR.plg_finder_weblinks.ini</filename>
+               <filename>fr-FR.plg_finder_weblinks.sys.ini</filename>
+               <filename>fr-FR.plg_installer_folderinstaller.ini</filename>
+               <filename>fr-FR.plg_installer_folderinstaller.sys.ini</filename>
+               <filename>fr-FR.plg_installer_packageinstaller.ini</filename>
+               
<filename>fr-FR.plg_installer_packageinstaller.sys.ini</filename>
+               <filename>fr-FR.plg_installer_urlinstaller.ini</filename>
+               <filename>fr-FR.plg_installer_urlinstaller.sys.ini</filename>
+               <filename>fr-FR.plg_installer_webinstaller.ini</filename>
+               <filename>fr-FR.plg_installer_webinstaller.sys.ini</filename>
+               <filename>fr-FR.plg_quickicon_extensionupdate.ini</filename>
+               <filename>fr-FR.plg_quickicon_extensionupdate.sys.ini</filename>
+               <filename>fr-FR.plg_quickicon_joomlaupdate.ini</filename>
+               <filename>fr-FR.plg_quickicon_joomlaupdate.sys.ini</filename>
+               <filename>fr-FR.plg_quickicon_phpversioncheck.ini</filename>
+               <filename>fr-FR.plg_quickicon_phpversioncheck.sys.ini</filename>
+               <filename>fr-FR.plg_search_categories.ini</filename>
+               <filename>fr-FR.plg_search_categories.sys.ini</filename>
+               <filename>fr-FR.plg_search_contacts.ini</filename>
+               <filename>fr-FR.plg_search_contacts.sys.ini</filename>
+               <filename>fr-FR.plg_search_content.ini</filename>
+               <filename>fr-FR.plg_search_content.sys.ini</filename>
+               <filename>fr-FR.plg_search_newsfeeds.ini</filename>
+               <filename>fr-FR.plg_search_newsfeeds.sys.ini</filename>
+               <filename>fr-FR.plg_search_tags.ini</filename>
+               <filename>fr-FR.plg_search_tags.sys.ini</filename>
+               <filename>fr-FR.plg_search_weblinks.ini</filename>
+               <filename>fr-FR.plg_search_weblinks.sys.ini</filename>
+               <filename>fr-FR.plg_system_cache.ini</filename>
+               <filename>fr-FR.plg_system_cache.sys.ini</filename>
+               <filename>fr-FR.plg_system_debug.ini</filename>
+               <filename>fr-FR.plg_system_debug.sys.ini</filename>
+               <filename>fr-FR.plg_system_fields.ini</filename>
+               <filename>fr-FR.plg_system_fields.sys.ini</filename>
+               <filename>fr-FR.plg_system_highlight.ini</filename>
+               <filename>fr-FR.plg_system_highlight.sys.ini</filename>
+               <filename>fr-FR.plg_system_languagecode.ini</filename>
+               <filename>fr-FR.plg_system_languagecode.sys.ini</filename>
+               <filename>fr-FR.plg_system_languagefilter.ini</filename>
+               <filename>fr-FR.plg_system_languagefilter.sys.ini</filename>
+               <filename>fr-FR.plg_system_log.ini</filename>
+               <filename>fr-FR.plg_system_log.sys.ini</filename>
+               <filename>fr-FR.plg_system_logout.ini</filename>
+               <filename>fr-FR.plg_system_logout.sys.ini</filename>
+               <filename>fr-FR.plg_system_p3p.ini</filename>
+               <filename>fr-FR.plg_system_p3p.sys.ini</filename>
+               <filename>fr-FR.plg_system_redirect.ini</filename>
+               <filename>fr-FR.plg_system_redirect.sys.ini</filename>
+               <filename>fr-FR.plg_system_remember.ini</filename>
+               <filename>fr-FR.plg_system_remember.sys.ini</filename>
+               <filename>fr-FR.plg_system_sef.ini</filename>
+               <filename>fr-FR.plg_system_sef.sys.ini</filename>
+               <filename>fr-FR.plg_system_stats.ini</filename>
+               <filename>fr-FR.plg_system_stats.sys.ini</filename>
+               <filename>fr-FR.plg_system_updatenotification.ini</filename>
+               <filename>fr-FR.plg_system_updatenotification.sys.ini</filename>
+               <filename>fr-FR.plg_twofactorauth_totp.ini</filename>
+               <filename>fr-FR.plg_twofactorauth_totp.sys.ini</filename>
+               <filename>fr-FR.plg_twofactorauth_yubikey.ini</filename>
+               <filename>fr-FR.plg_twofactorauth_yubikey.sys.ini</filename>
+               <filename>fr-FR.plg_user_contactcreator.ini</filename>
+               <filename>fr-FR.plg_user_contactcreator.sys.ini</filename>
+               <filename>fr-FR.plg_user_joomla.ini</filename>
+               <filename>fr-FR.plg_user_joomla.sys.ini</filename>
+               <filename>fr-FR.plg_user_profile.ini</filename>
+               <filename>fr-FR.plg_user_profile.sys.ini</filename>
+               <filename>fr-FR.tpl_hathor.ini</filename>
+               <filename>fr-FR.tpl_hathor.sys.ini</filename>
+               <filename>fr-FR.tpl_isis.ini</filename>
+               <filename>fr-FR.tpl_isis.sys.ini</filename>
+               <!-- This file is mandatory as otherwise the pack can't be 
uninstalled. -->
+               <filename file="meta">install.xml</filename>
+               <filename file="meta">fr-FR.xml</filename>
+       </files>
+       <media destination="fr-FR">  <!-- If one needs to add a specific 
calendar -->
+           <filename>index.html</filename>
+           <filename>js/index.html</filename>
+           <filename>js/calendar-setup.js</filename>
+           <filename>js/calendar.js</filename>
+       </media>
+       <params />
+</extension>

Propchange: xerces/java/branches/xs-1.1-tests/data/jira_bugs/1726_1.xml
------------------------------------------------------------------------------
    svn:mime-type = text/plain

Added: xerces/java/branches/xs-1.1-tests/data/jira_bugs/1726_1.xsd
URL: 
http://svn.apache.org/viewvc/xerces/java/branches/xs-1.1-tests/data/jira_bugs/1726_1.xsd?rev=1897022&view=auto
==============================================================================
--- xerces/java/branches/xs-1.1-tests/data/jira_bugs/1726_1.xsd (added)
+++ xerces/java/branches/xs-1.1-tests/data/jira_bugs/1726_1.xsd Fri Jan 14 
00:44:50 2022
@@ -0,0 +1,195 @@
+<?xml version="1.0"?>
+<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema";
+           elementFormDefault="qualified">
+       <!-- ********************** -->
+       <!-- * Top-level elements * -->
+       <!-- ********************** -->
+       <xs:element name="extension">
+               <xs:alternative test="@type='language'" 
type="extensionTypeLanguage"/>
+       </xs:element>
+       <!-- ******************************************************** -->
+       <!-- * Structures used from more than one top-level element * -->
+       <!-- ******************************************************** -->
+       <xs:group name="metadata">
+               <xs:all>
+                       <xs:element name="name" type="xs:string" minOccurs="0" 
maxOccurs="1"/>
+                       <xs:element name="creationDate" type="xs:string" 
minOccurs="0" maxOccurs="1"/>
+                       <xs:element name="author" type="xs:string" 
minOccurs="0" maxOccurs="1"/>
+                       <xs:element name="authorEmail" type="xs:string" 
minOccurs="0" maxOccurs="1"/>
+                       <xs:element name="authorUrl" type="xs:anyURI" 
minOccurs="0" maxOccurs="1"/>
+                       <xs:element name="copyright" type="xs:string" 
minOccurs="0" maxOccurs="1"/>
+                       <!-- 
***************************************************************************** 
-->
+                       <!-- * Disregard the following element, not decoded by 
the installation software * -->
+                       <!-- 
***************************************************************************** 
-->
+                       <xs:element name="license" type="xs:string" 
minOccurs="0" maxOccurs="1"/>
+                       <xs:element name="version" type="extensionVersionType" 
minOccurs="0" maxOccurs="1"/>
+                       <xs:element name="description" type="xs:string" 
minOccurs="0" maxOccurs="1"/>
+               </xs:all>
+       </xs:group>
+       <xs:simpleType name="methodChoice">
+               <xs:restriction base="xs:string">
+                       <xs:enumeration value="install"/>
+                       <xs:enumeration value="upgrade"/>
+               </xs:restriction>
+       </xs:simpleType>
+       <xs:simpleType name="joomlaVersionChoice">
+               <xs:restriction base="xs:string">
+                       <xs:pattern value="[23].[0-9]"/>
+               </xs:restriction>
+       </xs:simpleType>
+       <xs:simpleType name="extensionVersionType">
+               <xs:restriction base="xs:string">
+                       <xs:pattern value="[0-9]([0-9])*(.[0-9]([0-9])*)+"/>
+               </xs:restriction>
+       </xs:simpleType>
+       <xs:simpleType name="tagChoice">
+               <xs:restriction base="xs:string">
+                       <xs:pattern value="[a-z]{2,3}-[A-Z]{2,3}"/>
+               </xs:restriction>
+       </xs:simpleType>
+       <xs:simpleType name="clientChoice">
+               <xs:restriction base="xs:string">
+                       <xs:pattern value="administrator|site"/>
+               </xs:restriction>
+       </xs:simpleType>
+       <xs:complexType name="typeUpdateServers">
+               <xs:complexContent>
+                       <xs:restriction base="xs:anyType">
+                               <xs:all>
+                                       <xs:element name="server" 
type="typeServerUpdateServers" minOccurs="0" maxOccurs="unbounded"/>
+                               </xs:all>
+                       </xs:restriction>
+               </xs:complexContent>
+       </xs:complexType>
+       <xs:complexType name="typeMedia">
+               <xs:all>
+                       <xs:element name="filename" type="xs:string" 
minOccurs="0" maxOccurs="unbounded"/>
+                       <xs:element name="folder" type="xs:string" 
minOccurs="0" maxOccurs="unbounded"/>
+               </xs:all>
+               <xs:attribute name="folder" type="xs:string" use="optional"/>
+               <xs:attribute name="destination" type="xs:string" 
use="optional"/>
+       </xs:complexType>
+       <xs:simpleType name="typeParams">
+               <xs:restriction base="xs:string">
+               </xs:restriction>
+       </xs:simpleType>
+       <!-- ************************************ -->
+       <!-- * attributes optional or required? * -->
+       <!-- ************************************ -->
+       <xs:complexType name="typeServerUpdateServers">
+               <xs:simpleContent>
+                       <xs:extension base="xs:string">
+                               <xs:attribute name="name" type="xs:string"/>
+                               <xs:attribute name="type" type="serverChoice"/>
+                               <!-- 
**************************************************** -->
+                               <!-- * Include the "priority" attribute here to 
prevent * -->
+                               <!-- * errors although I have failed to 
identify        * -->
+                               <!-- * code in Joomla! which processes it.      
        * -->
+                               <!-- 
**************************************************** -->
+                               <xs:attribute name="priority" 
type="xs:positiveInteger"/>
+                       </xs:extension>
+               </xs:simpleContent>
+       </xs:complexType>
+       <xs:simpleType name="serverChoice">
+               <xs:restriction base="xs:string">
+                       <xs:pattern value="extension|collection"/>
+               </xs:restriction>
+       </xs:simpleType>
+       <!-- ********************************************* -->
+       <!-- * Material for Language-specific extensions * -->
+       <!-- ********************************************* -->
+       <xs:complexType name="extensionTypeLanguage">
+               <xs:all>
+                       <xs:element name="tag" type="tagChoice" minOccurs="0" 
maxOccurs="1"/>
+                       <xs:group ref="metadata"/>
+                       <xs:element name="files" type="typeLanguageFiles" 
minOccurs="1" maxOccurs="unbounded"/>
+                       <xs:element name="media" type="typeMedia" minOccurs="0" 
maxOccurs="1"/>
+                       <xs:element name="params" type="typeParams" 
minOccurs="1" maxOccurs="1"/>
+               </xs:all>
+               <xs:attribute name="type" type="xs:string" use="required" 
fixed="language"/>
+               <xs:attribute name="method" type="methodChoice"/>
+               <xs:attribute name="version" type="joomlaVersionChoice"/>
+               <xs:attribute name="client" type="clientChoice"/>
+       </xs:complexType>
+       <xs:complexType name="typeLanguageFilesFilename">
+               <xs:simpleContent>
+                       <xs:extension base="xs:string">
+                               <xs:attribute name="file" type="xs:string" 
use="optional"/>
+                               <!-- 
*****************************************************************************************************************************************************************************************
 -->
+                               <!-- * Assuming that the current context is 
"/extension/files/filename"                                                     
                                                                 * -->
+                               <!-- * check that there are ALL elements in 
this context whose values DO match one of:                                      
                                                                 * -->
+                               <!-- *  1) 
^([a-z]{2}[a-z]?-[A-Z]{2}\.((((com)|(lib)|(mod(_[a-z][a-z0-9]+)?)|(plg_[a-z][a-z0-9]+(\-[a-z0-9][a-z0-9]+)*)|(tpl))_[a-z][a-z0-9]+(\.sys)?(\.ini))|(ini)|(css)|(localise\.php)))$
 * -->
+                               <!-- *  2) ^([a-z]{2}[a-z]?-[A-Z]{2}\.xml)$     
                                                                                
                                                             * -->
+                               <!-- *  3) ^(install\.xml)$                     
                                                                                
                                                             * -->
+                               <!-- 
*****************************************************************************************************************************************************************************************
 -->
+                               <!-- 
*******************************************************************************************************************************************
 -->
+                               <!-- * Start of Highlighted Lines for Untreated 
Kind of Error                                                                   
               * -->
+                               <!-- 
*******************************************************************************************************************************************
 -->
+                               <xs:assert 
test="./text()[matches(.,'^([a-z]{2}[a-z]?-[A-Z]{2}\.((((com)|(lib)|(mod(_[a-z][a-z0-9]+)?)|(plg_[a-z][a-z0-9]+(\-[a-z0-9][a-z0-9]+)*)|(tpl))_[a-z][a-z0-9]+(\.sys)?(\.ini))|(ini)|(css)|(localise\.php)))|([a-z]{2}[a-z]?-[A-Z]{2}\.xml)|(install\.xml)$')]"/>
+                               <xs:assert test="if 
(./text()[matches(.,'^([a-z]{2}[a-z]?-[A-Z]{2}\.((((com)|(lib)|(mod(_[a-z][a-z0-9]+)?)|(plg_[a-z][a-z0-9]+(\-[a-z0-9][a-z0-9]+)*)|(tpl))_[a-z][a-z0-9]+(\.sys)?(\.ini))|(ini)|(css)|(localise\.php)))|([a-z]{2}[a-z]?-[A-Z]{2}\.xml)|(install\.xml)$')])
 then true() else false()"/>
+                               <xs:assert test="if (./text()[last()>1]) then 
false() else true()"/>
+                               <!-- <xs:assert test="if 
(./text()[matches(.,'^_finder\.ini$')]) then true() else false()"/>
+                               <xs:assert test="if 
(./text()[matches(.,'^[a-z]{2}[a-z]?-[A-Z]{2}\.com$)]) then true() else 
false()"/> -->
+                               <!-- 
*******************************************************************************************************************************************
 -->
+                               <!-- * End of Highlighted Lines for Untreated 
Kind of Error                                                                   
                 * -->
+                               <!-- 
*******************************************************************************************************************************************
 -->
+                               <!-- 
*******************************************************************************************************************************************
 -->
+                               <!-- * Of the elements whose values (./text()) 
match:                                                                          
                * -->
+                               <!-- *  2) ^([a-z]{2}[a-z]?-[A-Z]{2}\.xml)$     
                                                                                
               * -->
+                               <!-- * check that ALL have the "file" 
attribute.                                                                      
                         * -->
+                               <!-- 
*******************************************************************************************************************************************
 -->
+                               <!-- <xs:assert 
test="./text()[matches(.,'^([a-z]{2}[a-z]?-[A-Z]{2}\.xml)$')]/../@file"/>
+                               <xs:assert test="if (true()) then true() else 
false()"/>
+                               <xs:assert 
test="matches(text(),'^([a-z]{2}[a-z]?-[A-Z]{2}\.xml)$')"/>
+                               <xs:assert test="if 
(matches(text(),'^([a-z]{2}[a-z]?-[A-Z]{2}\.xml)$')) then @file else true()"/> 
-->
+                               <xs:assert test="if 
(matches(.,'^([a-z]{2}[a-z]?-[A-Z]{2}\.xml)$')) then @file else true()"/>
+                               <!-- 
*******************************************************************************************************************************************
 -->
+                               <!-- * Check that the ONE element which 
matches:                                                                        
                         * -->
+                               <!-- *  2) ^([a-z]{2}[a-z]?-[A-Z]{2}\.xml)$     
                                                                                
               * -->
+                               <!-- * has an attribute "file" with value 
"meta".                                                                         
                     * -->
+                               <!-- 
*******************************************************************************************************************************************
 -->
+                               <!-- <xs:assert 
test="./text()[matches(.,'^([a-z]{2}[a-z]?-[A-Z]{2}\.xml)$')]/../@file[.='meta']"/>
+                               <xs:assert test="if 
(matches(text(),'^([a-z]{2}[a-z]?-[A-Z]{2}\.xml)$')) then @file[.='meta'] else 
true()"/> -->
+                               <xs:assert test="if 
(matches(.,'^([a-z]{2}[a-z]?-[A-Z]{2}\.xml)$')) then @file[.='meta'] else 
true()"/>
+                               <!-- 
*******************************************************************************************************************************************
 -->
+                               <!-- * Of the elements whose values (./text()) 
match:                                                                          
                  * -->
+                               <!-- *  3) ^(install\.xml)$                     
                                                                                
               * -->
+                               <!-- * check that ALL have the "file" 
attribute.                                                                      
                         * -->
+                               <!-- 
*******************************************************************************************************************************************
 -->
+                               <xs:assert test="if 
(./text()[matches(.,'^(install\.xml)$')]) then @file else true()"/>
+                               <!-- 
*******************************************************************************************************************************************
 -->
+                               <!-- * Check that the ONE element which 
matches:                                                                        
                         * -->
+                               <!-- *  3) ^(install\.xml)$                     
                                                                                
               * -->
+                               <!-- * has an attribute "file" with value 
"meta".                                                                         
                     * -->
+                               <!-- 
*******************************************************************************************************************************************
 -->
+                               <xs:assert test="if 
(./text()[matches(.,'^(install\.xml)$')]) then @file[.='meta'] else true()"/>
+                       </xs:extension>
+               </xs:simpleContent>
+       </xs:complexType>
+       <xs:complexType name="typeLanguageFiles">
+               <xs:all>
+                       <xs:element name="folder" type="xs:string" 
minOccurs="0" maxOccurs="unbounded"/>
+                       <xs:element name="filename" 
type="typeLanguageFilesFilename" minOccurs="1" maxOccurs="unbounded"/> <!-- For 
the "index.<php|html>" file -->
+               </xs:all>
+               <xs:attribute name="folder" type="xs:string" use="optional"/>
+               <!-- 
*****************************************************************************************************************************************************************************************
 -->
+               <!-- * Assuming that the current context is "/extension/files"  
                                                                                
                                             * -->
+               <!-- 
*****************************************************************************************************************************************************************************************
 -->
+               <!-- 
*****************************************************************************************************************************************************************************************
 -->
+               <!-- Of the elements whose values (./text()) match:             
                                                                                
                                             * -->
+               <!-- *  1) 
^([a-z]{2}[a-z]?-[A-Z]{2}\.((((com)|(lib)|(mod(_[a-z][a-z0-9]+)?)|(plg_[a-z][a-z0-9]+(\-[a-z0-9][a-z0-9]+)*)|(tpl))_[a-z][a-z0-9]+(\.sys)?(\.ini))|(ini)|(css)|(localise\.php)))$
 * -->
+               <!-- * check that NONE have the "file" attribute.               
                                                                                
                                             * -->
+               <!-- 
*****************************************************************************************************************************************************************************************
 -->
+               <xs:assert 
test="count(./filename/text()[matches(.,'^([a-z]{2}[a-z]?-[A-Z]{2}\.((((com)|(lib)|(mod(_[a-z][a-z0-9]+)?)|(plg_[a-z][a-z0-9]+(\-[a-z0-9][a-z0-9]+)*)|(tpl))_[a-z][a-z0-9]+(\.sys)?(\.ini))|(ini)|(css)|(localise\.php)))$')]/..[@file])=0"/>
+               <!-- 
*****************************************************************************************************************************************************************************************
 -->
+               <!-- * Check there is ONE and ONLY ONE element whose value 
(./text()) matches:                                                             
                                                  * -->
+               <!-- *  2) ^([a-z]{2}[a-z]?-[A-Z]{2}\.xml)$                     
                                                                                
                                             * -->
+               <!-- 
*****************************************************************************************************************************************************************************************
 -->
+               <xs:assert 
test="count(./filename/text()[matches(.,'^([a-z]{2}[a-z]?-[A-Z]{2}\.xml)$')])=1"/>
+               <!-- 
*****************************************************************************************************************************************************************************************
 -->
+               <!-- * Check there is ONE and ONLY ONE element whose value 
(./text()) matches:                                                             
                                                  * -->
+               <!-- *  3) ^(install\.xml)$                                     
                                                                                
                                             * -->
+               <!-- 
*****************************************************************************************************************************************************************************************
 -->
+               <xs:assert 
test="count(./filename/text()[matches(.,'^(install\.xml)$')])=1"/>
+       </xs:complexType>
+</xs:schema>

Propchange: xerces/java/branches/xs-1.1-tests/data/jira_bugs/1726_1.xsd
------------------------------------------------------------------------------
    svn:mime-type = text/plain

Modified: 
xerces/java/branches/xs-1.1-tests/src/org/apache/xerces/tests/JiraBugsTests.java
URL: 
http://svn.apache.org/viewvc/xerces/java/branches/xs-1.1-tests/src/org/apache/xerces/tests/JiraBugsTests.java?rev=1897022&r1=1897021&r2=1897022&view=diff
==============================================================================
--- 
xerces/java/branches/xs-1.1-tests/src/org/apache/xerces/tests/JiraBugsTests.java
 (original)
+++ 
xerces/java/branches/xs-1.1-tests/src/org/apache/xerces/tests/JiraBugsTests.java
 Fri Jan 14 00:44:50 2022
@@ -17,14 +17,17 @@
 
 package org.apache.xerces.tests;
 
+import java.io.File;
 import java.util.ArrayList;
 import java.util.List;
 
+import javax.xml.transform.sax.SAXSource;
 import javax.xml.transform.stream.StreamSource;
 import javax.xml.validation.Schema;
 import javax.xml.validation.SchemaFactory;
 import javax.xml.validation.Validator;
 
+import org.xml.sax.InputSource;
 import org.xml.sax.SAXException;
 
 /**
@@ -564,6 +567,39 @@ public class JiraBugsTests extends Xerce
             Validator v = s.newValidator();
                    v.setErrorHandler(this);
             v.validate(new StreamSource(xmlfile));
+            assertNull(fErrSysId);
+            assertNull(fFatErrSysId);
+               } catch(Exception ex) {
+                  ex.printStackTrace();
+                  assertTrue(false);
+               }
+       }
+       
+       public void testJira_1726_1() {
+               String xmlfile = fDataDir+"/jira_bugs/1726_1.xml";
+               String schemapath = fDataDir+"/jira_bugs/1726_1.xsd";           
+               try {
+                   Schema s = fSchemaFactory.newSchema(new File(schemapath));
+            Validator v = s.newValidator();
+                   v.setErrorHandler(this);
+            v.validate(new SAXSource(new InputSource(new 
+                                                  
java.io.FileInputStream(xmlfile))));
+            assertNull(fErrSysId);
+            assertNull(fFatErrSysId);
+               } catch(Exception ex) {
+                  ex.printStackTrace();
+                  assertTrue(false);
+               }
+       }
+       
+       public void testJira_1726_2() {
+               String xmlfile = fDataDir+"/jira_bugs/1726_1.xml";
+               String schemapath = fDataDir+"/jira_bugs/1726_1.xsd";           
+               try {
+                   Schema s = fSchemaFactory.newSchema(new File(schemapath));
+            Validator v = s.newValidator();
+                   v.setErrorHandler(this);
+            v.validate(new StreamSource(xmlfile));
             assertNull(fErrSysId);
             assertNull(fFatErrSysId);
                } catch(Exception ex) {



---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to