14.06.2023
@@ -25,7 +25,7 @@ class EditorMainWindow : public QMainWindow
|
|||||||
Q_OBJECT
|
Q_OBJECT
|
||||||
|
|
||||||
public:
|
public:
|
||||||
QString version = "вер. 1.16";
|
QString version = "вер. 1.15";
|
||||||
EditorMainWindow(QWidget *parent = nullptr);
|
EditorMainWindow(QWidget *parent = nullptr);
|
||||||
~EditorMainWindow();
|
~EditorMainWindow();
|
||||||
|
|
||||||
|
|||||||
@@ -447,22 +447,6 @@
|
|||||||
</property>
|
</property>
|
||||||
</widget>
|
</widget>
|
||||||
</item>
|
</item>
|
||||||
<item>
|
|
||||||
<spacer name="verticalSpacer_5">
|
|
||||||
<property name="orientation">
|
|
||||||
<enum>Qt::Vertical</enum>
|
|
||||||
</property>
|
|
||||||
<property name="sizeType">
|
|
||||||
<enum>QSizePolicy::Fixed</enum>
|
|
||||||
</property>
|
|
||||||
<property name="sizeHint" stdset="0">
|
|
||||||
<size>
|
|
||||||
<width>20</width>
|
|
||||||
<height>5</height>
|
|
||||||
</size>
|
|
||||||
</property>
|
|
||||||
</spacer>
|
|
||||||
</item>
|
|
||||||
<item>
|
<item>
|
||||||
<spacer name="verticalSpacer">
|
<spacer name="verticalSpacer">
|
||||||
<property name="orientation">
|
<property name="orientation">
|
||||||
|
|||||||
@@ -182,7 +182,7 @@ void HTML::Generate(S1000D_Manager* _SM, bool _toScorm, SplashForm* _splash) {
|
|||||||
}
|
}
|
||||||
if(newTitle == id)
|
if(newTitle == id)
|
||||||
if(!SM->isConsole)
|
if(!SM->isConsole)
|
||||||
qDebug() << "[html: "+QString::number(i)+"] Ссылка не переименована: " + id + " ("+SM->item->fileName+")";
|
qDebug() << "Ссылка не переименована: " << id << "("+SM->item->importedFromLyX+")";
|
||||||
SM->item->html[i].replace(SM->item->html[i].mid(_b, _e-_b), newTitle);
|
SM->item->html[i].replace(SM->item->html[i].mid(_b, _e-_b), newTitle);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -322,74 +322,12 @@ void HTML::parseNode(QDomNode node, int lvl) {
|
|||||||
}
|
}
|
||||||
id = id.replace(".", "_").replace(":", "_").replace("-", "_").replace(" ", "_"); //normID
|
id = id.replace(".", "_").replace(":", "_").replace("-", "_").replace(" ", "_"); //normID
|
||||||
|
|
||||||
//qDebug() << "internalRef: "+id;
|
|
||||||
|
|
||||||
cat("<a href=\"#"+id+"\">");
|
cat("<a href=\"#"+id+"\">");
|
||||||
cat("idTitle_"+id); //TODO
|
cat("idTitle_"+id); //TODO
|
||||||
cat("</a>");
|
cat("</a>");
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
if(name == "dmSegmentRef") {
|
|
||||||
QString tPath = node.toElement().attribute("targetPath");
|
|
||||||
//int _b = tPath.indexOf("'");
|
|
||||||
//QString id = tPath.mid(_b+1, tPath.indexOf("'", _b+1)-(_b+1));
|
|
||||||
QString refFileCode = SM->dmCodeIdentString(node.toElement().namedItem("dmRefIdent").namedItem("dmCode"));
|
|
||||||
QString refTechName = node.toElement().namedItem("dmRefAddressItems").namedItem("dmTitle").namedItem("techName").childNodes().at(0).toText().data();
|
|
||||||
QString refInfoName = node.toElement().namedItem("dmRefAddressItems").namedItem("dmTitle").namedItem("infoName").childNodes().at(0).toText().data();
|
|
||||||
int refItemInd = -1;
|
|
||||||
int tmpCurItem = SM->itemIndex;
|
|
||||||
for(int i=0;i<SM->items.count();i++)
|
|
||||||
if(SM->items[i].moduleType == mtDM){
|
|
||||||
SM->setCurItem(i);
|
|
||||||
QString itemFileCode = SM->dmIdentString("identAndStatusSection.dmAddress.dmIdent");
|
|
||||||
QString itemTechName = SM->item->doc.namedItem("dmodule").namedItem("identAndStatusSection").namedItem("dmAddress").namedItem("dmAddressItems").namedItem("dmTitle").namedItem("techName").childNodes().at(0).toText().data();
|
|
||||||
QString itemInfoName = SM->item->doc.namedItem("dmodule").namedItem("identAndStatusSection").namedItem("dmAddress").namedItem("dmAddressItems").namedItem("dmTitle").namedItem("infoName").childNodes().at(0).toText().data();
|
|
||||||
if(refFileCode == itemFileCode && refTechName == itemTechName && refInfoName == itemInfoName)
|
|
||||||
{
|
|
||||||
refItemInd = i; break;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
if(refItemInd == -1) {
|
|
||||||
qDebug() << "HTML dmSegmentRef: ref item not found ("+refTechName+" "+refFileCode+")";
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
QString labelTitle = "";
|
|
||||||
QDomNode labelNode = SM->getNodeFromXPath(tPath); //, true
|
|
||||||
|
|
||||||
if(labelNode.isNull()) {
|
|
||||||
qDebug() << "HTML dmSegmentRef: labelNode.isNull ";
|
|
||||||
qDebug() << " " << tPath;
|
|
||||||
qDebug() << " " << SM->item->fileName;
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
else {
|
|
||||||
//qDebug() << "HTML dmSegmentRef: OK - " << tPath;
|
|
||||||
}
|
|
||||||
if(labelNode.toElement().namedItem("title").isNull()) {
|
|
||||||
qDebug() << "HTML dmSegmentRef: labelNode.title.isNull";
|
|
||||||
//return;
|
|
||||||
} else {
|
|
||||||
labelTitle = labelNode.toElement().namedItem("title").toElement().firstChild().toText().data();
|
|
||||||
}
|
|
||||||
|
|
||||||
QString id = labelNode.attributes().namedItem("id").nodeValue();
|
|
||||||
id = id.replace(".", "_").replace(":", "_").replace("-", "_").replace(" ", "_"); //normID
|
|
||||||
QString htmlFileName = QString(SM->item->fileName).replace(".xml", ".html");
|
|
||||||
|
|
||||||
SM->setCurItem(tmpCurItem);
|
|
||||||
//***********
|
|
||||||
//qDebug() << "<a href=\""+htmlFileName+"#"+id+"\">";
|
|
||||||
|
|
||||||
cat("<a href=\""+htmlFileName+"#"+id+"\">");
|
|
||||||
cat(refTechName + " / " + labelTitle);
|
|
||||||
cat("</a>");
|
|
||||||
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
if(name == "randomList") {
|
if(name == "randomList") {
|
||||||
bool oldParaIdent = paraIdent; paraIdent = false;
|
bool oldParaIdent = paraIdent; paraIdent = false;
|
||||||
if(node.firstChild().nodeName() == "title") {
|
if(node.firstChild().nodeName() == "title") {
|
||||||
@@ -821,6 +759,8 @@ void HTML::parseNode(QDomNode node, int lvl) {
|
|||||||
paraIdent = oldParaIdent;
|
paraIdent = oldParaIdent;
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
//<span style="font-weight:bold;background-color:#000000;color:#FFFFFF">ОТКЛ</span>
|
||||||
|
//<span style="font-weight:bold;background-color:#000000;color:#00FF00">ВКЛ</span>
|
||||||
|
|
||||||
if(name == "supScript" || name == "subScript") {
|
if(name == "supScript" || name == "subScript") {
|
||||||
if(node.childNodes().count() == 1)
|
if(node.childNodes().count() == 1)
|
||||||
@@ -1023,10 +963,9 @@ void HTML::parseNode(QDomNode node, int lvl) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
QString s = "<b><i>(-unknown-)</i> " + node.nodeName() + " " + node.nodeValue() + "</b><br>";
|
QString s = "<b><i>(-unknown-)</i> " + node.nodeName() + " " + node.nodeValue() + "</b><br>";
|
||||||
qDebug() << "Unknown S1000D node: "+node.nodeName();
|
|
||||||
add(0, s);
|
add(0, s);
|
||||||
//for(int j=0;j<node.childNodes().count();j++)
|
for(int j=0;j<node.childNodes().count();j++)
|
||||||
// parseNode(node.childNodes().at(j), lvl+1);
|
parseNode(node.childNodes().at(j), lvl+1);
|
||||||
}
|
}
|
||||||
|
|
||||||
QString HTML::spc(int n) {
|
QString HTML::spc(int n) {
|
||||||
|
|||||||
@@ -121,7 +121,7 @@ bool LyX::Import(S1000D_Manager* _SM, QString fileName, SplashForm* _splash) {
|
|||||||
curChapterItem = curSectionItem = curSubsectionItem = -1;
|
curChapterItem = curSectionItem = curSubsectionItem = -1;
|
||||||
tocItemNum = acrListItemNum = -1;
|
tocItemNum = acrListItemNum = -1;
|
||||||
tableOfContentsRoot.childs.clear(); domTableOfContentsNode.clear(); domAcronymListNode.clear();
|
tableOfContentsRoot.childs.clear(); domTableOfContentsNode.clear(); domAcronymListNode.clear();
|
||||||
labelList.clear(); acronymList.clear(); refList.clear();
|
labelList.clear(); acronymList.clear();
|
||||||
cntTable = cntFigure = cntPar = 0;
|
cntTable = cntFigure = cntPar = 0;
|
||||||
tableTitle = ""; tableID = "";
|
tableTitle = ""; tableID = "";
|
||||||
flags.align = ""; flags.bold = false; flags.italic = false; flags.underlined = false;
|
flags.align = ""; flags.bold = false; flags.italic = false; flags.underlined = false;
|
||||||
@@ -176,20 +176,8 @@ bool LyX::readLyXFile(QString fileName) {
|
|||||||
|
|
||||||
parseBlock(i+1, findTagEnd(i)-1, domRootNode); // поехали
|
parseBlock(i+1, findTagEnd(i)-1, domRootNode); // поехали
|
||||||
|
|
||||||
//if(lyxLog.count() == 2) lyxLog.append("#Завершено без ошибок.");
|
if(lyxLog.count() == 2) lyxLog.append("#Завершено без ошибок."); //SM->item->
|
||||||
if(curSubsectionItem != -1) SM->items[curSubsectionItem].lyxLog = lyxLog;
|
if(curSubsectionItem != -1) SM->items[curSubsectionItem].lyxLog = lyxLog;
|
||||||
|
|
||||||
//for(int i=0;i<SM->items.count();i++)
|
|
||||||
// qDebug() << i << SM->items[i].fileName << SM->items[i].doc.namedItem("dmodule").nodeName() << SM->items[i].doc.namedItem("dmodule").childNodes().count();
|
|
||||||
//qDebug() << "";
|
|
||||||
|
|
||||||
//SM->SaveProject();
|
|
||||||
|
|
||||||
connectRefsWithLabels();
|
|
||||||
|
|
||||||
for(int i=0;i<SM->items.count();i++)
|
|
||||||
if(SM->items[i].lyxLog.count() == 2) SM->items[i].lyxLog.append("#Завершено без ошибок.");
|
|
||||||
|
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -271,7 +259,7 @@ void LyX::parseBlock(int _beg, int _end, QDomNode _domCurLevelNode) {
|
|||||||
appendChapter(title);
|
appendChapter(title);
|
||||||
checkForOldIdent();
|
checkForOldIdent();
|
||||||
SM->item->importedFromLyX = curLyXFileName;
|
SM->item->importedFromLyX = curLyXFileName;
|
||||||
domCurLevelNode = SM->item->doc.namedItem("pm").namedItem("content");
|
domCurLevelNode.clear();
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -293,7 +281,7 @@ void LyX::parseBlock(int _beg, int _end, QDomNode _domCurLevelNode) {
|
|||||||
appendSection(title);
|
appendSection(title);
|
||||||
checkForOldIdent();
|
checkForOldIdent();
|
||||||
SM->item->importedFromLyX = curLyXFileName;
|
SM->item->importedFromLyX = curLyXFileName;
|
||||||
domCurLevelNode = SM->item->doc.namedItem("pm").namedItem("content");
|
domCurLevelNode.clear();
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -313,13 +301,12 @@ void LyX::parseBlock(int _beg, int _end, QDomNode _domCurLevelNode) {
|
|||||||
//if(DBG) qDebug() << " " + title;
|
//if(DBG) qDebug() << " " + title;
|
||||||
|
|
||||||
//qDebug() << internalRefList.count();
|
//qDebug() << internalRefList.count();
|
||||||
/*
|
|
||||||
for(int j=0;j<internalRefList.count();j++) {
|
for(int j=0;j<internalRefList.count();j++) {
|
||||||
QString id = internalRefList[j];
|
QString id = internalRefList[j];
|
||||||
lyxLog.append("![] Некорректная ссылка ("+id+")");
|
lyxLog.append("![] Некорректная ссылка ("+id+")");
|
||||||
//SM->item->isQualifyed = false; ???
|
//SM->item->isQualifyed = false; ???
|
||||||
}
|
}
|
||||||
internalRefList.clear(); */
|
internalRefList.clear();
|
||||||
|
|
||||||
if(docChapter == -1) appendChapter("");
|
if(docChapter == -1) appendChapter("");
|
||||||
if(docSection == -1) appendSection("");
|
if(docSection == -1) appendSection("");
|
||||||
@@ -547,67 +534,26 @@ void LyX::parseBlock(int _beg, int _end, QDomNode _domCurLevelNode) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
if(itemName == "\\begin_layout Enumerate" || itemName == "\\begin_layout Itemize") { //
|
if(itemName == "\\begin_layout Enumerate" || itemName == "\\begin_layout Itemize") { //
|
||||||
// QDomNode titleNodeClone;
|
QDomNode titleNodeClone;
|
||||||
// if(domCurLevelNode.hasChildNodes())
|
|
||||||
// if(domCurLevelNode.lastChild().nodeName() == "para") {
|
|
||||||
// titleNodeClone = domCurLevelNode.lastChild().cloneNode();
|
|
||||||
// domCurLevelNode.removeChild(domCurLevelNode.lastChild());
|
|
||||||
// titleNodeClone.toElement().setTagName("title");
|
|
||||||
// }
|
|
||||||
QDomNode lastPara;
|
|
||||||
if(domCurLevelNode.hasChildNodes())
|
if(domCurLevelNode.hasChildNodes())
|
||||||
if(domCurLevelNode.lastChild().nodeName() == "para")
|
if(domCurLevelNode.lastChild().nodeName() == "para") {
|
||||||
lastPara = domCurLevelNode.lastChild();
|
titleNodeClone = domCurLevelNode.lastChild().cloneNode();
|
||||||
|
domCurLevelNode.removeChild(domCurLevelNode.lastChild());
|
||||||
|
titleNodeClone.toElement().setTagName("title");
|
||||||
|
}
|
||||||
QDomNode listNode;
|
QDomNode listNode;
|
||||||
if(itemName == "\\begin_layout Enumerate") listNode = SM->item->doc.createElement("sequentialList");
|
if(itemName == "\\begin_layout Enumerate") listNode = SM->item->doc.createElement("sequentialList");
|
||||||
if(itemName == "\\begin_layout Itemize") listNode = SM->item->doc.createElement("randomList");
|
if(itemName == "\\begin_layout Itemize") listNode = SM->item->doc.createElement("randomList");
|
||||||
domCurLevelNode.appendChild(listNode);
|
domCurLevelNode.appendChild(listNode);
|
||||||
// QDomNode titleNode;
|
QDomNode titleNode;
|
||||||
// if(titleNodeClone.isNull()) {
|
if(titleNodeClone.isNull()) {
|
||||||
// //titleNode = SM->item->doc.createElement("title");
|
//titleNode = SM->item->doc.createElement("title");
|
||||||
// //titleNode.appendChild(SM->item->doc.createTextNode(""));
|
//titleNode.appendChild(SM->item->doc.createTextNode(""));
|
||||||
// //listNode.appendChild(titleNode);
|
//listNode.appendChild(titleNode);
|
||||||
// }
|
|
||||||
// else {
|
|
||||||
// titleNode = SM->item->doc.importNode(titleNodeClone, true);
|
|
||||||
// listNode.appendChild(titleNode);
|
|
||||||
// }
|
|
||||||
|
|
||||||
if(!lastPara.isNull()) // вышестоящий абзац берем как заголовок, делаем из para -> title
|
|
||||||
{
|
|
||||||
QDomNode titleNode = SM->item->doc.createElement("title");
|
|
||||||
while(lastPara.hasChildNodes()) {
|
|
||||||
QDomNode ch = lastPara.removeChild(lastPara.firstChild());
|
|
||||||
titleNode.appendChild(ch);
|
|
||||||
}
|
}
|
||||||
|
else {
|
||||||
|
titleNode = SM->item->doc.importNode(titleNodeClone, true);
|
||||||
listNode.appendChild(titleNode);
|
listNode.appendChild(titleNode);
|
||||||
lastPara.parentNode().removeChild(lastPara);
|
|
||||||
|
|
||||||
QList<QDomNode> list;
|
|
||||||
QDomNode node;
|
|
||||||
list.append(titleNode);
|
|
||||||
|
|
||||||
while(!list.isEmpty()) { // обновляем refList и labelList для перемещенных узлов
|
|
||||||
node = list.takeFirst();
|
|
||||||
if(node.nodeName().startsWith("blankRefNode")) {
|
|
||||||
for(int n=0;refList.count();n++)
|
|
||||||
if(refList[n].nodeXPath.endsWith(node.nodeName())) {
|
|
||||||
refList[n].nodeXPath = SM->makeNodeXPath(node);
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
QString nodeID = node.attributes().namedItem("id").nodeValue();
|
|
||||||
if(nodeID != "")
|
|
||||||
for(int n=0;labelList.count();n++)
|
|
||||||
if(labelList[n].id == nodeID) {
|
|
||||||
labelList[n].nodeXPath = SM->makeNodeXPath(node);
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
|
|
||||||
for(int n=0;n<node.childNodes().count();n++)
|
|
||||||
list.append(node.childNodes().at(n));
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
int _childBeg, _childEnd=i;
|
int _childBeg, _childEnd=i;
|
||||||
@@ -815,11 +761,10 @@ void LyX::parseBlock(int _beg, int _end, QDomNode _domCurLevelNode) {
|
|||||||
footnoteRef.toElement().setAttribute("internalRefId", acronymList[acroNum].id);
|
footnoteRef.toElement().setAttribute("internalRefId", acronymList[acroNum].id);
|
||||||
domCurLevelNode.appendChild(footnoteRef);
|
domCurLevelNode.appendChild(footnoteRef);
|
||||||
} else { // внутренняя ссылка
|
} else { // внутренняя ссылка
|
||||||
/*
|
|
||||||
int foundLabel = -1;
|
int foundLabel = -1;
|
||||||
for(int j=0;j<labelList.count();j++)
|
for(int j=0;j<labelList.count();j++)
|
||||||
if(refID == labelList[j].lyxLabel) { foundLabel = j; break; }
|
if(refID == labelList[j].lyxLabel) { foundLabel = j; break; }
|
||||||
|
QDomNode internalRef = SM->item->doc.createElement("internalRef");
|
||||||
if(foundLabel == -1) {
|
if(foundLabel == -1) {
|
||||||
if(internalRefList.indexOf(refID) == -1)
|
if(internalRefList.indexOf(refID) == -1)
|
||||||
internalRefList.append(refID);
|
internalRefList.append(refID);
|
||||||
@@ -829,20 +774,19 @@ void LyX::parseBlock(int _beg, int _end, QDomNode _domCurLevelNode) {
|
|||||||
//qDebug() << "internalRef foundLabel: "+refID+" -> "+labelList[foundLabel].id;
|
//qDebug() << "internalRef foundLabel: "+refID+" -> "+labelList[foundLabel].id;
|
||||||
refID = labelList[foundLabel].id;
|
refID = labelList[foundLabel].id;
|
||||||
}
|
}
|
||||||
*/
|
|
||||||
|
|
||||||
QDomNode internalRef = SM->item->doc.createElement("blankRefNode"+QString::number(refList.count()));
|
internalRef.toElement().setAttribute("xlink:actuate", "onRequest");
|
||||||
|
internalRef.toElement().setAttribute("xlink:show", "replace");
|
||||||
|
internalRef.toElement().setAttribute("xlink:href", "#"+refID); //labelList[foundLabel].id
|
||||||
|
internalRef.toElement().setAttribute("internalRefId", refID); //labelList[foundLabel].id
|
||||||
|
QString refTarget = "irtt07";
|
||||||
|
if(refID.left(3) == "fig") refTarget = "irtt01";
|
||||||
|
if(refID.left(3) == "tab") refTarget = "irtt02";
|
||||||
|
if(refID.left(3) == "par") refTarget = "irtt07";
|
||||||
|
if(refID.left(3) == "mma") refTarget = "irtt03";
|
||||||
|
if(refID.left(3) == "fig" && refID.mid(9,3) == "hot") refTarget = "irtt11";
|
||||||
|
internalRef.toElement().setAttribute("internalRefTargetType", refTarget);
|
||||||
domCurLevelNode.appendChild(internalRef);
|
domCurLevelNode.appendChild(internalRef);
|
||||||
|
|
||||||
refStruct ref;
|
|
||||||
ref.itemInd = SM->itemIndex;
|
|
||||||
ref.labelFound = false;
|
|
||||||
ref.lineNum = _insetBeg+lyxEmptyCnt[_insetBeg];
|
|
||||||
ref.lyxRef = refID;
|
|
||||||
//internalRef = domCurLevelNode.childNodes().at(domCurLevelNode.childNodes().count()-1);
|
|
||||||
ref.nodeXPath = SM->makeNodeXPath(internalRef);
|
|
||||||
|
|
||||||
refList.append(ref);
|
|
||||||
}
|
}
|
||||||
continue;
|
continue;
|
||||||
// <objectUse>attribute internalRefTargetType - Тип объекта внутренней ссылки [BRDP-S1-00100] (Глава 3.9.6.1, таблица 25)</objectUse>
|
// <objectUse>attribute internalRefTargetType - Тип объекта внутренней ссылки [BRDP-S1-00100] (Глава 3.9.6.1, таблица 25)</objectUse>
|
||||||
@@ -967,17 +911,14 @@ void LyX::parseBlock(int _beg, int _end, QDomNode _domCurLevelNode) {
|
|||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
labelStruct lbl;
|
labelStruct lbl;
|
||||||
lbl.itemInd = SM->itemIndex;
|
|
||||||
lbl.lyxLabel = lyxID;
|
lbl.lyxLabel = lyxID;
|
||||||
lbl.id = figureID; lbl.used = false;
|
lbl.id = figureID;
|
||||||
lbl.lineNum = _insetBeg+lyxEmptyCnt[_insetBeg];
|
|
||||||
labelList.append(lbl); foundLabel = labelList.count()-1;
|
labelList.append(lbl); foundLabel = labelList.count()-1;
|
||||||
//qDebug() << "+fig: lyx="+lyxID+" id="+figureID+" internalRefList.count()="+QString::number(internalRefList.count());
|
//qDebug() << "+fig: lyx="+lyxID+" id="+figureID+" internalRefList.count()="+QString::number(internalRefList.count());
|
||||||
}
|
}
|
||||||
labelList[foundLabel].defined = true;
|
labelList[foundLabel].defined = true;
|
||||||
|
|
||||||
|
|
||||||
/*
|
|
||||||
for(int j=0;j<internalRefList.count();j++) {
|
for(int j=0;j<internalRefList.count();j++) {
|
||||||
QString id = internalRefList[j];
|
QString id = internalRefList[j];
|
||||||
if(id == lyxID) {
|
if(id == lyxID) {
|
||||||
@@ -1019,7 +960,7 @@ void LyX::parseBlock(int _beg, int _end, QDomNode _domCurLevelNode) {
|
|||||||
//qDebug() << " "+QString::number(j)+": "+id+" != "+lyxID;
|
//qDebug() << " "+QString::number(j)+": "+id+" != "+lyxID;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
*/
|
|
||||||
}
|
}
|
||||||
if(_graphicsBeg == -1 || _graphicsEnd == -1)
|
if(_graphicsBeg == -1 || _graphicsEnd == -1)
|
||||||
lyxLog.append("!["+QString::number(_insetBeg+lyxEmptyCnt[_insetBeg])+"] Ошибка вставки плавающего рисунка \""+figureTitle+"\"");
|
lyxLog.append("!["+QString::number(_insetBeg+lyxEmptyCnt[_insetBeg])+"] Ошибка вставки плавающего рисунка \""+figureTitle+"\"");
|
||||||
@@ -1040,7 +981,7 @@ void LyX::parseBlock(int _beg, int _end, QDomNode _domCurLevelNode) {
|
|||||||
}
|
}
|
||||||
if(filename == "") {
|
if(filename == "") {
|
||||||
lyxLog.append("!["+QString::number(_insetBeg+lyxEmptyCnt[_insetBeg])+"] Ошибка чтения LyX Graphics ("+figureTitle+")");
|
lyxLog.append("!["+QString::number(_insetBeg+lyxEmptyCnt[_insetBeg])+"] Ошибка чтения LyX Graphics ("+figureTitle+")");
|
||||||
SM->item->isQualifyed = false; figureID = "";
|
SM->item->isQualifyed = false;
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
if(filename.startsWith("../")) filename = filename.mid(3);
|
if(filename.startsWith("../")) filename = filename.mid(3);
|
||||||
@@ -1055,7 +996,7 @@ void LyX::parseBlock(int _beg, int _end, QDomNode _domCurLevelNode) {
|
|||||||
}
|
}
|
||||||
if(oldfilename == "") {
|
if(oldfilename == "") {
|
||||||
lyxLog.append("!["+QString::number(_insetBeg+lyxEmptyCnt[_insetBeg])+"] Файл изображения не найден "+filename+" ("+figureTitle+")");
|
lyxLog.append("!["+QString::number(_insetBeg+lyxEmptyCnt[_insetBeg])+"] Файл изображения не найден "+filename+" ("+figureTitle+")");
|
||||||
SM->item->isQualifyed = false; figureID = "";
|
SM->item->isQualifyed = false;
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
newfilename = SM->projectPath+"/"+ QString::number(docChapter+1) + "." + QString::number(docSection+1) + "." + QString::number(docSubsection+1) +
|
newfilename = SM->projectPath+"/"+ QString::number(docChapter+1) + "." + QString::number(docSection+1) + "." + QString::number(docSubsection+1) +
|
||||||
@@ -1081,12 +1022,6 @@ void LyX::parseBlock(int _beg, int _end, QDomNode _domCurLevelNode) {
|
|||||||
figure.appendChild(graphic);
|
figure.appendChild(graphic);
|
||||||
graphic.toElement().setAttribute("infoEntityIdent", QFileInfo(newfilename).fileName());
|
graphic.toElement().setAttribute("infoEntityIdent", QFileInfo(newfilename).fileName());
|
||||||
|
|
||||||
int labelInd = -1;
|
|
||||||
for(int j=0;j<labelList.count();j++)
|
|
||||||
if(figureID == labelList[j].id) {labelInd = j; break;}
|
|
||||||
if(labelInd != -1)
|
|
||||||
labelList[labelInd].nodeXPath = SM->makeNodeXPath(figure);
|
|
||||||
|
|
||||||
// если есть файл .txt с хотспотами - копируем его и файлы в нем указанные
|
// если есть файл .txt с хотспотами - копируем его и файлы в нем указанные
|
||||||
QString txtoldfilename = oldfilename; txtoldfilename.replace(".svg", ".txt");
|
QString txtoldfilename = oldfilename; txtoldfilename.replace(".svg", ".txt");
|
||||||
QString txtnewfilename = newfilename; txtnewfilename.replace(".svg", ".txt");
|
QString txtnewfilename = newfilename; txtnewfilename.replace(".svg", ".txt");
|
||||||
@@ -1183,7 +1118,7 @@ void LyX::parseBlock(int _beg, int _end, QDomNode _domCurLevelNode) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
if(insetName == "CommandInset label") {
|
if(insetName == "CommandInset label") {
|
||||||
lyxLog.append("!["+QString::number(_insetBeg+lyxEmptyCnt[_insetBeg])+"] Использование меток допускается только в сносках и плавающих таблицах/рисунках.");
|
lyxLog.append("!["+QString::number(_insetBeg+lyxEmptyCnt[_insetBeg])+"] Команда <метка> вне слоя, обратитесь к разработчику");
|
||||||
SM->item->isQualifyed = false;
|
SM->item->isQualifyed = false;
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
@@ -1230,15 +1165,13 @@ void LyX::parseBlock(int _beg, int _end, QDomNode _domCurLevelNode) {
|
|||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
labelStruct lbl;
|
labelStruct lbl;
|
||||||
lbl.itemInd = SM->itemIndex;
|
|
||||||
lbl.lyxLabel = lyxID;
|
lbl.lyxLabel = lyxID;
|
||||||
lbl.id = tableID; lbl.used = false;
|
lbl.id = tableID; // в дальнейшем возможно пересмотреть и присваивать номера (tab-0001)
|
||||||
lbl.lineNum = _insetBeg+lyxEmptyCnt[_insetBeg];
|
|
||||||
labelList.append(lbl); foundLabel = labelList.count()-1;
|
labelList.append(lbl); foundLabel = labelList.count()-1;
|
||||||
}
|
}
|
||||||
labelList[foundLabel].defined = true;
|
labelList[foundLabel].defined = true;
|
||||||
|
|
||||||
/*
|
|
||||||
for(int j=0;j<internalRefList.count();j++) {
|
for(int j=0;j<internalRefList.count();j++) {
|
||||||
QString id = internalRefList[j];
|
QString id = internalRefList[j];
|
||||||
if(id == lyxID) {
|
if(id == lyxID) {
|
||||||
@@ -1267,7 +1200,7 @@ void LyX::parseBlock(int _beg, int _end, QDomNode _domCurLevelNode) {
|
|||||||
internalRefList.removeAt(j); j--;
|
internalRefList.removeAt(j); j--;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
*/
|
|
||||||
|
|
||||||
}
|
}
|
||||||
if(_tabularBeg == -1 || _tabularEnd == -1)
|
if(_tabularBeg == -1 || _tabularEnd == -1)
|
||||||
@@ -1306,8 +1239,7 @@ void LyX::parseBlock(int _beg, int _end, QDomNode _domCurLevelNode) {
|
|||||||
QDomNode table = SM->item->doc.createElement("table");
|
QDomNode table = SM->item->doc.createElement("table");
|
||||||
domCurLevelNode.appendChild(table);
|
domCurLevelNode.appendChild(table);
|
||||||
table.toElement().setAttribute("frame", "topbot");
|
table.toElement().setAttribute("frame", "topbot");
|
||||||
if(tableID != "")
|
if(tableID != "") table.toElement().setAttribute("id", tableID);
|
||||||
table.toElement().setAttribute("id", tableID);
|
|
||||||
table.toElement().setAttribute("colsep", "0");
|
table.toElement().setAttribute("colsep", "0");
|
||||||
table.toElement().setAttribute("rowsep", "0");
|
table.toElement().setAttribute("rowsep", "0");
|
||||||
table.toElement().setAttribute("tocentry", "1");
|
table.toElement().setAttribute("tocentry", "1");
|
||||||
@@ -1327,12 +1259,6 @@ void LyX::parseBlock(int _beg, int _end, QDomNode _domCurLevelNode) {
|
|||||||
tgroup.appendChild(colspec); //<colspec colname="col2" colwidth="1*"/>
|
tgroup.appendChild(colspec); //<colspec colname="col2" colwidth="1*"/>
|
||||||
}
|
}
|
||||||
|
|
||||||
int labelInd = -1;
|
|
||||||
for(int j=0;j<labelList.count();j++)
|
|
||||||
if(tableID == labelList[j].id) {labelInd = j; break;}
|
|
||||||
if(labelInd != -1)
|
|
||||||
labelList[labelInd].nodeXPath = SM->makeNodeXPath(table);
|
|
||||||
|
|
||||||
QList<QList<cellStruct>> tableArr;
|
QList<QList<cellStruct>> tableArr;
|
||||||
|
|
||||||
// cellStruct** tableArr = new cellStruct*[rows];
|
// cellStruct** tableArr = new cellStruct*[rows];
|
||||||
@@ -1441,15 +1367,6 @@ void LyX::parseBlock(int _beg, int _end, QDomNode _domCurLevelNode) {
|
|||||||
for(int j=0;j<rows;j++) {
|
for(int j=0;j<rows;j++) {
|
||||||
QDomNode row = SM->item->doc.createElement("row");
|
QDomNode row = SM->item->doc.createElement("row");
|
||||||
|
|
||||||
//if(!multiRowFlag) rowToHead = false;
|
|
||||||
if(j <= lastHeadRow) { //j==0 || rowToHead
|
|
||||||
row.toElement().setAttribute("rowsep", "1");
|
|
||||||
thead.appendChild(row);
|
|
||||||
} else {
|
|
||||||
row.toElement().setAttribute("rowsep", "0");
|
|
||||||
tbody.appendChild(row);
|
|
||||||
}
|
|
||||||
|
|
||||||
//bool multiRowFlag = false;
|
//bool multiRowFlag = false;
|
||||||
for(int k=0;k<cols;k++) {
|
for(int k=0;k<cols;k++) {
|
||||||
if (tableArr[j][k].createS1000D_entry) {
|
if (tableArr[j][k].createS1000D_entry) {
|
||||||
@@ -1466,6 +1383,15 @@ void LyX::parseBlock(int _beg, int _end, QDomNode _domCurLevelNode) {
|
|||||||
} //cols
|
} //cols
|
||||||
//if(tableArr[j][k].multiRow != "") multiRowFlag = true;
|
//if(tableArr[j][k].multiRow != "") multiRowFlag = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//if(!multiRowFlag) rowToHead = false;
|
||||||
|
if(j <= lastHeadRow) { //j==0 || rowToHead
|
||||||
|
row.toElement().setAttribute("rowsep", "1");
|
||||||
|
thead.appendChild(row);
|
||||||
|
} else {
|
||||||
|
row.toElement().setAttribute("rowsep", "0");
|
||||||
|
tbody.appendChild(row);
|
||||||
|
}
|
||||||
} //rows
|
} //rows
|
||||||
|
|
||||||
// for(int j=0;j<rows;j++)
|
// for(int j=0;j<rows;j++)
|
||||||
@@ -1634,11 +1560,12 @@ void LyX::appendChapter(QString title) {
|
|||||||
// }
|
// }
|
||||||
docChapter++; docSection = docSubsection = -1;
|
docChapter++; docSection = docSubsection = -1;
|
||||||
cntTable = cntFigure = cntPar = 0;
|
cntTable = cntFigure = cntPar = 0;
|
||||||
//if(lyxLog.count() == 2) lyxLog.append("#Завершено без ошибок.");
|
if(lyxLog.count() == 2) lyxLog.append("#Завершено без ошибок.");
|
||||||
if(curSubsectionItem != -1) SM->items[curSubsectionItem].lyxLog = lyxLog;
|
if(curSubsectionItem != -1) SM->items[curSubsectionItem].lyxLog = lyxLog;
|
||||||
curChapterItem = SM->createPM(-1, -1);
|
curChapterItem = SM->createPM(-1, -1);
|
||||||
SM->setCurItem(curChapterItem);
|
SM->setCurItem(curChapterItem);
|
||||||
curSectionItem = curSubsectionItem = -1;
|
curSectionItem = curSubsectionItem = -1;
|
||||||
|
SM->item->origTitle = title;
|
||||||
SM->item->fileName = QString::number(docChapter+1) + " " + title + ".xml"; // SM->projectPath + "/" +
|
SM->item->fileName = QString::number(docChapter+1) + " " + title + ".xml"; // SM->projectPath + "/" +
|
||||||
SM->setNodeText("identAndStatusSection.pmAddress.pmAddressItems.pmTitle", title);
|
SM->setNodeText("identAndStatusSection.pmAddress.pmAddressItems.pmTitle", title);
|
||||||
|
|
||||||
@@ -1654,11 +1581,12 @@ void LyX::appendSection(QString title) {
|
|||||||
// lyxLog.append("!Ошибка в структуре заголовков: "+title);
|
// lyxLog.append("!Ошибка в структуре заголовков: "+title);
|
||||||
// }
|
// }
|
||||||
docSection++; docSubsection = -1;
|
docSection++; docSubsection = -1;
|
||||||
//if(lyxLog.count() == 2) lyxLog.append("#Завершено без ошибок.");
|
if(lyxLog.count() == 2) lyxLog.append("#Завершено без ошибок.");
|
||||||
if(curSubsectionItem != -1) SM->items[curSubsectionItem].lyxLog = lyxLog;
|
if(curSubsectionItem != -1) SM->items[curSubsectionItem].lyxLog = lyxLog;
|
||||||
curSectionItem = SM->createPM(curChapterItem, SM->items[curChapterItem].child.count()-1);
|
curSectionItem = SM->createPM(curChapterItem, SM->items[curChapterItem].child.count()-1);
|
||||||
SM->setCurItem(curSectionItem);
|
SM->setCurItem(curSectionItem);
|
||||||
curSubsectionItem = -1;
|
curSubsectionItem = -1;
|
||||||
|
SM->item->origTitle = title;
|
||||||
SM->item->fileName = QString::number(docChapter+1) + "." + QString::number(docSection+1) + " " + title + ".xml";
|
SM->item->fileName = QString::number(docChapter+1) + "." + QString::number(docSection+1) + " " + title + ".xml";
|
||||||
SM->setNodeText("identAndStatusSection.pmAddress.pmAddressItems.pmTitle", title);
|
SM->setNodeText("identAndStatusSection.pmAddress.pmAddressItems.pmTitle", title);
|
||||||
|
|
||||||
@@ -1674,7 +1602,7 @@ void LyX::appendSubsection(QString title) {
|
|||||||
// lyxLog.append("!Ошибка в структуре заголовков: "+title);
|
// lyxLog.append("!Ошибка в структуре заголовков: "+title);
|
||||||
// }
|
// }
|
||||||
docSubsection++;
|
docSubsection++;
|
||||||
//if(lyxLog.count() == 2) lyxLog.append("#Завершено без ошибок.");
|
if(lyxLog.count() == 2) lyxLog.append("#Завершено без ошибок.");
|
||||||
if(curSubsectionItem != -1) SM->items[curSubsectionItem].lyxLog = lyxLog;
|
if(curSubsectionItem != -1) SM->items[curSubsectionItem].lyxLog = lyxLog;
|
||||||
//SM->item->fileName = QString::number(docChapter+1) + "." + QString::number(docSection+1) + "." + QString::number(docSubsection+1) + " " + title + ".xml";
|
//SM->item->fileName = QString::number(docChapter+1) + "." + QString::number(docSection+1) + "." + QString::number(docSubsection+1) + " " + title + ".xml";
|
||||||
if(title.startsWith("~")) {
|
if(title.startsWith("~")) {
|
||||||
@@ -1683,6 +1611,7 @@ void LyX::appendSubsection(QString title) {
|
|||||||
} else
|
} else
|
||||||
curSubsectionItem = SM->createDM(curSectionItem, SM->items[curSectionItem].child.count()-1, "DESCRIPT");
|
curSubsectionItem = SM->createDM(curSectionItem, SM->items[curSectionItem].child.count()-1, "DESCRIPT");
|
||||||
SM->setCurItem(curSubsectionItem);
|
SM->setCurItem(curSubsectionItem);
|
||||||
|
SM->item->origTitle = title;
|
||||||
SM->item->fileName = QString::number(docChapter+1) + "." + QString::number(docSection+1) + "." + QString::number(docSubsection+1) + " " + title + ".xml";
|
SM->item->fileName = QString::number(docChapter+1) + "." + QString::number(docSection+1) + "." + QString::number(docSubsection+1) + " " + title + ".xml";
|
||||||
SM->setNodeText("identAndStatusSection.dmAddress.dmAddressItems.dmTitle.techName", title);
|
SM->setNodeText("identAndStatusSection.dmAddress.dmAddressItems.dmTitle.techName", title);
|
||||||
|
|
||||||
@@ -1937,117 +1866,6 @@ void LyX::addQuestInteraction(QDomNode domLearnNode, QString question, QStringLi
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void LyX::connectRefsWithLabels() {
|
|
||||||
int i, j;
|
|
||||||
for(i=0;i<refList.count();i++) {
|
|
||||||
refList[i].labelFound = false;
|
|
||||||
|
|
||||||
for(j=0;j<labelList.count();j++)
|
|
||||||
if(refList[i].lyxRef == labelList[j].lyxLabel)
|
|
||||||
break;
|
|
||||||
QDomNode refNode, labelNode;
|
|
||||||
|
|
||||||
if(j >= labelList.count()) {
|
|
||||||
SM->items[refList[i].itemInd].lyxLog.append("!["+QString::number(refList[i].lineNum)+"] Ссылка на неизвестную метку: "+refList[i].lyxRef);
|
|
||||||
qDebug() << "Ref to unknown label["+QString::number(refList[i].lineNum)+"]: "+refList[i].lyxRef;
|
|
||||||
}
|
|
||||||
else {
|
|
||||||
labelList[j].used = true; refList[i].labelFound = true;
|
|
||||||
SM->setCurItem(refList[i].itemInd);
|
|
||||||
|
|
||||||
|
|
||||||
QDomNode oldrefNode = SM->getNodeFromXPath(refList[i].nodeXPath);
|
|
||||||
|
|
||||||
if(oldrefNode.isNull()) {
|
|
||||||
qDebug() << "ref "+refList[i].lyxRef+" ignored - refNode.isNull():" << refList[i].nodeXPath << SM->items[refList[i].itemInd].fileName;
|
|
||||||
refNode = SM->getNodeFromXPath(refList[i].nodeXPath, true);
|
|
||||||
continue;
|
|
||||||
}
|
|
||||||
|
|
||||||
if(!oldrefNode.nodeName().startsWith("blankRefNode"))
|
|
||||||
qDebug() << "Rename "+oldrefNode.nodeName()+" to REF("+refList[i].nodeXPath+")";
|
|
||||||
|
|
||||||
if(refList[i].itemInd == labelList[j].itemInd) {
|
|
||||||
QString refID = labelList[j].id; // ссылка внутри модуля данных
|
|
||||||
|
|
||||||
refNode = SM->item->doc.createElement("internalRef");
|
|
||||||
oldrefNode.parentNode().replaceChild(refNode, oldrefNode);
|
|
||||||
refNode.toElement().setAttribute("xlink:actuate", "onRequest");
|
|
||||||
refNode.toElement().setAttribute("xlink:show", "replace");
|
|
||||||
refNode.toElement().setAttribute("xlink:href", "#"+refID);
|
|
||||||
refNode.toElement().setAttribute("internalRefId", refID);
|
|
||||||
QString refTarget = "irtt07";
|
|
||||||
if(refID.left(3) == "fig") refTarget = "irtt01";
|
|
||||||
if(refID.left(3) == "tab") refTarget = "irtt02";
|
|
||||||
if(refID.left(3) == "par") refTarget = "irtt07";
|
|
||||||
if(refID.left(3) == "mma") refTarget = "irtt03";
|
|
||||||
if(refID.left(3) == "fig" && refID.mid(9,3) == "hot") refTarget = "irtt11";
|
|
||||||
refNode.toElement().setAttribute("internalRefTargetType", refTarget);
|
|
||||||
|
|
||||||
//qDebug() << "Internal ref["+QString::number(refList[i].lineNum)+"]:" << labelList[j].id;
|
|
||||||
|
|
||||||
} else { // ссылка на внешний модуль
|
|
||||||
refNode = SM->item->doc.createElement("dmSegmentRef");
|
|
||||||
oldrefNode.parentNode().replaceChild(refNode, oldrefNode);
|
|
||||||
|
|
||||||
|
|
||||||
//QString tPath = "//"+labelList[j].nodeName+"[@id='"+labelList[j].id+"']"; //SM->makeXPathToNode(labelNode); // //title[@lang='en']
|
|
||||||
|
|
||||||
refNode.toElement().setAttribute("targetPath", labelList[j].nodeXPath);
|
|
||||||
|
|
||||||
SM->setCurItem(refList[i].itemInd);
|
|
||||||
QDomElement dmRefIdent = SM->item->doc.createElement("dmRefIdent");
|
|
||||||
refNode.appendChild(dmRefIdent);
|
|
||||||
QDomElement dmCode = SM->item->doc.createElement("dmCode");
|
|
||||||
dmRefIdent.appendChild(dmCode);
|
|
||||||
|
|
||||||
SM->setCurItem(labelList[j].itemInd);
|
|
||||||
QDomNode labelDMNode = SM->findElement("identAndStatusSection.dmAddress.dmIdent.dmCode");
|
|
||||||
SM->setCurItem(refList[i].itemInd);
|
|
||||||
for(int k=0;k<labelDMNode.toElement().attributes().count();k++)
|
|
||||||
dmCode.setAttribute(labelDMNode.toElement().attributes().item(k).nodeName(),
|
|
||||||
labelDMNode.toElement().attributes().item(k).nodeValue());
|
|
||||||
|
|
||||||
QDomElement issueInfo = SM->item->doc.createElement("issueInfo");
|
|
||||||
dmRefIdent.appendChild(issueInfo);
|
|
||||||
issueInfo.setAttribute("inWork", SM->ru_const.inWork);
|
|
||||||
issueInfo.setAttribute("issueNumber", SM->ru_const.issueNumber);
|
|
||||||
QDomElement language = SM->item->doc.createElement("language");
|
|
||||||
dmRefIdent.appendChild(language);
|
|
||||||
language.setAttribute("languageIsoCode", SM->ru_const.languageIsoCode);
|
|
||||||
language.setAttribute("countryIsoCode", SM->ru_const.countryIsoCode);
|
|
||||||
|
|
||||||
SM->setCurItem(labelList[j].itemInd);
|
|
||||||
QString techName = SM->findElement("identAndStatusSection.dmAddress.dmAddressItems.dmTitle.techName").childNodes().at(0).toText().data();
|
|
||||||
QString infoName = SM->findElement("identAndStatusSection.dmAddress.dmAddressItems.dmTitle.infoName").childNodes().at(0).toText().data();
|
|
||||||
SM->setCurItem(refList[i].itemInd);
|
|
||||||
|
|
||||||
QDomElement dmRefAddressItems = SM->item->doc.createElement("dmRefAddressItems");
|
|
||||||
refNode.appendChild(dmRefAddressItems);
|
|
||||||
QDomElement dmTitle = SM->item->doc.createElement("dmTitle");
|
|
||||||
dmRefAddressItems.appendChild(dmTitle);
|
|
||||||
QDomElement dmTechName = SM->item->doc.createElement("techName");
|
|
||||||
dmTitle.appendChild(dmTechName);
|
|
||||||
dmTechName.appendChild(SM->item->doc.createTextNode(techName));
|
|
||||||
QDomElement dmInfoName = SM->item->doc.createElement("infoName");
|
|
||||||
dmTitle.appendChild(dmInfoName);
|
|
||||||
dmInfoName.appendChild(SM->item->doc.createTextNode(infoName));
|
|
||||||
|
|
||||||
//qDebug() << "External ref["+QString::number(refList[i].lineNum)+"]:" << labelList[j].id << labelList[j].lyxLabel << labelList[j].itemInd << refList[i].itemInd;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
for(j=0;j<labelList.count();j++)
|
|
||||||
if(!labelList[j].used) {
|
|
||||||
SM->items[labelList[j].itemInd].lyxLog.append("#["+QString::number(labelList[j].lineNum)+"] Неиспользуемая метка: "+labelList[j].lyxLabel);
|
|
||||||
//qDebug() << "Label not used ["+QString::number(labelList[j].lineNum)+"]: "+labelList[j].id;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
//QString LyX::questLyXtoHTML(QString answer) {
|
//QString LyX::questLyXtoHTML(QString answer) {
|
||||||
// // функция пока не используется
|
// // функция пока не используется
|
||||||
// qDebug() << answer;
|
// qDebug() << answer;
|
||||||
|
|||||||
@@ -34,7 +34,6 @@ public:
|
|||||||
// QString questLyXtoHTML(QString answer);
|
// QString questLyXtoHTML(QString answer);
|
||||||
void addQuestInteraction(QDomNode domLearnNode, QString question, QStringList answers);
|
void addQuestInteraction(QDomNode domLearnNode, QString question, QStringList answers);
|
||||||
QDomNode searchSVGNodeForSpanNode(QDomNode node);
|
QDomNode searchSVGNodeForSpanNode(QDomNode node);
|
||||||
void connectRefsWithLabels();
|
|
||||||
|
|
||||||
QStringList lyxList;
|
QStringList lyxList;
|
||||||
QStringList lyxLog;
|
QStringList lyxLog;
|
||||||
@@ -58,22 +57,10 @@ public:
|
|||||||
};
|
};
|
||||||
QList<acronymStruct> acronymList;
|
QList<acronymStruct> acronymList;
|
||||||
struct labelStruct {
|
struct labelStruct {
|
||||||
int itemInd;
|
|
||||||
QString lyxLabel, id;
|
QString lyxLabel, id;
|
||||||
bool defined = false;
|
bool defined;
|
||||||
bool used = false;
|
|
||||||
QString nodeXPath;
|
|
||||||
int lineNum;
|
|
||||||
};
|
};
|
||||||
QList<labelStruct> labelList;
|
QList<labelStruct> labelList;
|
||||||
struct refStruct {
|
|
||||||
int itemInd;
|
|
||||||
QString lyxRef;
|
|
||||||
bool labelFound;
|
|
||||||
QString nodeXPath;
|
|
||||||
int lineNum;
|
|
||||||
};
|
|
||||||
QList<refStruct> refList;
|
|
||||||
int cntTable, cntFigure, cntPar;
|
int cntTable, cntFigure, cntPar;
|
||||||
|
|
||||||
struct cellStruct {
|
struct cellStruct {
|
||||||
|
|||||||
@@ -554,23 +554,6 @@ QString S1000D_Manager::dmIdentString(QString dmIdentPath) {
|
|||||||
//resStr += getNodeAttr(dmIdentPath+".issueInfo", "inWork");
|
//resStr += getNodeAttr(dmIdentPath+".issueInfo", "inWork");
|
||||||
return resStr;
|
return resStr;
|
||||||
}
|
}
|
||||||
QString S1000D_Manager::dmCodeIdentString(QDomNode node) {
|
|
||||||
QString resStr = "";
|
|
||||||
resStr += node.toElement().attribute("modelIdentCode")+"-";
|
|
||||||
resStr += node.toElement().attribute("systemDiffCode")+"-";
|
|
||||||
resStr += node.toElement().attribute("systemCode")+"-";
|
|
||||||
resStr += node.toElement().attribute("subSystemCode");
|
|
||||||
resStr += node.toElement().attribute("subSubSystemCode")+"-";
|
|
||||||
resStr += node.toElement().attribute("assyCode")+"-";
|
|
||||||
resStr += node.toElement().attribute("disassyCode");
|
|
||||||
resStr += node.toElement().attribute("disassyCodeVariant")+"-";
|
|
||||||
resStr += node.toElement().attribute("infoCode");
|
|
||||||
resStr += node.toElement().attribute("infoCodeVariant")+"-";
|
|
||||||
resStr += node.toElement().attribute("itemLocationCode");
|
|
||||||
QString learnStr = "-"+node.toElement().attribute("learnCode")+node.toElement().attribute("learnEventCode");
|
|
||||||
if(learnStr != "-") resStr += learnStr;
|
|
||||||
return resStr;
|
|
||||||
}
|
|
||||||
|
|
||||||
QString S1000D_Manager::pmIdentString(QString pmIdentPath) {
|
QString S1000D_Manager::pmIdentString(QString pmIdentPath) {
|
||||||
QString resStr = "";
|
QString resStr = "";
|
||||||
@@ -1545,20 +1528,6 @@ bool S1000D_Manager::exportSCORM(QString packDir, QString packName, QString pack
|
|||||||
// }
|
// }
|
||||||
|
|
||||||
resetICN();
|
resetICN();
|
||||||
for(int i=0;i<items.count();i++) {
|
|
||||||
setCurItem(i);
|
|
||||||
QString _issueInfo = "identAndStatusSection.dmAddress.dmIdent.issueInfo";
|
|
||||||
QString _language = "identAndStatusSection.dmAddress.dmIdent.language";
|
|
||||||
if(item->schemeType == stLEARNING) {
|
|
||||||
item->SCORM_fileName = "DMC-" + item->fileCode + "_"+getNodeAttr(_issueInfo, "issueNumber")+"-"+getNodeAttr(_issueInfo, "inWork")+"_"+getNodeAttr(_language, "languageIsoCode")+"-"+getNodeAttr(_language, "countryIsoCode")+".xml";
|
|
||||||
if(QFile::exists(SCORMpath+"/" + item->SCORM_fileName)) QFile::remove(SCORMpath+"/" + item->SCORM_fileName);
|
|
||||||
if(!QFile::copy(projectPath+"/"+item->fileName, SCORMpath+"/" + item->SCORM_fileName))
|
|
||||||
if(DBG) qDebug() << "scorm: Error copy" << projectPath+"/"+item->fileName << "to" << SCORMpath+"/" + item->SCORM_fileName;
|
|
||||||
continue;
|
|
||||||
}
|
|
||||||
item->SCORM_fileName = "DMC-" + item->fileCode + "_"+getNodeAttr(_issueInfo, "issueNumber")+"-"+getNodeAttr(_issueInfo, "inWork")+"_"+getNodeAttr(_language, "languageIsoCode")+"-"+getNodeAttr(_language, "countryIsoCode")+".html";
|
|
||||||
}
|
|
||||||
|
|
||||||
for(int i=0;i<items.count();i++)
|
for(int i=0;i<items.count();i++)
|
||||||
if(items[i].toExport && items[i].moduleType == mtDM) {
|
if(items[i].toExport && items[i].moduleType == mtDM) {
|
||||||
if(!isConsole) {
|
if(!isConsole) {
|
||||||
@@ -1575,7 +1544,9 @@ bool S1000D_Manager::exportSCORM(QString packDir, QString packName, QString pack
|
|||||||
}
|
}
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
QString htmlFileName = projectPath + "/" + item->fileName; htmlFileName.replace(".xml", ".html");
|
QString htmlFileName = projectPath + "/" + item->fileName;
|
||||||
|
if (item->schemeType != stLEARNING)
|
||||||
|
htmlFileName.replace(".xml", ".html");
|
||||||
if (item->moduleType == mtDM && !QFile::exists(htmlFileName) && item->schemeType != stLEARNING) {
|
if (item->moduleType == mtDM && !QFile::exists(htmlFileName) && item->schemeType != stLEARNING) {
|
||||||
if(!isConsole) {
|
if(!isConsole) {
|
||||||
splash->hide();
|
splash->hide();
|
||||||
@@ -1584,6 +1555,16 @@ bool S1000D_Manager::exportSCORM(QString packDir, QString packName, QString pack
|
|||||||
}
|
}
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
QString _issueInfo = "identAndStatusSection.dmAddress.dmIdent.issueInfo";
|
||||||
|
QString _language = "identAndStatusSection.dmAddress.dmIdent.language";
|
||||||
|
if(item->schemeType == stLEARNING) {
|
||||||
|
item->SCORM_fileName = SCORMpath+"/" + "DMC-" + item->fileCode + "_"+getNodeAttr(_issueInfo, "issueNumber")+"-"+getNodeAttr(_issueInfo, "inWork")+"_"+getNodeAttr(_language, "languageIsoCode")+"-"+getNodeAttr(_language, "countryIsoCode")+".xml";
|
||||||
|
if(QFile::exists(item->SCORM_fileName)) QFile::remove(item->SCORM_fileName);
|
||||||
|
if(!QFile::copy(projectPath+"/"+item->fileName, item->SCORM_fileName))
|
||||||
|
if(DBG) qDebug() << "scorm: Error copy" << projectPath+"/"+item->fileName << "to" << item->SCORM_fileName;
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
item->SCORM_fileName = SCORMpath+"/" + "DMC-" + item->fileCode + "_"+getNodeAttr(_issueInfo, "issueNumber")+"-"+getNodeAttr(_issueInfo, "inWork")+"_"+getNodeAttr(_language, "languageIsoCode")+"-"+getNodeAttr(_language, "countryIsoCode")+".html";
|
||||||
|
|
||||||
QFile htmlFile(htmlFileName);
|
QFile htmlFile(htmlFileName);
|
||||||
if (!htmlFile.open(QFile::ReadOnly | QFile::Text)){
|
if (!htmlFile.open(QFile::ReadOnly | QFile::Text)){
|
||||||
@@ -1646,21 +1627,6 @@ bool S1000D_Manager::exportSCORM(QString packDir, QString packName, QString pack
|
|||||||
if(k > -1) {
|
if(k > -1) {
|
||||||
QString fn = htmlText[j].mid(k+s.length(), htmlText[j].indexOf("\"",k+s.length())-k-s.length());
|
QString fn = htmlText[j].mid(k+s.length(), htmlText[j].indexOf("\"",k+s.length())-k-s.length());
|
||||||
if(!fn.startsWith("#")) {
|
if(!fn.startsWith("#")) {
|
||||||
if(fn.contains(".html#")) { // межмодульная ссылка
|
|
||||||
fn = fn.left(fn.indexOf("#"));
|
|
||||||
QString name;
|
|
||||||
for(int n=0;n<items.count();n++) {
|
|
||||||
name = items[n].fileName;
|
|
||||||
name = name.replace(".xml", ".html");
|
|
||||||
if(fn == name) {
|
|
||||||
htmlText[j].replace(fn, items[n].SCORM_fileName);
|
|
||||||
name = "Ok"; break;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
if(name != "Ok")
|
|
||||||
qDebug() << "HTML->SCORM - <a href: cant find DM "+fn;
|
|
||||||
}
|
|
||||||
else { // папки с Docs и т.д.
|
|
||||||
QDir dir(projectPath+"/"+fn.split("/")[0]);
|
QDir dir(projectPath+"/"+fn.split("/")[0]);
|
||||||
QDir dir2(SCORMpath+"/"+fn.split("/")[0]);
|
QDir dir2(SCORMpath+"/"+fn.split("/")[0]);
|
||||||
if(dir.exists() && !dir2.exists())
|
if(dir.exists() && !dir2.exists())
|
||||||
@@ -1674,7 +1640,6 @@ bool S1000D_Manager::exportSCORM(QString packDir, QString packName, QString pack
|
|||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
} //#
|
|
||||||
} //<a href=
|
} //<a href=
|
||||||
|
|
||||||
//s = "<iframe ";
|
//s = "<iframe ";
|
||||||
@@ -1722,8 +1687,8 @@ bool S1000D_Manager::exportSCORM(QString packDir, QString packName, QString pack
|
|||||||
// onmousemove="showTooltipImg(evt, 'inline.svg');"
|
// onmousemove="showTooltipImg(evt, 'inline.svg');"
|
||||||
// <iframe src="fuselage/index.html" width="100%" height="580px" align="center">
|
// <iframe src="fuselage/index.html" width="100%" height="580px" align="center">
|
||||||
|
|
||||||
if(QFile::exists(SCORMpath+"/" + item->SCORM_fileName)) QFile::remove(SCORMpath+"/" + item->SCORM_fileName);
|
if(QFile::exists(item->SCORM_fileName)) QFile::remove(item->SCORM_fileName);
|
||||||
QFile htmlOutFile(SCORMpath+"/" + item->SCORM_fileName);
|
QFile htmlOutFile(item->SCORM_fileName);
|
||||||
if (htmlOutFile.open(QFile::WriteOnly | QFile::Text)) {
|
if (htmlOutFile.open(QFile::WriteOnly | QFile::Text)) {
|
||||||
QTextStream out(&htmlOutFile); out.setCodec("UTF-8");
|
QTextStream out(&htmlOutFile); out.setCodec("UTF-8");
|
||||||
for(int j=0;j<htmlText.count();j++)
|
for(int j=0;j<htmlText.count();j++)
|
||||||
@@ -1816,39 +1781,21 @@ bool S1000D_Manager::exportSCORM(QString packDir, QString packName, QString pack
|
|||||||
params << "a"<<"-r"<<"-y" << QString(packDir+"/"+packName+".zip") << QString(SCORMpath+"/*.*") << ">nul";
|
params << "a"<<"-r"<<"-y" << QString(packDir+"/"+packName+".zip") << QString(SCORMpath+"/*.*") << ">nul";
|
||||||
QProcess pc;
|
QProcess pc;
|
||||||
pc.start(QString(QCoreApplication::applicationDirPath()+"/7z.exe"), params, QIODevice::ReadWrite);
|
pc.start(QString(QCoreApplication::applicationDirPath()+"/7z.exe"), params, QIODevice::ReadWrite);
|
||||||
if(pc.waitForStarted(2000))
|
|
||||||
while(!pc.waitForFinished(50)) {
|
while(!pc.waitForFinished(50)) {
|
||||||
if(!isConsole) {splash->Step();}
|
if(!isConsole) {splash->Step(); splash->Step(); splash->Step(); }
|
||||||
QCoreApplication::processEvents();
|
QCoreApplication::processEvents();
|
||||||
}
|
}
|
||||||
else {
|
|
||||||
qDebug() << "Failed to start 7z";
|
|
||||||
if(!isConsole) {
|
|
||||||
splash->hide();
|
|
||||||
QApplication::setOverrideCursor(QCursor(Qt::ArrowCursor));
|
|
||||||
}
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
params << "a"<<"-r"<<"-y" << QString(packDir+"/"+packName+".zip") << QString(SCORMpath+"/*.*");// << ">nul";
|
params << "a"<<"-r"<<"-y" << QString(packDir+"/"+packName+".zip") << QString(SCORMpath+"/*.*");// << ">nul";
|
||||||
QProcess pc;
|
QProcess pc;
|
||||||
pc.start("7z", params, QIODevice::ReadWrite);
|
pc.start("7z", params, QIODevice::ReadWrite);
|
||||||
if(pc.waitForStarted(2000))
|
|
||||||
while(!pc.waitForFinished(50))
|
while(!pc.waitForFinished(50))
|
||||||
{
|
{
|
||||||
if(!isConsole) {splash->Step();}
|
if(!isConsole) {splash->Step(); splash->Step(); splash->Step(); }
|
||||||
QCoreApplication::processEvents();
|
QCoreApplication::processEvents();
|
||||||
}
|
}
|
||||||
else {
|
|
||||||
qDebug() << "Failed to start 7z";
|
|
||||||
if(!isConsole) {
|
|
||||||
splash->hide();
|
|
||||||
QApplication::setOverrideCursor(QCursor(Qt::ArrowCursor));
|
|
||||||
}
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// QZipWriter zip(QString(dirName+"/"+packName+".zip").toLatin1());
|
// QZipWriter zip(QString(dirName+"/"+packName+".zip").toLatin1());
|
||||||
@@ -2276,162 +2223,7 @@ bool S1000D_Manager::exportS1000D(QString dirName, QString packName, QString pac
|
|||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
|
||||||
void S1000D_Manager::searchPrepare() {
|
|
||||||
item->searchList.clear();
|
|
||||||
QList<QDomNode> nodeList;
|
|
||||||
nodeList.append(item->doc.namedItem("dmodule"));
|
|
||||||
QDomNode node;
|
|
||||||
while(!nodeList.isEmpty()) {
|
|
||||||
node = nodeList.takeFirst();
|
|
||||||
searchListStruct sItem;
|
|
||||||
sItem.name = node.nodeName(); sItem.node = node;
|
|
||||||
item->searchList.append(sItem);
|
|
||||||
for(int k=0;k<node.childNodes().count();k++)
|
|
||||||
nodeList.append(node.childNodes().at(k));
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
QDomNode S1000D_Manager::searchNodeWithTag(QString tag) { //QDomNode startNode,
|
|
||||||
for(int i=0;i<item->searchList.count();i++)
|
|
||||||
if(item->searchList[i].name == tag) {
|
|
||||||
qDebug() << "Found node " + tag;
|
|
||||||
return item->searchList[i].node;
|
|
||||||
}
|
|
||||||
QDomNode nullNode;
|
|
||||||
return nullNode;
|
|
||||||
}
|
|
||||||
|
|
||||||
QDomNode S1000D_Manager::searchNodeWithAttr(QString attrName, QString attrVal) { //QDomNode startNode,
|
|
||||||
for(int i=0;i<item->searchList.count();i++) {
|
|
||||||
if(item->searchList[i].node.toElement().hasAttribute(attrName) && item->searchList[i].node.toElement().attribute(attrName) == attrVal)
|
|
||||||
return item->searchList[i].node;
|
|
||||||
}
|
|
||||||
QDomNode nullNode;
|
|
||||||
return nullNode;
|
|
||||||
}
|
|
||||||
*/
|
|
||||||
|
|
||||||
// targetPath="//lcInstruction/description/levelledPara[attribute::id = 'para-000' and child::levelledPara[fn:position() = 1]]"
|
|
||||||
|
|
||||||
QString S1000D_Manager::makeNodeXPath(QDomNode node) {
|
|
||||||
if(item->doc.namedItem("dmodule").childNodes().count() == 0)
|
|
||||||
qDebug() << "Empty item: " << itemIndex << item->fileName << item->doc.namedItem("dmodule").nodeName() << item->doc.namedItem("dmodule").childNodes().count();
|
|
||||||
//else
|
|
||||||
// qDebug() << itemIndex << "Ok";
|
|
||||||
|
|
||||||
QString path="";
|
|
||||||
QString pos;
|
|
||||||
int ind=-1, cnt=0;
|
|
||||||
QDomNode cur = node;
|
|
||||||
QDomNode chNode;
|
|
||||||
//if(node.nodeName() == "blankRefNode9")
|
|
||||||
// qDebug() << "blankRefNode9 debug";
|
|
||||||
while(1) {
|
|
||||||
pos = "";
|
|
||||||
if(!cur.parentNode().isNull()) {
|
|
||||||
cnt = 0; ind = 0;
|
|
||||||
for(int i=0;i<cur.parentNode().childNodes().count();i++) {
|
|
||||||
chNode = cur.parentNode().childNodes().at(i);
|
|
||||||
if(chNode.nodeName() == cur.nodeName())
|
|
||||||
cnt++;
|
|
||||||
if(chNode == cur) {
|
|
||||||
//if(node.nodeName() == "blankRefNode9")
|
|
||||||
// qDebug() << "blankRefNode9 debug: " << "cur: " << cur.nodeName() << cnt << " parent: " << cur.parentNode().nodeName();
|
|
||||||
ind = cnt;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
if(cnt > 1)
|
|
||||||
pos = "["+QString::number(ind)+"]";
|
|
||||||
}
|
|
||||||
|
|
||||||
path = "/"+cur.nodeName()+pos+path;
|
|
||||||
|
|
||||||
if(cur.parentNode().isNull() || cur.parentNode().nodeName() == "#document") {
|
|
||||||
//if(cur.parentNode().nodeName() != "#document")
|
|
||||||
// qDebug() << "makeNodeXPath: parentNode("+cur.nodeName()+").isNull";
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
cur = cur.parentNode();
|
|
||||||
};
|
|
||||||
|
|
||||||
QDomNode nd = getNodeFromXPath(path); //, true
|
|
||||||
if(nd.nodeName() != node.nodeName())
|
|
||||||
qDebug() << "makeNodeXPath fail: Need "+node.nodeName()+node.nodeType()+" Found "+nd.nodeName()+nd.nodeType()+" Path "+path+"";
|
|
||||||
//else
|
|
||||||
// qDebug() << "makeNodeXPath OK";
|
|
||||||
|
|
||||||
//if(path.contains("description/para")) {
|
|
||||||
// qDebug() << "makeNodeXPath: description/para !! " << path << item->fileName;
|
|
||||||
//}
|
|
||||||
|
|
||||||
return path;
|
|
||||||
}
|
|
||||||
|
|
||||||
QDomNode S1000D_Manager::getNodeFromXPath(QString path, bool debugTrace) {
|
|
||||||
QStringList list = path.mid(1).split("/");
|
|
||||||
if(debugTrace) qDebug() << "getNodeFromXPath: "+path;
|
|
||||||
|
|
||||||
QDomNode node = item->doc.namedItem("dmodule").parentNode(); //namedItem("dmodule").parentNode(); //namedItem("#document")
|
|
||||||
if(node.isNull()) {
|
|
||||||
//if(debugTrace)
|
|
||||||
qDebug() << " node is NULL: item->doc.namedItem(dmodule).parentNode()";
|
|
||||||
if(debugTrace) qDebug() << " " << itemIndex << item->fileName << item->doc.namedItem("dmodule").nodeName() << item->doc.namedItem("dmodule").childNodes().count();
|
|
||||||
if(debugTrace)
|
|
||||||
for(int i=0;i<item->doc.childNodes().count();i++) {
|
|
||||||
qDebug() << " " << item->doc.childNodes().at(i).nodeName() << item->doc.childNodes().at(i).childNodes().count();
|
|
||||||
for(int j=0;j<item->doc.childNodes().at(i).childNodes().count();j++) {
|
|
||||||
qDebug() << " " << item->doc.childNodes().at(i).childNodes().at(j).nodeName() << item->doc.childNodes().at(i).childNodes().at(j).childNodes().count();
|
|
||||||
for(int k=0;k<item->doc.childNodes().at(i).childNodes().at(j).childNodes().count();k++)
|
|
||||||
qDebug() << " " << item->doc.childNodes().at(i).childNodes().at(j).childNodes().at(k).nodeName() << item->doc.childNodes().at(i).childNodes().at(j).childNodes().at(k).childNodes().count();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
QDomNode nullNode;
|
|
||||||
return nullNode;
|
|
||||||
}
|
|
||||||
|
|
||||||
int pos;
|
|
||||||
if(debugTrace) qDebug() << " ------------------------- ";
|
|
||||||
while(list.count() > 0) {
|
|
||||||
if(debugTrace) {
|
|
||||||
qDebug() << " node: "+node.nodeName()+" child cnt: "+QString::number(node.childNodes().count());
|
|
||||||
for(int i=0;i<node.childNodes().count();i++)
|
|
||||||
qDebug() << " "+node.childNodes().at(i).nodeName();
|
|
||||||
}
|
|
||||||
QString name = list.takeFirst();
|
|
||||||
int b = name.indexOf("[");
|
|
||||||
QString _name = name.mid(0, b);
|
|
||||||
if(b == -1)
|
|
||||||
node = node.namedItem(name);
|
|
||||||
else {
|
|
||||||
pos = name.mid(b+1, name.indexOf("]")-(b+1)).toInt();
|
|
||||||
int cnt=0;
|
|
||||||
bool found = false;
|
|
||||||
for(int i=0;i<node.childNodes().count();i++) {
|
|
||||||
if(node.childNodes().at(i).nodeName() == _name)
|
|
||||||
cnt++;
|
|
||||||
if(cnt == pos) {
|
|
||||||
node = node.childNodes().at(i);
|
|
||||||
found = true;
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
if(!found) {
|
|
||||||
qDebug() << "getNodeFromXPath: node "+_name+" at pos "+name.mid(b+1, name.indexOf("]")-(b+1))+" NOT FOUND ("+path+")";
|
|
||||||
//for(int i=0;i<node.childNodes().count();i++)
|
|
||||||
// qDebug() << " "+node.childNodes().at(i).nodeName();
|
|
||||||
QDomNode nullNode;
|
|
||||||
return nullNode;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
if(debugTrace) qDebug() << " need: "+name+" found: "+node.nodeName();
|
|
||||||
}
|
|
||||||
|
|
||||||
if(debugTrace) qDebug() << "--Result node: "+node.nodeName();
|
|
||||||
//if(!node.nodeName().startsWith("blankRefNode"))
|
|
||||||
// qDebug() << "Rename "+node.nodeName()+" to REF ("+path+")";
|
|
||||||
return node;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
|||||||
@@ -32,11 +32,6 @@ public:
|
|||||||
//static bool validateXML(const QString &xsdschema, const QString &xmlschema);
|
//static bool validateXML(const QString &xsdschema, const QString &xmlschema);
|
||||||
QDomNode findElementRec(QDomNode domNode, QString path);
|
QDomNode findElementRec(QDomNode domNode, QString path);
|
||||||
QDomNode findElement(QString path);
|
QDomNode findElement(QString path);
|
||||||
//void searchPrepare();
|
|
||||||
//QDomNode searchNodeWithTag(QString tag); //QDomNode startNode,
|
|
||||||
//QDomNode searchNodeWithAttr(QString attrName, QString attrVal); //QDomNode startNode,
|
|
||||||
QString makeNodeXPath(QDomNode node);
|
|
||||||
QDomNode getNodeFromXPath(QString path, bool debugTrace=false);
|
|
||||||
QString getNodeText(QString path);
|
QString getNodeText(QString path);
|
||||||
void setNodeText(QString path, QString text);
|
void setNodeText(QString path, QString text);
|
||||||
void deleteNode(QString path);
|
void deleteNode(QString path);
|
||||||
@@ -50,7 +45,6 @@ public:
|
|||||||
int getNodePathIndex(QString name);
|
int getNodePathIndex(QString name);
|
||||||
QString dmIdentString(QString dmIdentPath);
|
QString dmIdentString(QString dmIdentPath);
|
||||||
QString pmIdentString(QString pmIdentPath);
|
QString pmIdentString(QString pmIdentPath);
|
||||||
QString dmCodeIdentString(QDomNode node);
|
|
||||||
void setCurItem(int ind);
|
void setCurItem(int ind);
|
||||||
void clearItems();
|
void clearItems();
|
||||||
|
|
||||||
@@ -84,10 +78,6 @@ public:
|
|||||||
|
|
||||||
int bugCnt=0;
|
int bugCnt=0;
|
||||||
RU_Const ru_const;
|
RU_Const ru_const;
|
||||||
//struct searchListStruct {
|
|
||||||
// QString name;
|
|
||||||
// QDomNode node;
|
|
||||||
//};
|
|
||||||
|
|
||||||
struct ItemStruct { // Основная структура хранения данных
|
struct ItemStruct { // Основная структура хранения данных
|
||||||
QString fileName, S1000D_fileName, SCORM_fileName;
|
QString fileName, S1000D_fileName, SCORM_fileName;
|
||||||
|
|||||||
73
s1000d/Converter14_Source/.gitignore
vendored
Normal file
@@ -0,0 +1,73 @@
|
|||||||
|
# This file is used to ignore files which are generated
|
||||||
|
# ----------------------------------------------------------------------------
|
||||||
|
|
||||||
|
*~
|
||||||
|
*.autosave
|
||||||
|
*.a
|
||||||
|
*.core
|
||||||
|
*.moc
|
||||||
|
*.o
|
||||||
|
*.obj
|
||||||
|
*.orig
|
||||||
|
*.rej
|
||||||
|
*.so
|
||||||
|
*.so.*
|
||||||
|
*_pch.h.cpp
|
||||||
|
*_resource.rc
|
||||||
|
*.qm
|
||||||
|
.#*
|
||||||
|
*.*#
|
||||||
|
core
|
||||||
|
!core/
|
||||||
|
tags
|
||||||
|
.DS_Store
|
||||||
|
.directory
|
||||||
|
*.debug
|
||||||
|
Makefile*
|
||||||
|
*.prl
|
||||||
|
*.app
|
||||||
|
moc_*.cpp
|
||||||
|
ui_*.h
|
||||||
|
qrc_*.cpp
|
||||||
|
Thumbs.db
|
||||||
|
*.res
|
||||||
|
*.rc
|
||||||
|
/.qmake.cache
|
||||||
|
/.qmake.stash
|
||||||
|
|
||||||
|
# qtcreator generated files
|
||||||
|
*.pro.user*
|
||||||
|
|
||||||
|
# xemacs temporary files
|
||||||
|
*.flc
|
||||||
|
|
||||||
|
# Vim temporary files
|
||||||
|
.*.swp
|
||||||
|
|
||||||
|
# Visual Studio generated files
|
||||||
|
*.ib_pdb_index
|
||||||
|
*.idb
|
||||||
|
*.ilk
|
||||||
|
*.pdb
|
||||||
|
*.sln
|
||||||
|
*.suo
|
||||||
|
*.vcproj
|
||||||
|
*vcproj.*.*.user
|
||||||
|
*.ncb
|
||||||
|
*.sdf
|
||||||
|
*.opensdf
|
||||||
|
*.vcxproj
|
||||||
|
*vcxproj.*
|
||||||
|
|
||||||
|
# MinGW generated files
|
||||||
|
*.Debug
|
||||||
|
*.Release
|
||||||
|
|
||||||
|
# Python byte code
|
||||||
|
*.pyc
|
||||||
|
|
||||||
|
# Binaries
|
||||||
|
# --------
|
||||||
|
*.dll
|
||||||
|
*.exe
|
||||||
|
|
||||||
59
s1000d/Converter14_Source/BlankXML/blank.html
Normal file
@@ -0,0 +1,59 @@
|
|||||||
|
<!DOCTYPE HTML>
|
||||||
|
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
|
||||||
|
<html xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:dc="http://www.purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
|
||||||
|
<head>
|
||||||
|
<title></title>
|
||||||
|
<meta charset="utf-8" />
|
||||||
|
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
|
||||||
|
<meta name="viewport" content="width=device-width" />
|
||||||
|
<meta http-equiv="Cache-Control" content="no-cache, no-store, max-age=0, must-revalidate" />
|
||||||
|
<meta http-equiv="Pragma" content="no-cache" />
|
||||||
|
<meta http-equiv="Expires" content="Fri, 01 Jan 1990 00:00:00 GMT" />
|
||||||
|
<link href="app/images/favicon.ico" type="image/x-icon" rel="shortcut icon" />
|
||||||
|
<link rel="stylesheet" href="app/bower_components/normalize.css/normalize.css" />
|
||||||
|
<link rel="stylesheet" href="app/bower_components/normalize.css/jquery-ui.min.css" />
|
||||||
|
<link rel="stylesheet" href="app/bower_components/Select2/css/select2.css" />
|
||||||
|
<link rel="stylesheet" href="app/js/jPlayer-2.9.2/dist/skin/blue.monday/css/jplayer.blue.monday.css" />
|
||||||
|
<link rel="stylesheet" href="app/bower_components/malihu-custom-scrollbar-plugin/jquery.mCustomScrollbar.css" />
|
||||||
|
<link rel="stylesheet" href="app/css/animate.css" />
|
||||||
|
<link rel="stylesheet" href="app/css/fonts.css" />
|
||||||
|
<link rel="stylesheet" href="app/js/jquery-palette-color-picker-master/src/palette-color-picker.css" />
|
||||||
|
<link rel="stylesheet" href="app/js/Number-Input-Spinner-jQuery-Nice-Number/dist/jquery.nice-number.css" />
|
||||||
|
<link rel="stylesheet" href="app/css/imagePlayer.css" />
|
||||||
|
<link rel="stylesheet" href="app/css/styles.css" />
|
||||||
|
<link rel="stylesheet" href="app/jquery-ui/jquery-ui.min.css" />
|
||||||
|
<script type="text/javascript" src="app/APIWrapper.js"></script>
|
||||||
|
<script type="text/javascript" src="app/Functions.js"></script>
|
||||||
|
<link rel="stylesheet" href="app/dinamika/viewimg.css">
|
||||||
|
<link rel="stylesheet" href="app/dinamika/dinamika.css" />
|
||||||
|
<script type="text/javascript" src="app/dinamika/dinamika.js"></script>
|
||||||
|
|
||||||
|
</head>
|
||||||
|
<body bgcolor="#FFFFFF" class="bodyText" onload="loadPage();setStartTime();">
|
||||||
|
<div class="main">
|
||||||
|
</div>
|
||||||
|
<script src="app/bower_components/jquery/dist/jquery.min.js"></script>
|
||||||
|
<script src="app/js/jquery-ui.min.js"></script>
|
||||||
|
<script src="app/js/jquery.scroolly.min.js"></script>
|
||||||
|
<script src="app/jquery-ui/jquery-ui.min.js" />
|
||||||
|
<script src="app/bower_components/jQuery.dotdotdot/src/jquery.dotdotdot.min.js"></script>
|
||||||
|
<script src="app/bower_components/jquery-touchswipe/jquery.touchSwipe.min.js"></script>
|
||||||
|
<script src="app/bower_components/Select2/js/select2.full.min.js"></script>
|
||||||
|
<script src="app/bower_components/malihu-custom-scrollbar-plugin/jquery.mCustomScrollbar.js"></script>
|
||||||
|
<script src="app/js/tinymce/tinymce.min.js"></script>
|
||||||
|
<script src="app/js/customUploader/common.js"></script>
|
||||||
|
<script src="app/js/cookies.js"></script>
|
||||||
|
<script src="app/js/b4w.whitespace.min.js"></script>
|
||||||
|
<script src="app/js/b4webplayer.js"></script>
|
||||||
|
<script type="text/javascript" src="app/js/jquery-palette-color-picker-master/src/palette-color-picker.js"></script>
|
||||||
|
<script type="text/javascript" src="app/js/Number-Input-Spinner-jQuery-Nice-Number/dist/jquery.nice-number.min.js"></script>
|
||||||
|
<script src="app/js/jPlayer-2.9.2/dist/jplayer/jquery.jplayer.min.js"></script>
|
||||||
|
<script src="app/js/jPlayer-2.9.2/dist/add-on/jplayer.playlist.min.js"></script>
|
||||||
|
<script src="app/js/imagePlayer.js"></script>
|
||||||
|
<script src="app/js/scripts.js"></script>
|
||||||
|
<script src="app/js/snap.svg-min.js"></script>
|
||||||
|
<script src="app/common.js"></script>
|
||||||
|
|
||||||
|
<script src="app/dinamika/viewimg.js"></script><script> var viewer = new ViewBigimg(); </script>
|
||||||
|
</body>
|
||||||
|
</html>
|
||||||
45
s1000d/Converter14_Source/BlankXML/crew.xml
Normal file
@@ -0,0 +1,45 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<!DOCTYPE dmodule [<!ENTITY ICN-YOURPROJECT-A-000000-A-RHC01-00001-R-001-01 SYSTEM "ICN-YOURPROJECT-A-000000-A-RHC01-00001-R-001-01.svg" NDATA svg>]>
|
||||||
|
<dmodule xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:dc="http://www.purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:xlink="http://www.w3.org/1999/xlink" xsi:noNamespaceSchemaLocation="http://www.s1000d.org/S1000D_4-1-A/xml_schema_flat/crew.xsd">
|
||||||
|
<identAndStatusSection>
|
||||||
|
<dmAddress>
|
||||||
|
<dmIdent>
|
||||||
|
<dmCode assyCode="" disassyCode="" disassyCodeVariant="" infoCode="" infoCodeVariant="" itemLocationCode="" learnCode="" learnEventCode="" modelIdentCode="" subSubSystemCode="" subSystemCode="" systemCode="" systemDiffCode=""/>
|
||||||
|
<language countryIsoCode="" languageIsoCode=""/>
|
||||||
|
<issueInfo inWork="" issueNumber=""/>
|
||||||
|
</dmIdent>
|
||||||
|
<dmAddressItems>
|
||||||
|
<issueDate day="" month="" year=""/>
|
||||||
|
<dmTitle>
|
||||||
|
<techName></techName>
|
||||||
|
<infoName></infoName>
|
||||||
|
</dmTitle>
|
||||||
|
</dmAddressItems>
|
||||||
|
</dmAddress>
|
||||||
|
<dmStatus>
|
||||||
|
<security securityClassification="01"/>
|
||||||
|
<logo>
|
||||||
|
<symbol infoEntityIdent=""/>
|
||||||
|
</logo>
|
||||||
|
<responsiblePartnerCompany enterpriseCode="">
|
||||||
|
<enterpriseName></enterpriseName>
|
||||||
|
</responsiblePartnerCompany>
|
||||||
|
<originator enterpriseCode="">
|
||||||
|
<enterpriseName></enterpriseName>
|
||||||
|
</originator>
|
||||||
|
<applic>
|
||||||
|
<displayText><simplePara>Ми-38</simplePara></displayText>
|
||||||
|
<assert applicPropertyType="prodattr" applicPropertyIdent="model" applicPropertyValues="MI-38"/>
|
||||||
|
</applic>
|
||||||
|
<qualityAssurance>
|
||||||
|
<firstVerification verificationType="tabtop"/>
|
||||||
|
</qualityAssurance>
|
||||||
|
</dmStatus>
|
||||||
|
</identAndStatusSection>
|
||||||
|
<content>
|
||||||
|
<crew>
|
||||||
|
<descrCrew>
|
||||||
|
</descrCrew>
|
||||||
|
</crew>
|
||||||
|
</content>
|
||||||
|
</dmodule>
|
||||||
43
s1000d/Converter14_Source/BlankXML/descript.xml
Normal file
@@ -0,0 +1,43 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<!DOCTYPE dmodule [<!ENTITY ICN-YOURPROJECT-A-000000-A-RHC01-00001-R-001-01 SYSTEM "ICN-YOURPROJECT-A-000000-A-RHC01-00001-R-001-01.svg" NDATA svg>]>
|
||||||
|
<dmodule xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:dc="http://www.purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:xlink="http://www.w3.org/1999/xlink" xsi:noNamespaceSchemaLocation="http://www.s1000d.org/S1000D_4-1-A/xml_schema_flat/descript.xsd">
|
||||||
|
<identAndStatusSection>
|
||||||
|
<dmAddress>
|
||||||
|
<dmIdent>
|
||||||
|
<dmCode assyCode="" disassyCode="" disassyCodeVariant="" infoCode="" infoCodeVariant="" itemLocationCode="" learnCode="" learnEventCode="" modelIdentCode="" subSubSystemCode="" subSystemCode="" systemCode="" systemDiffCode=""/>
|
||||||
|
<language countryIsoCode="" languageIsoCode=""/>
|
||||||
|
<issueInfo inWork="" issueNumber=""/>
|
||||||
|
</dmIdent>
|
||||||
|
<dmAddressItems>
|
||||||
|
<issueDate day="" month="" year=""/>
|
||||||
|
<dmTitle>
|
||||||
|
<techName></techName>
|
||||||
|
<infoName></infoName>
|
||||||
|
</dmTitle>
|
||||||
|
</dmAddressItems>
|
||||||
|
</dmAddress>
|
||||||
|
<dmStatus>
|
||||||
|
<security securityClassification="01"/>
|
||||||
|
<logo>
|
||||||
|
<symbol infoEntityIdent=""/>
|
||||||
|
</logo>
|
||||||
|
<responsiblePartnerCompany enterpriseCode="">
|
||||||
|
<enterpriseName></enterpriseName>
|
||||||
|
</responsiblePartnerCompany>
|
||||||
|
<originator enterpriseCode="">
|
||||||
|
<enterpriseName></enterpriseName>
|
||||||
|
</originator>
|
||||||
|
<applic>
|
||||||
|
<displayText><simplePara>Ми-38</simplePara></displayText>
|
||||||
|
<assert applicPropertyType="prodattr" applicPropertyIdent="model" applicPropertyValues="MI-38"/>
|
||||||
|
</applic>
|
||||||
|
<qualityAssurance>
|
||||||
|
<firstVerification verificationType="tabtop"/>
|
||||||
|
</qualityAssurance>
|
||||||
|
</dmStatus>
|
||||||
|
</identAndStatusSection>
|
||||||
|
<content>
|
||||||
|
<description>
|
||||||
|
</description>
|
||||||
|
</content>
|
||||||
|
</dmodule>
|
||||||
35
s1000d/Converter14_Source/BlankXML/dinamika.css
Normal file
@@ -0,0 +1,35 @@
|
|||||||
|
|
||||||
|
td {
|
||||||
|
border: 1px solid black;
|
||||||
|
padding: 0.5ex;
|
||||||
|
}
|
||||||
|
.grayNote {
|
||||||
|
color: gray;
|
||||||
|
}
|
||||||
|
span.foot_label {
|
||||||
|
vertical-align: super;
|
||||||
|
font-size: smaller;
|
||||||
|
font-weight: bold;
|
||||||
|
text-decoration: underline;
|
||||||
|
}
|
||||||
|
div.foot {
|
||||||
|
display: inline;
|
||||||
|
font-size: small;
|
||||||
|
font-weight: medium;
|
||||||
|
font-family: serif;
|
||||||
|
font-variant: normal;
|
||||||
|
font-style: normal;
|
||||||
|
}
|
||||||
|
div.foot_inner { display: none; }
|
||||||
|
div.foot:hover div.foot_inner {
|
||||||
|
display: block;
|
||||||
|
border: 1px double black;
|
||||||
|
margin: 0em 1em;
|
||||||
|
padding: 1em;
|
||||||
|
}
|
||||||
|
.divTable {
|
||||||
|
justify-content: center;
|
||||||
|
margin: 0 auto;
|
||||||
|
max-width: 90%;
|
||||||
|
overflow-x: auto;
|
||||||
|
}
|
||||||
19
s1000d/Converter14_Source/BlankXML/dml.xml
Normal file
@@ -0,0 +1,19 @@
|
|||||||
|
<dml xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:dc="http://www.purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:xlink="http://www.w3.org/1999/xlink"
|
||||||
|
xsi:noNamespaceSchemaLocation="http://www.s1000d.org/S1000D_4-1/xml_schema_flat/dml.xsd">
|
||||||
|
<identAndStatusSection>
|
||||||
|
<dmlAddress>
|
||||||
|
<dmlIdent>
|
||||||
|
<dmlCode modelIdentCode="" senderIdent="" dmlType="c" yearOfDataIssue="" seqNumber="00001"/>
|
||||||
|
<issueInfo issueNumber="001" inWork="00"/>
|
||||||
|
</dmlIdent>
|
||||||
|
<dmlAddressItems>
|
||||||
|
<issueDate year="" month="" day=""/>
|
||||||
|
</dmlAddressItems>
|
||||||
|
</dmlAddress>
|
||||||
|
<dmlStatus issueType="new">
|
||||||
|
<security securityClassification="01" commercialClassification="" caveat=""/>
|
||||||
|
</dmlStatus>
|
||||||
|
</identAndStatusSection>
|
||||||
|
<dmlContent>
|
||||||
|
</dmlContent>
|
||||||
|
</dml>
|
||||||
20
s1000d/Converter14_Source/BlankXML/imsmanifest.xml
Normal file
@@ -0,0 +1,20 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<manifest version="1.3" xsi:schemaLocation="http://www.imsglobal.org/xsd/imscp_v1p1 imscp_v1p1.xsd http://www.adlnet.org/xsd/adlcp_v1p3 adlcp_v1p3.xsd http://www.adlnet.org/xsd/adlseq_v1p3 adlseq_v1p3.xsd http://www.adlnet.org/xsd/adlnav_v1p3 adlnav_v1p3.xsd http://www.imsglobal.org/xsd/imsss imsss_v1p0.xsd" identifier="" xmlns="http://www.imsproject.org/xsd/imscp_rootv1p1p2" xmlns:adlcp="http://www.adlnet.org/xsd/adlcp_v1p3" xmlns:adlseq="http://www.adlnet.org/xsd/adlseq_v1p3" xmlns:adlnav="http://www.adlnet.org/xsd/adlnav_v1p3" xmlns:imsss="http://www.imsglobal.org/xsd/imsss" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
|
||||||
|
<metadata>
|
||||||
|
<schema>ADL SCORM</schema>
|
||||||
|
<schemaversion>2004 3rd Edition</schemaversion>
|
||||||
|
</metadata>
|
||||||
|
<organizations default="default">
|
||||||
|
<organization structure="hierarchical" identifier="default">
|
||||||
|
</organization>
|
||||||
|
</organizations>
|
||||||
|
<resources>
|
||||||
|
<resource identifier="SharedFiles" adlcp:scormType="asset" type="webcontent">
|
||||||
|
<file href="app/dinamika/dinamika.css" />
|
||||||
|
<file href="app/dinamika/dinamika.js" />
|
||||||
|
<file href="app/dinamika/viewimg.css" />
|
||||||
|
<file href="app/dinamika/viewimg.js" />
|
||||||
|
<file href="app/dinamika/viewimg.png" />
|
||||||
|
</resource>
|
||||||
|
</resources>
|
||||||
|
</manifest>
|
||||||
45
s1000d/Converter14_Source/BlankXML/learning.xml
Normal file
@@ -0,0 +1,45 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?><?xml-stylesheet href="app/s1000d_4html.xslt" type="text/xsl"?>
|
||||||
|
<!DOCTYPE DMODULE [<!ENTITY ICN-RHCA-A-000000-A-RHC01-00001-R-001-01 SYSTEM "ICN-RHCA-A-000000-A-RHC01-00001-R-001-01.svg" NDATA svg>]>
|
||||||
|
<dmodule xsi:noNamespaceSchemaLocation="http://www.s1000d.org/S1000D_4-1/xml_schema_flat/learning.xsd" xmlns:dc="http://www.purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
|
||||||
|
<identAndStatusSection>
|
||||||
|
<dmAddress>
|
||||||
|
<dmIdent>
|
||||||
|
<dmCode assyCode="" disassyCode="" disassyCodeVariant="" infoCode="" infoCodeVariant="" itemLocationCode="" learnCode="" learnEventCode="" modelIdentCode="" subSubSystemCode="" subSystemCode="" systemCode="" systemDiffCode=""/>
|
||||||
|
<language countryIsoCode="" languageIsoCode=""/>
|
||||||
|
<issueInfo inWork="" issueNumber=""/>
|
||||||
|
</dmIdent>
|
||||||
|
<dmAddressItems>
|
||||||
|
<issueDate day="" month="" year=""/>
|
||||||
|
<dmTitle>
|
||||||
|
<techName></techName>
|
||||||
|
<infoName></infoName>
|
||||||
|
</dmTitle>
|
||||||
|
</dmAddressItems>
|
||||||
|
</dmAddress>
|
||||||
|
<dmStatus>
|
||||||
|
<security securityClassification="01"/>
|
||||||
|
<logo>
|
||||||
|
<symbol infoEntityIdent=""/>
|
||||||
|
</logo>
|
||||||
|
<responsiblePartnerCompany enterpriseCode="">
|
||||||
|
<enterpriseName></enterpriseName>
|
||||||
|
</responsiblePartnerCompany>
|
||||||
|
<originator enterpriseCode="">
|
||||||
|
<enterpriseName></enterpriseName>
|
||||||
|
</originator>
|
||||||
|
<applic>
|
||||||
|
<displayText><simplePara>Ми-38</simplePara></displayText>
|
||||||
|
<assert applicPropertyType="prodattr" applicPropertyIdent="model" applicPropertyValues="MI-38"/>
|
||||||
|
</applic>
|
||||||
|
<qualityAssurance>
|
||||||
|
<firstVerification verificationType="tabtop"/>
|
||||||
|
</qualityAssurance>
|
||||||
|
</dmStatus>
|
||||||
|
</identAndStatusSection>
|
||||||
|
<content>
|
||||||
|
<learning>
|
||||||
|
<learningAssessment>
|
||||||
|
</learningAssessment>
|
||||||
|
</learning>
|
||||||
|
</content>
|
||||||
|
</dmodule>
|
||||||
7
s1000d/Converter14_Source/BlankXML/packages.xml
Normal file
@@ -0,0 +1,7 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<packages version="1.3" xsi:schemaLocation="http://www.imsglobal.org/xsd/imscp_v1p1 imscp_v1p1.xsd http://www.adlnet.org/xsd/adlcp_v1p3 adlcp_v1p3.xsd http://www.adlnet.org/xsd/adlseq_v1p3 adlseq_v1p3.xsd http://www.adlnet.org/xsd/adlnav_v1p3 adlnav_v1p3.xsd http://www.imsglobal.org/xsd/imsss imsss_v1p0.xsd" identifier="" xmlns="http://www.imsproject.org/xsd/imscp_rootv1p1p2" xmlns:adlcp="http://www.adlnet.org/xsd/adlcp_v1p3" xmlns:adlseq="http://www.adlnet.org/xsd/adlseq_v1p3" xmlns:adlnav="http://www.adlnet.org/xsd/adlnav_v1p3" xmlns:imsss="http://www.imsglobal.org/xsd/imsss" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
|
||||||
|
<packlist>
|
||||||
|
</packlist>
|
||||||
|
<contents>
|
||||||
|
</contents>
|
||||||
|
</packages>
|
||||||
60
s1000d/Converter14_Source/BlankXML/pm.xml
Normal file
@@ -0,0 +1,60 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<?xml-stylesheet href="../xsl/pm_style.xsl" type="text/xsl" ?>
|
||||||
|
<pm xsi:noNamespaceSchemaLocation="http://www.s1000d.org/S1000D_4-1/xml_schema_flat/pm.xsd" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:dc="http://www.purl.org/dc/elements/1.1/">
|
||||||
|
<identAndStatusSection>
|
||||||
|
<pmAddress>
|
||||||
|
<pmIdent>
|
||||||
|
<pmCode pmVolume="" pmIssuer="" modelIdentCode="" pmNumber=""/>
|
||||||
|
<language languageIsoCode="" countryIsoCode=""/>
|
||||||
|
<issueInfo inWork="" issueNumber=""/>
|
||||||
|
</pmIdent>
|
||||||
|
<pmAddressItems>
|
||||||
|
<issueDate year="" day="" month=""/>
|
||||||
|
<pmTitle></pmTitle>
|
||||||
|
</pmAddressItems>
|
||||||
|
</pmAddress>
|
||||||
|
<pmStatus issueType="new">
|
||||||
|
<security securityClassification="01"/>
|
||||||
|
<dataRestrictions>
|
||||||
|
<restrictionInstructions>
|
||||||
|
<dataDistribution></dataDistribution>
|
||||||
|
<exportControl>
|
||||||
|
<exportRegistrationStmt>
|
||||||
|
</exportRegistrationStmt>
|
||||||
|
</exportControl>
|
||||||
|
<dataHandling></dataHandling>
|
||||||
|
<dataDestruction></dataDestruction>
|
||||||
|
<dataDisclosure></dataDisclosure>
|
||||||
|
</restrictionInstructions>
|
||||||
|
<restrictionInfo>
|
||||||
|
<copyright>
|
||||||
|
<copyrightPara>
|
||||||
|
</copyrightPara>
|
||||||
|
</copyright>
|
||||||
|
<policyStatement></policyStatement>
|
||||||
|
<dataConds></dataConds>
|
||||||
|
</restrictionInfo>
|
||||||
|
</dataRestrictions>
|
||||||
|
<responsiblePartnerCompany enterpriseCode="">
|
||||||
|
<enterpriseName></enterpriseName>
|
||||||
|
</responsiblePartnerCompany>
|
||||||
|
<originator enterpriseCode="">
|
||||||
|
<enterpriseName></enterpriseName>
|
||||||
|
</originator>
|
||||||
|
<applic>
|
||||||
|
<displayText>
|
||||||
|
</displayText>
|
||||||
|
</applic>
|
||||||
|
<brexDmRef>
|
||||||
|
</brexDmRef>
|
||||||
|
<qualityAssurance>
|
||||||
|
<firstVerification verificationType="tabtop"/>
|
||||||
|
</qualityAssurance>
|
||||||
|
</pmStatus>
|
||||||
|
</identAndStatusSection>
|
||||||
|
<content>
|
||||||
|
<pmEntry>
|
||||||
|
<pmEntryTitle></pmEntryTitle>
|
||||||
|
</pmEntry>
|
||||||
|
</content>
|
||||||
|
</pm>
|
||||||
26
s1000d/Converter14_Source/BlankXML/scormIndex.html
Normal file
@@ -0,0 +1,26 @@
|
|||||||
|
<!DOCTYPE HTML>
|
||||||
|
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
|
||||||
|
<html xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:dc="http://www.purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
|
||||||
|
<head>
|
||||||
|
<meta charset="utf-8" />
|
||||||
|
<script>
|
||||||
|
function setContent(fileName) {
|
||||||
|
c = document.getElementById("content");
|
||||||
|
c.innerHTML = "<iframe src='"+fileName+"' width='100%' height='100%' style='margin: 0 auto;' frameBorder='0' style='text-indent: 0px;'></iframe>";
|
||||||
|
window.scrollTo({ top: 0, behavior: 'smooth' });
|
||||||
|
}
|
||||||
|
</script>
|
||||||
|
<style> html, body { height:100%; margin:0px; padding:0px; }</style>
|
||||||
|
</head>
|
||||||
|
<body bgcolor="#FFFFFF">
|
||||||
|
<table width="100%" height="100%" cellspacing="5px" >
|
||||||
|
<tr height="100%">
|
||||||
|
<td width="300" style="vertical-align: text-top; border-right: 1px solid gray; font-family: RobotoRegular, Arial, sans-serif; font-weight: bold;color: rgba(124, 37, 41, 1);">
|
||||||
|
<table id="tocTable">
|
||||||
|
</table>
|
||||||
|
</td>
|
||||||
|
<td><div id="content" style="vertical-align: text-top; width:100%; height:100%;"></div></td>
|
||||||
|
</tr>
|
||||||
|
</table>
|
||||||
|
</body>
|
||||||
|
</html>
|
||||||
BIN
s1000d/Converter14_Source/Docs/S1000D_Issue_4.1.pdf
Normal file
563
s1000d/Converter14_Source/Docs/infoCodes.txt
Normal file
@@ -0,0 +1,563 @@
|
|||||||
|
Выписка из модуля данных BREX (содержит требования холдинга ВЕРТОЛЕТЫ РОССИИ к разработке АУК специального применения).
|
||||||
|
Перечень информационных кодов (information code):
|
||||||
|
000 - Function, data for plans and description
|
||||||
|
001 - Title page
|
||||||
|
003 - Change record or highlights See also code 00T and code 00U
|
||||||
|
004 - Access illustration
|
||||||
|
005 - List of abbreviations
|
||||||
|
006 - List of terms
|
||||||
|
007 - List of symbols
|
||||||
|
008 - Technical standard record
|
||||||
|
009 - table of contents
|
||||||
|
010 - General data
|
||||||
|
011 - Function
|
||||||
|
012 - General warnings and cautions and related safety data
|
||||||
|
013 - Numeric index
|
||||||
|
014 - Alphabetic and alphanumeric index
|
||||||
|
015 - List of special materials
|
||||||
|
016 - List of dangerous materials
|
||||||
|
017 - List of related data - refer to code 00V
|
||||||
|
018 - Introduction
|
||||||
|
019 - Supplier list
|
||||||
|
020 - Configuration
|
||||||
|
021 - Copyright
|
||||||
|
022 - Business rules
|
||||||
|
023 - Administrative forms and data
|
||||||
|
028 - General Refer to codes 010 and 018
|
||||||
|
029 - Data structure
|
||||||
|
030 - Technical data
|
||||||
|
031 - Electrical standard parts data
|
||||||
|
033 - Technical data (functional breakdown)
|
||||||
|
034 - Technical data (physical breakdown)
|
||||||
|
040 - Description
|
||||||
|
041 - Description of how it is made
|
||||||
|
042 - Description of function
|
||||||
|
043 - Description of function attributed to crew (functional breakdown)
|
||||||
|
044 - Description of function (physical breakdown)
|
||||||
|
045 - Designated use
|
||||||
|
046 - Dependence on peripheral systems/equipment
|
||||||
|
050 - Diagram/List
|
||||||
|
051 - Wiring diagram
|
||||||
|
052 - Routing diagram
|
||||||
|
053 - Connection list
|
||||||
|
054 - Schematic diagram
|
||||||
|
055 - Location diagram
|
||||||
|
056 - Equipment list
|
||||||
|
057 - Wire list
|
||||||
|
058 - Harness list
|
||||||
|
059 - Maintenance envelope diagram
|
||||||
|
060 - Product support equipment, tools and software
|
||||||
|
061 - Special support equipment and tools
|
||||||
|
062 - Standard support equipment and tools
|
||||||
|
063 - Government supplied support equipment and tools
|
||||||
|
064 - Locally made support equipment and tools
|
||||||
|
065 - Software
|
||||||
|
066 - Support equipment and tools data
|
||||||
|
067 - Decals and instruction plates
|
||||||
|
070 - Consumables, materials and expendables Supplies =consumables, materials and expendables
|
||||||
|
071 - Consumables
|
||||||
|
072 - Materials
|
||||||
|
073 - Expendables
|
||||||
|
074 - Data sheet for dangerous consumables and materials
|
||||||
|
075 - Parts list
|
||||||
|
076 - Fluid
|
||||||
|
077 - Data sheet for consumables and materials
|
||||||
|
078 - Fasteners
|
||||||
|
080 - Mixture and solution
|
||||||
|
081 - Chemical solution
|
||||||
|
082 - Chemical mixture
|
||||||
|
090 - Software documentation
|
||||||
|
096 - Safety items and parts
|
||||||
|
00A - List of illustrations - normally used in front matter data modules
|
||||||
|
00B - List of support equipment - ormally used in front matter data modules
|
||||||
|
00C - List of supplies - normally used in front matter data modules
|
||||||
|
00D - List of spares - normally used in front matter data modules
|
||||||
|
00E - Functional item numbers common information repository
|
||||||
|
00F - Circuit breakers common information repository
|
||||||
|
00G - Parts common information repository
|
||||||
|
00H - Zones common information repository
|
||||||
|
00J - Access panels and doors common information repository
|
||||||
|
00K - Organizations common information repository
|
||||||
|
00L - Supplies - List of products common information repository
|
||||||
|
00M - Supplies - List of requirements common information repository
|
||||||
|
00N - Support equipment common information repository
|
||||||
|
00P - Product Cross-reference table (PCT)
|
||||||
|
00Q - Conditions Cross-reference table (CCT)
|
||||||
|
00T - Change record - refer to code 003
|
||||||
|
00U - Highlights - refer to code 003
|
||||||
|
00V - List of applicable specifications and documentation - refer to code 017
|
||||||
|
00W - Applicability Cross-reference table (ACT)
|
||||||
|
00X - Controls and indicators common information repository
|
||||||
|
00Y - List of charts and forms
|
||||||
|
00Z - List of tables
|
||||||
|
0A1 - Functional and/or physical areas common information repository
|
||||||
|
0A2 - Applicability repository
|
||||||
|
0A3 - Applicability Cross-reference table catalog
|
||||||
|
0B0 - Maintenance planning information
|
||||||
|
0B1 - Time limits
|
||||||
|
0B2 - System maintenance/Inspection tasks list
|
||||||
|
0B3 - Structure maintenance/inspection tasks lists
|
||||||
|
0B4 - Zonal maintenance/inspection tasks list
|
||||||
|
0B5 - Unscheduled check
|
||||||
|
100 - Operation
|
||||||
|
101 - List of consumables associated with operation
|
||||||
|
102 - List of materials associated with operation
|
||||||
|
103 - List of expendables associated with operation
|
||||||
|
104 - List of special support equipment and tools associated with operation
|
||||||
|
105 - List of support equipment and tools associated with operation
|
||||||
|
106 - List of software associated with operation
|
||||||
|
107 - Parts list associated with operation
|
||||||
|
110 - Controls and indicators
|
||||||
|
111 - Controls and indicators This code is used for crew
|
||||||
|
112 - Modes of operation This code is used for crew
|
||||||
|
115 - Displays and alerts
|
||||||
|
120 - Pre-operation
|
||||||
|
121 - Pre-operation procedure This code is used for crew
|
||||||
|
122 - Siting
|
||||||
|
123 - Shelter
|
||||||
|
125 - Pre-operation procedures checklist - this code is used for crew
|
||||||
|
126 - Conditions of readiness
|
||||||
|
127 - Establish operating position
|
||||||
|
130 - Normal operation
|
||||||
|
131 - Normal operation procedure This code is used for crew
|
||||||
|
132 - Start-up procedure for maintenance
|
||||||
|
133 - Shutdown procedure for maintenance
|
||||||
|
134 - Aviation checklist
|
||||||
|
135 - Normal operation procedures checklist This code is used for crew
|
||||||
|
136 - Ground running check
|
||||||
|
138 - Ground running and performance adjustment
|
||||||
|
139 - Nuclear, biological and chemical procedures
|
||||||
|
140 - Emergency procedure
|
||||||
|
141 - Emergency operation procedure This code is used for crew
|
||||||
|
142 - Operation under unusual conditions
|
||||||
|
143 - Radio interference suppression
|
||||||
|
144 - Jamming and electronic countermeasures (ECM)
|
||||||
|
145 - Emergency operation procedures checklist This code is used for crew
|
||||||
|
146 - Emergency shutdown operation procedure (Checklist)
|
||||||
|
150 - Post-operation
|
||||||
|
151 - Post-operation procedure This code is used for crew
|
||||||
|
155 - Post-operation procedures checklist This code is used for crew
|
||||||
|
157 - Establish maintenance position
|
||||||
|
160 - Loading/Unloading procedure
|
||||||
|
161 - Special operation
|
||||||
|
162 - Non-tactical operation
|
||||||
|
169 - Mass and Balance
|
||||||
|
170 - Handling
|
||||||
|
171 - Lifting
|
||||||
|
172 - Jacking
|
||||||
|
173 - Shoring
|
||||||
|
174 - Towing
|
||||||
|
175 - Taxiing
|
||||||
|
176 - Lowering
|
||||||
|
177 - Stabilizing
|
||||||
|
178 - Tethering
|
||||||
|
179 - Debogging
|
||||||
|
180 - Dispatch deviation
|
||||||
|
181 - Deactivate for dispatch deviation
|
||||||
|
200 - Servicing
|
||||||
|
201 - List of consumables associated with servicing
|
||||||
|
202 - List of materials associated with servicing
|
||||||
|
203 - List of expendables associated with servicing
|
||||||
|
204 - List of special support equipment and tools associated with servicing
|
||||||
|
205 - List of support equipment and tools associated with servicing
|
||||||
|
206 - List of software associated with servicing
|
||||||
|
207 - Parts list associated with servicing
|
||||||
|
210 - Fill
|
||||||
|
211 - Refuel
|
||||||
|
212 - Fill with oil
|
||||||
|
213 - Fill with oxygen
|
||||||
|
214 - Fill with nitrogen
|
||||||
|
215 - Fill with air
|
||||||
|
216 - Fill with water
|
||||||
|
217 - Fill with hydrogen
|
||||||
|
218 - Fill with other liquid
|
||||||
|
219 - Fill with other gas
|
||||||
|
220 - Drain liquid and release pressure
|
||||||
|
221 - Defuel and drain fuel
|
||||||
|
222 - Drain oil
|
||||||
|
223 - Release oxygen pressure
|
||||||
|
224 - Release nitrogen pressure
|
||||||
|
225 - Release air pressure
|
||||||
|
226 - Drain water
|
||||||
|
227 - Release hydrogen pressure
|
||||||
|
228 - Drain other liquid
|
||||||
|
229 - Release other gas pressure
|
||||||
|
230 - Bleed and prime
|
||||||
|
231 - Bleed
|
||||||
|
232 - Prime
|
||||||
|
233 - Dry
|
||||||
|
234 - Facility requirements associated with servicing
|
||||||
|
236 - Fill with inert gas/inert liquid
|
||||||
|
237 - Evacuate
|
||||||
|
240 - Lubrication
|
||||||
|
241 - Oil
|
||||||
|
242 - Grease
|
||||||
|
243 - Dry film
|
||||||
|
250 - Clean and apply surface protection
|
||||||
|
251 - Clean with chemical agent
|
||||||
|
252 - Clean by abrasive blast
|
||||||
|
253 - Clean by ultrasonics
|
||||||
|
254 - Clean mechanically
|
||||||
|
255 - Purge
|
||||||
|
256 - Polish and apply wax
|
||||||
|
257 - Paint and apply marking
|
||||||
|
258 - Other procedure to clean
|
||||||
|
259 - Other procedure to protect surfaces
|
||||||
|
260 - Remove and prevent ice and remove contamination
|
||||||
|
261 - Remove ice
|
||||||
|
262 - Prevent ice
|
||||||
|
263 - Use disinfectant/Sanitize
|
||||||
|
264 - Remove contamination
|
||||||
|
270 - Adjust, align and calibrate
|
||||||
|
271 - Adjust
|
||||||
|
272 - Align
|
||||||
|
273 - Calibrate
|
||||||
|
274 - Harmonize
|
||||||
|
275 - Grooming
|
||||||
|
276 - Rig
|
||||||
|
277 - Compensate
|
||||||
|
278 - Easily and quickly adjust after a battle damage repair
|
||||||
|
279 - Easily and quickly align after a battle damage repair
|
||||||
|
280 - Inspection
|
||||||
|
281 - Scheduled inspection
|
||||||
|
282 - Unscheduled inspection
|
||||||
|
283 - Special regular inspection
|
||||||
|
284 - Special irregular inspection
|
||||||
|
285 - Structure inspections for allowable damage limits
|
||||||
|
286 - Structure inspections for repair
|
||||||
|
288 - Overhaul and retirement schedule
|
||||||
|
289 - Check for filling quantity
|
||||||
|
290 - Change of liquid/gas
|
||||||
|
292 - Change of oil Code 222 + code 212
|
||||||
|
293 - Change of oxygen Code 223 + code 213
|
||||||
|
294 - Change of nitrogen Code 224 + code 214
|
||||||
|
295 - Change of air Code 225 + code 215
|
||||||
|
296 - Change of water Code 226 + code 216
|
||||||
|
297 - Change of hydrogen
|
||||||
|
298 - Change of other liquid Code 228 + code 218
|
||||||
|
299 - Change of other gas Code 229 + code 219
|
||||||
|
300 - Examinations, tests and checks
|
||||||
|
301 - List of consumables associated with examinations, tests and checks
|
||||||
|
302 - List of materials associated with examinations, tests and checks
|
||||||
|
303 - List of expendables associated with examinations, tests and checks
|
||||||
|
304 - List of special support equipment and tools associated with examinations, tests and checks
|
||||||
|
305 - List of support equipment and tools associated with examinations, tests and checks
|
||||||
|
306 - List of software associated with examinations, tests and checks
|
||||||
|
307 - Parts list associated with examinations, tests and checks
|
||||||
|
310 - Visual examination
|
||||||
|
311 - Visual examination without special equipment
|
||||||
|
312 - Examination with a borescope
|
||||||
|
315 - QA requirements
|
||||||
|
320 - Operation test
|
||||||
|
321 - Unit Break-in
|
||||||
|
322 - Test and inspection
|
||||||
|
330 - Test preparation
|
||||||
|
331 - Connection of test equipment
|
||||||
|
332 - Removal of test equipment
|
||||||
|
333 - Installation of the unit before the test
|
||||||
|
334 - Removal of the unit after the test
|
||||||
|
335 - Concluding Final measures
|
||||||
|
340 - Function test
|
||||||
|
341 - Manual test
|
||||||
|
342 - Automatic test
|
||||||
|
343 - BIT
|
||||||
|
344 - Compatibility test
|
||||||
|
345 - System test
|
||||||
|
346 - Other check
|
||||||
|
347 - Start-up procedure for test
|
||||||
|
348 - Finial acceptance test (FAT)
|
||||||
|
349 - Test results
|
||||||
|
350 - Structure test
|
||||||
|
351 - Test for surface cracks with dye penetrant
|
||||||
|
352 - Test for surface cracks with magnetic particles
|
||||||
|
353 - Test for cracks and other defects with eddy current
|
||||||
|
354 - Test for cracks and other defects with X-rays
|
||||||
|
355 - Test for cracks and other defects with ultrasonic
|
||||||
|
356 - Hardness test
|
||||||
|
357 - Gamma ray
|
||||||
|
358 - Resonance frequency
|
||||||
|
359 - Thermographic test
|
||||||
|
360 - Design data/tolerances check
|
||||||
|
361 - Dimensions check
|
||||||
|
362 - Pressure check
|
||||||
|
363 - Flow check
|
||||||
|
364 - Leak check
|
||||||
|
365 - Continuity check
|
||||||
|
366 - Resistance check
|
||||||
|
367 - Electrical power check
|
||||||
|
368 - Signal strength check
|
||||||
|
369 - Other check
|
||||||
|
370 - Monitor the condition
|
||||||
|
371 - Oil analysis
|
||||||
|
372 - Vibration analysis
|
||||||
|
373 - Tracking check
|
||||||
|
374 - Fuel analysis
|
||||||
|
375 - Shooting accidental discharge analysis
|
||||||
|
376 - Check post application of adhesive
|
||||||
|
377 - Contamination analysis
|
||||||
|
390 - Sample test
|
||||||
|
396 - Flight control surface movement
|
||||||
|
397 - Landing gear movement
|
||||||
|
398 - Product configuration
|
||||||
|
400 - Fault reports and isolation procedures
|
||||||
|
401 - List of consumables associated with fault diagnosis
|
||||||
|
402 - List of materials associated with fault diagnosis
|
||||||
|
403 - List of expendables associated with fault diagnosis
|
||||||
|
404 - List of special support equipment and tools associated with fault diagnosis
|
||||||
|
405 - List of support equipment and tools associated with fault diagnosis
|
||||||
|
406 - List of software associated with fault diagnosis
|
||||||
|
407 - Parts list associated with fault diagnosis
|
||||||
|
410 - General fault description
|
||||||
|
411 - Isolated fault
|
||||||
|
412 - Detected fault
|
||||||
|
413 - Observed fault
|
||||||
|
414 - Correlated fault
|
||||||
|
415 - Impact of fault
|
||||||
|
420 - General fault isolation procedure
|
||||||
|
421 - Fault isolation procedure
|
||||||
|
429 - Diagnostics
|
||||||
|
430 - Fault isolation task supporting data
|
||||||
|
440 - Index
|
||||||
|
441 - Fault code index
|
||||||
|
442 - Maintenance message index
|
||||||
|
443 - Post-troubleshooting shutdown procedures
|
||||||
|
500 - Disconnect, remove and disassemble procedures
|
||||||
|
501 - List of consumables associated with removal
|
||||||
|
502 - List of materials associated with removal
|
||||||
|
503 - List of expendables associated with removal
|
||||||
|
504 - List of special support equipment and tools associated with removal
|
||||||
|
505 - List of support equipment and tools associated with removal
|
||||||
|
506 - List of software associated with removal
|
||||||
|
507 - Parts list associated with removal
|
||||||
|
510 - Disconnect procedure
|
||||||
|
520 - Remove procedure
|
||||||
|
521 - Return to basic configuration Undressing
|
||||||
|
522 - Remove support equipment/Remove from support equipment
|
||||||
|
523 - Preparation before removal
|
||||||
|
524 - Follow-on maintenance
|
||||||
|
525 - Ammunition unloading
|
||||||
|
526 - Deactivate launching device
|
||||||
|
530 - Disassemble procedure
|
||||||
|
531 - Disassemble procedure on operation site
|
||||||
|
540 - Open for access procedure
|
||||||
|
550 - Unload software procedure
|
||||||
|
551 - Fault monitoring storage readout (downloading)
|
||||||
|
552 - Data erasing
|
||||||
|
553 - Display, copy and print of data
|
||||||
|
560 - Deactivation procedure
|
||||||
|
561 - De-Energize electrical network
|
||||||
|
562 - Depressurize hydraulics
|
||||||
|
563 - Deactivation maintenance practice
|
||||||
|
600 - Repairs and locally make procedures and data
|
||||||
|
601 - List of consumables associated with repairs
|
||||||
|
602 - List of materials associated with repairs
|
||||||
|
603 - List of expendables associated with repairs
|
||||||
|
604 - List of special support equipment and tools associated with repairs
|
||||||
|
605 - List of support equipment and tools associated with repairs
|
||||||
|
606 - List of software associated with repairs
|
||||||
|
607 - Parts list associated with repairs
|
||||||
|
610 - Add material
|
||||||
|
611 - Insulation
|
||||||
|
612 - Metalize
|
||||||
|
613 - Pot
|
||||||
|
614 - Remetal
|
||||||
|
615 - Retread
|
||||||
|
620 - Attach material
|
||||||
|
621 - Bond
|
||||||
|
622 - Crimp
|
||||||
|
623 - Braze
|
||||||
|
624 - Rivet
|
||||||
|
625 - Solder
|
||||||
|
626 - Splice
|
||||||
|
627 - Weld
|
||||||
|
630 - Change the mechanical strength/structure of material
|
||||||
|
631 - Anneal
|
||||||
|
632 - Case harden
|
||||||
|
633 - Cure
|
||||||
|
634 - Normalize
|
||||||
|
635 - Shot-peen
|
||||||
|
636 - Temper
|
||||||
|
638 - Other treatment
|
||||||
|
639 - Other process to change the mechanical strength/structure of material
|
||||||
|
640 - Change the surface finish of material
|
||||||
|
641 - Anodize
|
||||||
|
642 - Buff
|
||||||
|
643 - Burnish
|
||||||
|
644 - Chromate
|
||||||
|
645 - Hone
|
||||||
|
646 - Lap
|
||||||
|
647 - Plate
|
||||||
|
648 - Polish
|
||||||
|
649 - Clean-up of dents, cracks and scratches
|
||||||
|
650 - Remove material
|
||||||
|
651 - Abrasive blast
|
||||||
|
652 - Bore/drill/ream
|
||||||
|
653 - Electrical/electrochemical/chemical etch
|
||||||
|
654 - Broach
|
||||||
|
655 - Grind
|
||||||
|
656 - Mill
|
||||||
|
657 - Thread/tap
|
||||||
|
658 - Turn
|
||||||
|
659 - Other process to remove material
|
||||||
|
660 - Structure repair procedure and data
|
||||||
|
661 - Allowable damage
|
||||||
|
662 - Temporary repair procedure
|
||||||
|
663 - Standard repair procedure
|
||||||
|
664 - Special repair procedure
|
||||||
|
665 - Fly-in repair procedure
|
||||||
|
666 - Material classification
|
||||||
|
667 - Structure classification
|
||||||
|
668 - Allowable damage of composite structures
|
||||||
|
669 - Allowable damage of mixed structures
|
||||||
|
670 - Locally make procedure and data
|
||||||
|
671 - Making of parts
|
||||||
|
680 - Battle damage repair procedure and data
|
||||||
|
681 - Damage repair symbol marking
|
||||||
|
682 - Identification of damaged hardware
|
||||||
|
683 - Damage assessment
|
||||||
|
684 - Utilization degradation
|
||||||
|
685 - Repair procedure
|
||||||
|
686 - Isolation procedure
|
||||||
|
687 - Function test after battle damage repair
|
||||||
|
688 - Battle damage repair kit
|
||||||
|
689 - Damage repair
|
||||||
|
690 - Miscellaneous
|
||||||
|
691 - Marking
|
||||||
|
692 - Connector repair
|
||||||
|
693 - Varnish
|
||||||
|
700 - Assemble, install and connect procedures
|
||||||
|
701 - List of consumables associated with installation
|
||||||
|
702 - List of materials associated with installation
|
||||||
|
703 - List of expendables associated with installation
|
||||||
|
704 - List of special support equipment and tools associated with installation
|
||||||
|
705 - List of support equipment and tools associated with installation
|
||||||
|
706 - List of software associated with installation
|
||||||
|
707 - Parts list associated with installation
|
||||||
|
710 - Assemble procedure
|
||||||
|
711 - Tighten procedure
|
||||||
|
712 - Lock procedure
|
||||||
|
713 - Pack procedure
|
||||||
|
714 - Assemble procedure on operation site
|
||||||
|
720 - Install procedure
|
||||||
|
721 - Build up to usable configuration Dressing
|
||||||
|
722 - Install support equipment/Install on support equipment
|
||||||
|
723 - Preparation before installation
|
||||||
|
724 - Follow-on maintenance
|
||||||
|
725 - Ammunition loading
|
||||||
|
726 - Activate launching device
|
||||||
|
727 - Site location plan
|
||||||
|
728 - Foundation preparation
|
||||||
|
730 - Connect procedure
|
||||||
|
740 - Close after access procedure
|
||||||
|
750 - Load software procedure
|
||||||
|
752 - Data loading
|
||||||
|
760 - Reactivation procedure
|
||||||
|
761 - Energize electrical network
|
||||||
|
762 - Pressurize hydraulics
|
||||||
|
800 - Package, handling, storage, and transportation
|
||||||
|
801 - List of consumables associated with storage
|
||||||
|
802 - List of materials associated with storage
|
||||||
|
803 - List of expendables associated with storage
|
||||||
|
804 - List of special support equipment and tools associated with storage
|
||||||
|
805 - List of support equipment and tools associated with storage
|
||||||
|
806 - List of software associated with storage
|
||||||
|
807 - Parts list associated with storage
|
||||||
|
810 - Preservation procedure
|
||||||
|
811 - Preparation for vehicle transportation
|
||||||
|
812 - Shipping and storage - General
|
||||||
|
820 - Procedure to remove preservation material
|
||||||
|
830 - Procedure to put item in containers
|
||||||
|
831 - Vehicle loading
|
||||||
|
832 - Procedure to pack items
|
||||||
|
840 - Procedure to remove item from containers
|
||||||
|
841 - Vehicle unloading
|
||||||
|
842 - Procedure to unpack items
|
||||||
|
850 - Procedure to keep item serviceable when in storage
|
||||||
|
860 - Procedure to move item when in storage
|
||||||
|
870 - Procedure to prepare item for use after storage
|
||||||
|
871 - Set on condition
|
||||||
|
880 - Procedure when item got out of storage
|
||||||
|
890 - Life data of item when in storage
|
||||||
|
900 - Miscellaneous
|
||||||
|
901 - Miscellaneous list of consumables
|
||||||
|
902 - Miscellaneous list of materials
|
||||||
|
903 - Miscellaneous list of expendables
|
||||||
|
904 - Miscellaneous list of special support equipment and tools
|
||||||
|
905 - Miscellaneous list of support equipment and tools
|
||||||
|
906 - Miscellaneous list of software
|
||||||
|
907 - Miscellaneous parts list
|
||||||
|
910 - Miscellaneous
|
||||||
|
911 - Illustration
|
||||||
|
912 - Handling procedure
|
||||||
|
913 - General maintenance procedure
|
||||||
|
914 - Container data module
|
||||||
|
915 - Facilities
|
||||||
|
916 - Maintenance allocation
|
||||||
|
917 - Non-S1000D publication
|
||||||
|
920 - Change = Remove and install
|
||||||
|
921 - Change = Remove and install a new item
|
||||||
|
922 - Change = Remove and install the removed item
|
||||||
|
923 - Change = Disconnect and connect an item
|
||||||
|
930 - Service bulletin
|
||||||
|
933 - Accomplishment procedure - Task set
|
||||||
|
934 - Material information
|
||||||
|
940 - Provisioning data
|
||||||
|
941 - Illustrated parts data
|
||||||
|
942 - Numerical index
|
||||||
|
950 - Composite information
|
||||||
|
951 - Generic process
|
||||||
|
952 - Generic learning content
|
||||||
|
961 - Calculation worksheets
|
||||||
|
970 - Approved vendor processes
|
||||||
|
980 - Environmental protection, fire-fighting and rescue
|
||||||
|
981 - Air cleaning
|
||||||
|
982 - Sewage treatment
|
||||||
|
989 - Fire-fighting and rescue
|
||||||
|
990 - Neutralization and disposal
|
||||||
|
991 - Neutralization of ordnance
|
||||||
|
992 - Neutralization of substance
|
||||||
|
996 - Disposal of ordnance
|
||||||
|
997 - Disposal of product
|
||||||
|
998 - Disposal of substance
|
||||||
|
C00 - Computer systems, software and data
|
||||||
|
C01 - Miscellaneous list of consumables associated with computer systems, software and data
|
||||||
|
C02 - Miscellaneous list of materials associated with computer systems, software and data
|
||||||
|
C03 - Miscellaneous list of expendables associated with computer systems, software and data
|
||||||
|
C04 - Miscellaneous list of special support equipment and tools associated with computer systems, software and data
|
||||||
|
C05 - Miscellaneous list of support equipment and tools associated with computer systems, software and data
|
||||||
|
C06 - Miscellaneous list of software associated with computer systems, software and data
|
||||||
|
C07 - Miscellaneous parts list associated with computer systems, software and data
|
||||||
|
C13 - Notes
|
||||||
|
C14 - Problem handling
|
||||||
|
C15 - Summary of content
|
||||||
|
C20 - System administration
|
||||||
|
C21 - System monitoring
|
||||||
|
C22 - Description of command
|
||||||
|
C23 - Connect hardware
|
||||||
|
C25 - System recovery
|
||||||
|
C26 - Backup and restore
|
||||||
|
C27 - Reboot
|
||||||
|
C30 - Coordinate
|
||||||
|
C31 - Defragmentation
|
||||||
|
C32 - Input/Output media
|
||||||
|
C33 - Disk mirroring
|
||||||
|
C34 - Clear interference
|
||||||
|
C35 - Time check
|
||||||
|
C36 - Compatibility check
|
||||||
|
C50 - Manage data
|
||||||
|
C51 - Move data
|
||||||
|
C52 - Manipulate/Use data
|
||||||
|
C53 - Description of data storage
|
||||||
|
C60 - Programming information
|
||||||
|
C61 - Program flow chart
|
||||||
|
C62 - Processing reference guide
|
||||||
|
C70 - Security and privacy
|
||||||
|
C72 - Security information
|
||||||
|
C73 - Security procedures
|
||||||
|
C74 - List of security/classification codes
|
||||||
|
C75 - Access control
|
||||||
|
C90 - Miscellaneous
|
||||||
|
C91 - Quality assurance
|
||||||
|
C92 - Vendor information
|
||||||
|
C95 - Naming conventions
|
||||||
|
C96 - Technical requirements
|
||||||
3486
s1000d/Converter14_Source/Docs/Образец задания хотспотов.svg
Normal file
|
After Width: | Height: | Size: 5.9 MiB |
11
s1000d/Converter14_Source/Docs/Образец задания хотспотов.txt
Normal file
@@ -0,0 +1,11 @@
|
|||||||
|
1 - стойка
|
||||||
|
2 - стрела
|
||||||
|
3 - крюк с вертлюгом
|
||||||
|
4 - гидроцилиндр силовой
|
||||||
|
5 - гидроцилиндр поворота
|
||||||
|
6 - image1.svg
|
||||||
|
7 - кронштейн
|
||||||
|
9 - болт крепления нижней опоры
|
||||||
|
10 - болт крепления верхней опоры (5 шт.)
|
||||||
|
11 - image2.svg
|
||||||
|
15 - колокол
|
||||||
BIN
s1000d/Converter14_Source/Icons/S1000D_logo.png
Normal file
|
After Width: | Height: | Size: 10 KiB |
BIN
s1000d/Converter14_Source/Icons/accept.png
Normal file
|
After Width: | Height: | Size: 1.8 KiB |
BIN
s1000d/Converter14_Source/Icons/add.png
Normal file
|
After Width: | Height: | Size: 1.8 KiB |
BIN
s1000d/Converter14_Source/Icons/add_gray.png
Normal file
|
After Width: | Height: | Size: 5.4 KiB |
BIN
s1000d/Converter14_Source/Icons/blue_squares.png
Normal file
|
After Width: | Height: | Size: 18 KiB |
BIN
s1000d/Converter14_Source/Icons/chrome.png
Normal file
|
After Width: | Height: | Size: 62 KiB |
BIN
s1000d/Converter14_Source/Icons/chrome_refresh.png
Normal file
|
After Width: | Height: | Size: 83 KiB |
BIN
s1000d/Converter14_Source/Icons/delete.png
Normal file
|
After Width: | Height: | Size: 1.8 KiB |
BIN
s1000d/Converter14_Source/Icons/doc_config.ico
Normal file
|
After Width: | Height: | Size: 66 KiB |
BIN
s1000d/Converter14_Source/Icons/doc_config.png
Normal file
|
After Width: | Height: | Size: 17 KiB |
BIN
s1000d/Converter14_Source/Icons/doc_head_add_child.png
Normal file
|
After Width: | Height: | Size: 16 KiB |
BIN
s1000d/Converter14_Source/Icons/doc_head_blue+.png
Normal file
|
After Width: | Height: | Size: 16 KiB |
BIN
s1000d/Converter14_Source/Icons/doc_head_blue.png
Normal file
|
After Width: | Height: | Size: 16 KiB |
BIN
s1000d/Converter14_Source/Icons/doc_head_blue_exclamation.png
Normal file
|
After Width: | Height: | Size: 17 KiB |
BIN
s1000d/Converter14_Source/Icons/docs_head_orange.png
Normal file
|
After Width: | Height: | Size: 12 KiB |
BIN
s1000d/Converter14_Source/Icons/down_arrow.png
Normal file
|
After Width: | Height: | Size: 2.2 KiB |
|
Before Width: | Height: | Size: 9.5 KiB After Width: | Height: | Size: 9.5 KiB |
BIN
s1000d/Converter14_Source/Icons/exclamation.png
Normal file
|
After Width: | Height: | Size: 2.0 KiB |
BIN
s1000d/Converter14_Source/Icons/export_logo.png
Normal file
|
After Width: | Height: | Size: 9.4 KiB |
BIN
s1000d/Converter14_Source/Icons/folder+.png
Normal file
|
After Width: | Height: | Size: 19 KiB |
BIN
s1000d/Converter14_Source/Icons/folder.png
Normal file
|
After Width: | Height: | Size: 20 KiB |
BIN
s1000d/Converter14_Source/Icons/folder_add_child.png
Normal file
|
After Width: | Height: | Size: 20 KiB |
BIN
s1000d/Converter14_Source/Icons/folder_exclamation.png
Normal file
|
After Width: | Height: | Size: 21 KiB |
BIN
s1000d/Converter14_Source/Icons/folder_search.png
Normal file
|
After Width: | Height: | Size: 23 KiB |
BIN
s1000d/Converter14_Source/Icons/folder_with_doc.png
Normal file
|
After Width: | Height: | Size: 18 KiB |
BIN
s1000d/Converter14_Source/Icons/folders.png
Normal file
|
After Width: | Height: | Size: 23 KiB |
BIN
s1000d/Converter14_Source/Icons/gray_cross_.png
Normal file
|
After Width: | Height: | Size: 11 KiB |
BIN
s1000d/Converter14_Source/Icons/green_squares.png
Normal file
|
After Width: | Height: | Size: 18 KiB |
BIN
s1000d/Converter14_Source/Icons/item_del.png
Normal file
|
After Width: | Height: | Size: 23 KiB |
BIN
s1000d/Converter14_Source/Icons/logo.png
Normal file
|
After Width: | Height: | Size: 12 KiB |
BIN
s1000d/Converter14_Source/Icons/lyx_import.png
Normal file
|
After Width: | Height: | Size: 3.0 KiB |
BIN
s1000d/Converter14_Source/Icons/mp3_file.png
Normal file
|
After Width: | Height: | Size: 15 KiB |
BIN
s1000d/Converter14_Source/Icons/question.png
Normal file
|
After Width: | Height: | Size: 809 B |
BIN
s1000d/Converter14_Source/Icons/red_cross.png
Normal file
|
After Width: | Height: | Size: 16 KiB |
BIN
s1000d/Converter14_Source/Icons/red_cross_.png
Normal file
|
After Width: | Height: | Size: 9.8 KiB |
BIN
s1000d/Converter14_Source/Icons/refresh.png
Normal file
|
After Width: | Height: | Size: 17 KiB |
BIN
s1000d/Converter14_Source/Icons/save.png
Normal file
|
After Width: | Height: | Size: 17 KiB |
BIN
s1000d/Converter14_Source/Icons/scorm_logo.png
Normal file
|
After Width: | Height: | Size: 4.6 KiB |
BIN
s1000d/Converter14_Source/Icons/sheep_up_arrow.png
Normal file
|
After Width: | Height: | Size: 12 KiB |
BIN
s1000d/Converter14_Source/Icons/sheet_blank.png
Normal file
|
After Width: | Height: | Size: 16 KiB |
BIN
s1000d/Converter14_Source/Icons/squares_blue+.png
Normal file
|
After Width: | Height: | Size: 15 KiB |
BIN
s1000d/Converter14_Source/Icons/squares_blue.png
Normal file
|
After Width: | Height: | Size: 14 KiB |
BIN
s1000d/Converter14_Source/Icons/squares_gray.png
Normal file
|
After Width: | Height: | Size: 12 KiB |
BIN
s1000d/Converter14_Source/Icons/star_in_circle.png
Normal file
|
After Width: | Height: | Size: 18 KiB |
BIN
s1000d/Converter14_Source/Icons/suspend.png
Normal file
|
After Width: | Height: | Size: 17 KiB |
BIN
s1000d/Converter14_Source/Icons/svg_file.png
Normal file
|
After Width: | Height: | Size: 17 KiB |
BIN
s1000d/Converter14_Source/Icons/up_arrow.png
Normal file
|
After Width: | Height: | Size: 2.2 KiB |
BIN
s1000d/Converter14_Source/Icons/xml.png
Normal file
|
After Width: | Height: | Size: 17 KiB |
54
s1000d/Converter14_Source/S1000DEditor.pro
Normal file
@@ -0,0 +1,54 @@
|
|||||||
|
QT += core gui xml
|
||||||
|
#gui-private
|
||||||
|
|
||||||
|
greaterThan(QT_MAJOR_VERSION, 4): QT += widgets
|
||||||
|
|
||||||
|
CONFIG += c++11
|
||||||
|
CONFIG += console
|
||||||
|
|
||||||
|
# You can make your code fail to compile if it uses deprecated APIs.
|
||||||
|
# In order to do so, uncomment the following line.
|
||||||
|
#DEFINES += QT_DISABLE_DEPRECATED_BEFORE=0x060000 # disables all the APIs deprecated before Qt 6.0.0
|
||||||
|
|
||||||
|
SOURCES += \
|
||||||
|
console.cpp \
|
||||||
|
exportdialog.cpp \
|
||||||
|
html.cpp \
|
||||||
|
lyx.cpp \
|
||||||
|
main.cpp \
|
||||||
|
editormainwindow.cpp \
|
||||||
|
ru_const.cpp \
|
||||||
|
s1000d_manager.cpp \
|
||||||
|
splashform.cpp
|
||||||
|
|
||||||
|
HEADERS += \
|
||||||
|
console.h \
|
||||||
|
editormainwindow.h \
|
||||||
|
exportdialog.h \
|
||||||
|
html.h \
|
||||||
|
lyx.h \
|
||||||
|
ru_const.h \
|
||||||
|
s1000d_manager.h \
|
||||||
|
splashform.h
|
||||||
|
|
||||||
|
FORMS += \
|
||||||
|
editormainwindow.ui \
|
||||||
|
exportdialog.ui \
|
||||||
|
splashform.ui
|
||||||
|
|
||||||
|
# Default rules for deployment.
|
||||||
|
qnx: target.path = /tmp/$${TARGET}/bin
|
||||||
|
else: unix:!android: target.path = /opt/$${TARGET}/bin
|
||||||
|
!isEmpty(target.path): INSTALLS += target
|
||||||
|
|
||||||
|
RESOURCES += \
|
||||||
|
S1000DResources.qrc
|
||||||
|
|
||||||
|
win32: RC_ICONS = $$PWD/Icons/doc_config.ico
|
||||||
|
|
||||||
|
#QTPLUGIN +=qico \
|
||||||
|
# qsvg \
|
||||||
|
# qjpeg \
|
||||||
|
# qwbmp
|
||||||
|
#LIBS +=-L$(QTDIR)/plugins/imageformats
|
||||||
|
#INCLUDEPATH += $(QTDIR)/plugins/imageformats
|
||||||
43
s1000d/Converter14_Source/S1000DResources.qrc
Normal file
@@ -0,0 +1,43 @@
|
|||||||
|
<RCC>
|
||||||
|
<qresource prefix="/new">
|
||||||
|
<file>Icons/doc_config.png</file>
|
||||||
|
<file>Icons/doc_head_blue.png</file>
|
||||||
|
<file>Icons/folder.png</file>
|
||||||
|
<file>Icons/folder_search.png</file>
|
||||||
|
<file>Icons/folder_with_doc.png</file>
|
||||||
|
<file>Icons/folder+.png</file>
|
||||||
|
<file>Icons/folders.png</file>
|
||||||
|
<file>Icons/suspend.png</file>
|
||||||
|
<file>Icons/doc_head_blue+.png</file>
|
||||||
|
<file>Icons/save.png</file>
|
||||||
|
<file>Icons/logo.png</file>
|
||||||
|
<file>Icons/docs_head_orange.png</file>
|
||||||
|
<file>BlankXML/pm.xml</file>
|
||||||
|
<file>Icons/item_del.png</file>
|
||||||
|
<file>BlankXML/crew.xml</file>
|
||||||
|
<file>BlankXML/descript.xml</file>
|
||||||
|
<file>BlankXML/learning.xml</file>
|
||||||
|
<file>Icons/add.png</file>
|
||||||
|
<file>Icons/delete.png</file>
|
||||||
|
<file>Icons/down_arrow.png</file>
|
||||||
|
<file>Icons/up_arrow.png</file>
|
||||||
|
<file>Icons/question.png</file>
|
||||||
|
<file>Icons/lyx_import.png</file>
|
||||||
|
<file>Icons/refresh.png</file>
|
||||||
|
<file>BlankXML/blank.html</file>
|
||||||
|
<file>Icons/chrome.png</file>
|
||||||
|
<file>Icons/doc_config.ico</file>
|
||||||
|
<file>Icons/S1000D_logo.png</file>
|
||||||
|
<file>Icons/scorm_logo.png</file>
|
||||||
|
<file>Icons/chrome_refresh.png</file>
|
||||||
|
<file>Icons/export_logo.png</file>
|
||||||
|
<file>BlankXML/dml.xml</file>
|
||||||
|
<file>BlankXML/imsmanifest.xml</file>
|
||||||
|
<file>Icons/accept.png</file>
|
||||||
|
<file>Icons/exclamation.png</file>
|
||||||
|
<file>Icons/doc_head_blue_exclamation.png</file>
|
||||||
|
<file>Icons/folder_exclamation.png</file>
|
||||||
|
<file>BlankXML/packages.xml</file>
|
||||||
|
<file>BlankXML/scormIndex.html</file>
|
||||||
|
</qresource>
|
||||||
|
</RCC>
|
||||||
4
s1000d/Converter14_Source/Schemas/README.md
Normal file
@@ -0,0 +1,4 @@
|
|||||||
|
# International specification for technical publications
|
||||||
|
# S1000D Issue No. 4.1
|
||||||
|
|
||||||
|
http://www.s1000d.org/S1000D_4-1/xml_schema_flat/
|
||||||
5058
s1000d/Converter14_Source/Schemas/appliccrossreftable.xsd
Normal file
5522
s1000d/Converter14_Source/Schemas/brex.xsd
Normal file
7606
s1000d/Converter14_Source/Schemas/checklist.xsd
Normal file
4895
s1000d/Converter14_Source/Schemas/comment.xsd
Normal file
7788
s1000d/Converter14_Source/Schemas/comrep.xsd
Normal file
4593
s1000d/Converter14_Source/Schemas/condcrossreftable.xsd
Normal file
4926
s1000d/Converter14_Source/Schemas/container.xsd
Normal file
5924
s1000d/Converter14_Source/Schemas/crew.xsd
Normal file
58
s1000d/Converter14_Source/Schemas/dc.xsd
Normal file
@@ -0,0 +1,58 @@
|
|||||||
|
<?xml version="1.0"?>
|
||||||
|
<xs:schema xmlns:dc="http://www.purl.org/dc/elements/1.1/" xmlns:xs="http://www.w3.org/2001/XMLSchema" targetNamespace="http://www.purl.org/dc/elements/1.1/" elementFormDefault="qualified" attributeFormDefault="qualified">
|
||||||
|
<xs:annotation>
|
||||||
|
<xs:documentation>Issue number: 4.1</xs:documentation>
|
||||||
|
<xs:documentation>Issue date: 2012-03-30</xs:documentation>
|
||||||
|
<xs:documentation>Release number: 4.1</xs:documentation>
|
||||||
|
<xs:documentation>Release date: 2012-03-30</xs:documentation>
|
||||||
|
<xs:documentation>URL: http://www.s1000d.org/S1000D_4-1/xml_schema_flat/dc.xsd</xs:documentation>
|
||||||
|
<xs:documentation>Copyright:
|
||||||
|
Copyright (C) 2011 by each of the following organizations:
|
||||||
|
1. AeroSpace and Defence Industries Associations of Europe - ASD.
|
||||||
|
2. Ministries of Defence of the member countries of ASD.
|
||||||
|
|
||||||
|
Limitations of Liability:
|
||||||
|
|
||||||
|
1. This material is provided "As Is" and neither ASD nor any person who has contributed to the creation, revision or maintenance of the material makes any representations or warranties, express or implied, including but not limited to, warranties of merchantability or fitness for any particular purpose.
|
||||||
|
2. Neither ASD nor any person who has contributed to the creation, revision or maintenance of this material shall be liable for any direct, indirect, special or consequential damages or any other liability arising from any use of this material.
|
||||||
|
3. Revisions to this document may occur after its issuance. The user is responsible for determining if revisions to the material contained in this document have occurred and are applicable.
|
||||||
|
</xs:documentation>
|
||||||
|
<xs:documentation>Remarks: none</xs:documentation>
|
||||||
|
</xs:annotation>
|
||||||
|
<xs:element name="title" type="xs:string"/>
|
||||||
|
<xs:element name="creator" type="xs:string"/>
|
||||||
|
<xs:element name="subject" type="xs:string"/>
|
||||||
|
<xs:element name="publisher" type="xs:string"/>
|
||||||
|
<xs:element name="contributor" type="xs:string"/>
|
||||||
|
<xs:element name="date" type="xs:date"/>
|
||||||
|
<xs:element name="type" type="xs:string" fixed="text"/>
|
||||||
|
<xs:element name="format" type="xs:string" fixed="text/xml"/>
|
||||||
|
<xs:element name="identifier" type="xs:string"/>
|
||||||
|
<xs:element name="language" type="dc:LANGUAGE-COUNTRY"/>
|
||||||
|
<xs:element name="rights" type="dc:SECURITY"/>
|
||||||
|
<xs:group name="DCMES">
|
||||||
|
<xs:choice>
|
||||||
|
<xs:element ref="dc:title"/>
|
||||||
|
<xs:element ref="dc:creator"/>
|
||||||
|
<xs:element ref="dc:subject"/>
|
||||||
|
<xs:element ref="dc:publisher"/>
|
||||||
|
<xs:element ref="dc:contributor"/>
|
||||||
|
<xs:element ref="dc:date"/>
|
||||||
|
<xs:element ref="dc:type"/>
|
||||||
|
<xs:element ref="dc:format"/>
|
||||||
|
<xs:element ref="dc:identifier"/>
|
||||||
|
<xs:element ref="dc:language"/>
|
||||||
|
<xs:element ref="dc:rights"/>
|
||||||
|
</xs:choice>
|
||||||
|
</xs:group>
|
||||||
|
<xs:simpleType name="SECURITY">
|
||||||
|
<xs:restriction base="xs:string">
|
||||||
|
<xs:pattern value="[0-9]{1,2}((_cc[0-9]{2})?(_cv[0-9]{2})?)?"/>
|
||||||
|
</xs:restriction>
|
||||||
|
</xs:simpleType>
|
||||||
|
<xs:simpleType name="LANGUAGE-COUNTRY">
|
||||||
|
<xs:restriction base="xs:string">
|
||||||
|
<xs:pattern value="[a-z]{2,3}(-[A-Z]{2})?"/>
|
||||||
|
</xs:restriction>
|
||||||
|
</xs:simpleType>
|
||||||
|
</xs:schema>
|
||||||
4572
s1000d/Converter14_Source/Schemas/ddn.xsd
Normal file
5524
s1000d/Converter14_Source/Schemas/descript.xsd
Normal file
4565
s1000d/Converter14_Source/Schemas/dml.xsd
Normal file
7561
s1000d/Converter14_Source/Schemas/fault.xsd
Normal file
5620
s1000d/Converter14_Source/Schemas/frontmatter.xsd
Normal file
5972
s1000d/Converter14_Source/Schemas/ipd.xsd
Normal file
6425
s1000d/Converter14_Source/Schemas/learning.xsd
Normal file
4855
s1000d/Converter14_Source/Schemas/pm.xsd
Normal file
4448
s1000d/Converter14_Source/Schemas/prdcrossreftable.xsd
Normal file
6837
s1000d/Converter14_Source/Schemas/proced.xsd
Normal file
7819
s1000d/Converter14_Source/Schemas/process.xsd
Normal file
30
s1000d/Converter14_Source/Schemas/rdf.xsd
Normal file
@@ -0,0 +1,30 @@
|
|||||||
|
<?xml version="1.0"?>
|
||||||
|
<xs:schema xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:dc="http://www.purl.org/dc/elements/1.1/" targetNamespace="http://www.w3.org/1999/02/22-rdf-syntax-ns#" elementFormDefault="qualified" attributeFormDefault="qualified">
|
||||||
|
<xs:annotation>
|
||||||
|
<xs:documentation>Issue number: 4.0</xs:documentation>
|
||||||
|
<xs:documentation>Issue date: 2008-08-01</xs:documentation>
|
||||||
|
<xs:documentation>Release number: 2.0</xs:documentation>
|
||||||
|
<xs:documentation>Release date: 2003-05-31</xs:documentation>
|
||||||
|
<xs:documentation>URL: http://www.s1000d.org/S1000D_4-1/xml_schema_flat/rdf.xsd</xs:documentation>
|
||||||
|
<xs:documentation>Copyright:
|
||||||
|
Copyright (C) 2011 by each of the following organizations:
|
||||||
|
1. AeroSpace and Defence Industries Associations of Europe - ASD.
|
||||||
|
2. Ministries of Defence of the member countries of ASD.
|
||||||
|
|
||||||
|
Limitations of Liability:
|
||||||
|
|
||||||
|
1. This material is provided "As Is" and neither ASD nor any person who has contributed to the creation, revision or maintenance of the material makes any representations or warranties, express or implied, including but not limited to, warranties of merchantability or fitness for any particular purpose.
|
||||||
|
2. Neither ASD nor any person who has contributed to the creation, revision or maintenance of this material shall be liable for any direct, indirect, special or consequential damages or any other liability arising from any use of this material.
|
||||||
|
3. Revisions to this document may occur after its issuance. The user is responsible for determining if revisions to the material contained in this document have occurred and are applicable.
|
||||||
|
</xs:documentation>
|
||||||
|
<xs:documentation>Remarks: none</xs:documentation>
|
||||||
|
</xs:annotation>
|
||||||
|
<xs:import namespace="http://www.purl.org/dc/elements/1.1/" schemaLocation="dc.xsd"/>
|
||||||
|
<xs:element name="Description">
|
||||||
|
<xs:complexType>
|
||||||
|
<xs:sequence>
|
||||||
|
<xs:group ref="dc:DCMES" minOccurs="0" maxOccurs="unbounded"/>
|
||||||
|
</xs:sequence>
|
||||||
|
</xs:complexType>
|
||||||
|
</xs:element>
|
||||||
|
</xs:schema>
|
||||||