/// <summary> /// /// </summary> /// <param name="elementoXsd"></param> /// <param name="estaDeclarado"></param> /// <param name="minOccurs"></param> /// <param name="maxOccurs">si maxOccurs es mas pequeño que minOccurs se pondrá unbounded</param> public bool Añadir(ElementoXsd elementoXsd, bool estaDeclarado, int minOccurs = 1, int maxOccurs = 1) { bool añadido = false; if (!Equals(elementoXsd, default(ElementoXsd))) { text elemento; if (!estaDeclarado) { elemento = elementoXsd.UsoCompleto(); } else { elemento = elementoXsd.UsoConReferencia(); } elemento = elemento.Remove(0, elemento.Length - 2); if (minOccurs >= 0) { elemento &= " minOccurs=\"" + minOccurs + "\""; } if (maxOccurs < minOccurs) { elemento &= " maxOccurs=\"" + HIJOSILIMITADOS + "\"/>"; } else { elemento &= " maxOccurs=\"" + maxOccurs + "\"/>"; } elementos.Add(new ElementoXsdOrdenado(elementoXsd, numerosOrden++), elemento); añadido = true; } return(añadido); }
public bool Quitar(ElementoXsd tipo) { bool quitado = true; if (declaracionElementos.ContainsKey(tipo)) { declaracionElementos.Remove(tipo); } else { quitado = false; } return(quitado); }
public bool Añadir(ElementoXsd tipo) { if (tipo.Nombre == null) { throw new XsdException("El elemento tiene que tener un nombre"); } bool añadir = true; if (!declaracionElementos.ContainsKey(tipo)) { declaracionElementos.Add(tipo, null); } else { añadir = false; } return(añadir); }
public void Quitar(ElementoXsd elementoXsd) { if (!elementoXsd.Equals(default(ElementoXsd))) { ElementoXsdOrdenado elementoAQuitar = default(ElementoXsdOrdenado); var elementosEnum = elementos.GetEnumerator(); while (elementoAQuitar.Equals(default(ElementoXsdOrdenado)) && elementosEnum.MoveNext()) { if (elementosEnum.Current.Key.elemento.Equals(elementoXsd)) { elementoAQuitar = elementosEnum.Current.Key; } } if (!elementoAQuitar.Equals(default(ElementoXsdOrdenado))) { if (elementos.ContainsKey(elementoAQuitar)) { elementos.Remove(elementoAQuitar); } } } }
public void Reemplazar(ElementoXsd tipo) { Quitar(tipo); Añadir(tipo); }
public ElementoXsdOrdenado(ElementoXsd elemento, int orden) { this.elemento = elemento; this.orden = orden; }