mirror of
https://github.com/ONLYOFFICE/core.git
synced 2026-04-07 13:55:33 +08:00
Compare commits
88 Commits
v7.1.1.9
...
feature/Ga
| Author | SHA1 | Date | |
|---|---|---|---|
| e4075febd5 | |||
| 98d2afb11d | |||
| 246a96574b | |||
| a1da0bb2e0 | |||
| 53186e12d2 | |||
| 7066a55813 | |||
| 53f53200df | |||
| 916a84b041 | |||
| 1f0f8ae1b4 | |||
| db67132ce2 | |||
| fb2b4b2797 | |||
| 539f1cab81 | |||
| 2194dd5899 | |||
| 2799b63869 | |||
| 8fa09793eb | |||
| 0a577290ba | |||
| 23dd433b20 | |||
| 194faf5eff | |||
| 8f9d36085b | |||
| 2342956bb1 | |||
| 892c415382 | |||
| 9ca2b70ee3 | |||
| 79e57e8965 | |||
| 6af132ab18 | |||
| 01a4770af4 | |||
| 874129f41c | |||
| f2c9aec380 | |||
| 8ebcbe8636 | |||
| 44c5e23bc1 | |||
| 9484e549b4 | |||
| 2dadace9e0 | |||
| 8f6a51a4f8 | |||
| 467360bc3e | |||
| 11bbb0880d | |||
| e69514a338 | |||
| 66eac90262 | |||
| 2ddefee334 | |||
| 456f25d9e1 | |||
| e447a428d0 | |||
| c52c2306c3 | |||
| 68c07a11d4 | |||
| b4b8c74fd7 | |||
| 908524ff2e | |||
| bfd8f52e5e | |||
| 40ef42f18d | |||
| 057514398c | |||
| 2f1975eca7 | |||
| 199325b458 | |||
| 7bb737e4ab | |||
| 4a381a013c | |||
| 795601e243 | |||
| e0f902ef50 | |||
| a8c605da58 | |||
| 1330c28758 | |||
| 06cbaa82f2 | |||
| bdd3cd0795 | |||
| bb6fc86e0a | |||
| 900d28e002 | |||
| d41904eab0 | |||
| 22063acc38 | |||
| b61ecc11ae | |||
| ded9f2cc6a | |||
| a7c136cdeb | |||
| d1e75447a0 | |||
| 5263677365 | |||
| de6d5de360 | |||
| 66478ba28e | |||
| c6ed595019 | |||
| 7dd98a564c | |||
| 19d2417ffe | |||
| da2d9f6ed3 | |||
| 6b0256ae4c | |||
| 5ca14e42a6 | |||
| d150c439d4 | |||
| 9952900ca8 | |||
| bc2f1a2c82 | |||
| ec1c5b278c | |||
| 207cb4e6dd | |||
| f01770ba3c | |||
| dc2236c664 | |||
| 112e2a866a | |||
| 8add25ef19 | |||
| 4863b89e62 | |||
| f63dcd82f4 | |||
| 25b35c542a | |||
| fc3060d2d0 | |||
| 8f4cbc5a5c | |||
| 34cd2d3e77 |
@ -32,15 +32,16 @@
|
||||
#pragma once
|
||||
|
||||
#include <string>
|
||||
#include <functional>
|
||||
#include "../../../kernel_config.h"
|
||||
|
||||
namespace NSNetwork
|
||||
{
|
||||
namespace NSFileTransport
|
||||
{
|
||||
typedef void (*CFileTransporter_OnComplete)(int error);
|
||||
//typedef void (*CFileTransporter_OnComplete)(int error);
|
||||
// <return> cancel: 1, else 0
|
||||
typedef int (*CFileTransporter_OnProgress)(int percent);
|
||||
//typedef int (*CFileTransporter_OnProgress)(int percent);
|
||||
|
||||
class KERNEL_DECL IFileTransporter
|
||||
{
|
||||
@ -58,8 +59,8 @@ namespace NSNetwork
|
||||
virtual int IsRunned() = 0;
|
||||
|
||||
//events
|
||||
virtual void SetEvent_OnProgress(CFileTransporter_OnProgress) = 0;
|
||||
virtual void SetEvent_OnComplete(CFileTransporter_OnComplete) = 0;
|
||||
virtual void SetEvent_OnProgress(std::function<void(int)>) = 0;
|
||||
virtual void SetEvent_OnComplete(std::function<void(int)>) = 0;
|
||||
};
|
||||
|
||||
#ifdef _MAC
|
||||
@ -92,8 +93,8 @@ namespace NSNetwork
|
||||
virtual void Resume();
|
||||
virtual void Stop();
|
||||
virtual int IsRunned();
|
||||
virtual void SetEvent_OnProgress(CFileTransporter_OnProgress);
|
||||
virtual void SetEvent_OnComplete(CFileTransporter_OnComplete);
|
||||
virtual void SetEvent_OnProgress(std::function<void(int)>);
|
||||
virtual void SetEvent_OnComplete(std::function<void(int)>);
|
||||
|
||||
private:
|
||||
CFileTransporter_private* m_pInternal;
|
||||
@ -122,8 +123,8 @@ namespace NSNetwork
|
||||
virtual void Resume();
|
||||
virtual void Stop();
|
||||
virtual int IsRunned();
|
||||
virtual void SetEvent_OnProgress(CFileTransporter_OnProgress);
|
||||
virtual void SetEvent_OnComplete(CFileTransporter_OnComplete);
|
||||
virtual void SetEvent_OnProgress(std::function<void(int)>);
|
||||
virtual void SetEvent_OnComplete(std::function<void(int)>);
|
||||
|
||||
private:
|
||||
CFileTransporter_private* m_pInternal;
|
||||
|
||||
@ -103,11 +103,11 @@ namespace NSNetwork
|
||||
void CFileDownloader::Stop() { m_pInternal->Stop(); }
|
||||
int CFileDownloader::IsRunned() { return m_pInternal->IsRunned(); }
|
||||
|
||||
void CFileDownloader::SetEvent_OnProgress(CFileTransporter_OnProgress func)
|
||||
void CFileDownloader::SetEvent_OnProgress(std::function<void(int)> func)
|
||||
{
|
||||
m_pInternal->GetInternal()->m_func_onProgress = func;
|
||||
}
|
||||
void CFileDownloader::SetEvent_OnComplete(CFileTransporter_OnComplete func)
|
||||
void CFileDownloader::SetEvent_OnComplete(std::function<void(int)> func)
|
||||
{
|
||||
m_pInternal->GetInternal()->m_func_onComplete = func;
|
||||
}
|
||||
@ -166,11 +166,11 @@ namespace NSNetwork
|
||||
void CFileUploader::Stop() { m_pInternal->Stop(); }
|
||||
int CFileUploader::IsRunned() { return m_pInternal->IsRunned(); }
|
||||
|
||||
void CFileUploader::SetEvent_OnProgress(CFileTransporter_OnProgress func)
|
||||
void CFileUploader::SetEvent_OnProgress(std::function<void(int)> func)
|
||||
{
|
||||
m_pInternal->GetInternal()->m_func_onProgress = func;
|
||||
}
|
||||
void CFileUploader::SetEvent_OnComplete(CFileTransporter_OnComplete func)
|
||||
void CFileUploader::SetEvent_OnComplete(std::function<void(int)> func)
|
||||
{
|
||||
m_pInternal->GetInternal()->m_func_onComplete = func;
|
||||
}
|
||||
|
||||
@ -84,6 +84,18 @@ namespace NSNetwork
|
||||
return written;
|
||||
}
|
||||
|
||||
/*int progress_func(void* ptr, double TotalToDownload, double NowDownloaded, double TotalToUpload, double NowUploaded)
|
||||
{
|
||||
// It's here you will write the code for the progress message or bar
|
||||
int percent = static_cast<int>((100.0 * NowDownloaded) / TotalToDownload);
|
||||
|
||||
if(CFileTransporterBase::m_func_onProgress)
|
||||
CFileTransporterBase::m_func_onProgress(percent);
|
||||
return 0;
|
||||
}
|
||||
*/
|
||||
|
||||
|
||||
static size_t write_data_to_string(char *contents, size_t size, size_t nmemb, void *userp)
|
||||
{
|
||||
((std::string*)userp)->append((char*)contents, size * nmemb);
|
||||
@ -105,6 +117,9 @@ namespace NSNetwork
|
||||
curl_easy_setopt(curl, CURLOPT_URL, url);
|
||||
curl_easy_setopt(curl, CURLOPT_WRITEFUNCTION, write_data);
|
||||
curl_easy_setopt(curl, CURLOPT_WRITEDATA, fp);
|
||||
//curl_easy_setopt(curl, CURLOPT_NOPROGRESS, FALSE);
|
||||
// Install the callback function
|
||||
//curl_easy_setopt(curl, CURLOPT_PROGRESSFUNCTION, progress_func);
|
||||
#if defined(__linux__)
|
||||
//в linux нет встроенных в систему корневых сертификатов, поэтому отключаем проверку
|
||||
//http://curl.haxx.se/docs/sslcerts.html
|
||||
@ -226,7 +241,7 @@ namespace NSNetwork
|
||||
if (NSFile::CFileBinary::Exists(m_sDownloadFilePath))
|
||||
NSFile::CFileBinary::Remove(m_sDownloadFilePath);
|
||||
}
|
||||
return download_external(m_sDownloadFileUrl, m_sDownloadFilePath);
|
||||
return download_external(m_sDownloadFileUrl, m_sDownloadFilePath, m_func_onProgress);
|
||||
}
|
||||
virtual int UploadData() override
|
||||
{
|
||||
|
||||
@ -141,8 +141,8 @@ namespace NSNetwork
|
||||
|
||||
std::wstring m_sResponse; // Ответ сервера
|
||||
|
||||
CFileTransporter_OnComplete m_func_onComplete;
|
||||
CFileTransporter_OnProgress m_func_onProgress;
|
||||
std::function<void(int)> m_func_onComplete;
|
||||
std::function<void(int)> m_func_onProgress;
|
||||
};
|
||||
|
||||
class CFileTransporter_private : public NSThreads::CBaseThread
|
||||
|
||||
@ -368,9 +368,64 @@ namespace NSNetwork
|
||||
::fclose( m_pFile );
|
||||
m_pFile = NULL;
|
||||
}
|
||||
// Скачиваем файл
|
||||
return URLDownloadToFileW (NULL, sFileURL.c_str(), strFileOutput.c_str(), NULL, NULL);
|
||||
}
|
||||
|
||||
if(m_func_onProgress)
|
||||
{
|
||||
DownloadProgress progress;
|
||||
progress.func_onProgress = m_func_onProgress;
|
||||
// Скачиваем файл с возвратом процентов состояния
|
||||
return URLDownloadToFileW (NULL, sFileURL.c_str(), strFileOutput.c_str(), NULL, static_cast<IBindStatusCallback*>(&progress));
|
||||
}
|
||||
else
|
||||
return URLDownloadToFileW (NULL, sFileURL.c_str(), strFileOutput.c_str(), NULL, NULL);
|
||||
}
|
||||
|
||||
class DownloadProgress : public IBindStatusCallback {
|
||||
public:
|
||||
HRESULT __stdcall QueryInterface(const IID &,void **) {
|
||||
return E_NOINTERFACE;
|
||||
}
|
||||
ULONG STDMETHODCALLTYPE AddRef(void) {
|
||||
return 1;
|
||||
}
|
||||
ULONG STDMETHODCALLTYPE Release(void) {
|
||||
return 1;
|
||||
}
|
||||
HRESULT STDMETHODCALLTYPE OnStartBinding(DWORD dwReserved, IBinding *pib) {
|
||||
return E_NOTIMPL;
|
||||
}
|
||||
virtual HRESULT STDMETHODCALLTYPE GetPriority(LONG *pnPriority) {
|
||||
return E_NOTIMPL;
|
||||
}
|
||||
virtual HRESULT STDMETHODCALLTYPE OnLowResource(DWORD reserved) {
|
||||
return S_OK;
|
||||
}
|
||||
virtual HRESULT STDMETHODCALLTYPE OnStopBinding(HRESULT hresult, LPCWSTR szError) {
|
||||
return E_NOTIMPL;
|
||||
}
|
||||
virtual HRESULT STDMETHODCALLTYPE GetBindInfo(DWORD *grfBINDF, BINDINFO *pbindinfo) {
|
||||
return E_NOTIMPL;
|
||||
}
|
||||
virtual HRESULT STDMETHODCALLTYPE OnDataAvailable(DWORD grfBSCF, DWORD dwSize, FORMATETC *pformatetc, STGMEDIUM *pstgmed) {
|
||||
return E_NOTIMPL;
|
||||
}
|
||||
virtual HRESULT STDMETHODCALLTYPE OnObjectAvailable(REFIID riid, IUnknown *punk) {
|
||||
return E_NOTIMPL;
|
||||
}
|
||||
|
||||
virtual HRESULT __stdcall OnProgress(ULONG ulProgress, ULONG ulProgressMax, ULONG ulStatusCode, LPCWSTR szStatusText)
|
||||
{
|
||||
if(ulProgressMax != 0)
|
||||
{
|
||||
int percent = static_cast<int>((100.0 * ulProgress) / ulProgressMax);
|
||||
if(func_onProgress)
|
||||
func_onProgress(percent);
|
||||
}
|
||||
return S_OK;
|
||||
}
|
||||
|
||||
std::function<void(int)> func_onProgress;
|
||||
};
|
||||
|
||||
bool DownloadFilePS(const std::wstring& sFileURL, const std::wstring& strFileOutput)
|
||||
{
|
||||
|
||||
@ -38,6 +38,9 @@
|
||||
|
||||
#include <unistd.h>
|
||||
#include <sys/wait.h>
|
||||
#include <sys/stat.h>
|
||||
#include <fcntl.h>
|
||||
#include <regex>
|
||||
|
||||
namespace NSNetwork
|
||||
{
|
||||
@ -55,10 +58,9 @@ namespace NSNetwork
|
||||
return url.substr(pos);
|
||||
}
|
||||
|
||||
int download_external(const std::wstring& sUrl, const std::wstring& sOutput)
|
||||
int download_external(const std::wstring& sUrl, const std::wstring& sOutput, std::function<void(int)> func_onProgress)
|
||||
{
|
||||
int nReturnCode = -1;
|
||||
|
||||
std::string sUrlA = U_TO_UTF8(sUrl);
|
||||
//sUrlA =("\"" + sUrlA + "\"");
|
||||
std::string sOutputA = U_TO_UTF8(sOutput);
|
||||
@ -66,6 +68,10 @@ namespace NSNetwork
|
||||
|
||||
if (0 != nReturnCode && NSFile::CFileBinary::Exists(L"/usr/bin/curl"))
|
||||
{
|
||||
int pipefd[2];
|
||||
if(func_onProgress)
|
||||
pipe(pipefd);
|
||||
|
||||
pid_t pid = fork(); // create child process
|
||||
int status;
|
||||
|
||||
@ -82,7 +88,7 @@ namespace NSNetwork
|
||||
nargs[2] = sUrlA.c_str();
|
||||
nargs[3] = "--output";
|
||||
nargs[4] = sOutputA.c_str();
|
||||
nargs[5] = "--silent";
|
||||
func_onProgress == NULL ? nargs[5] = "--silent" : nargs[5] = "--progress-bar";
|
||||
nargs[6] = "-L";
|
||||
nargs[7] = "--connect-timeout";
|
||||
nargs[8] = "10";
|
||||
@ -93,11 +99,56 @@ namespace NSNetwork
|
||||
nenv[1] = "LD_LIBRARY_PATH=";
|
||||
nenv[2] = NULL;
|
||||
|
||||
if(func_onProgress)
|
||||
{
|
||||
close(pipefd[0]); // close reading end in the child
|
||||
|
||||
dup2(pipefd[1], 1); // send stdout to the pipe
|
||||
dup2(pipefd[1], 2); // send stderr to the pipe
|
||||
|
||||
close(pipefd[1]); // this descriptor is no longer needed
|
||||
}
|
||||
|
||||
execve("/usr/bin/curl", (char * const *)nargs, (char * const *)nenv);
|
||||
exit(EXIT_SUCCESS);
|
||||
break;
|
||||
}
|
||||
default: // parent process, pid now contains the child pid
|
||||
if(func_onProgress)
|
||||
{
|
||||
size_t size = 81;
|
||||
char buffer[size];
|
||||
std::string str;
|
||||
close(pipefd[1]); // close the write end of the pipe in the parent
|
||||
ssize_t res = 1;
|
||||
while (1)
|
||||
{
|
||||
str.clear();
|
||||
res = read(pipefd[0], buffer, sizeof(buffer));
|
||||
|
||||
if(res == 0)
|
||||
break;
|
||||
|
||||
str.append(buffer);
|
||||
|
||||
std::regex r(R"(\d+(?:\.\d+)?%)");
|
||||
std::smatch sm;
|
||||
std::string percentFull;
|
||||
std::string percent;
|
||||
if(regex_search(str, sm, r))
|
||||
{
|
||||
percentFull = sm.str();
|
||||
percent = percentFull.substr(0, percentFull.find("."));
|
||||
int percentInt = std::stoi(percent);
|
||||
|
||||
if(percentInt >= 0 && percentInt <= 100)
|
||||
func_onProgress(percentInt);
|
||||
}
|
||||
|
||||
if(str.find("100.0%") != std::string::npos)
|
||||
break;
|
||||
}
|
||||
}
|
||||
while (-1 == waitpid(pid, &status, 0)); // wait for child to complete
|
||||
if (WIFEXITED(status))
|
||||
{
|
||||
|
||||
@ -35,11 +35,13 @@ using System.Linq;
|
||||
using System.Text;
|
||||
using System.IO;
|
||||
using System.Text.RegularExpressions;
|
||||
using System.Globalization;
|
||||
|
||||
namespace codegen
|
||||
{
|
||||
class CodeGenXmlJSCPP
|
||||
{
|
||||
string toXmlNaspace = "w:";
|
||||
Dictionary<string, GenClassPivot> m_mapProcessedClasses = new Dictionary<string, GenClassPivot>();
|
||||
string[] gc_numeric = { "Null", "One", "Two", "Three", "Four", "Five", "Six", "Seven", "Eight", "Nine" };
|
||||
public static Dictionary<string, string> m_mapNamespaceToPrefix = new Dictionary<string, string>()
|
||||
@ -134,6 +136,13 @@ namespace codegen
|
||||
}
|
||||
#endregion
|
||||
#region JS
|
||||
string getClassMemberName(string sName)
|
||||
{
|
||||
////for word
|
||||
//TextInfo textInfo = new CultureInfo("en-US", false).TextInfo;
|
||||
//return textInfo.ToTitleCase(sName);
|
||||
return sName.Substring(0, 1).ToUpper() + sName.Substring(1);
|
||||
}
|
||||
string GetEnumClassName(string sEnumName)
|
||||
{
|
||||
return sEnumName;
|
||||
@ -148,7 +157,7 @@ namespace codegen
|
||||
}
|
||||
else
|
||||
{
|
||||
//first = first.ToUpper();
|
||||
first = first.ToUpper();
|
||||
}
|
||||
string name = first + sElemName.Substring(1);
|
||||
//https://stackoverflow.com/questions/1661197/what-characters-are-valid-for-javascript-variable-names/9337047#9337047
|
||||
@ -164,26 +173,26 @@ namespace codegen
|
||||
}
|
||||
public void ProcessEnumFromString(StringBuilder sb, GenClassPivot oGenClass)
|
||||
{
|
||||
sb.AppendFormat("function FromXml_{0}(val) \n{{\n", GetEnumClassName(oGenClass.sName));
|
||||
sb.AppendFormat("function fromXml_{0}(val) \n{{\n", GetEnumClassName(oGenClass.sName));
|
||||
sb.AppendFormat("switch (val) {{\n");
|
||||
for (int j = 0; j < oGenClass.aMembers.Count; ++j)
|
||||
{
|
||||
sb.AppendFormat("case \"{0}\": return {1}.{2};\n", oGenClass.aMembers[j].sName, GetEnumClassName(oGenClass.sName), GetEnumElemName(oGenClass.aMembers[j].sName));
|
||||
}
|
||||
sb.AppendFormat("}}\n");
|
||||
sb.AppendFormat("return null;\n");
|
||||
sb.AppendFormat("return undefined;\n");
|
||||
sb.AppendFormat("}}\n");
|
||||
}
|
||||
public void ProcessEnumToString(StringBuilder sb, GenClassPivot oGenClass)
|
||||
{
|
||||
sb.AppendFormat("function ToXml_{0}(val) \n{{\n", GetEnumClassName(oGenClass.sName));
|
||||
sb.AppendFormat("function toXml_{0}(val) \n{{\n", GetEnumClassName(oGenClass.sName));
|
||||
sb.AppendFormat("switch (val) {{\n");
|
||||
for (int j = 0; j < oGenClass.aMembers.Count; ++j)
|
||||
{
|
||||
sb.AppendFormat("case {0}.{1}: return \"{2}\";\n", GetEnumClassName(oGenClass.sName), GetEnumElemName(oGenClass.aMembers[j].sName), oGenClass.aMembers[j].sName);
|
||||
}
|
||||
sb.AppendFormat("}}\n");
|
||||
sb.AppendFormat("return \"\";\n");
|
||||
sb.AppendFormat("return null;\n");
|
||||
sb.AppendFormat("}}\n");
|
||||
}
|
||||
public void ProcessEnumsJS(StringBuilder sb, List<GenClassPivot> aGenClasses)
|
||||
@ -242,11 +251,11 @@ namespace codegen
|
||||
GenMemberPivot oGenMember = aAttributes[i];
|
||||
if (!string.IsNullOrEmpty(oGenMember.sDefAttribute))
|
||||
{
|
||||
sb.AppendFormat("this.{0} = null;//{1}\n", oGenMember.sName, oGenMember.sDefAttribute);
|
||||
sb.AppendFormat("this.{0} = null;//{1}\n", getClassMemberName(oGenMember.sName), oGenMember.sDefAttribute);
|
||||
}
|
||||
else
|
||||
{
|
||||
sb.AppendFormat("this.{0} = null;\n", oGenMember.sName);
|
||||
sb.AppendFormat("this.{0} = null;\n", getClassMemberName(oGenMember.sName));
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -260,17 +269,17 @@ namespace codegen
|
||||
GenMemberPivot oGenMemberTmp = oGenMember.getArrayTypeIfSimple();
|
||||
if (null != oGenMemberTmp)
|
||||
{
|
||||
sb.AppendFormat("this.{0} = [];\n", oGenMember.sName);
|
||||
sb.AppendFormat("this.{0} = [];\n", getClassMemberName(oGenMember.sName));
|
||||
}
|
||||
else
|
||||
{
|
||||
sb.AppendFormat("//todo {0}\n", oGenMember.sName);
|
||||
sb.AppendFormat("this.{0} = null;\n", oGenMember.sName);
|
||||
sb.AppendFormat("//todo {0}\n", getClassMemberName(oGenMember.sName));
|
||||
sb.AppendFormat("this.{0} = null;\n", getClassMemberName(oGenMember.sName));
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
sb.AppendFormat("this.{0} = null;\n", oGenMember.sName);
|
||||
sb.AppendFormat("this.{0} = null;\n", getClassMemberName(oGenMember.sName));
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -282,45 +291,47 @@ namespace codegen
|
||||
sb.AppendFormat("{0}.prototype.toXml = function (writer, name) {{\n", oGenClass.sName);
|
||||
|
||||
sb.AppendFormat("writer.WriteXmlNodeStart(name);\n");
|
||||
if(aMembers.Count > 0)
|
||||
for (int i = 0; i < aAttributes.Count; ++i)
|
||||
{
|
||||
for (int i = 0; i < aAttributes.Count; ++i)
|
||||
{
|
||||
ProcessAttributeJSToXml(sb, oGenClass, aAttributes[i], i, aAttributes[i].sName);
|
||||
}
|
||||
ProcessAttributeJSToXml(sb, oGenClass, aAttributes[i], i);
|
||||
}
|
||||
if (aMembers.Count > 0)
|
||||
{
|
||||
|
||||
sb.AppendFormat("writer.WriteXmlAttributesEnd();\n");
|
||||
for (int i = 0; i < aMembers.Count; ++i)
|
||||
{
|
||||
GenMemberPivot oGenMember = aMembers[i];
|
||||
string sTodo;
|
||||
string sElemXmlName = getNameWithPrefix(oGenClass, oGenMember, sRootNamespace, out sTodo);
|
||||
if (oGenMember.isArray())
|
||||
{
|
||||
GenMemberPivot oGenMemberTmp = oGenMember.getArrayTypeIfSimple();
|
||||
string sTodo;
|
||||
string sElemXmlName = getNameWithPrefix(oGenClass, oGenMember, sRootNamespace, out sTodo);
|
||||
if (sTodo.Length > 0)
|
||||
{
|
||||
sb.AppendFormat("//todo {0}\n", sTodo);
|
||||
}
|
||||
if (null != oGenMemberTmp)
|
||||
{
|
||||
string sElemXmlNameTmp = getNameWithPrefix(oGenClass, oGenMemberTmp, sRootNamespace, out sTodo);
|
||||
if (false == oGenMemberTmp.bIsArrayTypesHidden)
|
||||
{
|
||||
sb.AppendFormat("//todo {0} minOccurs=0 or 1\n", oGenMember.sName);
|
||||
sb.AppendFormat("writer.WriteXmlArray(this.{0}, \"{1}\", {2});\n", oGenMember.sName, oGenMember.sName, oGenMemberTmp.sName);
|
||||
sb.AppendFormat("//todo {0} minOccurs=0 or 1\n", getClassMemberName(oGenMember.sName));
|
||||
sb.AppendFormat("writer.WriteXmlArray(this.{0}, \"{1}\", {2});\n", getClassMemberName(oGenMember.sName), sElemXmlName, sElemXmlNameTmp);
|
||||
}
|
||||
else
|
||||
{
|
||||
sb.AppendFormat("writer.WriteXmlArray(this.{0}, \"{1}\");\n", oGenMember.sName, oGenMember.sName);
|
||||
sb.AppendFormat("writer.WriteXmlArray(this.{0}, \"{1}\");\n", getClassMemberName(oGenMember.sName), sElemXmlName);
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
sb.AppendFormat("//todo {0}\n", oGenMember.sName);
|
||||
sb.AppendFormat("//todo {0}\n", getClassMemberName(oGenMember.sName));
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
sb.AppendFormat("writer.WriteXmlNullable(this.{0}, \"{0}\");\n", oGenMember.sName);
|
||||
sb.AppendFormat("writer.WriteXmlNullable(this.{0}, \"{1}\");\n", getClassMemberName(oGenMember.sName), sElemXmlName);
|
||||
}
|
||||
}
|
||||
sb.AppendFormat("writer.WriteXmlNodeEnd(name);\n");
|
||||
@ -331,13 +342,21 @@ namespace codegen
|
||||
}
|
||||
sb.AppendFormat("}};\n");
|
||||
}
|
||||
void ProcessAttributeJSToXml(StringBuilder sb, GenClassPivot oGenClass, GenMemberPivot oGenMember, int index, string sElemName)
|
||||
void ProcessAttributeJSToXml(StringBuilder sb, GenClassPivot oGenClass, GenMemberPivot oGenMember, int index)
|
||||
{
|
||||
bool bTodo = true;
|
||||
string sElemName = getClassMemberName(oGenMember.sName);
|
||||
string sTodo = sElemName;
|
||||
string sRootNamespace = "";
|
||||
string sElemXmlName = getNameWithPrefix(oGenClass, oGenMember, sRootNamespace, out sTodo);
|
||||
if (null != oGenMember.oSystemType)
|
||||
{
|
||||
bTodo = false;
|
||||
sb.AppendFormat("writer.{0}(\"{1}\", this.{1});\n", ProcessJSTypeToXml(Type.GetTypeCode(oGenMember.oSystemType), TypeCode.String == Type.GetTypeCode(oGenMember.oSystemType), out bTodo), sElemName);
|
||||
sTodo = "";
|
||||
bool bTodo;
|
||||
sb.AppendFormat("writer.{0}(\"{1}\", this.{2});\n", ProcessJSTypeToXml(Type.GetTypeCode(oGenMember.oSystemType), TypeCode.String == Type.GetTypeCode(oGenMember.oSystemType), out bTodo), sElemXmlName, sElemName);
|
||||
if(bTodo)
|
||||
{
|
||||
sTodo = sElemName;
|
||||
}
|
||||
}
|
||||
else if (null != oGenMember.sType)
|
||||
{
|
||||
@ -347,14 +366,14 @@ namespace codegen
|
||||
{
|
||||
if (oGenClassMember.bIsEnum)
|
||||
{
|
||||
bTodo = false;
|
||||
sb.AppendFormat("writer.WriteXmlAttributeString(\"{0}\", ToXml_{1}(this.{2}));\n", sElemName, GetEnumClassName(oGenMember.sName), sElemName);
|
||||
sTodo = "";
|
||||
sb.AppendFormat("writer.WriteXmlNullableAttributeString(\"{0}\", toXml_{1}(this.{2}));\n", sElemXmlName, GetEnumClassName(oGenClassMember.sName), sElemName);
|
||||
}
|
||||
}
|
||||
}
|
||||
if (bTodo)
|
||||
if (sTodo.Length > 0)
|
||||
{
|
||||
sb.AppendFormat("//todo {0}\n", sElemName);
|
||||
sb.AppendFormat("//todo {0}\n", sTodo);
|
||||
}
|
||||
}
|
||||
string ProcessJSTypeToXml(TypeCode oTypeCode, bool bEncode, out bool bTodo)
|
||||
@ -367,23 +386,33 @@ namespace codegen
|
||||
sRes = "WriteXmlNullableAttributeBool";
|
||||
break;
|
||||
case TypeCode.Byte:
|
||||
sRes = "WriteXmlNullableAttributeByte";
|
||||
break;
|
||||
case TypeCode.SByte:
|
||||
sRes = "WriteXmlNullableAttributeSByte";
|
||||
break;
|
||||
case TypeCode.Int16:
|
||||
case TypeCode.Int32:
|
||||
sRes = "WriteXmlNullableAttributeInt";
|
||||
break;
|
||||
case TypeCode.UInt16:
|
||||
case TypeCode.UInt32:
|
||||
sRes = "WriteXmlNullableAttributeNumber";
|
||||
sRes = "WriteXmlNullableAttributeUInt";
|
||||
break;
|
||||
case TypeCode.Int64:
|
||||
bTodo = true;
|
||||
sRes = "WriteXmlNullableAttributeNumber";
|
||||
sRes = "WriteXmlNullableAttributeInt64";
|
||||
break;
|
||||
case TypeCode.UInt64:
|
||||
bTodo = true;
|
||||
sRes = "WriteXmlNullableAttributeUInt64";
|
||||
break;
|
||||
case TypeCode.Single:
|
||||
case TypeCode.Double:
|
||||
sRes = "WriteXmlNullableAttributeNumber";
|
||||
sRes = "WriteXmlNullableAttributeDouble";
|
||||
break;
|
||||
default:
|
||||
sRes = bEncode ? "WriteXmlNullableAttributeString" : "WriteXmlNullableAttributeStringEncode";
|
||||
sRes = bEncode ? "WriteXmlNullableAttributeStringEncode" : "WriteXmlNullableAttributeString";
|
||||
break;
|
||||
}
|
||||
return sRes;
|
||||
@ -399,14 +428,11 @@ namespace codegen
|
||||
sb.AppendFormat("switch (reader.GetNameNoNS()) {{\n");
|
||||
for (int i = 0; i < aAttributes.Count; ++i)
|
||||
{
|
||||
sb.AppendFormat("case \"{0}\" : {{\n", aAttributes[i].sName);
|
||||
sb.AppendFormat("break;");
|
||||
sb.AppendFormat("}}\n");
|
||||
ProcessAttributeJSFromXml(sb, oGenClass, aAttributes[i], i, aAttributes[i].sName);
|
||||
ProcessAttributeJSFromXml(sb, oGenClass, aAttributes[i], i);
|
||||
}
|
||||
sb.AppendFormat("}}\n");
|
||||
sb.AppendFormat("}}\n");
|
||||
sb.AppendFormat("}}\n");
|
||||
sb.AppendFormat("}};\n");
|
||||
}
|
||||
sb.AppendFormat("{0}.prototype.fromXml = function(reader) {{\n", oGenClass.sName);
|
||||
if (aAttributes.Count > 0)
|
||||
@ -416,16 +442,15 @@ namespace codegen
|
||||
}
|
||||
if (aMembers.Count > 0)
|
||||
{
|
||||
sb.AppendFormat("var depth = reader.GetDepth();\n");
|
||||
sb.AppendFormat("var elem, depth = reader.GetDepth();\n");
|
||||
sb.AppendFormat("while (reader.ReadNextSiblingNode(depth)) {{\n");
|
||||
sb.AppendFormat("var name = reader.GetNameNoNS();\n");
|
||||
sb.AppendFormat("switch (reader.GetNameNoNS()) {{\n");
|
||||
for (int i = 0; i < aMembers.Count; ++i)
|
||||
{
|
||||
sb.AppendFormat("case \"{0}\" : {{\n", aMembers[i].sName);
|
||||
if (null == aMembers[i].sType)
|
||||
{
|
||||
sb.AppendFormat("//todo {0}\n", aMembers[i].sName);
|
||||
sb.AppendFormat("//todo {0}\n", getClassMemberName(aMembers[i].sName));
|
||||
}
|
||||
else if (aMembers[i].isArray())
|
||||
{
|
||||
@ -435,19 +460,19 @@ namespace codegen
|
||||
string sRead;
|
||||
if (true == aMembers[i].bIsArrayTypesHidden)
|
||||
{
|
||||
sb.AppendFormat("var elem = new {0}();\n", oGenMemberTmp.sType);
|
||||
sb.AppendFormat("elem = new {0}();\n", oGenMemberTmp.sType);
|
||||
sb.AppendFormat("elem.fromXml(reader);\n");
|
||||
sb.AppendFormat("this.{0}.push(elem);\n", aMembers[i].sName);
|
||||
sb.AppendFormat("this.{0}.push(elem);\n", getClassMemberName(aMembers[i].sName));
|
||||
}
|
||||
else
|
||||
{
|
||||
sb.AppendFormat("var subDepth = reader.GetDepth();\n");
|
||||
sb.AppendFormat("while (reader.ReadNextSiblingNode(subDepth)) {{\n");
|
||||
sb.AppendFormat("if (\"{0}\" === reader.GetNameNoNS()) {{\n", aMembers[i].sName);
|
||||
sb.AppendFormat("if (\"{0}\" === reader.GetNameNoNS()) {{\n", oGenMemberTmp.sName);
|
||||
|
||||
sb.AppendFormat("var elem = new {0}();\n", oGenMemberTmp.sType);
|
||||
sb.AppendFormat("elem = new {0}();\n", oGenMemberTmp.sType);
|
||||
sb.AppendFormat("elem.fromXml(reader);\n");
|
||||
sb.AppendFormat("this.{0}.push(elem);\n", aMembers[i].sName);
|
||||
sb.AppendFormat("this.{0}.push(elem);\n", getClassMemberName(aMembers[i].sName));
|
||||
|
||||
sb.AppendFormat("}}\n");
|
||||
sb.AppendFormat("}}\n");
|
||||
@ -455,13 +480,13 @@ namespace codegen
|
||||
}
|
||||
else
|
||||
{
|
||||
sb.AppendFormat("//todo {0}\n", aMembers[i].sName);
|
||||
sb.AppendFormat("//todo {0}\n", getClassMemberName(aMembers[i].sName));
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
sb.AppendFormat("this.{0} = new {1}();\n", aMembers[i].sName, aMembers[i].sType);
|
||||
sb.AppendFormat("this.{0}.fromXml(reader);\n", aMembers[i].sName);
|
||||
sb.AppendFormat("this.{0} = new {1}();\n", getClassMemberName(aMembers[i].sName), aMembers[i].sType);
|
||||
sb.AppendFormat("this.{0}.fromXml(reader);\n", getClassMemberName(aMembers[i].sName));
|
||||
}
|
||||
sb.AppendFormat("break;");
|
||||
sb.AppendFormat("}}\n");
|
||||
@ -473,15 +498,15 @@ namespace codegen
|
||||
{
|
||||
sb.AppendFormat("reader.ReadTillEnd();\n");
|
||||
}
|
||||
sb.AppendFormat("}}\n");
|
||||
sb.AppendFormat("}};\n");
|
||||
}
|
||||
void ProcessAttributeJSFromXml(StringBuilder sb, GenClassPivot oGenClass, GenMemberPivot oGenMember, int index, string sElemName)
|
||||
void ProcessAttributeJSFromXml(StringBuilder sb, GenClassPivot oGenClass, GenMemberPivot oGenMember, int index)
|
||||
{
|
||||
bool bTodo = true;
|
||||
if (null != oGenMember.oSystemType)
|
||||
{
|
||||
bTodo = false;
|
||||
sb.AppendFormat("case \"{0}\": {{\n this.{1} = reader.{2}();\n break;\n }}\n", sElemName, sElemName, ProcessJSTypeFromXml(Type.GetTypeCode(oGenMember.oSystemType), out bTodo));
|
||||
sb.AppendFormat("case \"{0}\": {{\n this.{1} = reader.{2}();\n break;\n }}\n", oGenMember.sName, getClassMemberName(oGenMember.sName), ProcessJSTypeFromXml(Type.GetTypeCode(oGenMember.oSystemType), out bTodo));
|
||||
}
|
||||
else if (null != oGenMember.sType)
|
||||
{
|
||||
@ -492,13 +517,13 @@ namespace codegen
|
||||
if (oGenClassMember.bIsEnum)
|
||||
{
|
||||
bTodo = false;
|
||||
sb.AppendFormat("case \"{0}\": {{\nthis.{1} = FromXml_{1}(reader.GetValue());\n break;\n }}\n", sElemName, sElemName, GetEnumClassName(oGenMember.sName));
|
||||
sb.AppendFormat("case \"{0}\": {{\nthis.{1} = fromXml_{2}(reader.GetValue());\n break;\n }}\n", oGenMember.sName, getClassMemberName(oGenMember.sName), GetEnumClassName(oGenClassMember.sName));
|
||||
}
|
||||
}
|
||||
}
|
||||
if (bTodo)
|
||||
{
|
||||
sb.AppendFormat("//todo {0}\n", sElemName);
|
||||
sb.AppendFormat("//todo {0}\n", getClassMemberName(oGenMember.sName));
|
||||
}
|
||||
}
|
||||
string ProcessJSTypeFromXml(TypeCode oTypeCode, out bool bTodo)
|
||||
@ -511,17 +536,26 @@ namespace codegen
|
||||
sRes = "GetValueBool";
|
||||
break;
|
||||
case TypeCode.Byte:
|
||||
sRes = "GetValueByte";
|
||||
break;
|
||||
case TypeCode.SByte:
|
||||
sRes = "GetValueSByte";
|
||||
break;
|
||||
case TypeCode.Int16:
|
||||
case TypeCode.Int32:
|
||||
case TypeCode.UInt16:
|
||||
case TypeCode.UInt32:
|
||||
sRes = "GetValueInt";
|
||||
break;
|
||||
case TypeCode.UInt16:
|
||||
case TypeCode.UInt32:
|
||||
sRes = "GetValueUInt";
|
||||
break;
|
||||
case TypeCode.Int64:
|
||||
bTodo = true;
|
||||
sRes = "GetValueInt64";
|
||||
break;
|
||||
case TypeCode.UInt64:
|
||||
bTodo = true;
|
||||
sRes = "GetValueInt";
|
||||
sRes = "GetValueUInt64";
|
||||
break;
|
||||
case TypeCode.Single:
|
||||
case TypeCode.Double:
|
||||
@ -536,24 +570,26 @@ namespace codegen
|
||||
string getNameWithPrefix(GenClassPivot oGenClass, GenMemberPivot oGenMember, string sRootNamespace, out string sTodo)
|
||||
{
|
||||
sTodo = "";
|
||||
string sShortNamespace = "";
|
||||
if (true == oGenMember.bQualified)
|
||||
{
|
||||
string sMemberNamespace = null;
|
||||
GenClassPivot oGenClassMember = null;
|
||||
if (null != oGenMember.sNamespace)
|
||||
sMemberNamespace = oGenMember.sNamespace;
|
||||
else if (null != oGenMember.sType && m_mapProcessedClasses.TryGetValue(oGenMember.sType, out oGenClassMember))
|
||||
sMemberNamespace = oGenClassMember.sNamespace;
|
||||
else
|
||||
sMemberNamespace = oGenClass.sNamespace;
|
||||
if (null != sMemberNamespace && sRootNamespace != sMemberNamespace)
|
||||
{
|
||||
m_mapNamespaceToPrefix.TryGetValue(sMemberNamespace, out sShortNamespace);
|
||||
sTodo = String.Format("xml namespace {0}", sShortNamespace);
|
||||
}
|
||||
}
|
||||
return sShortNamespace + oGenMember.sName;
|
||||
return toXmlNaspace + oGenMember.sName;
|
||||
|
||||
//string sShortNamespace = "";
|
||||
//if (true == oGenMember.bQualified)
|
||||
//{
|
||||
// string sMemberNamespace = null;
|
||||
// GenClassPivot oGenClassMember = null;
|
||||
// if (null != oGenMember.sNamespace)
|
||||
// sMemberNamespace = oGenMember.sNamespace;
|
||||
// else if (null != oGenMember.sType && m_mapProcessedClasses.TryGetValue(oGenMember.sType, out oGenClassMember))
|
||||
// sMemberNamespace = oGenClassMember.sNamespace;
|
||||
// else
|
||||
// sMemberNamespace = oGenClass.sNamespace;
|
||||
// if (null != sMemberNamespace && sRootNamespace != sMemberNamespace)
|
||||
// {
|
||||
// m_mapNamespaceToPrefix.TryGetValue(sMemberNamespace, out sShortNamespace);
|
||||
// sTodo = String.Format("xml namespace {0}", sShortNamespace);
|
||||
// }
|
||||
//}
|
||||
//return sShortNamespace + oGenMember.sName;
|
||||
}
|
||||
#endregion
|
||||
#endregion
|
||||
|
||||
@ -55,7 +55,7 @@
|
||||
<xsd:restriction base="xsd:unsignedLong"/>
|
||||
</xsd:simpleType>
|
||||
<xsd:simpleType name="ST_TwipsMeasure">
|
||||
<xsd:union memberTypes="ST_UnsignedDecimalNumber ST_PositiveUniversalMeasure"/>
|
||||
<xsd:union memberTypes="xsd:unsignedLong ST_PositiveUniversalMeasure"/>
|
||||
</xsd:simpleType>
|
||||
<xsd:simpleType name="ST_VerticalAlignRun">
|
||||
<xsd:restriction base="xsd:string">
|
||||
|
||||
@ -3749,7 +3749,7 @@
|
||||
<xsd:attribute name="val" type="ST_FontFamily" use="required"/>
|
||||
</xsd:complexType>
|
||||
<xsd:simpleType name="ST_FontFamily">
|
||||
<xsd:restriction base="xsd:integer">
|
||||
<xsd:restriction base="xsd:int">
|
||||
<xsd:minInclusive value="0"/>
|
||||
<xsd:maxInclusive value="14"/>
|
||||
</xsd:restriction>
|
||||
|
||||
@ -47,14 +47,11 @@
|
||||
<xsd:simpleType name="ST_DecimalNumberOrPercent">
|
||||
<xsd:union memberTypes="s:ST_Percentage"/>
|
||||
</xsd:simpleType>
|
||||
<xsd:simpleType name="ST_DecimalNumber">
|
||||
<xsd:restriction base="xsd:integer"/>
|
||||
</xsd:simpleType>
|
||||
<xsd:complexType name="CT_DecimalNumber">
|
||||
<xsd:attribute name="val" type="ST_DecimalNumber" use="required"/>
|
||||
<xsd:attribute name="val" type="xsd:int" use="required"/>
|
||||
</xsd:complexType>
|
||||
<xsd:complexType name="CT_UnsignedDecimalNumber">
|
||||
<xsd:attribute name="val" type="s:ST_UnsignedDecimalNumber" use="required"/>
|
||||
<xsd:attribute name="val" type="xsd:unsignedLong" use="required"/>
|
||||
</xsd:complexType>
|
||||
<xsd:complexType name="CT_DecimalNumberOrPrecent">
|
||||
<xsd:attribute name="val" type="ST_DecimalNumberOrPercent" use="required"/>
|
||||
@ -63,25 +60,25 @@
|
||||
<xsd:attribute name="val" type="s:ST_TwipsMeasure" use="required"/>
|
||||
</xsd:complexType>
|
||||
<xsd:simpleType name="ST_SignedTwipsMeasure">
|
||||
<xsd:union memberTypes="xsd:integer s:ST_UniversalMeasure"/>
|
||||
<xsd:union memberTypes="xsd:int s:ST_UniversalMeasure"/>
|
||||
</xsd:simpleType>
|
||||
<xsd:complexType name="CT_SignedTwipsMeasure">
|
||||
<xsd:attribute name="val" type="ST_SignedTwipsMeasure" use="required"/>
|
||||
</xsd:complexType>
|
||||
<xsd:simpleType name="ST_PixelsMeasure">
|
||||
<xsd:restriction base="s:ST_UnsignedDecimalNumber"/>
|
||||
<xsd:restriction base="xsd:unsignedLong"/>
|
||||
</xsd:simpleType>
|
||||
<xsd:complexType name="CT_PixelsMeasure">
|
||||
<xsd:attribute name="val" type="ST_PixelsMeasure" use="required"/>
|
||||
</xsd:complexType>
|
||||
<xsd:simpleType name="ST_HpsMeasure">
|
||||
<xsd:union memberTypes="s:ST_UnsignedDecimalNumber s:ST_PositiveUniversalMeasure"/>
|
||||
<xsd:union memberTypes="xsd:unsignedLong s:ST_PositiveUniversalMeasure"/>
|
||||
</xsd:simpleType>
|
||||
<xsd:complexType name="CT_HpsMeasure">
|
||||
<xsd:attribute name="val" type="ST_HpsMeasure" use="required"/>
|
||||
</xsd:complexType>
|
||||
<xsd:simpleType name="ST_SignedHpsMeasure">
|
||||
<xsd:union memberTypes="xsd:integer s:ST_UniversalMeasure"/>
|
||||
<xsd:union memberTypes="xsd:int s:ST_UniversalMeasure"/>
|
||||
</xsd:simpleType>
|
||||
<xsd:complexType name="CT_SignedHpsMeasure">
|
||||
<xsd:attribute name="val" type="ST_SignedHpsMeasure" use="required"/>
|
||||
@ -98,10 +95,10 @@
|
||||
<xsd:attribute name="val" use="required" type="ST_MacroName"/>
|
||||
</xsd:complexType>
|
||||
<xsd:simpleType name="ST_EighthPointMeasure">
|
||||
<xsd:restriction base="s:ST_UnsignedDecimalNumber"/>
|
||||
<xsd:restriction base="xsd:unsignedLong"/>
|
||||
</xsd:simpleType>
|
||||
<xsd:simpleType name="ST_PointMeasure">
|
||||
<xsd:restriction base="s:ST_UnsignedDecimalNumber"/>
|
||||
<xsd:restriction base="xsd:unsignedLong"/>
|
||||
</xsd:simpleType>
|
||||
<xsd:complexType name="CT_String">
|
||||
<xsd:attribute name="val" type="s:ST_String" use="required"/>
|
||||
@ -470,7 +467,7 @@
|
||||
</xsd:complexType>
|
||||
<xsd:complexType name="CT_FitText">
|
||||
<xsd:attribute name="val" type="s:ST_TwipsMeasure" use="required"/>
|
||||
<xsd:attribute name="id" type="ST_DecimalNumber" use="optional"/>
|
||||
<xsd:attribute name="id" type="xsd:int" use="optional"/>
|
||||
</xsd:complexType>
|
||||
<xsd:simpleType name="ST_Em">
|
||||
<xsd:restriction base="xsd:string">
|
||||
@ -499,7 +496,7 @@
|
||||
</xsd:restriction>
|
||||
</xsd:simpleType>
|
||||
<xsd:complexType name="CT_EastAsianLayout">
|
||||
<xsd:attribute name="id" type="ST_DecimalNumber" use="optional"/>
|
||||
<xsd:attribute name="id" type="xsd:int" use="optional"/>
|
||||
<xsd:attribute name="combine" type="s:ST_OnOff" use="optional"/>
|
||||
<xsd:attribute name="combineBrackets" type="ST_CombineBrackets" use="optional"/>
|
||||
<xsd:attribute name="vert" type="s:ST_OnOff" use="optional"/>
|
||||
@ -545,7 +542,7 @@
|
||||
</xsd:simpleType>
|
||||
<xsd:complexType name="CT_FramePr">
|
||||
<xsd:attribute name="dropCap" type="ST_DropCap" use="optional"/>
|
||||
<xsd:attribute name="lines" type="ST_DecimalNumber" use="optional"/>
|
||||
<xsd:attribute name="lines" type="xsd:int" use="optional"/>
|
||||
<xsd:attribute name="w" type="s:ST_TwipsMeasure" use="optional"/>
|
||||
<xsd:attribute name="h" type="s:ST_TwipsMeasure" use="optional"/>
|
||||
<xsd:attribute name="vSpace" type="s:ST_TwipsMeasure" use="optional"/>
|
||||
@ -595,23 +592,23 @@
|
||||
</xsd:simpleType>
|
||||
<xsd:complexType name="CT_Spacing">
|
||||
<xsd:attribute name="before" type="s:ST_TwipsMeasure" use="optional" default="0"/>
|
||||
<xsd:attribute name="beforeLines" type="ST_DecimalNumber" use="optional" default="0"/>
|
||||
<xsd:attribute name="beforeLines" type="xsd:int" use="optional" default="0"/>
|
||||
<xsd:attribute name="beforeAutospacing" type="s:ST_OnOff" use="optional" default="off"/>
|
||||
<xsd:attribute name="after" type="s:ST_TwipsMeasure" use="optional" default="0"/>
|
||||
<xsd:attribute name="afterLines" type="ST_DecimalNumber" use="optional" default="0"/>
|
||||
<xsd:attribute name="afterLines" type="xsd:int" use="optional" default="0"/>
|
||||
<xsd:attribute name="afterAutospacing" type="s:ST_OnOff" use="optional" default="off"/>
|
||||
<xsd:attribute name="line" type="ST_SignedTwipsMeasure" use="optional" default="0"/>
|
||||
<xsd:attribute name="lineRule" type="ST_LineSpacingRule" use="optional" default="auto"/>
|
||||
</xsd:complexType>
|
||||
<xsd:complexType name="CT_Ind">
|
||||
<xsd:attribute name="start" type="ST_SignedTwipsMeasure" use="optional"/>
|
||||
<xsd:attribute name="startChars" type="ST_DecimalNumber" use="optional"/>
|
||||
<xsd:attribute name="startChars" type="xsd:int" use="optional"/>
|
||||
<xsd:attribute name="end" type="ST_SignedTwipsMeasure" use="optional"/>
|
||||
<xsd:attribute name="endChars" type="ST_DecimalNumber" use="optional"/>
|
||||
<xsd:attribute name="endChars" type="xsd:int" use="optional"/>
|
||||
<xsd:attribute name="hanging" type="s:ST_TwipsMeasure" use="optional"/>
|
||||
<xsd:attribute name="hangingChars" type="ST_DecimalNumber" use="optional"/>
|
||||
<xsd:attribute name="hangingChars" type="xsd:int" use="optional"/>
|
||||
<xsd:attribute name="firstLine" type="s:ST_TwipsMeasure" use="optional"/>
|
||||
<xsd:attribute name="firstLineChars" type="ST_DecimalNumber" use="optional"/>
|
||||
<xsd:attribute name="firstLineChars" type="xsd:int" use="optional"/>
|
||||
</xsd:complexType>
|
||||
<xsd:simpleType name="ST_Jc">
|
||||
<xsd:restriction base="xsd:string">
|
||||
@ -702,7 +699,7 @@
|
||||
<xsd:attribute name="algorithmName" type="s:ST_String" use="optional"/>
|
||||
<xsd:attribute name="hashValue" type="xsd:base64Binary" use="optional"/>
|
||||
<xsd:attribute name="saltValue" type="xsd:base64Binary" use="optional"/>
|
||||
<xsd:attribute name="spinCount" type="ST_DecimalNumber" use="optional"/>
|
||||
<xsd:attribute name="spinCount" type="xsd:int" use="optional"/>
|
||||
</xsd:attributeGroup>
|
||||
<xsd:complexType name="CT_DocProtect">
|
||||
<xsd:attribute name="edit" type="ST_DocProtect" use="optional"/>
|
||||
@ -798,44 +795,44 @@
|
||||
</xsd:restriction>
|
||||
</xsd:simpleType>
|
||||
<xsd:complexType name="CT_Markup">
|
||||
<xsd:attribute name="id" type="ST_DecimalNumber" use="required"/>
|
||||
<xsd:attribute name="id" type="xsd:int" use="required"/>
|
||||
</xsd:complexType>
|
||||
<xsd:complexType name="CT_TrackChange">
|
||||
<xsd:attribute name="id" type="ST_DecimalNumber" use="required"/>
|
||||
<xsd:attribute name="id" type="xsd:int" use="required"/>
|
||||
<xsd:attribute name="author" type="s:ST_String" use="required"/>
|
||||
<xsd:attribute name="date" type="ST_DateTime" use="optional"/>
|
||||
</xsd:complexType>
|
||||
<xsd:complexType name="CT_CellMergeTrackChange">
|
||||
<xsd:attribute name="id" type="ST_DecimalNumber" use="required"/>
|
||||
<xsd:attribute name="id" type="xsd:int" use="required"/>
|
||||
<xsd:attribute name="author" type="s:ST_String" use="required"/>
|
||||
<xsd:attribute name="date" type="ST_DateTime" use="optional"/>
|
||||
<xsd:attribute name="vMerge" type="ST_AnnotationVMerge" use="optional"/>
|
||||
<xsd:attribute name="vMergeOrig" type="ST_AnnotationVMerge" use="optional"/>
|
||||
</xsd:complexType>
|
||||
<xsd:complexType name="CT_TrackChangeRange">
|
||||
<xsd:attribute name="id" type="ST_DecimalNumber" use="required"/>
|
||||
<xsd:attribute name="id" type="xsd:int" use="required"/>
|
||||
<xsd:attribute name="author" type="s:ST_String" use="required"/>
|
||||
<xsd:attribute name="date" type="ST_DateTime" use="optional"/>
|
||||
<xsd:attribute name="displacedByCustomXml" type="ST_DisplacedByCustomXml" use="optional"/>
|
||||
</xsd:complexType>
|
||||
<xsd:complexType name="CT_MarkupRange">
|
||||
<xsd:attribute name="id" type="ST_DecimalNumber" use="required"/>
|
||||
<xsd:attribute name="id" type="xsd:int" use="required"/>
|
||||
<xsd:attribute name="displacedByCustomXml" type="ST_DisplacedByCustomXml" use="optional"/>
|
||||
</xsd:complexType>
|
||||
<xsd:complexType name="CT_BookmarkRange">
|
||||
<xsd:attribute name="id" type="ST_DecimalNumber" use="required"/>
|
||||
<xsd:attribute name="id" type="xsd:int" use="required"/>
|
||||
<xsd:attribute name="displacedByCustomXml" type="ST_DisplacedByCustomXml" use="optional"/>
|
||||
<xsd:attribute name="colFirst" type="ST_DecimalNumber" use="optional"/>
|
||||
<xsd:attribute name="colLast" type="ST_DecimalNumber" use="optional"/>
|
||||
<xsd:attribute name="colFirst" type="xsd:int" use="optional"/>
|
||||
<xsd:attribute name="colLast" type="xsd:int" use="optional"/>
|
||||
</xsd:complexType>
|
||||
<xsd:complexType name="CT_Bookmark">
|
||||
<xsd:attribute name="colFirst" type="ST_DecimalNumber" use="optional"/>
|
||||
<xsd:attribute name="colLast" type="ST_DecimalNumber" use="optional"/>
|
||||
<xsd:attribute name="colFirst" type="xsd:int" use="optional"/>
|
||||
<xsd:attribute name="colLast" type="xsd:int" use="optional"/>
|
||||
<xsd:attribute name="name" type="s:ST_String" use="required"/>
|
||||
</xsd:complexType>
|
||||
<xsd:complexType name="CT_MoveBookmark">
|
||||
<xsd:attribute name="colFirst" type="ST_DecimalNumber" use="optional"/>
|
||||
<xsd:attribute name="colLast" type="ST_DecimalNumber" use="optional"/>
|
||||
<xsd:attribute name="colFirst" type="xsd:int" use="optional"/>
|
||||
<xsd:attribute name="colLast" type="xsd:int" use="optional"/>
|
||||
<xsd:attribute name="name" type="s:ST_String" use="required"/>
|
||||
<xsd:attribute name="author" type="s:ST_String" use="required"/>
|
||||
<xsd:attribute name="date" type="ST_DateTime" use="required"/>
|
||||
@ -844,7 +841,7 @@
|
||||
<xsd:sequence>
|
||||
<xsd:element name="todo_EG_BlockLevelElts" type="CT_String" minOccurs="0"/>
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="id" type="ST_DecimalNumber" use="required"/>
|
||||
<xsd:attribute name="id" type="xsd:int" use="required"/>
|
||||
<xsd:attribute name="author" type="s:ST_String" use="required"/>
|
||||
<xsd:attribute name="date" type="ST_DateTime" use="optional"/>
|
||||
<xsd:attribute name="initials" type="s:ST_String" use="optional"/>
|
||||
@ -853,7 +850,7 @@
|
||||
<xsd:sequence>
|
||||
<xsd:element name="tblPrEx" type="CT_TblPrExBase" minOccurs="1"/>
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="id" type="ST_DecimalNumber" use="required"/>
|
||||
<xsd:attribute name="id" type="xsd:int" use="required"/>
|
||||
<xsd:attribute name="author" type="s:ST_String" use="required"/>
|
||||
<xsd:attribute name="date" type="ST_DateTime" use="optional"/>
|
||||
</xsd:complexType>
|
||||
@ -861,7 +858,7 @@
|
||||
<xsd:sequence>
|
||||
<xsd:element name="tcPr" type="CT_TcPrInner" minOccurs="1"/>
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="id" type="ST_DecimalNumber" use="required"/>
|
||||
<xsd:attribute name="id" type="xsd:int" use="required"/>
|
||||
<xsd:attribute name="author" type="s:ST_String" use="required"/>
|
||||
<xsd:attribute name="date" type="ST_DateTime" use="optional"/>
|
||||
</xsd:complexType>
|
||||
@ -869,7 +866,7 @@
|
||||
<xsd:sequence>
|
||||
<xsd:element name="trPr" type="CT_TrPrBase" minOccurs="1"/>
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="id" type="ST_DecimalNumber" use="required"/>
|
||||
<xsd:attribute name="id" type="xsd:int" use="required"/>
|
||||
<xsd:attribute name="author" type="s:ST_String" use="required"/>
|
||||
<xsd:attribute name="date" type="ST_DateTime" use="optional"/>
|
||||
</xsd:complexType>
|
||||
@ -877,13 +874,13 @@
|
||||
<xsd:sequence>
|
||||
<xsd:element name="tblGrid" type="CT_TblGridBase"/>
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="id" type="ST_DecimalNumber" use="required"/>
|
||||
<xsd:attribute name="id" type="xsd:int" use="required"/>
|
||||
</xsd:complexType>
|
||||
<xsd:complexType name="CT_TblPrChange">
|
||||
<xsd:sequence>
|
||||
<xsd:element name="tblPr" type="CT_TblPrBase"/>
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="id" type="ST_DecimalNumber" use="required"/>
|
||||
<xsd:attribute name="id" type="xsd:int" use="required"/>
|
||||
<xsd:attribute name="author" type="s:ST_String" use="required"/>
|
||||
<xsd:attribute name="date" type="ST_DateTime" use="optional"/>
|
||||
</xsd:complexType>
|
||||
@ -891,7 +888,7 @@
|
||||
<xsd:sequence>
|
||||
<xsd:element name="sectPr" type="CT_SectPrBase" minOccurs="0"/>
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="id" type="ST_DecimalNumber" use="required"/>
|
||||
<xsd:attribute name="id" type="xsd:int" use="required"/>
|
||||
<xsd:attribute name="author" type="s:ST_String" use="required"/>
|
||||
<xsd:attribute name="date" type="ST_DateTime" use="optional"/>
|
||||
</xsd:complexType>
|
||||
@ -899,7 +896,7 @@
|
||||
<xsd:sequence>
|
||||
<xsd:element name="pPr" type="CT_PPrBase" minOccurs="1"/>
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="id" type="ST_DecimalNumber" use="required"/>
|
||||
<xsd:attribute name="id" type="xsd:int" use="required"/>
|
||||
<xsd:attribute name="author" type="s:ST_String" use="required"/>
|
||||
<xsd:attribute name="date" type="ST_DateTime" use="optional"/>
|
||||
</xsd:complexType>
|
||||
@ -907,7 +904,7 @@
|
||||
<xsd:sequence>
|
||||
<xsd:element name="rPr" type="CT_RPrOriginal" minOccurs="1"/>
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="id" type="ST_DecimalNumber" use="required"/>
|
||||
<xsd:attribute name="id" type="xsd:int" use="required"/>
|
||||
<xsd:attribute name="author" type="s:ST_String" use="required"/>
|
||||
<xsd:attribute name="date" type="ST_DateTime" use="optional"/>
|
||||
</xsd:complexType>
|
||||
@ -915,7 +912,7 @@
|
||||
<xsd:sequence>
|
||||
<xsd:element name="rPr" type="CT_ParaRPrOriginal" minOccurs="1"/>
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="id" type="ST_DecimalNumber" use="required"/>
|
||||
<xsd:attribute name="id" type="xsd:int" use="required"/>
|
||||
<xsd:attribute name="author" type="s:ST_String" use="required"/>
|
||||
<xsd:attribute name="date" type="ST_DateTime" use="optional"/>
|
||||
</xsd:complexType>
|
||||
@ -924,7 +921,7 @@
|
||||
<xsd:element name="todo_EG_ContentRunContent" type="CT_String" minOccurs="0"/>
|
||||
<xsd:group ref="m:EG_OMathMathElements"/>
|
||||
</xsd:choice>
|
||||
<xsd:attribute name="id" type="ST_DecimalNumber" use="required"/>
|
||||
<xsd:attribute name="id" type="xsd:int" use="required"/>
|
||||
<xsd:attribute name="author" type="s:ST_String" use="required"/>
|
||||
<xsd:attribute name="date" type="ST_DateTime" use="optional"/>
|
||||
</xsd:complexType>
|
||||
@ -1323,8 +1320,8 @@
|
||||
<xsd:attribute name="val" type="ST_SectionMark"/>
|
||||
</xsd:complexType>
|
||||
<xsd:complexType name="CT_PaperSource">
|
||||
<xsd:attribute name="first" type="ST_DecimalNumber"/>
|
||||
<xsd:attribute name="other" type="ST_DecimalNumber"/>
|
||||
<xsd:attribute name="first" type="xsd:int"/>
|
||||
<xsd:attribute name="other" type="xsd:int"/>
|
||||
</xsd:complexType>
|
||||
<xsd:simpleType name="ST_NumberFormat">
|
||||
<xsd:restriction base="xsd:string">
|
||||
@ -1403,7 +1400,7 @@
|
||||
<xsd:attribute name="w" type="s:ST_TwipsMeasure"/>
|
||||
<xsd:attribute name="h" type="s:ST_TwipsMeasure"/>
|
||||
<xsd:attribute name="orient" type="ST_PageOrientation" use="optional"/>
|
||||
<xsd:attribute name="code" type="ST_DecimalNumber" use="optional"/>
|
||||
<xsd:attribute name="code" type="xsd:int" use="optional"/>
|
||||
</xsd:complexType>
|
||||
<xsd:complexType name="CT_PageMar">
|
||||
<xsd:attribute name="top" type="ST_SignedTwipsMeasure" use="required"/>
|
||||
@ -1500,15 +1497,15 @@
|
||||
</xsd:restriction>
|
||||
</xsd:simpleType>
|
||||
<xsd:complexType name="CT_LineNumber">
|
||||
<xsd:attribute name="countBy" type="ST_DecimalNumber" use="optional"/>
|
||||
<xsd:attribute name="start" type="ST_DecimalNumber" use="optional" default="1"/>
|
||||
<xsd:attribute name="countBy" type="xsd:int" use="optional"/>
|
||||
<xsd:attribute name="start" type="xsd:int" use="optional" default="1"/>
|
||||
<xsd:attribute name="distance" type="s:ST_TwipsMeasure" use="optional"/>
|
||||
<xsd:attribute name="restart" type="ST_LineNumberRestart" use="optional" default="newPage"/>
|
||||
</xsd:complexType>
|
||||
<xsd:complexType name="CT_PageNumber">
|
||||
<xsd:attribute name="fmt" type="ST_NumberFormat" use="optional" default="decimal"/>
|
||||
<xsd:attribute name="start" type="ST_DecimalNumber" use="optional"/>
|
||||
<xsd:attribute name="chapStyle" type="ST_DecimalNumber" use="optional"/>
|
||||
<xsd:attribute name="start" type="xsd:int" use="optional"/>
|
||||
<xsd:attribute name="chapStyle" type="xsd:int" use="optional"/>
|
||||
<xsd:attribute name="chapSep" type="ST_ChapterSep" use="optional" default="hyphen"/>
|
||||
</xsd:complexType>
|
||||
<xsd:complexType name="CT_Column">
|
||||
@ -1521,7 +1518,7 @@
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="equalWidth" type="s:ST_OnOff" use="optional"/>
|
||||
<xsd:attribute name="space" type="s:ST_TwipsMeasure" use="optional" default="720"/>
|
||||
<xsd:attribute name="num" type="ST_DecimalNumber" use="optional" default="1"/>
|
||||
<xsd:attribute name="num" type="xsd:int" use="optional" default="1"/>
|
||||
<xsd:attribute name="sep" type="s:ST_OnOff" use="optional"/>
|
||||
</xsd:complexType>
|
||||
<xsd:simpleType name="ST_VerticalJc">
|
||||
@ -1545,8 +1542,8 @@
|
||||
</xsd:simpleType>
|
||||
<xsd:complexType name="CT_DocGrid">
|
||||
<xsd:attribute name="type" type="ST_DocGrid"/>
|
||||
<xsd:attribute name="linePitch" type="ST_DecimalNumber"/>
|
||||
<xsd:attribute name="charSpace" type="ST_DecimalNumber" use="optional" default="0"/>
|
||||
<xsd:attribute name="linePitch" type="xsd:int"/>
|
||||
<xsd:attribute name="charSpace" type="xsd:int" use="optional" default="0"/>
|
||||
</xsd:complexType>
|
||||
<xsd:simpleType name="ST_HdrFtr">
|
||||
<xsd:restriction base="xsd:string">
|
||||
@ -1702,8 +1699,8 @@
|
||||
<xsd:attribute name="displacedByCustomXml" type="ST_DisplacedByCustomXml" use="optional"/>
|
||||
<xsd:attribute name="edGrp" type="ST_EdGrp" use="optional"/>
|
||||
<xsd:attribute name="ed" type="s:ST_String" use="optional"/>
|
||||
<xsd:attribute name="colFirst" type="ST_DecimalNumber" use="optional"/>
|
||||
<xsd:attribute name="colLast" type="ST_DecimalNumber" use="optional"/>
|
||||
<xsd:attribute name="colFirst" type="xsd:int" use="optional"/>
|
||||
<xsd:attribute name="colLast" type="xsd:int" use="optional"/>
|
||||
</xsd:complexType>
|
||||
<xsd:complexType name="CT_Text">
|
||||
<xsd:attribute ref="xml:space" use="optional"/>
|
||||
@ -1853,7 +1850,7 @@
|
||||
<xsd:element name="del" type="CT_RPrChange" minOccurs="1"/>
|
||||
<xsd:element name="rPr" type="CT_RPr" minOccurs="1"/>
|
||||
</xsd:choice>
|
||||
<xsd:attribute name="id" type="ST_DecimalNumber" use="required"/>
|
||||
<xsd:attribute name="id" type="xsd:int" use="required"/>
|
||||
<xsd:attribute name="author" type="s:ST_String" use="required"/>
|
||||
<xsd:attribute name="date" type="ST_DateTime" use="optional"/>
|
||||
</xsd:complexType>
|
||||
@ -1861,7 +1858,7 @@
|
||||
<xsd:sequence>
|
||||
<xsd:element name="rPr" type="CT_RPr" minOccurs="1"/>
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="id" type="ST_DecimalNumber" use="required"/>
|
||||
<xsd:attribute name="id" type="xsd:int" use="required"/>
|
||||
<xsd:attribute name="author" type="s:ST_String" use="required"/>
|
||||
<xsd:attribute name="date" type="ST_DateTime" use="optional"/>
|
||||
</xsd:complexType>
|
||||
@ -2581,17 +2578,17 @@
|
||||
</xsd:complexType>
|
||||
<xsd:complexType name="CT_FtnEdnRef">
|
||||
<xsd:attribute name="customMarkFollows" type="s:ST_OnOff" use="optional"/>
|
||||
<xsd:attribute name="id" use="required" type="ST_DecimalNumber"/>
|
||||
<xsd:attribute name="id" use="required" type="xsd:int"/>
|
||||
</xsd:complexType>
|
||||
<xsd:complexType name="CT_FtnEdnSepRef">
|
||||
<xsd:attribute name="id" type="ST_DecimalNumber" use="required"/>
|
||||
<xsd:attribute name="id" type="xsd:int" use="required"/>
|
||||
</xsd:complexType>
|
||||
<xsd:complexType name="CT_FtnEdn">
|
||||
<xsd:sequence>
|
||||
<xsd:element name="todo_EG_BlockLevelElts" type="CT_String" minOccurs="0"/>
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="type" type="ST_FtnEdn" use="optional"/>
|
||||
<xsd:attribute name="id" type="ST_DecimalNumber" use="required"/>
|
||||
<xsd:attribute name="id" type="xsd:int" use="required"/>
|
||||
</xsd:complexType>
|
||||
<xsd:group name="EG_FtnEdnNumProps">
|
||||
<xsd:sequence>
|
||||
@ -3035,7 +3032,7 @@
|
||||
<xsd:choice>
|
||||
<xsd:element name="drawing" type="CT_Drawing"/>
|
||||
</xsd:choice>
|
||||
<xsd:attribute name="numPicBulletId" type="ST_DecimalNumber" use="required"/>
|
||||
<xsd:attribute name="numPicBulletId" type="xsd:int" use="required"/>
|
||||
</xsd:complexType>
|
||||
<xsd:simpleType name="ST_LevelSuffix">
|
||||
<xsd:restriction base="xsd:string">
|
||||
@ -3065,7 +3062,7 @@
|
||||
<xsd:element name="pPr" type="CT_PPrGeneral" minOccurs="0"/>
|
||||
<xsd:element name="rPr" type="CT_RPr" minOccurs="0"/>
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="ilvl" type="ST_DecimalNumber" use="required"/>
|
||||
<xsd:attribute name="ilvl" type="xsd:int" use="required"/>
|
||||
<xsd:attribute name="tplc" type="ST_LongHexNumber" use="optional"/>
|
||||
<xsd:attribute name="tentative" type="s:ST_OnOff" use="optional"/>
|
||||
</xsd:complexType>
|
||||
@ -3089,21 +3086,21 @@
|
||||
<xsd:element name="numStyleLink" type="CT_String" minOccurs="0"/>
|
||||
<xsd:element name="lvl" type="CT_Lvl" minOccurs="0" maxOccurs="9"/>
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="abstractNumId" type="ST_DecimalNumber" use="required"/>
|
||||
<xsd:attribute name="abstractNumId" type="xsd:int" use="required"/>
|
||||
</xsd:complexType>
|
||||
<xsd:complexType name="CT_NumLvl">
|
||||
<xsd:sequence>
|
||||
<xsd:element name="startOverride" type="CT_DecimalNumber" minOccurs="0"/>
|
||||
<xsd:element name="lvl" type="CT_Lvl" minOccurs="0" maxOccurs="1"/>
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="ilvl" type="ST_DecimalNumber" use="required"/>
|
||||
<xsd:attribute name="ilvl" type="xsd:int" use="required"/>
|
||||
</xsd:complexType>
|
||||
<xsd:complexType name="CT_Num">
|
||||
<xsd:sequence>
|
||||
<xsd:element name="abstractNumId" type="CT_DecimalNumber" minOccurs="1"/>
|
||||
<xsd:element name="lvlOverride" type="CT_NumLvl" minOccurs="0" maxOccurs="9"/>
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="numId" type="ST_DecimalNumber" use="required"/>
|
||||
<xsd:attribute name="numId" type="xsd:int" use="required"/>
|
||||
</xsd:complexType>
|
||||
<xsd:complexType name="CT_Numbering">
|
||||
<xsd:sequence>
|
||||
@ -3181,7 +3178,7 @@
|
||||
<xsd:complexType name="CT_LsdException">
|
||||
<xsd:attribute name="name" type="s:ST_String" use="required"/>
|
||||
<xsd:attribute name="locked" type="s:ST_OnOff"/>
|
||||
<xsd:attribute name="uiPriority" type="ST_DecimalNumber"/>
|
||||
<xsd:attribute name="uiPriority" type="xsd:int"/>
|
||||
<xsd:attribute name="semiHidden" type="s:ST_OnOff"/>
|
||||
<xsd:attribute name="unhideWhenUsed" type="s:ST_OnOff"/>
|
||||
<xsd:attribute name="qFormat" type="s:ST_OnOff"/>
|
||||
@ -3191,11 +3188,11 @@
|
||||
<xsd:element name="lsdException" type="CT_LsdException" minOccurs="0" maxOccurs="unbounded"/>
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="defLockedState" type="s:ST_OnOff"/>
|
||||
<xsd:attribute name="defUIPriority" type="ST_DecimalNumber"/>
|
||||
<xsd:attribute name="defUIPriority" type="xsd:int"/>
|
||||
<xsd:attribute name="defSemiHidden" type="s:ST_OnOff"/>
|
||||
<xsd:attribute name="defUnhideWhenUsed" type="s:ST_OnOff"/>
|
||||
<xsd:attribute name="defQFormat" type="s:ST_OnOff"/>
|
||||
<xsd:attribute name="count" type="ST_DecimalNumber"/>
|
||||
<xsd:attribute name="count" type="xsd:int"/>
|
||||
</xsd:complexType>
|
||||
<xsd:complexType name="CT_Styles">
|
||||
<xsd:sequence>
|
||||
@ -3283,7 +3280,7 @@
|
||||
<xsd:element name="divBdr" type="CT_DivBdr" minOccurs="0"/>
|
||||
<xsd:element name="divsChild" type="CT_Divs" minOccurs="0" maxOccurs="unbounded"/>
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="id" type="ST_DecimalNumber" use="required"/>
|
||||
<xsd:attribute name="id" type="xsd:int" use="required"/>
|
||||
</xsd:complexType>
|
||||
<xsd:complexType name="CT_Divs">
|
||||
<xsd:sequence minOccurs="1" maxOccurs="unbounded">
|
||||
@ -3501,7 +3498,7 @@
|
||||
<xsd:attribute name="name" type="s:ST_String" use="required"/>
|
||||
<xsd:attribute name="pos" type="ST_CaptionPos" use="optional"/>
|
||||
<xsd:attribute name="chapNum" type="s:ST_OnOff" use="optional"/>
|
||||
<xsd:attribute name="heading" type="ST_DecimalNumber" use="optional"/>
|
||||
<xsd:attribute name="heading" type="xsd:int" use="optional"/>
|
||||
<xsd:attribute name="noLabel" type="s:ST_OnOff" use="optional"/>
|
||||
<xsd:attribute name="numFmt" type="ST_NumberFormat" use="optional"/>
|
||||
<xsd:attribute name="sep" type="ST_ChapterSep" use="optional"/>
|
||||
|
||||
@ -0,0 +1 @@
|
||||
.
|
||||
@ -0,0 +1 @@
|
||||
.
|
||||
@ -0,0 +1 @@
|
||||
.
|
||||
@ -0,0 +1 @@
|
||||
.
|
||||
@ -0,0 +1 @@
|
||||
,
|
||||
@ -0,0 +1 @@
|
||||
,
|
||||
@ -0,0 +1 @@
|
||||
,
|
||||
@ -0,0 +1 @@
|
||||
,
|
||||
@ -0,0 +1 @@
|
||||
,
|
||||
@ -0,0 +1 @@
|
||||
.
|
||||
@ -0,0 +1 @@
|
||||
.
|
||||
@ -0,0 +1 @@
|
||||
.
|
||||
@ -0,0 +1 @@
|
||||
.
|
||||
@ -0,0 +1 @@
|
||||
.
|
||||
@ -0,0 +1 @@
|
||||
.
|
||||
@ -0,0 +1 @@
|
||||
.
|
||||
@ -0,0 +1 @@
|
||||
.
|
||||
@ -0,0 +1 @@
|
||||
.
|
||||
@ -0,0 +1 @@
|
||||
.
|
||||
@ -0,0 +1 @@
|
||||
.
|
||||
@ -0,0 +1 @@
|
||||
.
|
||||
@ -0,0 +1 @@
|
||||
.
|
||||
@ -0,0 +1 @@
|
||||
.
|
||||
@ -0,0 +1 @@
|
||||
.
|
||||
@ -0,0 +1 @@
|
||||
.
|
||||
@ -0,0 +1 @@
|
||||
.
|
||||
@ -0,0 +1 @@
|
||||
.
|
||||
@ -0,0 +1 @@
|
||||
.
|
||||
@ -0,0 +1 @@
|
||||
,
|
||||
@ -0,0 +1 @@
|
||||
.
|
||||
@ -0,0 +1 @@
|
||||
.
|
||||
@ -0,0 +1 @@
|
||||
.
|
||||
@ -0,0 +1 @@
|
||||
.
|
||||
@ -0,0 +1 @@
|
||||
.
|
||||
@ -0,0 +1 @@
|
||||
.
|
||||
@ -0,0 +1 @@
|
||||
.
|
||||
@ -0,0 +1 @@
|
||||
.
|
||||
@ -0,0 +1 @@
|
||||
.
|
||||
@ -0,0 +1 @@
|
||||
.
|
||||
@ -0,0 +1 @@
|
||||
.
|
||||
@ -0,0 +1 @@
|
||||
.
|
||||
@ -0,0 +1 @@
|
||||
,
|
||||
@ -0,0 +1 @@
|
||||
,
|
||||
@ -0,0 +1 @@
|
||||
.
|
||||
@ -0,0 +1 @@
|
||||
.
|
||||
@ -0,0 +1 @@
|
||||
.
|
||||
@ -0,0 +1 @@
|
||||
.
|
||||
@ -0,0 +1 @@
|
||||
,
|
||||
@ -0,0 +1 @@
|
||||
,
|
||||
@ -0,0 +1 @@
|
||||
,
|
||||
@ -0,0 +1 @@
|
||||
,
|
||||
@ -0,0 +1 @@
|
||||
,
|
||||
@ -0,0 +1 @@
|
||||
,
|
||||
@ -0,0 +1 @@
|
||||
,
|
||||
@ -0,0 +1 @@
|
||||
,
|
||||
@ -0,0 +1 @@
|
||||
,
|
||||
@ -0,0 +1 @@
|
||||
,
|
||||
@ -0,0 +1 @@
|
||||
,
|
||||
@ -0,0 +1 @@
|
||||
,
|
||||
@ -0,0 +1 @@
|
||||
,
|
||||
@ -0,0 +1 @@
|
||||
.
|
||||
@ -0,0 +1 @@
|
||||
.
|
||||
@ -0,0 +1 @@
|
||||
.
|
||||
@ -0,0 +1 @@
|
||||
.
|
||||
@ -0,0 +1 @@
|
||||
,
|
||||
@ -0,0 +1 @@
|
||||
,
|
||||
@ -0,0 +1 @@
|
||||
.
|
||||
@ -0,0 +1 @@
|
||||
.
|
||||
@ -0,0 +1 @@
|
||||
.
|
||||
@ -0,0 +1 @@
|
||||
.
|
||||
@ -0,0 +1 @@
|
||||
.
|
||||
@ -0,0 +1 @@
|
||||
.
|
||||
@ -0,0 +1 @@
|
||||
.
|
||||
@ -0,0 +1 @@
|
||||
.
|
||||
@ -0,0 +1 @@
|
||||
.
|
||||
@ -0,0 +1 @@
|
||||
.
|
||||
@ -0,0 +1 @@
|
||||
.
|
||||
@ -0,0 +1 @@
|
||||
,
|
||||
@ -0,0 +1 @@
|
||||
,
|
||||
@ -0,0 +1 @@
|
||||
.
|
||||
@ -0,0 +1 @@
|
||||
.
|
||||
@ -0,0 +1 @@
|
||||
,
|
||||
@ -0,0 +1 @@
|
||||
,
|
||||
@ -0,0 +1 @@
|
||||
,
|
||||
@ -0,0 +1 @@
|
||||
,
|
||||
@ -0,0 +1 @@
|
||||
,
|
||||
@ -0,0 +1 @@
|
||||
.
|
||||
@ -0,0 +1 @@
|
||||
.
|
||||
@ -0,0 +1 @@
|
||||
,
|
||||
@ -0,0 +1 @@
|
||||
,
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user