¿Cuál es la diferencia entre usar xsd: unique y xsd: key?Diferencia entre xsd: key y xsd: unique
Respuesta
He encontrado mi propia respuesta:
Todo tiene que ver con la cardinalidad:
xsd: la clave se usa para (0..N) y (1..1) multiplicidad. xsd: unique se usa para la multiplicidad opcional (0..1). Esta es también la razón por la cual un campo seleccionado en un xsd: unique puede ser nill.
Fuente de mi respuesta: http://www.xml.com/lpt/a/987
xsd: la clave es única Y se utiliza para una colección de elementos una clave dentro de un alcance xsd: unique es solo único dentro de un alcance.
Espero que esto ayude ...
es similar a la base de datos.
campo clave es como PrimaryKey .. único e Identificación
único campo no es una clave, pero tiene que ser único ...
Oke, pero ¿qué le agrega? el xsd que una llave es también un "id"? – Joep
Ver http://www.w3.org/TR/2004/REC-xmlschema-0-20041028/primer.html#quartelyReport.
En el ejemplo descrito en el enlace, los elementos "keyRefed" son los valores de los atributos de número de las partes del zip de las regiones y los elementos "keyed" son los valores del atributo de número de la parte del partes.
Único declara que los valores deben ser únicos pero también pueden ser nulos, clave: que deben ser únicos. Ambos tipos pueden ser referencias por elementos "keyrefed".
Acabo de encontrarme con su publicación ... Corríjanlo ya que es incorrecto afirmar que 'Keys se usan con Keyrefs, restringiendo así los valores de los elementos" keyRefed "a los valores realmente usados en los elementos" keyed ". Ver [ aquí] (http://www.w3.org/TR/2004/REC-xmlschema-1-20041028/structures.html#Identity- Constraint_Definition_details): '** {clave referenciada} ** Requerido si {categoría identidad-restricción } es keyref, prohibido de otra manera. Una definición de restricción de identidad con {categoría de restricción de identidad} igual a clave o única. –
xsd: unique no requiere que el campo exista para el selector. Si el campo existe, su valor debe ser único.
xsd: clave requiere que el campo exista para todos los resultados del selector. Cada elemento en el selector debe tener una clave.
Tenga en cuenta que xsd: keyref no es un requisito para xsd: key, la clave xsd: puede estar allí sin cualquier xsd: keyref.
Acabo de encontrarme con su publicación ...Corrígelo ya que es incorrecto afirmar que 'solo se puede hacer referencia a una clave xsd: nombrada desde un xsd: keyref. Ver [aquí] (http://www.w3.org/TR/2004/REC-xmlschema- 1-20041028/structures.html # Identity-constraint_Definition_details): '** {clave referenciada} ** Requerido si {identity-constraint category} es keyref, prohibido de lo contrario. Una definición de restricción de identidad con {categoría de restricción de identidad} igual o única. –
con 'xsd: unique', no se puede usar' xsd: keyref' - ¡sí se puede! Ver también: http://stackoverflow.com/questions/15842736/optional-key-in-xsd – Csq
- 1. ¿cuál es la diferencia entre UNIQUE INDEX y UNIQUE KEY?
- 2. ¿Cuál es la diferencia entre xsd: include y xsd: import?
- 3. Diferencia/similitudes entre xsd: cualquiera y xsd: anyType
- 4. XSD: diferencia entre Elemento y Atributo
- 5. ¿Cuál es la diferencia entre UNIQUE, UNIQUE KEY y CONSTRAINT 'name' UNIQUE?
- 6. XSD key/keyref beginner pregunta
- 7. Camino medio entre XSD todo y secuencia XSD
- 8. cuál es la diferencia entre XSD y WSDL
- 9. Cómo elegir entre DTD y XSD
- 10. ¿Hay un XSD para XSD, un Meta-XSD?
- 11. ¿Cuál es la diferencia entre IDREF e IDREFS en XSD?
- 12. Xsd y la herencia
- 13. HyperJaxb3 y xsd: anyType
- 14. Validar un esquema XSD usando XSD
- 15. XS vs tipos xsd
- 16. Visualización XSD?
- 17. ¿Cuál es la diferencia entre Unique Key e Index with IsUnique = Yes?
- 18. NHibernate Composite Key vs Composite Unique Constraint
- 19. Violación de restricción UNIQUE KEY nula
- 20. Diferencia entre xs y xsd en el archivo de esquema XML?
- 21. ¿Cuál es la diferencia entre la elección XSD y la enumeración?
- 22. Travesía XSD en VIM
- 23. Generar DataContract de XSD
- 24. Significado de xsd: simpleContent
- 25. Validar XML con XSD
- 26. Generador de código XSD
- 27. ¿Validar un esquema XSD?
- 28. Análisis de Java/XSD
- 29. Eclipse XSD editor
- 30. XSD maxOcurrencias = "sin límites"
Entonces, cuando declaro varias llaves xsd: en diferentes elementos, ¿todas las claves definidas deben seguir siendo únicas? – Joep
No, si tiene una colección de elementos de libro y declaró que xsd: key es el atributo isbn del elemento de libro en el esquema. Entonces los valores del atributo isbn deben ser únicos. esto no tiene influencia en otros elementos con otras teclas – norbertB
Pero xsd: unique también lo hace. xsd: key también tiene un alcance. No puedo encontrar diferencias ...? – Joep