Server IP : 103.119.228.120 / Your IP : 18.119.161.216 Web Server : Apache System : Linux v8.techscape8.com 3.10.0-1160.119.1.el7.tuxcare.els2.x86_64 #1 SMP Mon Jul 15 12:09:18 UTC 2024 x86_64 User : nobody ( 99) PHP Version : 5.6.40 Disable Function : shell_exec,symlink,system,exec,proc_get_status,proc_nice,proc_terminate,define_syslog_variables,syslog,openlog,closelog,escapeshellcmd,passthru,ocinum cols,ini_alter,leak,listen,chgrp,apache_note,apache_setenv,debugger_on,debugger_off,ftp_exec,dl,dll,myshellexec,proc_open,socket_bind,proc_close,escapeshellarg,parse_ini_filepopen,fpassthru,exec,passthru,escapeshellarg,escapeshellcmd,proc_close,proc_open,ini_alter,popen,show_source,proc_nice,proc_terminate,proc_get_status,proc_close,pfsockopen,leak,apache_child_terminate,posix_kill,posix_mkfifo,posix_setpgid,posix_setsid,posix_setuid,dl,symlink,shell_exec,system,dl,passthru,escapeshellarg,escapeshellcmd,myshellexec,c99_buff_prepare,c99_sess_put,fpassthru,getdisfunc,fx29exec,fx29exec2,is_windows,disp_freespace,fx29sh_getupdate,fx29_buff_prepare,fx29_sess_put,fx29shexit,fx29fsearch,fx29ftpbrutecheck,fx29sh_tools,fx29sh_about,milw0rm,imagez,sh_name,myshellexec,checkproxyhost,dosyayicek,c99_buff_prepare,c99_sess_put,c99getsource,c99sh_getupdate,c99fsearch,c99shexit,view_perms,posix_getpwuid,posix_getgrgid,posix_kill,parse_perms,parsesort,view_perms_color,set_encoder_input,ls_setcheckboxall,ls_reverse_all,rsg_read,rsg_glob,selfURL,dispsecinfo,unix2DosTime,addFile,system,get_users,view_size,DirFiles,DirFilesWide,DirPrintHTMLHeaders,GetFilesTotal,GetTitles,GetTimeTotal,GetMatchesCount,GetFileMatchesCount,GetResultFiles,fs_copy_dir,fs_copy_obj,fs_move_dir,fs_move_obj,fs_rmdir,SearchText,getmicrotime MySQL : ON | cURL : ON | WGET : ON | Perl : ON | Python : ON | Sudo : ON | Pkexec : ON Directory : /usr/local/ssl/lib64/python2.7/site-packages/lxml/isoschematron/resources/xsl/ |
Upload File : |
<?xml version="1.0" encoding="UTF-8"?> <!-- based on an original transform by Eddie Robertsson 2001/04/21 fn: added support for included schemas 2001/06/27 er: changed XMl Schema prefix from xsd: to xs: and changed to the Rec namespace 2009/12/10 hj: changed Schematron namespace to ISO URI (Holger Joukl) --> <xsl:transform version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:sch="http://purl.oclc.org/dsdl/schematron" xmlns:xs="http://www.w3.org/2001/XMLSchema"> <!-- Set the output to be XML with an XML declaration and use indentation --> <xsl:output method="xml" omit-xml-declaration="no" indent="yes" standalone="yes"/> <!-- --> <!-- match schema and call recursive template to extract included schemas --> <!-- --> <xsl:template match="xs:schema"> <!-- call the schema definition template ... --> <xsl:call-template name="gatherSchema"> <!-- ... with current current root as the $schemas parameter ... --> <xsl:with-param name="schemas" select="/"/> <!-- ... and any includes in the $include parameter --> <xsl:with-param name="includes" select="document(/xs:schema/xs:*[self::xs:include or self::xs:import or self::xs:redefine]/@schemaLocation)"/> </xsl:call-template> </xsl:template> <!-- --> <!-- gather all included schemas into a single parameter variable --> <!-- --> <xsl:template name="gatherSchema"> <xsl:param name="schemas"/> <xsl:param name="includes"/> <xsl:choose> <xsl:when test="count($schemas) < count($schemas | $includes)"> <!-- when $includes includes something new, recurse ... --> <xsl:call-template name="gatherSchema"> <!-- ... with current $includes added to the $schemas parameter ... --> <xsl:with-param name="schemas" select="$schemas | $includes"/> <!-- ... and any *new* includes in the $include parameter --> <xsl:with-param name="includes" select="document($includes/xs:schema/xs:*[self::xs:include or self::xs:import or self::xs:redefine]/@schemaLocation)"/> </xsl:call-template> </xsl:when> <xsl:otherwise> <!-- we have the complete set of included schemas, so now let's output the embedded schematron --> <xsl:call-template name="output"> <xsl:with-param name="schemas" select="$schemas"/> </xsl:call-template> </xsl:otherwise> </xsl:choose> </xsl:template> <!-- --> <!-- output the schematron information --> <!-- --> <xsl:template name="output"> <xsl:param name="schemas"/> <!-- --> <sch:schema> <!-- get header-type elements - eg title and especially ns --> <!-- title (just one) --> <xsl:copy-of select="$schemas//xs:appinfo/sch:title[1]"/> <!-- get remaining schematron schema children --> <!-- get non-blank namespace elements, dropping duplicates --> <xsl:for-each select="$schemas//xs:appinfo/sch:ns"> <xsl:if test="generate-id(.) = generate-id($schemas//xs:appinfo/sch:ns[@prefix = current()/@prefix][1])"> <xsl:copy-of select="."/> </xsl:if> </xsl:for-each> <xsl:copy-of select="$schemas//xs:appinfo/sch:phase"/> <xsl:copy-of select="$schemas//xs:appinfo/sch:pattern"/> <sch:diagnostics> <xsl:copy-of select="$schemas//xs:appinfo/sch:diagnostics/*"/> </sch:diagnostics> </sch:schema> </xsl:template> <!-- --> </xsl:transform>