Uso de tipos de contenido para especificar propiedades de documentos XML
Última modificación: lunes, 05 de octubre de 2009
Hace referencia a: SharePoint Foundation 2010
Cuando Microsoft SharePoint Foundation 2010 invoca el analizador XML integrado para analizar los archivos XML, el analizador usa el tipo de contenido del documento para determinar la correspondencia de asignación entre las propiedades de documento y las columnas de tipo de contenido, así como el lugar en el que se almacenan las propiedades de documento en el documento. Por lo tanto, para que SharePoint Foundation use el analizador XML integrado con los archivos XML, será necesario:
Crear un tipo de contenido que incluya la información de análisis necesaria. Para cada propiedad de documento que desee aumentar o disminuir de nivel, incluya una definición de campo que contenga el nombre de la propiedad del documento que se asigna a la columna representada por la definición del campo, así como el lugar del documento en el que se almacena la propiedad del documento.
Asegurarse de que el identificador de tipo de contenido es una propiedad de documento que disminuye de nivel en el documento. Esto garantiza que el analizador XML integrado pueda identificar y tener acceso al tipo de contenido correcto para el documento. Para obtener más información, consulte Especificación del tipo de contenido de documentos para el análisis XML.
Información sobre tipos de contenido para análisis XML
Las propiedades de documento pueden aumentar o disminuir de nivel en las columnas de la biblioteca de documentos en la que está almacenado el documento. Si se asigna un tipo de contenido al documento, estas columnas se especifican en la definición del tipo de contenido. En el código XML de definición del tipo de contenido, cada columna incluida en el tipo de contenido se representa mediante un elemento FieldRef.
Nota
Los elementos Field representan columnas que se definen para un sitio o lista. Los elementos FieldRef representan referencias a columnas que se incluyen en el tipo de contenido. El elemento FieldRef contiene atributos de columna que se pueden invalidar para la columna tal como aparece en este tipo de contenido específico, como el nombre para mostrar de la columna, y si está oculto o es necesario en el tipo de contenido. Esta información también incluye la ubicación de la propiedad de documento que debe asignarse a esta columna tal como aparece en el tipo de contenido. Esto permite especificar distintas ubicaciones para la propiedad de documento que se asigna a la columna en diferentes tipos de contenido.
Por ese motivo, para especificar la información que necesita el analizador XML integrado para aumentar o disminuir de nivel a una propiedad de documento, deberá editar el elemento FieldRef que representa la propiedad del documento correspondiente a la columna en la definición de tipo de contenido.
La ilustración siguiente muestra las acciones que el analizador lleva a cabo cuando se protege un archivo XML en una biblioteca de documentos. SharePoint Foundation invoca al analizador, que examina la columna de identificadores de tipo de contenido para determinar la ubicación en el documento en la que está almacenado su identificador de tipo de contenido. A continuación, el analizador busca en dicha ubicación el tipo de contenido del documento. El analizador examina el tipo de contenido para determinar los elementos FieldRef que contienen información sobre las propiedades del documento. Para cada elemento FieldRef asignado a una propiedad de documento, el analizador busca la propiedad de documento en la ubicación del documento especificada en el elemento FieldRef coincidente. Si el analizador encuentra la propiedad de documento en la ubicación especificada, aumenta de nivel ese valor a la columna coincidente.
Cuando un documento XML se carga por primera vez en una biblioteca de documentos, el analizador XML integrado debe determinar el tipo de contenido del documento y si dicho tipo de contenido está asociado con la biblioteca de documentos. Para obtener más información, consulte Especificación del tipo de contenido de documentos para el análisis XML.
Puede modificar varios atributos de un elemento Field o FieldRef para asignar dicho elemento a una propiedad de documento y especificar la ubicación de la propiedad en el documento.
En primer lugar, el elemento Field o FieldRef debe contener un atributo de identificador que especifique el identificador de la columna en la biblioteca de documentos. Por ejemplo:
<FieldRef
ID="{4B1BF6C6-4F39-45ac-ACD5-16FE7A214E5E}"
Name="EmployeeID”/>
A continuación, agregue atributos adicionales al elemento Field o FieldRef que especifiquen la ubicación de la propiedad de documento en el documento. Las propiedades de documento pueden almacenarse en las siguientes ubicaciones:
El contenido XML del documento
Las instrucciones de procesamiento del documento
Los atributos que agregue al elemento Field o FieldRef para especificar la ubicación de la propiedad dependerán de si la propiedad se almacena como contenido XML o como instrucciones de procesamiento. Estos atributos se excluyen mutuamente; si agrega un atributo que especifica una ubicación en el contenido XML, no podrá agregar también atributos que especifiquen una ubicación en las instrucciones de procesamiento.
Para editar el esquema de definición de campos de una columna mediante programación, use el objeto SPField.SchemaXML.
Especificación de propiedades en el contenido XML del documento
Si almacena la propiedad de documento en el documento como contenido XML, se especificará una expresión XPath que representa la ubicación de la propiedad dentro del documento. Agregue un atributo Node al elemento Field o FieldRef y establézcalo de modo que equivalga a la expresión XPath. Por ejemplo:
<FieldRef
ID="{4B1BF6C6-4F39-45ac-ACD5-16FE7A214E5E}"
Name="EmployeeID"
node="/my:myFields/my:employee"/>
Colecciones de valores de propiedad de documento
Si especifica una expresión XPath que devuelve una colección de valores, también podrá incluir un atributo de agregación en el elemento Field o FieldRef. El atributo de agregación especifica la acción que se realizará en el conjunto de valores que se devuelve. Esta acción puede ser una función de agregación o una indicación del elemento específico dentro de la colección.
Los valores posibles son:
sum
count
average
min
max
merge
plaintext Convierte el contenido de texto del nodo en texto sin formato.
first Aplica el aumento o la disminución de nivel de la propiedad al primer elemento de la colección.
last Aplica el aumento o la disminución de nivel de la propiedad al último elemento de la colección.
Por ejemplo:
<FieldRef
ID="{4B1BF6C6-4F39-45ac-ACD5-16FE7A214E5E}"
Name="TotalToExpense”
node="/my:myFields/my:expense"
aggregation="sum"/>
Especificación de propiedades en las instrucciones de procesamiento de documentos
Puesto que las instrucciones de procesamiento pueden contener datos que no sean sólo XML, las expresiones XPath son insuficientes para identificar las propiedades de documento almacenadas en las instrucciones de procesamiento. En su lugar, deberá agregar un par de atributos al elemento Field o FieldRef que especifiquen la instrucción de procesamiento y el atributo de la instrucción de procesamiento que desea usar como propiedad de documento:
Agregue un atributo PITarget para especificar la instrucción de procesamiento en la que se almacenará la propiedad de documento.
Agregue un atributo PIAttribute para especificar el atributo que se va a usar como propiedad de documento.
Por ejemplo:
<FieldRef
ID="{4B1BF6C6-4F39-45ac-ACD5-16FE7A214E5E}"
Name="columnName"
PITarget="mydocumenttype"
PIAttribute="propertyAttribute"/>
Estos atributos indican al analizador que examine la siguiente instrucción de procesamiento y atributo para el valor de la propiedad de documento:
<?mydocumenttype propertyAttribute="value"?>
También puede agregar otro par de atributos, PrimaryPITarget y PrimaryPIAttribute. Este par de atributos es opcional. Al igual que PITarget y PIAttribute, funcionan de forma conjunta para identificar la ubicación de la propiedad de documento. Sin embargo, si están presentes, el analizador XML integrado busca la propiedad de documento en la ubicación que especifiquen en primer lugar. Si existe un valor en dicha ubicación, el analizador lo usará y omitirá los atributos PITarget y PIAttribute. El analizador busca la propiedad de documento en la ubicación especificada por el par de atributo PITarget y PIAttribute sólo si la ubicación especificada por los atributos PrimaryPITarget y PrimaryPIAttribute devuelve un valor nulo.
Si especifica los atributos PrimaryPITarget y PrimaryPIAttribute, también deberá especificar los atributos PITarget y PIAttribute. El analizador usará los parámetros PrimaryPITarget y PrimaryPIAttribute sólo si en el documento no existe el atributo de la instrucción de procesamiento especificado por el par PITarget y PIAttribute o si existe pero es nulo o está vacío.
Vea también
Conceptos
Aumento y disminución de nivel de propiedades de documento XML
Procesamiento del analizador XML
Determinación del tipo de contenido del documento para análisis de XML
Especificación del tipo de contenido de documentos para el análisis XML