示例#1
0
 public static void ClearCurrent()
 {
     current = null;
 }
示例#2
0
        private void gen_p_date_type(EADGeneratorRule.Processinfo_Date the_Processinfo_Date) {
            xw.WriteStartElement("p");
            bool author = false;
            // Autor e/ou operador:
            if (!the_Processinfo_Date.autoridade.Equals(string.Empty)) {
                xw.WriteString("Autor: " + the_Processinfo_Date.autoridade + " ");
                author = true;
            }
            if (!the_Processinfo_Date.operador.Equals(string.Empty))
                xw.WriteString((author ? "; " : "") + "Operador: " + the_Processinfo_Date.operador);

            if (!the_Processinfo_Date.data_descricao.Equals(string.Empty)) {
                // <date>
                xw.WriteStartElement("date");
                xw.WriteAttributeString("type", "descrição");
                xw.WriteString(the_Processinfo_Date.data_descricao);
                // </date>:
                xw.WriteEndElement();
            }

            if (!the_Processinfo_Date.data_registo.Equals(string.Empty)) {
                // <date>
                xw.WriteStartElement("date");
                xw.WriteAttributeString("type", "registo");
                xw.WriteString(the_Processinfo_Date.data_registo);
                // </date>:
                xw.WriteEndElement();
            }

            // </p>
            xw.WriteEndElement();
        }
示例#3
0
        /*
         * <!ELEMENT c
         * (head?, did, (%m.desc.full;)*, (thead?, c+)*)
         * 
         * May contain:
         * 
         * USADOS:
         * did;
         * acqinfo;
         * custodhist;
         * scopecontent;
         * appraisal;
         * accruals;
         * arrangement;
         * 
         * accessrestrict;
         * userestrict;
         * otherfindaid;
         * phystech;
         * 
         * originalsloc;
         * altformavail;
         * relatedmaterial;
         * bibliography;
         * 
         * note;
         * processinfo;
         * 
         * NAO USADOS:
         * 
         * , , , , , , 
         * , bioghist, c, controlaccess, , dao, daogrp, descgrp, , 
         * dsc, fileplan, head, index, , odd, , , , 
         * prefercite, , , , separatedmaterial, 
         * thead, 
         */
        private void gen_C(long IDNivel_PAI, EADGeneratorRule.NiveisDescendentes NivelActual) {
            // Pirotecnia:
            DoAddedEntries(1);
            //DoRemovedEntries(1);

            // Gerar o <c> somente se estivermos perante um nivel de tipo 3 (DOCUMENTAL):
            //if (NivelActual.TipoNivel == 3) {
            // <c>
            xw.WriteStartElement("c");
            // Attrib. 'level'
            gen_attrib_LEVEL(IDNivel_PAI, NivelActual.IDNivel);

            // <did>
            gen_DID(NivelActual.IDNivel);

            // <acqinfo> & <custodhist>:
            gen_acqinfo_custodhist(NivelActual.IDNivel);

            // <bioghist>:
            gen_bioghist(NivelActual.IDNivel);

            // <scopecontent>
            gen_scopecontent_index(NivelActual.IDNivel);

            // <appraisal>
            gen_appraisal(NivelActual.IDNivel);

            // <accruals>
            gen_accruals(NivelActual.IDNivel);

            // <arrangement>
            gen_arrangement(NivelActual.IDNivel);

            // <accessrestrict>, <userestrict>, <otherfindaid>
            gen_accessrestrict_userestrict_otherfindaid(NivelActual.IDNivel);

            // <phystech>
            gen_phystech(NivelActual.IDNivel);

            // <originalsloc>, <altformavail>, <relatedmaterial>, <bibliography>
            gen_DocumentacaoAssociada(NivelActual.IDNivel);

            // <note>
            gen_note(NivelActual.IDNivel);

            // <processinfo>
            gen_processinfo(NivelActual.IDNivel);

            // Procurar os niveis descendentes deste e gerar o elemento <c> recursivamente:
            //List<EADGeneratorRule.NiveisDescendentes> NiveisDescs = EADGeneratorRule.Current.get_NiveisDescendentes(NivelActual.IDNivel, this.conn);
            List<EADGeneratorRule.NiveisDescendentes> NiveisDescs =
                this.tree_todos_descendentes.get_NiveisDescendentes(NivelActual.IDNivel);
                
            foreach (EADGeneratorRule.NiveisDescendentes newNivel in NiveisDescs) {
                if (this.explorados.Add(newNivel))
                    gen_C(NivelActual.IDNivel, newNivel);
                else {
                    gen_reference(NivelActual.IDNivel, newNivel.IDNivel);
                    Trace.WriteLine("EAD::gen_C() (dentro de um nivel DOCUMENTAL): o IDNivel " + newNivel.IDNivel + " ja foi explorado");
                }
            }
            // </c>
            xw.WriteEndElement();
            //}

            //else {
            //    // Procurar os niveis descendentes deste e gerar o elemento <c> recursivamente:
            //    List<EADGeneratorRule.NiveisDescendentes> NiveisDescs = EADGeneratorRule.Current.get_NiveisDescendentes(NivelActual.IDNivel, this.conn);
            //    foreach (EADGeneratorRule.NiveisDescendentes newNivel in NiveisDescs) {
            //        if (this.explorados.Add(newNivel))
            //            gen_C(newNivel);
            //        else {
            //            Trace.WriteLine("EAD::gen_C() (NAO DOCUMENTAL): o IDNivel " + newNivel.IDNivel + " ja foi explorado");
            //        }
            //    }
            //}
        }
示例#4
0
 public static void ClearCurrent() {
     current = null;
 }